diff options
| author | Kenneth Reitz <me@kennethreitz.com> | 2011-03-23 02:08:40 -0400 |
|---|---|---|
| committer | Kenneth Reitz <me@kennethreitz.com> | 2011-03-23 02:08:40 -0400 |
| commit | 1a9343750ea5f11e0be60ee0eb2ac7b6f7f00606 (patch) | |
| tree | 8f3e30ef79248fa5b728dcdc482f34dcf0c70210 /test_tablib.py | |
| parent | 52e9d44739c141c920d7431e60d88763383d2c6a (diff) | |
| parent | 8a393214c8db962e6eb55fbabe5439978a64efdf (diff) | |
| download | tablib-1a9343750ea5f11e0be60ee0eb2ac7b6f7f00606.tar.gz | |
Merge branch 'feature/3.x'
Diffstat (limited to 'test_tablib.py')
| -rwxr-xr-x | test_tablib.py | 43 |
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() |
