File tree Expand file tree Collapse file tree 2 files changed +18
-0
lines changed Expand file tree Collapse file tree 2 files changed +18
-0
lines changed Original file line number Diff line number Diff line change @@ -17,6 +17,7 @@ class Lexer(object):
17
17
',' : 'comma' ,
18
18
':' : 'colon' ,
19
19
'@' : 'current' ,
20
+ '$' : 'root' ,
20
21
'(' : 'lparen' ,
21
22
')' : 'rparen' ,
22
23
'{' : 'lbrace' ,
Original file line number Diff line number Diff line change @@ -143,6 +143,23 @@ def test_adds_quotes_when_invalid_json(self):
143
143
]
144
144
)
145
145
146
+ def test_root_reference (self ):
147
+ tokens = list (self .lexer .tokenize ('$[0]' ))
148
+ self .assertEqual (
149
+ tokens ,
150
+ [{'type' : 'root' , 'value' : '$' ,
151
+ 'start' : 0 , 'end' : 1 },
152
+ {'type' : 'lbracket' , 'value' :
153
+ '[' , 'start' : 1 , 'end' : 2 },
154
+ {'type' : 'number' , 'value' : 0 ,
155
+ 'start' : 2 , 'end' : 3 },
156
+ {'type' : 'rbracket' , 'value' : ']' ,
157
+ 'start' : 3 , 'end' : 4 },
158
+ {'type' : 'eof' , 'value' : '' ,
159
+ 'start' : 4 , 'end' : 4 }
160
+ ]
161
+ )
162
+
146
163
def test_unknown_character (self ):
147
164
with self .assertRaises (LexerError ) as e :
148
165
tokens = list (self .lexer .tokenize ('foo[0^]' ))
You can’t perform that action at this time.
0 commit comments