Example #1
0
 def test_parse_key_values_double_quoted(self):
     self.assertEqual({'foo': 'x'}, P.parse_to_dict('foo=\'x\''))
     self.assertEqual({
         'foo': '5',
         'bar': 'hi'
     }, P.parse_to_dict('foo=5 bar=\'hi\''))
     self.assertEqual({
         'foo': '5',
         'bar': ''
     }, P.parse_to_dict('foo=5 bar=\'\''))
     self.assertEqual({
         'foo': '5',
         'bar': 'a b c'
     }, P.parse_to_dict('foo=5 bar=\'a b c\''))
Example #2
0
 def test_more(self):
     self.assertEqual({
         'foo': '123',
         'bar': 'hello'
     }, P.parse_to_dict('foo=123\t\nbar=hello'))
     self.assertEqual({'foo': None}, P.parse_to_dict('foo='))
     self.assertEqual({'foo': None}, P.parse_to_dict('foo= '))
     self.assertEqual({'foo': None}, P.parse_to_dict(' foo='))
     self.assertEqual({'foo': None}, P.parse_to_dict(' foo= '))
     self.assertEqual({'foo': '5'}, P.parse_to_dict('foo=5'))
     self.assertEqual({'foo': '5'}, P.parse_to_dict('foo=5 '))
     self.assertEqual({'foo': '5'}, P.parse_to_dict(' foo=5'))
     self.assertEqual({'foo': '5'}, P.parse_to_dict(' foo=5 '))
     self.assertEqual({
         'foo': '5',
         'bar': None
     }, P.parse_to_dict('foo=5 bar='))
Example #3
0
 def test_parse_keep_quotes(self):
     self.assertEqual({'foo': 'a b c'},
                      P.parse_to_dict('foo="a b c"', options=0))
     self.assertEqual({'foo': '"a b c"'},
                      P.parse_to_dict(
                          'foo="a b c"',
                          options=string_lexer_options.KEEP_QUOTES))
     self.assertEqual({'foo': '""a b c""'},
                      P.parse_to_dict(
                          r'foo=\""a b c\""',
                          options=string_lexer_options.KEEP_QUOTES))
     self.assertEqual({'foo': 'abc'},
                      P.parse_to_dict(
                          'foo=abc',
                          options=string_lexer_options.KEEP_QUOTES))
     self.assertEqual({'foo': None},
                      P.parse_to_dict(
                          'foo=', options=string_lexer_options.KEEP_QUOTES))
     self.assertEqual({'foo': 'bar:"a b"'},
                      P.parse_to_dict(
                          r'foo=bar\:"a b"',
                          options=string_lexer_options.KEEP_QUOTES))
     self.assertEqual(
         {'foo': 'bar:\\"a b\\"'},
         P.parse_to_dict(r'foo=bar\:"a b"',
                         options=string_lexer_options.KEEP_QUOTES
                         | string_lexer_options.ESCAPE_QUOTES))
Example #4
0
 def test_parse_key_values_single_quoted(self):
     self.assertEqual({'foo': 'x'}, P.parse_to_dict('foo="x"'))
     self.assertEqual({
         'foo': '5',
         'bar': 'hi'
     }, P.parse_to_dict('foo=5 bar="hi"'))
     self.assertEqual({
         'foo': '5',
         'bar': ''
     }, P.parse_to_dict('foo=5 bar=""'))
     self.assertEqual({
         'foo': '5',
         'bar': 'a b c'
     }, P.parse_to_dict('foo=5 bar="a b c"'))
     self.assertEqual({
         'foo': '5',
         'bar': 'a b c',
         'baz': None
     }, P.parse_to_dict('foo=5 bar="a b c" baz='))
Example #5
0
 def test_comment(self):
     self.assertEqual({'foo': '555'}, P.parse_to_dict('foo=555 # comment'))
     self.assertEqual({'foo': '555'}, P.parse_to_dict('foo=555# comment'))
     self.assertEqual({'foo': '555'}, P.parse_to_dict('foo=555#'))
     self.assertEqual({'foo': None}, P.parse_to_dict('foo=#'))
     self.assertEqual({'foo': None}, P.parse_to_dict('foo#'))
     self.assertEqual({}, P.parse_to_dict('#'))
Example #6
0
 def test_comment_in_quote(self):
     self.assertEqual({'foo': 'a #b c'}, P.parse_to_dict('foo="a #b c"'))
     self.assertEqual({'foo': 'a #b c'}, P.parse_to_dict('foo=\'a #b c\''))
Example #7
0
 def test_parse_key_values_quoted_inside_quotes(self):
     self.assertEqual({'foo': 'This is "good"'},
                      P.parse_to_dict('foo=\'This is "good"\''))