summaryrefslogtreecommitdiff
path: root/test_tablib.py
diff options
context:
space:
mode:
authorBruno Alla <bruno.alla@founders4schools.org.uk>2017-01-12 09:49:45 +0000
committerBruno Alla <bruno.alla@founders4schools.org.uk>2017-05-02 17:33:14 +0100
commit80e72cfa27264efb9f525bd92ce6476c5eadb3e9 (patch)
tree5bcba41ed2b45c5e063d00a0676ae9400a582417 /test_tablib.py
parent05bd0d1d42e2a1aeb3b835a4ae96de7364735192 (diff)
downloadtablib-80e72cfa27264efb9f525bd92ce6476c5eadb3e9.tar.gz
Fix unicode encode errors on Python 2 -- Fixes #215
Switch csv library to backports.csv as the implementation is closer to the python 3 one. Add a test case covering the problem. Run tests with unicode_literals from future Fix unicode encode errors with unicode characters - Use `backports.csv` instead of `unicodecsv` - Use StringIO instead of cStringIO - Clean-up some Python 2 specific code
Diffstat (limited to 'test_tablib.py')
-rwxr-xr-xtest_tablib.py17
1 files changed, 13 insertions, 4 deletions
diff --git a/test_tablib.py b/test_tablib.py
index 03a46df..96cd884 100755
--- a/test_tablib.py
+++ b/test_tablib.py
@@ -1,17 +1,17 @@
#!/usr/bin/env python
# -*- coding: utf-8 -*-
"""Tests for Tablib."""
+from __future__ import unicode_literals
+import datetime
import json
-import unittest
import sys
-import os
-
-import datetime
+import unittest
import tablib
from tablib.compat import markup, unicode, is_py3
from tablib.core import Row
+from tablib.formats import csv as csv_format
class TablibTestCase(unittest.TestCase):
@@ -531,6 +531,15 @@ class TablibTestCase(unittest.TestCase):
self.assertEqual(_csv, data.csv)
+ def test_csv_import_set_with_unicode_str(self):
+ """Import CSV set with non-ascii characters in unicode literal"""
+ csv_text = (
+ "id,givenname,surname,loginname,email,pref_firstname,pref_lastname\n"
+ "13765,Ævar,Arnfjörð,testing,test@example.com,Ævar,Arnfjörð"
+ )
+ data.csv = csv_text
+ self.assertEqual(data.width, 7)
+
def test_tsv_import_set(self):
"""Generate and import TSV set serialization."""
data.append(self.john)