Example #1
0
    def test_dict_one_element(self):
        lexer = Lexer('a = {x: "1"}')

        parser = Parser(lexer)
        parser.parse()
        self.assertEqual(parser.var_defs[0][0], 'a')
        self.assertEqual(repr(parser.var_defs[0][1]), '{x: \'1\'}')
Example #2
0
    def test_dict_two_elements_comma(self):
        lexer = Lexer('a = {x: "1", y: "2",}')

        parser = Parser(lexer)
        parser.parse()
        self.assertEqual(parser.var_defs[0][0], 'a')
        self.assertEqual(repr(parser.var_defs[0][1]), '{x: \'1\', y: \'2\'}')
Example #3
0
    def test_dict_empty(self):
        lexer = Lexer('a = {}')

        parser = Parser(lexer)
        parser.parse()
        self.assertEqual(parser.var_defs[0][0], 'a')
        self.assertEqual(repr(parser.var_defs[0][1]), repr({}))
Example #4
0
    def test_list_one_element_comma(self):
        lexer = Lexer('a = ["x",]')

        parser = Parser(lexer)
        parser.parse()
        self.assertEqual(parser.var_defs[0][0], 'a')
        self.assertEqual(repr(parser.var_defs[0][1]), repr(['x']))
Example #5
0
    def test_list_one_element_comma(self):
        lexer = Lexer('a = ["x",]')

        parser = Parser(lexer)
        parser.parse()
        self.assertEqual(parser.var_defs[0][0], 'a')
        self.assertEqual(repr(parser.var_defs[0][1]), repr(['x']))
Example #6
0
    def test_assign_string(self):
        lexer = Lexer('a = "example"')

        parser = Parser(lexer)
        parser.parse()
        self.assertEqual(parser.var_defs[0][0], 'a')
        self.assertEqual(repr(parser.var_defs[0][1]), repr('example'))
Example #7
0
    def test_list_empty(self):
        lexer = Lexer('a = []')

        parser = Parser(lexer)
        parser.parse()
        self.assertEqual(parser.var_defs[0][0], 'a')
        self.assertEqual(repr(parser.var_defs[0][1]), repr([]))
Example #8
0
    def test_dict_one_element(self):
        lexer = Lexer('a = {x: "1"}')

        parser = Parser(lexer)
        parser.parse()
        self.assertEqual(parser.var_defs[0][0], 'a')
        self.assertEqual(repr(parser.var_defs[0][1]), '{x: \'1\'}')
Example #9
0
    def test_dict_two_elements_comma(self):
        lexer = Lexer('a = {x: "1", y: "2",}')

        parser = Parser(lexer)
        parser.parse()
        self.assertEqual(parser.var_defs[0][0], 'a')
        self.assertEqual(repr(parser.var_defs[0][1]), '{x: \'1\', y: \'2\'}')
Example #10
0
    def test_list_two_elements(self):
        lexer = Lexer('a = ["x", "y"]')

        parser = Parser(lexer)
        parser.parse()
        self.assertEqual(parser.var_defs[0][0], 'a')
        self.assertEqual(repr(parser.var_defs[0][1]), repr(['x', 'y']))
Example #11
0
    def test_dict_empty(self):
        lexer = Lexer('a = {}')

        parser = Parser(lexer)
        parser.parse()
        self.assertEqual(parser.var_defs[0][0], 'a')
        self.assertEqual(repr(parser.var_defs[0][1]), repr({}))
Example #12
0
    def test_list_two_elements(self):
        lexer = Lexer('a = ["x", "y"]')

        parser = Parser(lexer)
        parser.parse()
        self.assertEqual(parser.var_defs[0][0], 'a')
        self.assertEqual(repr(parser.var_defs[0][1]), repr(['x', 'y']))
Example #13
0
    def test_list_empty(self):
        lexer = Lexer('a = []')

        parser = Parser(lexer)
        parser.parse()
        self.assertEqual(parser.var_defs[0][0], 'a')
        self.assertEqual(repr(parser.var_defs[0][1]), repr([]))
Example #14
0
    def test_assign_string(self):
        lexer = Lexer('a = "example"')

        parser = Parser(lexer)
        parser.parse()
        self.assertEqual(parser.var_defs[0][0], 'a')
        self.assertEqual(repr(parser.var_defs[0][1]), repr('example'))
Example #15
0
    def test_module_path_from_lexer(self):
        """Test whether the path are passed from Lexer to parsed modules."""
        content = '''
            cc_library {
                name: "libfoo",
            }
            '''

        parser = Parser(Lexer(content, path='test_path'))
        parser.parse()

        self.assertEqual('test_path', parser.modules[0][1]['_path'])
Example #16
0
    def test_create_var_ref(self):
        parser = Parser(None)

        str1 = String(1)
        parser.define_var('a', str1)

        var1 = parser.create_var_ref('a')
        self.assertIsInstance(var1, VarRef)
        self.assertEqual(var1.name, 'a')
        self.assertIs(var1.value, str1)

        var2 = parser.create_var_ref('b')
        self.assertIsInstance(var2, VarRef)
        self.assertEqual(var2.name, 'b')
        self.assertIs(var2.value, None)
Example #17
0
    def test_define_var(self):
        parser = Parser(None)

        str1 = String(1)
        parser.define_var('a', str1)
        self.assertEqual(len(parser.var_defs), 1)
        self.assertEqual(len(parser.vars), 1)
        self.assertIn('a', parser.vars)
        self.assertIs(parser.vars['a'], str1)

        str2 = String(2)
        parser.define_var('a', str2)
        self.assertEqual(len(parser.var_defs), 2)
        self.assertEqual(len(parser.vars), 1)
        self.assertIn('a', parser.vars)
        self.assertIs(parser.vars['a'], str2)
Example #18
0
    def test_create_var_ref(self):
        parser = Parser(None)

        str1 = String(1)
        parser.define_var('a', str1)

        var1 = parser.create_var_ref('a')
        self.assertIsInstance(var1, VarRef)
        self.assertEqual(var1.name, 'a')
        self.assertIs(var1.value, str1)

        var2 = parser.create_var_ref('b')
        self.assertIsInstance(var2, VarRef)
        self.assertEqual(var2.name, 'b')
        self.assertIs(var2.value, None)
Example #19
0
    def test_define_var(self):
        parser = Parser(None)

        str1 = String(1)
        parser.define_var('a', str1)
        self.assertEqual(len(parser.var_defs), 1)
        self.assertEqual(len(parser.vars), 1)
        self.assertIn('a', parser.vars)
        self.assertIs(parser.vars['a'], str1)

        str2 = String(2)
        parser.define_var('a', str2)
        self.assertEqual(len(parser.var_defs), 2)
        self.assertEqual(len(parser.vars), 1)
        self.assertIn('a', parser.vars)
        self.assertIs(parser.vars['a'], str2)