Example #1
0
 def test_import_of_module_in_package_assigns_values_for_both_package_and_module(self):
     _assert_transform(
         nodes.import_([
             nodes.import_alias("os.path", None),
         ]),
         cc.statements([
             cc.assign(cc.ref("os"), cc.module_ref(["os"])),
             cc.assign(cc.attr(cc.ref("os"), "path"), cc.module_ref(["os", "path"])),
         ])
     )
Example #2
0
 def test_import_multiple_values_in_single_import_statement(self):
     _assert_transform(
         nodes.import_([
             nodes.import_alias("os", None),
             nodes.import_alias("sys", None)
         ]),
         cc.statements([
             cc.assign(cc.ref("os"), cc.module_ref(["os"])),
             cc.assign(cc.ref("sys"), cc.module_ref(["sys"])),
         ])
     )
Example #3
0
 def test_multiple_imported_names_in_one_statement_generates_multiple_assignments(self):
     _assert_transform(
         nodes.import_from(["."], [
             nodes.import_alias("x", None),
             nodes.import_alias("y", None),
         ]),
         cc.statements([
             cc.assign(cc.ref("x"), cc.attr(cc.module_ref(["."]), "x")),
             cc.assign(cc.ref("y"), cc.attr(cc.module_ref(["."]), "y")),
         ]),
     )
 def path_is_normalised_before_hashing(self):
     module_resolver = FakeModuleResolver({
         ("os", "path"): LocalModule("x/../blah.py", None),
     })
     node = cc.module_ref(["os", "path"])
     
     expected = """__Nope.Internals.@Import(Module__blah_py.Init)"""
     assert_equal(expected, cs.dumps(transform(node, module_resolver=module_resolver)))
 def absolute_module_reference_is_translated_to_get_module_with_reference_to_module_class(self):
     module_resolver = FakeModuleResolver({
         ("os", "path"): LocalModule("blah.py", None),
     })
     node = cc.module_ref(["os", "path"])
     
     expected = """__Nope.Internals.@Import(Module__blah_py.Init)"""
     assert_equal(expected, cs.dumps(transform(node, module_resolver=module_resolver)))
Example #6
0
def test_transform_reference_to_builtin_module():
    module = BuiltinModule("cgi", None)
    _assert_transform(
        cc.module_ref(["cgi"]),
        """$require("__stdlib/cgi");""",
        module_resolver=FakeModuleResolver({
            ("cgi", ): module
        })
    )
Example #7
0
 def test_importing_module_from_package_references_module_directly(self):
     module_resolver = FakeModuleResolver({
         (("x", ), "y"): ResolvedImport(["x", "y"], _stub_module, None)
     })
     _assert_transform(
         nodes.import_from(["x"], [nodes.import_alias("y", None)]),
         cc.assign(cc.ref("y"), cc.module_ref(["x", "y"])),
         module_resolver=module_resolver,
     )
Example #8
0
def test_transform_reference_to_module_in_same_package():
    _assert_transform(
        cc.module_ref([".", "x"]),
        js.call(js.ref("$require"), [js.string("./x")]),
    )
Example #9
0
def test_transform_reference_to_parent_package():
    _assert_transform(
        cc.module_ref([".."]),
        js.call(js.ref("$require"), [js.string("../")]),
    )
Example #10
0
def test_transform_reference_to_top_level_module():
    _assert_transform(
        cc.module_ref("x"),
        js.call(js.ref("$require"), [js.string("x")]),
    )
Example #11
0
 def test_import_from_assigns_value_to_asname_if_asname_is_set(self):
     _assert_transform(
         nodes.import_from(["os", "path"], [nodes.import_alias("join", "j")]),
         cc.assign(cc.ref("j"), cc.attr(cc.module_ref(["os", "path"]), "join")),
     )
Example #12
0
 def test_import_of_module_assigns_module_to_as_name_if_present(self):
     _assert_transform(
         nodes.import_([nodes.import_alias("message", "m")]),
         cc.assign(cc.ref("m"), cc.module_ref(["message"]))
     )
Example #13
0
 def test_import_of_module_assigns_module_to_name(self):
     _assert_transform(
         nodes.import_([nodes.import_alias("message", None)]),
         cc.assign(cc.ref("message"), cc.module_ref(["message"]))
     )
Example #14
0
 def test_import_from_uses_two_dots_to_indicate_import_from_parent_package(self):
     _assert_transform(
         nodes.import_from([".."], [nodes.import_alias("x", None)]),
         cc.assign(cc.ref("x"), cc.attr(cc.module_ref([".."]), "x")),
     )