добавил методы получения макроса по имени и получение имени по макросу
This commit is contained in:
parent
7927221769
commit
fedf7b6241
|
|
@ -4,7 +4,7 @@ from utils.Macro import Macro
|
|||
|
||||
class TestMacro(unittest.TestCase):
|
||||
def setUp(self):
|
||||
self.macroParser = Macro({})
|
||||
self.macroParser = Macro()
|
||||
|
||||
def test_parseMacros(self):
|
||||
line = 'hello {@this} is {@my_macro} and {@macro_with_numbers123}'
|
||||
|
|
@ -15,3 +15,14 @@ class TestMacro(unittest.TestCase):
|
|||
self.assertTrue('my_macro' in symbols)
|
||||
self.assertTrue('macro_with_numbers123' in symbols)
|
||||
|
||||
def test_getName(self):
|
||||
line = '{@macro_name}'
|
||||
name = self.macroParser.getMacroName(line)
|
||||
|
||||
self.assertEqual('macro_name', name)
|
||||
|
||||
def test_getMacro(self):
|
||||
line = 'some_name'
|
||||
macro = self.macroParser.getMacroByName(line)
|
||||
|
||||
self.assertEqual('{@some_name}', macro)
|
||||
|
|
@ -1,15 +1,19 @@
|
|||
import re
|
||||
|
||||
class Macro:
|
||||
def __init__(self, valueResolver):
|
||||
assert valueResolver is not None
|
||||
def __init__(self):
|
||||
pass
|
||||
|
||||
self.__valueResolver = valueResolver
|
||||
def getMacroByName(self, macroName):
|
||||
assert macroName is not None
|
||||
|
||||
def resolveLine(self, line):
|
||||
assert line is not None
|
||||
return '{@' + macroName + '}'
|
||||
|
||||
symbols = self.getSymbols(line)
|
||||
def getMacroName(self, macro):
|
||||
assert macro.startswith('{@')
|
||||
assert macro.endswith('}')
|
||||
|
||||
return macro[2:-1]
|
||||
|
||||
def getSymbols(self, line):
|
||||
assert line is not None
|
||||
|
|
|
|||
Loading…
Reference in New Issue