Example #1
0
 def test_expands_vars_with_braces(self):
   self.assertEqual(
       'foo',
       gclient_eval._gclient_eval('"{bar}"', vars_dict={'bar': 'foo'}))
   self.assertEqual(
       'baz',
       gclient_eval._gclient_eval(
           '"{bar}"',
           vars_dict={'bar': gclient_eval.ConstantString('baz')}))
Example #2
0
 def test_expands_vars(self):
   self.assertEqual(
       'foo',
       gclient_eval._gclient_eval('Var("bar")', vars_dict={'bar': 'foo'}))
   self.assertEqual(
       'baz',
       gclient_eval._gclient_eval(
           'Var("bar")',
           vars_dict={'bar': gclient_eval.ConstantString('baz')}))
 def test_dict_ordered(self):
     for test_case in itertools.permutations(range(4)):
         input_data = ['{'] + ['"%s": "%s",' % (n, n)
                               for n in test_case] + ['}']
         expected = [(str(n), str(n)) for n in test_case]
         result = gclient_eval._gclient_eval(''.join(input_data))
         self.assertEqual(expected, result.items())
Example #4
0
 def test_expands_vars_with_braces(self):
     self.assertEqual(
         'foo',
         gclient_eval._gclient_eval('"{bar}"', vars_dict={'bar': 'foo'}))
Example #5
0
 def test_invalid_call(self):
     with self.assertRaises(ValueError) as cm:
         gclient_eval._gclient_eval('Foo("bar")')
     self.assertIn('Var is the only allowed function', str(cm.exception))
Example #6
0
 def test_call(self):
     self.assertEqual(
         'bar',
         gclient_eval._gclient_eval('Foo("bar")', {'Foo': lambda x: x}))
Example #7
0
 def test_invalid_var(self):
     with self.assertRaises(ValueError) as cm:
         gclient_eval._gclient_eval('"{bar}"', {}, True, '<unknwon>')
     self.assertIn('bar was used as a variable, but was not declared',
                   str(cm.exception))
 def test_plus(self):
     self.assertEqual('foo', gclient_eval._gclient_eval('"f" + "o" + "o"'))
 def test_dict(self):
     self.assertEqual({'a': 'b'}, gclient_eval._gclient_eval('{"a": "b"}'))
Example #10
0
 def test_call(self):
     self.assertEqual(
         '{bar}',
         gclient_eval._gclient_eval('Var("bar")', None, False, '<unknown>'))
Example #11
0
 def test_name_safe(self):
     self.assertEqual(
         True, gclient_eval._gclient_eval('True', None, False, '<unknown>'))
Example #12
0
 def test_dict(self):
     self.assertEqual({'a': 'b'},
                      gclient_eval._gclient_eval('{"a": "b"}', None, False,
                                                 '<unknown>'))
Example #13
0
 def test_list(self):
     self.assertEqual(['a', 'b'],
                      gclient_eval._gclient_eval('["a", "b"]', None, False,
                                                 '<unknown>'))
Example #14
0
 def test_tuple(self):
     self.assertEqual(('a', 'b'),
                      gclient_eval._gclient_eval('("a", "b")', None, False,
                                                 '<unknown>'))
Example #15
0
 def test_str(self):
     self.assertEqual(
         'foo', gclient_eval._gclient_eval('"foo"', None, False,
                                           '<unknown>'))
Example #16
0
 def test_format(self):
     self.assertEqual(
         'foo',
         gclient_eval._gclient_eval('"%s" % "foo"', None, False,
                                    '<unknown>'))
 def test_tuple(self):
     self.assertEqual(('a', 'b'), gclient_eval._gclient_eval('("a", "b")'))
Example #18
0
 def test_str(self):
   self.assertEqual('foo', gclient_eval._gclient_eval('"foo"'))
 def test_name_unsafe(self):
     with self.assertRaises(ValueError) as cm:
         gclient_eval._gclient_eval('UnsafeName')
     self.assertIn('invalid name \'UnsafeName\'', str(cm.exception))
Example #20
0
 def test_tuple(self):
   self.assertEqual(('a', 'b'), gclient_eval._gclient_eval('("a", "b")'))
 def test_not_expression(self):
     with self.assertRaises(SyntaxError) as cm:
         gclient_eval._gclient_eval('def foo():\n  pass')
     self.assertIn('invalid syntax', str(cm.exception))
