Ejemplo n.º 1
0
 def assert_create_as(self,
                      srccode,
                      exp_expr=None,
                      exp_params=None,
                      exp_valid=True,
                      exp_name='MACRO'):
     pyexpr = compile(exp_expr, '<string>', 'eval') if exp_expr else None
     assert MacroDef.create_from_srccode(srccode) \
            == MacroDef(exp_name, pyexpr, exp_params, exp_valid)
Ejemplo n.º 2
0
 def test_read_onMacro_returnsParsedMacro(self):
     parser = self.parse('\n\n#define MACRO 3')
     assert parser.macros['MACRO'] \
            == MacroDef('MACRO', compile('3', '<string>', 'eval'))
Ejemplo n.º 3
0
        class Container:
            macro = MacroDef.create_from_srccode('macro  sub_macro(3)')

            def sub_macro(cls, param):
                return param + 2
Ejemplo n.º 4
0
 def test_init_setsAttrs(self):
     macro = MacroDef('NAME', '1 + 2', (), False)
     assert macro.name == 'NAME'
     assert macro.code == '1 + 2'
     assert macro.params == ()
     assert not macro.valid
Ejemplo n.º 5
0
 class Container:
     strct_ptr = Mock()
     macro = MacroDef.create_from_srccode('macro strct_ptr->member')
Ejemplo n.º 6
0
 class Container:
     macro = MacroDef.create_from_srccode('macro  constant')
     constant = 9
Ejemplo n.º 7
0
 class Container:
     macro = MacroDef('macro', '1')
Ejemplo n.º 8
0
 def test_read_onNonStrPredefinedMacro_implicitlyConvertToStr(self):
     parser = self.parse('', MACRO=1)
     code_obj = compile("1", '<string>', 'eval')
     assert parser.macros['MACRO'] \
            == MacroDef('MACRO', code_obj)
Ejemplo n.º 9
0
 class Container:
     macro = MacroDef('MACRO', None)
Ejemplo n.º 10
0
 class Container:
     macro = MacroDef('MACRO', valid=False)
Ejemplo n.º 11
0
 class Container:
     enum = Mock()
     macro = MacroDef.create_from_srccode('macro (enum name)1')
Ejemplo n.º 12
0
 class Container:
     union = Mock()
     macro = MacroDef.create_from_srccode('macro (union name *)1')
Ejemplo n.º 13
0
 class Container:
     struct = Mock()
     macro = MacroDef.create_from_srccode('macro (struct name *)1')
Ejemplo n.º 14
0
 def test_read_onPredefinedMacros_makeThemAvailableLikeUsualMacros(self):
     parser = self.parse('', MACRO='a')
     code_obj = compile("self.a", '<string>', 'eval')
     assert parser.macros['MACRO'] == MacroDef('MACRO', code_obj)
Ejemplo n.º 15
0
 class Container:
     macro = MacroDef.create_from_srccode('macro(a, b)')
Ejemplo n.º 16
0
 def test_read_onPredefinedMacroIsEmptyStr_implicitlyConvertsToNone(self):
     parser = self.parse('', MACRO='')
     assert parser.macros['MACRO'] == MacroDef('MACRO', None)
Ejemplo n.º 17
0
 class Container:
     int = MagicMock()
     macro = MacroDef.create_from_srccode('macro (int*)1 * 2')
Ejemplo n.º 18
0
 def test_read_onPredefinedMacroIsNone_setMacroToNone(self):
     parser = self.parse('', MACRO=None)
     assert parser.macros['MACRO'] == MacroDef('MACRO', None)
Ejemplo n.º 19
0
 def test_createFromSrcCode_onStringMacroWithEscapeSeq_mustNotGenerateAnyKindOfWarning(
         self):
     with warnings.catch_warnings(record=True) as warning_list:
         MacroDef.create_from_srccode(r'MACRO  "\n"')
     assert not warning_list