def test_serialize_string(): assert_equal('"hello"', _dumps(js.string("hello")))
def test_transform_reference_to_module_in_same_package(): _assert_transform( cc.module_ref([".", "x"]), js.call(js.ref("$require"), [js.string("./x")]), )
def test_transform_string_expression(): _assert_transform( cc.str_literal("hello"), js.string("hello") )
def test_transform_reference_to_parent_package(): _assert_transform( cc.module_ref([".."]), js.call(js.ref("$require"), [js.string("../")]), )
def test_transform_attribute_access(): _assert_transform( cc.attr(cc.ref("x"), "y"), js.call(js.ref("$nope.builtins.getattr"), [js.ref("x"), js.string("y")]) )
def test_transform_reference_to_top_level_module(): _assert_transform( cc.module_ref("x"), js.call(js.ref("$require"), [js.string("x")]), )