diff options
author | Kurt Zenker <kz@openoffice.org> | 2008-03-06 10:56:04 +0000 |
---|---|---|
committer | Kurt Zenker <kz@openoffice.org> | 2008-03-06 10:56:04 +0000 |
commit | 0ef878a5d321cf7d485388e2f35d6b756e82e5d2 (patch) | |
tree | 8b4c83a4ef29d27d96303e8eb8526b16e858f279 /toolkit/src2xml/source/macroexpander_test.py | |
parent | 6c3eb0f507e45e254a2fa66487341f0cfe4cde13 (diff) |
INTEGRATION: CWS layout_DEV300 (1.1.2); FILE ADDED
2008/02/13 08:56:23 jcn 1.1.2.1: Import src2xml and doc/layout from GIT.
Diffstat (limited to 'toolkit/src2xml/source/macroexpander_test.py')
-rw-r--r-- | toolkit/src2xml/source/macroexpander_test.py | 71 |
1 files changed, 71 insertions, 0 deletions
diff --git a/toolkit/src2xml/source/macroexpander_test.py b/toolkit/src2xml/source/macroexpander_test.py new file mode 100644 index 000000000000..823bcdb36bc2 --- /dev/null +++ b/toolkit/src2xml/source/macroexpander_test.py @@ -0,0 +1,71 @@ +#!/usr/bin/env python + +import srclexer, srcparser, globals + +class TestCase: + + @staticmethod + def run (tokens, defines): + mcExpander = srcparser.MacroExpander(tokens, defines) + mcExpander.debug = True + mcExpander.expand() + tokens = mcExpander.getTokens() + print tokens + + @staticmethod + def simpleNoArgs (): + tokens = ['FUNC_FOO', '(', 'left', ',', 'right', ')'] + defines = {} + macro = globals.Macro('FUNC_FOO') + macro.tokens = ['Here', 'comes', 'X', 'and', 'Y'] + defines['FUNC_FOO'] = macro + TestCase.run(tokens, defines) + + @staticmethod + def simpleArgs (): + tokens = ['FUNC_FOO', '(', 'left', ',', 'right', ')'] + defines = {} + macro = globals.Macro('FUNC_FOO') + macro.tokens = ['Here', 'comes', 'X', 'and', 'Y'] + macro.vars['X'] = 0 + macro.vars['Y'] = 1 + defines['FUNC_FOO'] = macro + TestCase.run(tokens, defines) + + @staticmethod + def multiTokenArgs (): + tokens = ['FUNC_FOO', '(', 'left1', 'left2', 'left3', ',', 'right', ')'] + defines = {} + macro = globals.Macro('FUNC_FOO') + macro.tokens = ['Here', 'comes', 'X', 'and', 'Y'] + macro.vars['X'] = 0 + macro.vars['Y'] = 1 + defines['FUNC_FOO'] = macro + TestCase.run(tokens, defines) + + @staticmethod + def nestedTokenArgs (): + tokens = ['FUNC_BAA', '(', 'left', ',', 'right', ')'] + defines = {} + macro = globals.Macro('FUNC_FOO') + macro.tokens = ['Here', 'comes', 'X', 'and', 'Y'] + macro.vars['X'] = 0 + macro.vars['Y'] = 1 + defines['FUNC_FOO'] = macro + macro = globals.Macro('FUNC_BAA') + macro.tokens = ['FUNC_FOO'] + defines['FUNC_BAA'] = macro + TestCase.run(tokens, defines) + +def main (): + print "simple expansion with no arguments" + TestCase.simpleNoArgs() + print "simple argument expansion" + TestCase.simpleArgs() + print "multi-token argument expansion" + TestCase.multiTokenArgs() + print "nested argument expansion" + TestCase.nestedTokenArgs() + +if __name__ == '__main__': + main() |