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__)
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)
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__)
def _MakeModuleBlock(): return block.ModuleBlock(None, '__main__', '<test>', '', imputil.FutureFeatures())
def _MakeModuleBlock(): importer = imputil.Importer(None, '__main__', '/tmp/foo.py', False) return block.ModuleBlock(importer, '__main__', '<test>', '', imputil.FutureFeatures())
def _MakeModuleBlock(): return block.ModuleBlock(imputil_test.MockPath(), '__main__', '<test>', '', imputil.FutureFeatures())
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)