diff options
| author | Marten Kenbeek <marten.knbk@gmail.com> | 2015-02-07 01:52:26 +0100 |
|---|---|---|
| committer | Markus Holtermann <info@markusholtermann.eu> | 2015-04-05 20:19:24 +0200 |
| commit | d597174bd4cfd9a0e1b34dae8b4d8d027a8cab72 (patch) | |
| tree | 36d658417df8572905ae1d505f2f4b6e191defe9 /tests | |
| parent | 2cf28b692114b0acb69440ea09cb6eb08f0f150c (diff) | |
Refs #24278 -- Allowed multi-line serializations in OperationWriter.
Changed OperationWriter to support multi-line serialized values with
correct indentation.
Diffstat (limited to 'tests')
| -rw-r--r-- | tests/migrations/test_writer.py | 40 |
1 files changed, 25 insertions, 15 deletions
diff --git a/tests/migrations/test_writer.py b/tests/migrations/test_writer.py index d2bd491635..bbe81ad58d 100644 --- a/tests/migrations/test_writer.py +++ b/tests/migrations/test_writer.py @@ -37,9 +37,7 @@ class OperationWriterTests(SimpleTestCase): def test_empty_signature(self): operation = custom_migration_operations.operations.TestOperation() - writer = OperationWriter(operation) - writer.indentation = 0 - buff, imports = writer.serialize() + buff, imports = OperationWriter(operation, indentation=0).serialize() self.assertEqual(imports, {'import custom_migration_operations.operations'}) self.assertEqual( buff, @@ -49,9 +47,7 @@ class OperationWriterTests(SimpleTestCase): def test_args_signature(self): operation = custom_migration_operations.operations.ArgsOperation(1, 2) - writer = OperationWriter(operation) - writer.indentation = 0 - buff, imports = writer.serialize() + buff, imports = OperationWriter(operation, indentation=0).serialize() self.assertEqual(imports, {'import custom_migration_operations.operations'}) self.assertEqual( buff, @@ -63,9 +59,7 @@ class OperationWriterTests(SimpleTestCase): def test_kwargs_signature(self): operation = custom_migration_operations.operations.KwargsOperation(kwarg1=1) - writer = OperationWriter(operation) - writer.indentation = 0 - buff, imports = writer.serialize() + buff, imports = OperationWriter(operation, indentation=0).serialize() self.assertEqual(imports, {'import custom_migration_operations.operations'}) self.assertEqual( buff, @@ -76,9 +70,7 @@ class OperationWriterTests(SimpleTestCase): def test_args_kwargs_signature(self): operation = custom_migration_operations.operations.ArgsKwargsOperation(1, 2, kwarg2=4) - writer = OperationWriter(operation) - writer.indentation = 0 - buff, imports = writer.serialize() + buff, imports = OperationWriter(operation, indentation=0).serialize() self.assertEqual(imports, {'import custom_migration_operations.operations'}) self.assertEqual( buff, @@ -89,11 +81,21 @@ class OperationWriterTests(SimpleTestCase): '),' ) + def test_multiline_args_signature(self): + operation = custom_migration_operations.operations.ArgsOperation("test\n arg1", "test\narg2") + buff, imports = OperationWriter(operation, indentation=0).serialize() + self.assertEqual(imports, {'import custom_migration_operations.operations'}) + self.assertEqual( + buff, + "custom_migration_operations.operations.ArgsOperation(\n" + " arg1='test\\n arg1',\n" + " arg2='test\\narg2',\n" + ")," + ) + def test_expand_args_signature(self): operation = custom_migration_operations.operations.ExpandArgsOperation([1, 2]) - writer = OperationWriter(operation) - writer.indentation = 0 - buff, imports = writer.serialize() + buff, imports = OperationWriter(operation, indentation=0).serialize() self.assertEqual(imports, {'import custom_migration_operations.operations'}) self.assertEqual( buff, @@ -159,6 +161,14 @@ class WriterTests(TestCase): string, imports = MigrationWriter.serialize("foobar") self.assertEqual(string, "'foobar'") + def test_serialize_multiline_strings(self): + self.assertSerializedEqual(b"foo\nbar") + string, imports = MigrationWriter.serialize(b"foo\nbar") + self.assertEqual(string, "b'foo\\nbar'") + self.assertSerializedEqual("föo\nbár") + string, imports = MigrationWriter.serialize("foo\nbar") + self.assertEqual(string, "'foo\\nbar'") + def test_serialize_collections(self): self.assertSerializedEqual({1: 2}) self.assertSerializedEqual(["a", 2, True, None]) |
