summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorMarten Kenbeek <marten.knbk@gmail.com>2015-02-07 01:52:26 +0100
committerMarkus Holtermann <info@markusholtermann.eu>2015-04-05 20:19:24 +0200
commitd597174bd4cfd9a0e1b34dae8b4d8d027a8cab72 (patch)
tree36d658417df8572905ae1d505f2f4b6e191defe9 /tests
parent2cf28b692114b0acb69440ea09cb6eb08f0f150c (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.py40
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])