Skip to content

Commit

Permalink
Test cases for _Pragma
Browse files Browse the repository at this point in the history
  • Loading branch information
jordr committed Jan 7, 2023
1 parent 2e93312 commit 07c5454
Show file tree
Hide file tree
Showing 2 changed files with 19 additions and 3 deletions.
17 changes: 14 additions & 3 deletions tests/test_c_lexer.py
Original file line number Diff line number Diff line change
Expand Up @@ -357,6 +357,7 @@ def test_preprocessor_pragma(self):
#pragma "string"
#pragma somestring="some_other_string"
#pragma id 124124 and numbers 0235495
_Pragma("something else")
59
'''
# Check that pragmas are tokenized, including trailing string
Expand Down Expand Up @@ -389,9 +390,19 @@ def test_preprocessor_pragma(self):
tb = self.clex.token()
self.assertEqual(tb.type, 'PPPRAGMASTR')

t6 = self.clex.token()
self.assertEqual(t6.type, 'INT_CONST_DEC')
self.assertEqual(t6.lineno, 12)
t6a = self.clex.token()
t6l = self.clex.token()
t6b = self.clex.token()
t6r = self.clex.token()
self.assertEqual(t6a.type, '_PRAGMA')
self.assertEqual(t6l.type, 'LPAREN')
self.assertEqual(t6b.type, 'STRING_LITERAL')
self.assertEqual(t6b.value, '"something else"')
self.assertEqual(t6r.type, 'RPAREN')

t7 = self.clex.token()
self.assertEqual(t7.type, 'INT_CONST_DEC')
self.assertEqual(t7.lineno, 13)



Expand Down
5 changes: 5 additions & 0 deletions tests/test_c_parser.py
Original file line number Diff line number Diff line change
Expand Up @@ -1736,6 +1736,7 @@ def test_pragma(self):
struct s {
#pragma baz
} s;
_Pragma("other \"string\"")
'''
s1_ast = self.parse(s1)
self.assertIsInstance(s1_ast.ext[0], Pragma)
Expand All @@ -1758,6 +1759,10 @@ def test_pragma(self):
self.assertEqual(s1_ast.ext[2].type.type.decls[0].string, 'baz')
self.assertEqual(s1_ast.ext[2].type.type.decls[0].coord.line, 13)

self.assertIsInstance(s1_ast.ext[3], Pragma)
self.assertEqual(s1_ast.ext[3].string.value, r'"other \"string\""')
self.assertEqual(s1_ast.ext[3].coord.line, 15)

def test_pragmacomp_or_statement(self):
s1 = r'''
void main() {
Expand Down

0 comments on commit 07c5454

Please sign in to comment.