Example #1
0
 def test_comments_lines_are_ignored(self):
     self.assertParsesBlock(
         'x = "lorem ipsum"\n'
         '-- comment\n'
         '-- \n'
         '-- another comment\n'
         'y = "lipsum"',
         Block(Assignment([Var('x')], [LiteralString('lorem ipsum')]),
               Assignment([Var('y')], [LiteralString('lipsum')])))
Example #2
0
 def test_table_with_unnamed_fields(self):
     self.assertParsesFirstStatement('x = {"lorem ipsum", true}', [
         Assignment([Var('x')], [
             Table(UnnamedField(LiteralString(value='lorem ipsum')),
                   UnnamedField(Boolean('true')))
         ])
     ])
Example #3
0
 def test_table_with_named_fields(self):
     self.assertParsesFirstStatement(
         'x = {field1="lorem ipsum", field2=true}', [
             Assignment([Var('x')], [
                 Table(NamedField('field1', LiteralString('lorem ipsum')),
                       NamedField('field2', Boolean('true')))
             ])
         ])
Example #4
0
 def test_method_call_with_arg_string(self):
     self.assertParsesFirstStatement(
         'o:f "string"',
         [MethodCall(Var('o'), Var('f'), [LiteralString('string')])])
Example #5
0
 def test_function_call_with_arg_string(self):
     self.assertParsesFirstStatement(
         'f "string"', [FunctionCall(Var('f'), [LiteralString('string')])])
Example #6
0
 def test_mutilple_string_assignments(self):
     self.assertParsesBlock(
         'x = "lorem ipsum"; y = "lipsum"',
         Block(Assignment([Var('x')],
                          [LiteralString('lorem ipsum')]), semicolon,
               Assignment([Var('y')], [LiteralString('lipsum')])))
Example #7
0
 def test_comments_are_ignored_at_the_end_of_line(self):
     self.assertParsesFirstStatement(
         'x = "lorem ipsum" -- comment',
         [Assignment([Var('x')], [LiteralString("lorem ipsum")])])
Example #8
0
 def test_string(self):
     self.assertParsesFirstStatement(
         'x = "lorem ipsum"',
         [Assignment([Var('x')], [LiteralString("lorem ipsum")])])
Example #9
0
 def test_print_assignment(self):
     self.assertPrints(Assignment([Var('x')], [LiteralString('test')]),
                       "x = 'test'")
Example #10
0
 def test_function_call_chain_with_strings_arguments(self):
     self.assertParsesFirstStatement('f "a" "b" "c"', [
         FunctionCall(
             FunctionCall(FunctionCall(Var('f'), [LiteralString('a')]),
                          [LiteralString('b')]), [LiteralString('c')])
     ])