def test_parse_pragma_with_string_argument(self):
     source = '#pragma "-foo"'
     actual = self.parser.parse(source)
     expected = pre_ast.File(content=pre_ast.CompositeBlock(
         [pre_ast.Pragma([
             pre_ast.PragmaArgument('"-foo"'),
         ])]))
     self.assertEqual(actual, expected)
 def test_parse_pragma_with_three_simple_arguments(self):
     source = '#pragma foo bar baz'
     actual = self.parser.parse(source)
     expected = pre_ast.File(content=pre_ast.CompositeBlock([
         pre_ast.Pragma([
             pre_ast.PragmaArgument('foo'),
             pre_ast.PragmaArgument('bar'),
             pre_ast.PragmaArgument('baz'),
         ]),
     ]), )
     self.assertEqual(actual, expected)
 def test_parse_pragma_with_argument_with_empty_arguments_list(self):
     source = '#pragma foo()'
     actual = self.parser.parse(source)
     expected = pre_ast.File(content=pre_ast.CompositeBlock([
         pre_ast.Pragma([
             pre_ast.PragmaArgument(
                 name='foo',
                 arguments=[],
             ),
         ]),
     ]), )
     self.assertEqual(actual, expected)
 def test_parse_pragma_with_argument_with_value_assigned(self):
     source = '#pragma foo=bar'
     actual = self.parser.parse(source)
     expected = pre_ast.File(content=pre_ast.CompositeBlock([
         pre_ast.Pragma([
             pre_ast.PragmaArgument(
                 name='foo',
                 value=c_ast.CVariable('bar'),
             ),
         ]),
     ]), )
     self.assertEqual(actual, expected)
 def test_parse_pragma_and_text_block(self):
     source = '\n'.join((
         '#pragma foo bar',
         'int x;',
     ))
     actual = self.parser.parse(source)
     expected = pre_ast.File(content=pre_ast.CompositeBlock([
         pre_ast.Pragma([
             pre_ast.PragmaArgument('foo'),
             pre_ast.PragmaArgument('bar'),
         ]),
         pre_ast.TextBlock('int x;'),
     ]), )
     self.assertEqual(actual, expected)
 def test_parse_pragma_with_argument_with_natural_number_argument(self):
     source = '#pragma foo(42)'
     actual = self.parser.parse(source)
     expected = pre_ast.File(content=pre_ast.CompositeBlock([
         pre_ast.Pragma([
             pre_ast.PragmaArgument(
                 name='foo',
                 arguments=[
                     c_ast.CNumber(42),
                 ],
             ),
         ]),
     ]), )
     self.assertEqual(actual, expected)
 def test_parse_pragma_with_argument_with_arguments(self):
     source = '#pragma foo(bar, baz)'
     actual = self.parser.parse(source)
     expected = pre_ast.File(content=pre_ast.CompositeBlock([
         pre_ast.Pragma([
             pre_ast.PragmaArgument(
                 name='foo',
                 arguments=[
                     c_ast.CVariable('bar'),
                     c_ast.CVariable('baz'),
                 ],
             ),
         ]),
     ]), )
     self.assertEqual(actual, expected)
 def test_preprocess_pragma(self):
     pragma = pre_ast.Pragma('some_arguments')
     actual = self.preprocessing_visitor.preprocess(pragma)
     self.assertEqual(actual, pragma)
Example #9
0
 def test_collect_includes_with_pragma(self):
     node = pre_ast.Pragma('some_arguments')
     actual = self.include_collector.collect_includes(node)
     expected = []
     self.assertEqual(actual, expected)