diff --git a/experiment.py b/experiment.py index 988974b..7be429a 100644 --- a/experiment.py +++ b/experiment.py @@ -5,11 +5,7 @@ from tests.test_utils import * ]) def function(): - mystring = 'hello' - print(mystring) - mystring = "hello" - print(mystring) - return 1 + a, b = 3, 4 print(function()) diff --git a/tests/test_literals.py b/tests/test_literals.py index 3bd5ce3..746c969 100644 --- a/tests/test_literals.py +++ b/tests/test_literals.py @@ -11,3 +11,20 @@ def test_constant(): def target(): 1 ''') + + +def test_tuple(): + + @Commentor("") + def target(): + a, b = 1, 2 + + asserteq_or_print(target(), ''' + def target(): + a, b = 1, 2 + """ + ======== + 1 : a + 2 : b + """ +''') diff --git a/trace_commentor/handlers/__init__.py b/trace_commentor/handlers/__init__.py index 8b4a20e..c2ddf19 100644 --- a/trace_commentor/handlers/__init__.py +++ b/trace_commentor/handlers/__init__.py @@ -1,5 +1,5 @@ from .definitions import FunctionDef, Return from .statements import Pass, Assign from .expressions import Expr, BinOp, Call -from .literals import Constant +from .literals import Constant, Tuple from .variables import Name diff --git a/trace_commentor/handlers/literals.py b/trace_commentor/handlers/literals.py index c2e5fd8..a36c0df 100644 --- a/trace_commentor/handlers/literals.py +++ b/trace_commentor/handlers/literals.py @@ -1,2 +1,7 @@ def Constant(self, cmtor): pass + + +def Tuple(self, cmtor): + for x in self.elts: + cmtor.process(x) diff --git a/trace_commentor/handlers/statements.py b/trace_commentor/handlers/statements.py index 7b850be..a780e19 100644 --- a/trace_commentor/handlers/statements.py +++ b/trace_commentor/handlers/statements.py @@ -1,6 +1,13 @@ +import ast +from ..utils import to_source + def Pass(self, cmtor): pass def Assign(self, cmtor): cmtor.process(self.value) cmtor.exec(self) + if type(self.value) not in [ast.Constant]: + cmtor.append_comment("========") + for target in self.targets: + cmtor.process(target)