コード例 #1
0
 def test_body_string_macro_curr_next_line(self):
     """Test parsing a macro with val on current and next lines."""
     parser = MacroParser('TEST_MACRO', None)
     parser._parse_macro_file_lines(
         macro_file_lines=[' #  define   TEST_MACRO 24\\\n 42'],
         macro_line_number=1)
     self.assertEqual(parser.body_string, '24\\\n 42')
コード例 #2
0
 def test_body_string_macro_curr_next_lines(self):
     """Test parsing a function macro on multiple lines."""
     parser = MacroParser('TEST_MACRO', None)
     parser._parse_macro_file_lines(
         macro_file_lines=[' #define TEST_MACRO(x) 24\\\n 42\\\n11\\\n123'],
         macro_line_number=1)
     self.assertEqual(parser.body_string, '24\\\n 42\\\n11\\\n123')
コード例 #3
0
 def test_args_string_function_macro_multiple_args(self):
     """Test parsing a function-like macro that takes multiple arguments."""
     parser = MacroParser('TEST_MACRO', None)
     parser._parse_macro_file_lines(
         macro_file_lines=['#define TEST_MACRO(x, y, z) (x + y + z)'],
         macro_line_number=1)
     self.assertEqual(parser.args_string, '(x, y, z)')
コード例 #4
0
 def test_body_string_macro_inline(self):
     """Test parsing a single-line macro."""
     parser = MacroParser('TEST_MACRO', None)
     parser._parse_macro_file_lines(
         macro_file_lines=[' #  define   TEST_MACRO 42'],
         macro_line_number=1)
     self.assertEqual(parser.body_string, '42')
コード例 #5
0
 def test_args_string_macro_extra_whitespace(self):
     """Test parsing a function-like macro with extra whitespace."""
     parser = MacroParser('TEST_MACRO', None)
     parser._parse_macro_file_lines(
         macro_file_lines=[' #  define   TEST_MACRO( x ,   y,    z  ) (x)'],
         macro_line_number=1)
     self.assertEqual(parser.args_string, '(x, y, z)')
コード例 #6
0
 def test_body_string_macro_curr_next_lines(self):
     """Test parsing a function macro on multiple lines."""
     parser = MacroParser('TEST_MACRO', None)
     parser._parse_macro_file_lines(
         macro_file_lines=[' #define TEST_MACRO(x) 24\\\n 42\\\n11\\\n123'],
         macro_line_number=1)
     self.assertEqual(parser.body_string, '24\\\n 42\\\n11\\\n123')
コード例 #7
0
 def test_args_string_non_function_like_macro(self):
     """Test parsing a macro with no '()'."""
     parser = MacroParser('TEST_MACRO', None)
     parser._parse_macro_file_lines(
         macro_file_lines=['#define TEST_MACRO 1'],
         macro_line_number=1)
     self.assertEqual(parser.args_string, '')
コード例 #8
0
 def test_body_string_macro_curr_next_line(self):
     """Test parsing a macro with val on current and next lines."""
     parser = MacroParser('TEST_MACRO', None)
     parser._parse_macro_file_lines(
         macro_file_lines=[' #  define   TEST_MACRO 24\\\n 42'],
         macro_line_number=1)
     self.assertEqual(parser.body_string, '24\\\n 42')
コード例 #9
0
 def test_body_string_macro_inline(self):
     """Test parsing a single-line macro."""
     parser = MacroParser('TEST_MACRO', None)
     parser._parse_macro_file_lines(
         macro_file_lines=[' #  define   TEST_MACRO 42'],
         macro_line_number=1)
     self.assertEqual(parser.body_string, '42')
コード例 #10
0
 def test_body_string_macro_empty(self):
     """Test parsing a macro without parameters."""
     parser = MacroParser('TEST_MACRO', None)
     parser._parse_macro_file_lines(
         macro_file_lines=[' #  define   TEST_MACRO'],
         macro_line_number=1)
     self.assertEqual(parser.body_string, '')
コード例 #11
0
 def test_args_string_macro_extra_whitespace(self):
     """Test parsing a function-like macro with extra whitespace."""
     parser = MacroParser('TEST_MACRO', None)
     parser._parse_macro_file_lines(
         macro_file_lines=[' #  define   TEST_MACRO( x ,   y,    z  ) (x)'],
         macro_line_number=1)
     self.assertEqual(parser.args_string, '(x, y, z)')
コード例 #12
0
 def test_args_string_function_macro_multiple_args(self):
     """Test parsing a function-like macro that takes multiple arguments."""
     parser = MacroParser('TEST_MACRO', None)
     parser._parse_macro_file_lines(
         macro_file_lines=['#define TEST_MACRO(x, y, z) (x + y + z)'],
         macro_line_number=1)
     self.assertEqual(parser.args_string, '(x, y, z)')
コード例 #13
0
 def test_args_string_non_function_like_macro(self):
     """Test parsing a macro with no '()'."""
     parser = MacroParser('TEST_MACRO', None)
     parser._parse_macro_file_lines(
         macro_file_lines=['#define TEST_MACRO 1'], macro_line_number=1)
     self.assertEqual(parser.args_string, '')
コード例 #14
0
 def test_body_string_macro_empty(self):
     """Test parsing a macro without parameters."""
     parser = MacroParser('TEST_MACRO', None)
     parser._parse_macro_file_lines(
         macro_file_lines=[' #  define   TEST_MACRO'], macro_line_number=1)
     self.assertEqual(parser.body_string, '')