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\'}')
    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\'}')
    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({}))
    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']))
Exemple #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']))
Exemple #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'))
Exemple #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([]))
Exemple #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\'}')
Exemple #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\'}')
Exemple #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']))
Exemple #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({}))
    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']))
    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([]))
    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'))
Exemple #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'])
Exemple #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)
Exemple #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)
    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)
    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)