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))
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))
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))
def test_serialize_expression_statement(): assert_equal("x;", _dumps(js.expression_statement(js.ref("x"))))
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))
def test_serialize_statements(): assert_equal("x;y;", _dumps(js.statements([ js.expression_statement(js.ref("x")), js.expression_statement(js.ref("y")), ])))
def test_transform_expression_statement(): _assert_transform( cc.expression_statement(cc.ref("x")), js.expression_statement(js.ref("x")) )
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"))), )
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"))), )
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"))]) )