fix: match duplicate variable/function in raw string

e.g.

"ABC${func1($var_1, $var_3)}$var_1--${func1($var_1, $var_3)}$var_1"
This commit is contained in:
debugtalk
2019-04-17 15:17:36 +08:00
parent 04248ee7e1
commit 920df9985c
2 changed files with 54 additions and 46 deletions

View File

@@ -378,14 +378,13 @@ class TestParserBasic(unittest.TestCase):
self.assertEqual(var._string, "ABC{}{}")
self.assertEqual(var.to_value(variables_mapping), "ABCabc123abc")
# TODO: fix
# var = parser.LazyString(
# "ABC${func1($var_1, $var_3)}$var_1--${func1($var_1, $var_3)}$var_1",
# functions_mapping,
# check_variables_set
# )
# self.assertEqual(var._string, "ABC{}{}--{}{}")
# self.assertEqual(var.to_value(variables_mapping), "ABCabc123abc--abc123abc")
var = parser.LazyString(
"ABC${func1($var_1, $var_3)}$var_1--${func1($var_1, $var_3)}$var_1",
functions_mapping,
check_variables_set
)
self.assertEqual(var._string, "ABC{}{}--{}{}")
self.assertEqual(var.to_value(variables_mapping), "ABCabc123abc--abc123abc")
var = parser.LazyString("ABC${func1($var_1, $var_3)}DE$var_4", functions_mapping, check_variables_set)
self.assertEqual(var._string, "ABC{}DE{}")