Example #1
0
    def testImportFromFuture(self):
        testcases = [
            ('from __future__ import print_function',
             imputil.FutureFeatures(print_function=True)),
            ('from __future__ import generators', imputil.FutureFeatures()),
            ('from __future__ import generators, print_function',
             imputil.FutureFeatures(print_function=True)),
        ]

        for tc in testcases:
            source, want = tc
            mod = pythonparser.parse(textwrap.dedent(source))
            node = mod.body[0]
            got = imputil._make_future_features(node)  # pylint: disable=protected-access
            self.assertEqual(want.__dict__, got.__dict__)
Example #2
0
 def testWriteBlock(self):
     writer = util.Writer()
     mod_block = block.ModuleBlock(None, '__main__', '<test>', '',
                                   imputil.FutureFeatures())
     writer.write_block(mod_block, 'BODY')
     output = writer.getvalue()
     dispatch = 'switch πF.State() {\n\tcase 0:\n\tdefault: panic'
     self.assertIn(dispatch, output)
Example #3
0
    def testFutureFeatures(self):
        testcases = [
            ('from __future__ import print_function',
             imputil.FutureFeatures(print_function=True)),
            ("""\
        "module docstring"

        from __future__ import print_function
        """, imputil.FutureFeatures(print_function=True)),
            ("""\
        "module docstring"

        from __future__ import print_function, with_statement
        from __future__ import nested_scopes
        """, imputil.FutureFeatures(print_function=True)),
            ('from __future__ import absolute_import',
             imputil.FutureFeatures(absolute_import=True)),
            ('from __future__ import absolute_import, print_function',
             imputil.FutureFeatures(absolute_import=True,
                                    print_function=True)),
            ('foo = 123\nfrom __future__ import print_function',
             imputil.FutureFeatures()),
            ('import os\nfrom __future__ import print_function',
             imputil.FutureFeatures()),
        ]

        for tc in testcases:
            source, want = tc
            mod = pythonparser.parse(textwrap.dedent(source))
            _, got = imputil.parse_future_features(mod)
            self.assertEqual(want.__dict__, got.__dict__)
Example #4
0
def _MakeModuleBlock():
  return block.ModuleBlock(None, '__main__', '<test>', '',
                           imputil.FutureFeatures())
Example #5
0
def _MakeModuleBlock():
  importer = imputil.Importer(None, '__main__', '/tmp/foo.py', False)
  return block.ModuleBlock(importer, '__main__', '<test>', '',
                           imputil.FutureFeatures())
Example #6
0
def _MakeModuleBlock():
    return block.ModuleBlock(imputil_test.MockPath(), '__main__', '<test>', '',
                             imputil.FutureFeatures())
Example #7
0
 def __init__(self, block_):
   self.block = block_
   self.future_features = (self.block.root.future_features or
                           imputil.FutureFeatures())
   self.writer = util.Writer()
   self.expr_visitor = expr_visitor.ExprVisitor(self)