Example #22
0
 def test_list(self):
   self.assertEqual(['a', 'b'], gclient_eval._gclient_eval('["a", "b"]'))
Example #23
0
 def test_dict_ordered(self):
   for test_case in itertools.permutations(range(4)):
     input_data = ['{'] + ['"%s": "%s",' % (n, n) for n in test_case] + ['}']
     expected = [(str(n), str(n)) for n in test_case]
     result = gclient_eval._gclient_eval(''.join(input_data))
     self.assertEqual(expected, result.items())
Example #24
0
 def test_dict(self):
   self.assertEqual({'a': 'b'}, gclient_eval._gclient_eval('{"a": "b"}'))
Example #25
0
 def test_name_safe(self):
   self.assertEqual(True, gclient_eval._gclient_eval('True'))
Example #26
0
 def test_name_unsafe(self):
   with self.assertRaises(ValueError) as cm:
     gclient_eval._gclient_eval('UnsafeName')
   self.assertIn('invalid name \'UnsafeName\'', str(cm.exception))
 def test_expands_vars(self):
     self.assertEqual(
         'foo',
         gclient_eval._gclient_eval('Var("bar")', {'bar': 'foo'}, True))
Example #28
0
 def test_invalid_call(self):
   with self.assertRaises(ValueError) as cm:
     gclient_eval._gclient_eval('Foo("bar")')
   self.assertIn('Var is the only allowed function', str(cm.exception))
Example #29
0
 def test_expands_vars(self):
     self.assertEqual(
         'foo',
         gclient_eval._gclient_eval('Var("bar")', vars_dict={'bar': 'foo'}))
Example #30
0
 def test_expands_vars(self):
   self.assertEqual(
       'foo',
       gclient_eval._gclient_eval('Var("bar")', vars_dict={'bar': 'foo'}))
Example #31
0
 def test_invalid_var(self):
     with self.assertRaises(KeyError) as cm:
         gclient_eval._gclient_eval('"{bar}"', vars_dict={})
     self.assertIn('bar was used as a variable, but was not declared',
                   str(cm.exception))
Example #32
0
 def test_expands_vars_with_braces(self):
   self.assertEqual(
       'foo',
       gclient_eval._gclient_eval('"{bar}"', vars_dict={'bar': 'foo'}))
 def test_str(self):
     self.assertEqual('foo', gclient_eval._gclient_eval('"foo"'))
Example #34
0
 def test_invalid_var(self):
   with self.assertRaises(KeyError) as cm:
     gclient_eval._gclient_eval('"{bar}"', vars_dict={})
   self.assertIn('bar was used as a variable, but was not declared',
                 str(cm.exception))
 def test_list(self):
     self.assertEqual(['a', 'b'], gclient_eval._gclient_eval('["a", "b"]'))
Example #36
0
 def test_plus(self):
   self.assertEqual('foo', gclient_eval._gclient_eval('"f" + "o" + "o"'))
 def test_name_safe(self):
     self.assertEqual(True, gclient_eval._gclient_eval('True'))
Example #38
0
 def test_format(self):
   self.assertEqual('foo', gclient_eval._gclient_eval('"%s" % "foo"'))
 def test_call(self):
     self.assertEqual('{bar}', gclient_eval._gclient_eval('Var("bar")'))
Example #40
0
 def test_not_expression(self):
   with self.assertRaises(SyntaxError) as cm:
     gclient_eval._gclient_eval('def foo():\n  pass')
   self.assertIn('invalid syntax', str(cm.exception))
 def test_format(self):
     self.assertEqual('foo', gclient_eval._gclient_eval('"%s" % "foo"'))
Example #42
0
 def test_not_whitelisted(self):
   with self.assertRaises(ValueError) as cm:
     gclient_eval._gclient_eval('[x for x in [1, 2, 3]]')
   self.assertIn(
       'unexpected AST node: <_ast.ListComp object', str(cm.exception))
 def test_not_whitelisted(self):
     with self.assertRaises(ValueError) as cm:
         gclient_eval._gclient_eval('[x for x in [1, 2, 3]]')
     self.assertIn('unexpected AST node: <_ast.ListComp object',
                   str(cm.exception))
Example #44
0
 def test_expands_vars_with_braces(self):
     self.assertEqual(
         'foo',
         gclient_eval._gclient_eval('"{bar}"', {'bar': 'foo'}, True,
                                    '<unknown>'))