Example #1
0
 def _substitute(self, raw_tokens, local_vars):
     vars = dict(self._global_vars)
     vars.update(local_vars)
     return [util.apply_subs(token, vars) for token in raw_tokens]
Example #2
0
 def test_substitution_vars_are_case_sensitive(self):
     result = util.apply_subs('$foo $FOO', {'foo': 'bar', 'FOO': 'BAR'})
     self.assertEqual('bar BAR', result)
Example #3
0
 def test_substitution_value_contains_escape_char(self):
     result = util.apply_subs('$foo', {'foo': r'\$'})
     self.assertEqual(r'\$', result)
Example #4
0
 def test_one_substitution_with_escape_char(self):
     result = util.apply_subs(r'$foo\$', {'foo': 'bar'})
     self.assertEqual('bar$', result)
Example #5
0
 def test_multiple_non_space_separated_bracket_substitution(self):
     result = util.apply_subs('$foo1$foo2', {'foo1': 'bar1',
                                             'foo2': 'bar2'})
     self.assertEqual('bar1bar2', result)
Example #6
0
 def test_one_substitution_with_text(self):
     result = util.apply_subs('abc $foo xyz', {'foo': 'bar'})
     self.assertEqual('abc bar xyz', result)
Example #7
0
 def test_one_bracket_substitution(self):
     result = util.apply_subs('${foo}', {'foo': 'bar'})
     self.assertEqual('bar', result)
Example #8
0
 def test_no_substitution_with_escape_char(self):
     result = util.apply_subs(r'bar\$', {})
     self.assertEqual('bar$', result)
Example #9
0
 def test_no_substitution_with_extra_variables(self):
     result = util.apply_subs('bar', {'foo': 'bar'})
     self.assertEqual('bar', result)
Example #10
0
 def test_no_substitution(self):
     result = util.apply_subs('bar', {})
     self.assertEqual('bar', result)