From 17b22642f5f4f3193dfd10fcc86992fb225d6be1 Mon Sep 17 00:00:00 2001 From: =?utf8?q?=C5=81ukasz=20Langa?= Date: Thu, 29 Mar 2018 21:19:20 -0700 Subject: [PATCH] More comments tests --- tests/comments4.py | 76 +++++++++++++++++++++++++++++++++++++++++++++ tests/test_black.py | 8 +++++ 2 files changed, 84 insertions(+) create mode 100644 tests/comments4.py diff --git a/tests/comments4.py b/tests/comments4.py new file mode 100644 index 0000000..e74bf50 --- /dev/null +++ b/tests/comments4.py @@ -0,0 +1,76 @@ +class C: + + @pytest.mark.parametrize( + ("post_data", "message"), + [ + # metadata_version errors. + ( + {}, + "None is an invalid value for Metadata-Version. " + "Error: This field is required. " + "see " + "https://packaging.python.org/specifications/core-metadata", + ), + ( + {"metadata_version": "-1"}, + "'-1' is an invalid value for Metadata-Version. " + "Error: Unknown Metadata Version " + "see " + "https://packaging.python.org/specifications/core-metadata", + ), + # name errors. + ( + {"metadata_version": "1.2"}, + "'' is an invalid value for Name. " + "Error: This field is required. " + "see " + "https://packaging.python.org/specifications/core-metadata", + ), + ( + {"metadata_version": "1.2", "name": "foo-"}, + "'foo-' is an invalid value for Name. " + "Error: Must start and end with a letter or numeral and " + "contain only ascii numeric and '.', '_' and '-'. " + "see " + "https://packaging.python.org/specifications/core-metadata", + ), + # version errors. + ( + {"metadata_version": "1.2", "name": "example"}, + "'' is an invalid value for Version. " + "Error: This field is required. " + "see " + "https://packaging.python.org/specifications/core-metadata", + ), + ( + {"metadata_version": "1.2", "name": "example", "version": "dog"}, + "'dog' is an invalid value for Version. " + "Error: Must start and end with a letter or numeral and " + "contain only ascii numeric and '.', '_' and '-'. " + "see " + "https://packaging.python.org/specifications/core-metadata", + ), + ], + ) + def test_fails_invalid_post_data( + self, pyramid_config, db_request, post_data, message + ): + pyramid_config.testing_securitypolicy(userid=1) + db_request.POST = MultiDict(post_data) + + +def foo(list_a, list_b): + results = ( + User.query.filter(User.foo == 'bar').filter( # Because foo. + db.or_(User.field_a.astext.in_(list_a), User.field_b.astext.in_(list_b)) + ).filter( + User.xyz.is_(None) + ) + # Another comment about the filtering on is_quux goes here. + .filter(db.not_(User.is_pending.astext.cast(db.Boolean).is_(True))).order_by( + User.created_at.desc() + ).with_for_update( + key_share=True + ).all() + ) + return results diff --git a/tests/test_black.py b/tests/test_black.py index 9d7f579..1c22e54 100644 --- a/tests/test_black.py +++ b/tests/test_black.py @@ -158,6 +158,14 @@ class BlackTestCase(unittest.TestCase): black.assert_equivalent(source, actual) black.assert_stable(source, actual, line_length=ll) + @patch("black.dump_to_file", dump_to_stderr) + def test_comments4(self) -> None: + source, expected = read_data('comments4') + actual = fs(source) + self.assertFormatEqual(expected, actual) + black.assert_equivalent(source, actual) + black.assert_stable(source, actual, line_length=ll) + @patch("black.dump_to_file", dump_to_stderr) def test_cantfit(self) -> None: source, expected = read_data('cantfit') -- 2.39.5