mirror of
				https://github.com/astral-sh/ruff.git
				synced 2025-11-03 21:24:29 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			365 lines
		
	
	
	
		
			7.9 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
			
		
		
	
	
			365 lines
		
	
	
	
		
			7.9 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
---
 | 
						|
source: crates/ruff_python_formatter/tests/fixtures.rs
 | 
						|
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
 | 
						|
@@ -1,33 +1,15 @@
 | 
						|
 # 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.
 | 
						|
-    },
 | 
						|
-)
 | 
						|
+NOT_IMPLEMENTED_call(NOT_IMPLEMENTED_arg)
 | 
						|
 
 | 
						|
 
 | 
						|
 # Regression test for https://github.com/psf/black/issues/2015.
 | 
						|
-run(
 | 
						|
-    # fmt: off
 | 
						|
-    [
 | 
						|
-        "ls",
 | 
						|
-        "-la",
 | 
						|
-    ]
 | 
						|
-    # fmt: on
 | 
						|
-    + path,
 | 
						|
-    check=True,
 | 
						|
-)
 | 
						|
+NOT_IMPLEMENTED_call(NOT_IMPLEMENTED_arg)
 | 
						|
 
 | 
						|
 
 | 
						|
 # Regression test for https://github.com/psf/black/issues/3026.
 | 
						|
 def test_func():
 | 
						|
     # yapf: disable
 | 
						|
-    if  unformatted(  args  ):
 | 
						|
+    if NOT_IMPLEMENTED_call(NOT_IMPLEMENTED_arg):
 | 
						|
         return True
 | 
						|
     # yapf: enable
 | 
						|
     elif b:
 | 
						|
@@ -39,12 +21,12 @@
 | 
						|
 # 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 NOT_IMPLEMENTED_call(NOT_IMPLEMENTED_arg):
 | 
						|
+        # fmt: on
 | 
						|
+        NOT_IMPLEMENTED_call(NOT_IMPLEMENTED_arg)
 | 
						|
+    NOT_IMPLEMENTED_call(NOT_IMPLEMENTED_arg)
 | 
						|
 else:
 | 
						|
-    print("This will be formatted")
 | 
						|
+    NOT_IMPLEMENTED_call(NOT_IMPLEMENTED_arg)
 | 
						|
 
 | 
						|
 
 | 
						|
 # Regression test for https://github.com/psf/black/issues/3184.
 | 
						|
@@ -52,29 +34,27 @@
 | 
						|
     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" )
 | 
						|
+                NOT_IMPLEMENTED_call(NOT_IMPLEMENTED_arg)
 | 
						|
 
 | 
						|
             elif param[0:4] in ("ZZZZ",):
 | 
						|
-                print ( "This won't be formatted either" )
 | 
						|
+                NOT_IMPLEMENTED_call(NOT_IMPLEMENTED_arg)
 | 
						|
 
 | 
						|
-        print("This will be formatted")
 | 
						|
+        NOT_IMPLEMENTED_call(NOT_IMPLEMENTED_arg)
 | 
						|
 
 | 
						|
 
 | 
						|
 # Regression test for https://github.com/psf/black/issues/2985.
 | 
						|
 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
 | 
						|
 
 | 
						|
 
 | 
						|
@@ -82,6 +62,6 @@
 | 
						|
 if x:
 | 
						|
     return x
 | 
						|
 # fmt: off
 | 
						|
-elif   unformatted:
 | 
						|
+elif unformatted:
 | 
						|
     # fmt: on
 | 
						|
-    will_be_formatted()
 | 
						|
+    NOT_IMPLEMENTED_call()
 | 
						|
```
 | 
						|
 | 
						|
## Ruff Output
 | 
						|
 | 
						|
```py
 | 
						|
# Regression test for https://github.com/psf/black/issues/3129.
 | 
						|
NOT_IMPLEMENTED_call(NOT_IMPLEMENTED_arg)
 | 
						|
 | 
						|
 | 
						|
# Regression test for https://github.com/psf/black/issues/2015.
 | 
						|
NOT_IMPLEMENTED_call(NOT_IMPLEMENTED_arg)
 | 
						|
 | 
						|
 | 
						|
# Regression test for https://github.com/psf/black/issues/3026.
 | 
						|
def test_func():
 | 
						|
    # yapf: disable
 | 
						|
    if NOT_IMPLEMENTED_call(NOT_IMPLEMENTED_arg):
 | 
						|
        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 NOT_IMPLEMENTED_call(NOT_IMPLEMENTED_arg):
 | 
						|
        # fmt: on
 | 
						|
        NOT_IMPLEMENTED_call(NOT_IMPLEMENTED_arg)
 | 
						|
    NOT_IMPLEMENTED_call(NOT_IMPLEMENTED_arg)
 | 
						|
else:
 | 
						|
    NOT_IMPLEMENTED_call(NOT_IMPLEMENTED_arg)
 | 
						|
 | 
						|
 | 
						|
# 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
 | 
						|
                NOT_IMPLEMENTED_call(NOT_IMPLEMENTED_arg)
 | 
						|
 | 
						|
            elif param[0:4] in ("ZZZZ",):
 | 
						|
                NOT_IMPLEMENTED_call(NOT_IMPLEMENTED_arg)
 | 
						|
 | 
						|
        NOT_IMPLEMENTED_call(NOT_IMPLEMENTED_arg)
 | 
						|
 | 
						|
 | 
						|
# 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
 | 
						|
    NOT_IMPLEMENTED_call()
 | 
						|
```
 | 
						|
 | 
						|
## 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()
 | 
						|
```
 | 
						|
 | 
						|
 |