Skip to content

Commit

Permalink
handle #base & #include + extra symbols; #9
Browse files Browse the repository at this point in the history
  • Loading branch information
rossengeorgiev committed Apr 9, 2016
1 parent 06a9b5c commit 86d576f
Show file tree
Hide file tree
Showing 2 changed files with 23 additions and 2 deletions.
21 changes: 21 additions & 0 deletions tests/test_vdf.py
Original file line number Diff line number Diff line change
Expand Up @@ -275,6 +275,27 @@ def test_comments_and_blank_lines(self):

self.assertEqual(vdf.loads(INPUT), EXPECTED)

def test_hash_key(self):
INPUT = '#include "asd.vdf"'
EXPECTED = {'#include': 'asd.vdf'}

self.assertEqual(vdf.loads(INPUT), EXPECTED)

INPUT = '#base asd.vdf'
EXPECTED = {'#base': 'asd.vdf'}

self.assertEqual(vdf.loads(INPUT), EXPECTED)

def test_wierd_symbols_for_unquoted(self):
INPUT = 'a asd.vdf\nb language_*lol*\nc zxc_-*.sss//'
EXPECTED = {
'a': 'asd.vdf',
'b': 'language_*lol*',
'c': 'zxc_-*.sss',
}

self.assertEqual(vdf.loads(INPUT), EXPECTED)


class testcase_VDF_other(unittest.TestCase):
def test_dumps_pretty_output(self):
Expand Down
4 changes: 2 additions & 2 deletions vdf/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -46,10 +46,10 @@ def parse(fp, mapper=dict):
stack = [mapper()]
expect_bracket = False

re_keyvalue = re.compile(r'^("(?P<qkey>(?:\\.|[^\\"])+)"|(?P<key>[a-z0-9\-\_]+))'
re_keyvalue = re.compile(r'^("(?P<qkey>(?:\\.|[^\\"])+)"|(?P<key>#?[a-z0-9\-\_]+))'
r'([ \t]*('
r'"(?P<qval>(?:\\.|[^\\"])*)(?P<vq_end>")?'
r'|(?P<val>[a-z0-9\-\_]+)'
r'|(?P<val>[a-z0-9\-\_\*\.]+)'
r'))?',
flags=re.I)

Expand Down

0 comments on commit 86d576f

Please sign in to comment.