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

```py
# Regression test for https://github.com/psf/black/issues/3129.
setup(
    entry_points={
        # fmt: off
        "console_scripts": [
            "foo-bar"
            "=foo.bar.:main",
        # fmt: on
            ]  # Includes an formatted indentation.
    },
)


# Regression test for https://github.com/psf/black/issues/2015.
run(
    # fmt: off
    [
        "ls",
        "-la",
    ]
    # fmt: on
    + path,
    check=True,
)


# Regression test for https://github.com/psf/black/issues/3026.
def test_func():
    # yapf: disable
    if  unformatted(  args  ):
        return True
    # yapf: enable
    elif b:
        return True

    return False


# Regression test for https://github.com/psf/black/issues/2567.
if True:
    # fmt: off
    for _ in range( 1 ):
    # fmt: on
        print ( "This won't be formatted" )
    print ( "This won't be formatted either" )
else:
    print ( "This will be formatted" )


# Regression test for https://github.com/psf/black/issues/3184.
class A:
    async def call(param):
        if param:
            # fmt: off
            if param[0:4] in (
                "ABCD", "EFGH"
            )  :
                # fmt: on
                print ( "This won't be formatted" )

            elif param[0:4] in ("ZZZZ",):
                print ( "This won't be formatted either" )

        print ( "This will be formatted" )


# Regression test for https://github.com/psf/black/issues/2985.
class Named(t.Protocol):
    # fmt: off
    @property
    def  this_wont_be_formatted ( self ) -> str: ...

class Factory(t.Protocol):
    def  this_will_be_formatted ( self, **kwargs ) -> Named: ...
    # fmt: on


# Regression test for https://github.com/psf/black/issues/3436.
if x:
    return x
# fmt: off
elif   unformatted:
# fmt: on
    will_be_formatted  ()
```

## Black Differences

```diff
--- Black
+++ Ruff
@@ -3,10 +3,8 @@
     entry_points={
         # fmt: off
         "console_scripts": [
-            "foo-bar"
-            "=foo.bar.:main",
-        # fmt: on
-            ]  # Includes an formatted indentation.
+            "foo-bar" "=foo.bar.:main",
+        ],  # Includes an formatted indentation.
     },
 )
 
@@ -27,9 +25,8 @@
 # Regression test for https://github.com/psf/black/issues/3026.
 def test_func():
     # yapf: disable
-    if  unformatted(  args  ):
+    if unformatted(args):
         return True
-    # yapf: enable
     elif b:
         return True
 
@@ -39,10 +36,10 @@
 # Regression test for https://github.com/psf/black/issues/2567.
 if True:
     # fmt: off
-    for _ in range( 1 ):
-    # fmt: on
-        print ( "This won't be formatted" )
-    print ( "This won't be formatted either" )
+    for _ in range(1):
+        # fmt: on
+        print("This won't be formatted")
+    print("This won't be formatted either")
 else:
     print("This will be formatted")
 
@@ -52,14 +49,11 @@
     async def call(param):
         if param:
             # fmt: off
-            if param[0:4] in (
-                "ABCD", "EFGH"
-            )  :
+            if param[0:4] in ("ABCD", "EFGH"):
                 # fmt: on
-                print ( "This won't be formatted" )
-
+                print("This won't be formatted")
             elif param[0:4] in ("ZZZZ",):
-                print ( "This won't be formatted either" )
+                print("This won't be formatted either")
 
         print("This will be formatted")
 
@@ -68,20 +62,19 @@
 class Named(t.Protocol):
     # fmt: off
     @property
-    def  this_wont_be_formatted ( self ) -> str: ...
+    def this_wont_be_formatted(self) -> str:
+        ...
 
 
 class Factory(t.Protocol):
     def this_will_be_formatted(self, **kwargs) -> Named:
         ...
-
     # fmt: on
 
 
 # Regression test for https://github.com/psf/black/issues/3436.
 if x:
     return x
-# fmt: off
-elif   unformatted:
+elif unformatted:
     # fmt: on
     will_be_formatted()
```

## Ruff Output

```py
# Regression test for https://github.com/psf/black/issues/3129.
setup(
    entry_points={
        # fmt: off
        "console_scripts": [
            "foo-bar" "=foo.bar.:main",
        ],  # Includes an formatted indentation.
    },
)


# Regression test for https://github.com/psf/black/issues/2015.
run(
    # fmt: off
    [
        "ls",
        "-la",
    ]
    # fmt: on
    + path,
    check=True,
)


# Regression test for https://github.com/psf/black/issues/3026.
def test_func():
    # yapf: disable
    if unformatted(args):
        return True
    elif b:
        return True

    return False


# Regression test for https://github.com/psf/black/issues/2567.
if True:
    # fmt: off
    for _ in range(1):
        # fmt: on
        print("This won't be formatted")
    print("This won't be formatted either")
else:
    print("This will be formatted")


# Regression test for https://github.com/psf/black/issues/3184.
class A:
    async def call(param):
        if param:
            # fmt: off
            if param[0:4] in ("ABCD", "EFGH"):
                # fmt: on
                print("This won't be formatted")
            elif param[0:4] in ("ZZZZ",):
                print("This won't be formatted either")

        print("This will be formatted")


# Regression test for https://github.com/psf/black/issues/2985.
class Named(t.Protocol):
    # fmt: off
    @property
    def this_wont_be_formatted(self) -> str:
        ...


class Factory(t.Protocol):
    def this_will_be_formatted(self, **kwargs) -> Named:
        ...
    # fmt: on


# Regression test for https://github.com/psf/black/issues/3436.
if x:
    return x
elif unformatted:
    # fmt: on
    will_be_formatted()
```

## Black Output

```py
# Regression test for https://github.com/psf/black/issues/3129.
setup(
    entry_points={
        # fmt: off
        "console_scripts": [
            "foo-bar"
            "=foo.bar.:main",
        # fmt: on
            ]  # Includes an formatted indentation.
    },
)


# Regression test for https://github.com/psf/black/issues/2015.
run(
    # fmt: off
    [
        "ls",
        "-la",
    ]
    # fmt: on
    + path,
    check=True,
)


# Regression test for https://github.com/psf/black/issues/3026.
def test_func():
    # yapf: disable
    if  unformatted(  args  ):
        return True
    # yapf: enable
    elif b:
        return True

    return False


# Regression test for https://github.com/psf/black/issues/2567.
if True:
    # fmt: off
    for _ in range( 1 ):
    # fmt: on
        print ( "This won't be formatted" )
    print ( "This won't be formatted either" )
else:
    print("This will be formatted")


# Regression test for https://github.com/psf/black/issues/3184.
class A:
    async def call(param):
        if param:
            # fmt: off
            if param[0:4] in (
                "ABCD", "EFGH"
            )  :
                # fmt: on
                print ( "This won't be formatted" )

            elif param[0:4] in ("ZZZZ",):
                print ( "This won't be formatted either" )

        print("This will be formatted")


# Regression test for https://github.com/psf/black/issues/2985.
class Named(t.Protocol):
    # fmt: off
    @property
    def  this_wont_be_formatted ( self ) -> str: ...


class Factory(t.Protocol):
    def this_will_be_formatted(self, **kwargs) -> Named:
        ...

    # fmt: on


# Regression test for https://github.com/psf/black/issues/3436.
if x:
    return x
# fmt: off
elif   unformatted:
    # fmt: on
    will_be_formatted()
```


