示例#1
0
 def bodies_of_if_else_are_indented(self):
     node = js.if_(
         js.ref("condition"),
         [js.expression_statement(js.ref("y"))],
         [js.expression_statement(js.ref("x"))]
     )
     assert_equal("if (condition) {\n    y;\n} else {\n    x;\n}\n", self._dumps(node))
示例#2
0
 def body_of_while_is_indented(self):
     node = js.while_(
         js.ref("condition"),
         [
             js.expression_statement(js.ref("y")),
             js.expression_statement(js.ref("x")),
         ]
     )
     assert_equal("while (condition) {\n    y;\n    x;\n}\n", self._dumps(node))
示例#3
0
def test_serialize_function_expression():
    func = js.function_expression(
        args=["x", "y"],
        body = [
            js.expression_statement(js.ref("y")),
            js.expression_statement(js.ref("x")),
        ],
    )
    assert_equal("function(x, y) { y;x; }", _dumps(func))
示例#4
0
def test_serialize_expression_statement():
    assert_equal("x;", _dumps(js.expression_statement(js.ref("x"))))
示例#5
0
 def statements_are_separated_by_new_lines(self):
     statements = js.statements([
         js.expression_statement(js.ref("y")),
         js.expression_statement(js.ref("x")),
     ])
     assert_equal("y;\nx;\n", self._dumps(statements))
示例#6
0
def test_serialize_statements():
    assert_equal("x;y;", _dumps(js.statements([
        js.expression_statement(js.ref("x")),
        js.expression_statement(js.ref("y")),
    ])))
示例#7
0
def test_transform_expression_statement():
    _assert_transform(
        cc.expression_statement(cc.ref("x")),
        js.expression_statement(js.ref("x"))
    )
示例#8
0
def test_transform_assignment_to_attribute_sets_property_directly():
    _assert_transform(
        cc.assign(cc.attr(cc.ref("x"), "y"), cc.ref("z")),
        js.expression_statement(js.assign(js.property_access(js.ref("x"), "y"), js.ref("z"))),
    )
示例#9
0
def test_transform_assignment():
    _assert_transform(
        cc.assign(cc.ref("x"), cc.ref("z")),
        js.expression_statement(js.assign(js.ref("x"), js.ref("z"))),
    )
示例#10
0
def test_transform_module():
    _assert_transform(
        cc.module([cc.expression_statement(cc.ref("x"))], is_executable=False, exported_names=[]),
        js.statements([js.expression_statement(js.ref("x"))])
    )