---
source: crates/ruff_python_formatter/src/lib.rs
expression: snapshot
input_file: crates/ruff_python_formatter/resources/test/fixtures/black/simple_cases/comments4.py
---
## Input

```py
from com.my_lovely_company.my_lovely_team.my_lovely_project.my_lovely_component import (
    MyLovelyCompanyTeamProjectComponent,  # NOT DRY
)
from com.my_lovely_company.my_lovely_team.my_lovely_project.my_lovely_component import (
    MyLovelyCompanyTeamProjectComponent as component,  # DRY
)


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


def foo2(list_a, list_b):
    # Standalone comment reasonably placed.
    return (
        User.query.filter(User.foo == "bar")
        .filter(
            db.or_(User.field_a.astext.in_(list_a), User.field_b.astext.in_(list_b))
        )
        .filter(User.xyz.is_(None))
    )


def foo3(list_a, list_b):
    return (
        # Standlone comment but weirdly placed.
        User.query.filter(User.foo == "bar")
        .filter(
            db.or_(User.field_a.astext.in_(list_a), User.field_b.astext.in_(list_b))
        )
        .filter(User.xyz.is_(None))
    )
```

## Black Differences

```diff
--- Black
+++ Ruff
@@ -10,39 +10,50 @@
     @pytest.mark.parametrize(
         ("post_data", "message"),
         [
-            # metadata_version errors.
-            (
+            (# 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"},
+                {
+                    "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"},
+            (# 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-"},
+                {
+                    "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"},
+            (# 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"},
+                {
+                    "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",
@@ -50,45 +61,34 @@
         ],
     )
     def test_fails_invalid_post_data(
-        self, pyramid_config, db_request, post_data, message
+        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()
-    )
+    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)).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
 
 
 def foo2(list_a, list_b):
     # Standalone comment reasonably placed.
-    return (
-        User.query.filter(User.foo == "bar")
-        .filter(
-            db.or_(User.field_a.astext.in_(list_a), User.field_b.astext.in_(list_b))
-        )
-        .filter(User.xyz.is_(None))
-    )
+    return User.query.filter(User.foo == "bar").filter(
+        db.or_(User.field_a.astext.in_(list_a), User.field_b.astext.in_(list_b))
+    ).filter(User.xyz.is_(None))
 
 
 def foo3(list_a, list_b):
-    return (
-        # Standlone comment but weirdly placed.
-        User.query.filter(User.foo == "bar")
-        .filter(
-            db.or_(User.field_a.astext.in_(list_a), User.field_b.astext.in_(list_b))
-        )
-        .filter(User.xyz.is_(None))
-    )
+    return # Standlone comment but weirdly placed.
+    User.query.filter(User.foo == "bar").filter(
+        db.or_(User.field_a.astext.in_(list_a), User.field_b.astext.in_(list_b))
+    ).filter(User.xyz.is_(None))
```

## Ruff Output

```py
from com.my_lovely_company.my_lovely_team.my_lovely_project.my_lovely_component import (
    MyLovelyCompanyTeamProjectComponent,  # NOT DRY
)
from com.my_lovely_company.my_lovely_team.my_lovely_project.my_lovely_component import (
    MyLovelyCompanyTeamProjectComponent as component,  # DRY
)


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)).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


def foo2(list_a, list_b):
    # Standalone comment reasonably placed.
    return User.query.filter(User.foo == "bar").filter(
        db.or_(User.field_a.astext.in_(list_a), User.field_b.astext.in_(list_b))
    ).filter(User.xyz.is_(None))


def foo3(list_a, list_b):
    return # Standlone comment but weirdly placed.
    User.query.filter(User.foo == "bar").filter(
        db.or_(User.field_a.astext.in_(list_a), User.field_b.astext.in_(list_b))
    ).filter(User.xyz.is_(None))
```

## Black Output

```py
from com.my_lovely_company.my_lovely_team.my_lovely_project.my_lovely_component import (
    MyLovelyCompanyTeamProjectComponent,  # NOT DRY
)
from com.my_lovely_company.my_lovely_team.my_lovely_project.my_lovely_component import (
    MyLovelyCompanyTeamProjectComponent as component,  # DRY
)


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


def foo2(list_a, list_b):
    # Standalone comment reasonably placed.
    return (
        User.query.filter(User.foo == "bar")
        .filter(
            db.or_(User.field_a.astext.in_(list_a), User.field_b.astext.in_(list_b))
        )
        .filter(User.xyz.is_(None))
    )


def foo3(list_a, list_b):
    return (
        # Standlone comment but weirdly placed.
        User.query.filter(User.foo == "bar")
        .filter(
            db.or_(User.field_a.astext.in_(list_a), User.field_b.astext.in_(list_b))
        )
        .filter(User.xyz.is_(None))
    )
```


