def test_can_handle_variables() -> None: assert maybe_rewrite_line("source=VAR") == "sources=[VAR]" assert maybe_rewrite_line("source = x_y_z") == "sources = [x_y_z]"
def test_can_handle_comments() -> None: assert maybe_rewrite_line( "source='foo.py' # test") == "sources=['foo.py'] # test" assert maybe_rewrite_line( "source = 'foo.py' ####") == "sources = ['foo.py'] ####"
def test_can_handle_sharing_a_line() -> None: assert (maybe_rewrite_line("python_library(source='foo.py')") == "python_library(sources=['foo.py'])") assert maybe_rewrite_line( "name='lib', source='foo.py'") == "name='lib', sources=['foo.py']"
def test_respects_original_formatting() -> None: # Preserve whitespace around the `=` operator assert maybe_rewrite_line("source ='foo.py'") == "sources =['foo.py']" assert maybe_rewrite_line("source= 'foo.py'") == "sources= ['foo.py']" assert maybe_rewrite_line("source = 'foo.py'") == "sources = ['foo.py']" # Preserve trailing commas assert maybe_rewrite_line("source='foo.py'") == "sources=['foo.py']" assert maybe_rewrite_line("source='foo.py',") == "sources=['foo.py']," # Preserve leading whitespace assert maybe_rewrite_line( "\t\tsource='foo.py'") == "\t\tsources=['foo.py']" assert maybe_rewrite_line(" source='foo.py'") == " sources=['foo.py']" # Preserve trailing whitespace assert maybe_rewrite_line("source='foo.py' ") == "sources=['foo.py'] " assert maybe_rewrite_line("source='foo.py', ") == "sources=['foo.py'], " # Preserve whether the original used single quotes or double quotes assert maybe_rewrite_line("source='foo.py'") == "sources=['foo.py']" assert maybe_rewrite_line('source="foo.py"') == 'sources=["foo.py"]'
def test_safe_with_unrelated_lines(line: str) -> None: assert maybe_rewrite_line(line) is None
def test_no_op_when_already_valid(line: str) -> None: assert maybe_rewrite_line(line) is None