Fixes issue rendering strings containing multiple jinja expressions
Closes-Bug: #1712133 Change-Id: I058e9858e4a4a9a94e0948df38758446e68bf5b9
This commit is contained in:
parent
fdaec7edd3
commit
10b27fcdea
mistral
@ -29,8 +29,8 @@ LOG = logging.getLogger(__name__)
|
||||
|
||||
ANY_JINJA_REGEXP = "{{.*}}|{%.*%}"
|
||||
|
||||
JINJA_REGEXP = '({{(.*)}})'
|
||||
JINJA_BLOCK_REGEXP = '({%(.*)%})'
|
||||
JINJA_REGEXP = '({{(.*?)}})'
|
||||
JINJA_BLOCK_REGEXP = '({%(.*?)%})'
|
||||
|
||||
_environment = SandboxedEnvironment(
|
||||
undefined=jinja2.StrictUndefined,
|
||||
|
@ -402,6 +402,13 @@ class InlineJinjaEvaluatorTest(base.BaseTest):
|
||||
self.assertEqual(3, self._evaluator.evaluate('{{ _ }}', 3))
|
||||
self.assertEqual('33', self._evaluator.evaluate('{{ _ }}{{ _ }}', 3))
|
||||
|
||||
def test_multiple_expressions(self):
|
||||
context = {'dir': '/tmp',
|
||||
'file': 'a.txt'}
|
||||
expected_result = '/tmp/a.txt'
|
||||
result = self._evaluator.evaluate('{{ _.dir }}/{{ _.file }}', context)
|
||||
self.assertEqual(expected_result, result)
|
||||
|
||||
def test_function_string(self):
|
||||
self.assertEqual('3', self._evaluator.evaluate('{{ _|string }}', '3'))
|
||||
self.assertEqual('3', self._evaluator.evaluate('{{ _|string }}', 3))
|
||||
|
Loading…
x
Reference in New Issue
Block a user