summaryrefslogtreecommitdiff
path: root/test_tablib.py
diff options
context:
space:
mode:
authorKenneth Reitz <me@kennethreitz.com>2011-03-23 02:08:40 -0400
committerKenneth Reitz <me@kennethreitz.com>2011-03-23 02:08:40 -0400
commit1a9343750ea5f11e0be60ee0eb2ac7b6f7f00606 (patch)
tree8f3e30ef79248fa5b728dcdc482f34dcf0c70210 /test_tablib.py
parent52e9d44739c141c920d7431e60d88763383d2c6a (diff)
parent8a393214c8db962e6eb55fbabe5439978a64efdf (diff)
downloadtablib-1a9343750ea5f11e0be60ee0eb2ac7b6f7f00606.tar.gz
Merge branch 'feature/3.x'
Diffstat (limited to 'test_tablib.py')
-rwxr-xr-xtest_tablib.py43
1 files changed, 42 insertions, 1 deletions
diff --git a/test_tablib.py b/test_tablib.py
index e4a4d11..5c4c551 100755
--- a/test_tablib.py
+++ b/test_tablib.py
@@ -4,8 +4,14 @@
"""Tests for Tablib."""
import unittest
+import sys
+
+if sys.version_info.major > 2:
+ from tablib.packages import markup3 as markup
+else:
+ from tablib.packages import markup
+
-from tablib.packages import markup
import tablib
@@ -295,6 +301,21 @@ class TablibTestCase(unittest.TestCase):
self.assertEqual(_csv, data.csv)
+
+ def test_csv_import_set_with_spaces(self):
+ """Generate and import CSV set serialization when row values have
+ spaces."""
+ data.append(('Bill Gates', 'Microsoft'))
+ data.append(('Steve Jobs', 'Apple'))
+ data.headers = ('Name', 'Company')
+
+ _csv = data.csv
+
+ data.csv = _csv
+
+ self.assertEqual(_csv, data.csv)
+
+
def test_tsv_import_set(self):
"""Generate and import TSV set serialization."""
data.append(self.john)
@@ -307,6 +328,7 @@ class TablibTestCase(unittest.TestCase):
self.assertEqual(_tsv, data.tsv)
+
def test_csv_format_detect(self):
"""Test CSV format detection."""
@@ -322,6 +344,7 @@ class TablibTestCase(unittest.TestCase):
self.assertTrue(tablib.formats.csv.detect(_csv))
self.assertFalse(tablib.formats.csv.detect(_bunk))
+
def test_tsv_format_detect(self):
"""Test TSV format detection."""
@@ -337,6 +360,7 @@ class TablibTestCase(unittest.TestCase):
self.assertTrue(tablib.formats.tsv.detect(_tsv))
self.assertFalse(tablib.formats.tsv.detect(_bunk))
+
def test_json_format_detect(self):
"""Test JSON format detection."""
@@ -374,6 +398,7 @@ class TablibTestCase(unittest.TestCase):
self.assertEqual(tablib.detect(_json)[0], tablib.formats.json)
self.assertEqual(tablib.detect(_bunk)[0], None)
+
def test_transpose(self):
"""Transpose a dataset."""
@@ -388,6 +413,7 @@ class TablibTestCase(unittest.TestCase):
self.assertEqual(second_row,
("gpa",90, 67, 50))
+
def test_row_stacking(self):
"""Row stacking."""
@@ -405,6 +431,7 @@ class TablibTestCase(unittest.TestCase):
expected_data = original_data + original_data
self.assertEqual(row_stacked[column], expected_data)
+
def test_column_stacking(self):
"""Column stacking"""
@@ -425,6 +452,7 @@ class TablibTestCase(unittest.TestCase):
self.assertEqual(column_stacked[0],
("John", "Adams", 90, "John", "Adams", 90))
+
def test_sorting(self):
"""Sort columns."""
@@ -442,6 +470,7 @@ class TablibTestCase(unittest.TestCase):
self.assertEqual(second_row, expected_second)
self.assertEqual(third_row, expected_third)
+
def test_wipe(self):
"""Purge a dataset."""
@@ -459,5 +488,17 @@ class TablibTestCase(unittest.TestCase):
self.assertTrue(data[0] == new_row)
+ def test_formatters(self):
+ """Confirm formatters are being triggered."""
+
+ def _formatter(cell_value):
+ return str(cell_value).upper()
+
+ self.founders.add_formatter('last_name', _formatter)
+
+ for name in [r['last_name'] for r in self.founders.dict]:
+ self.assertTrue(name.isupper())
+
+
if __name__ == '__main__':
unittest.main()