mirror of
https://github.com/fluencelabs/jsonpath
synced 2025-04-05 00:11:08 +00:00
Results do not match other implementations #6
This commit is contained in:
parent
1a5e8cc025
commit
b41b9f3aa6
@ -263,6 +263,13 @@ mod parser_tests {
|
|||||||
ParseToken::ArrayEof
|
ParseToken::ArrayEof
|
||||||
]));
|
]));
|
||||||
|
|
||||||
|
assert_eq!(run("$[:]"), Ok(vec![
|
||||||
|
ParseToken::Absolute,
|
||||||
|
ParseToken::Array,
|
||||||
|
ParseToken::Range(None, None),
|
||||||
|
ParseToken::ArrayEof
|
||||||
|
]));
|
||||||
|
|
||||||
match run("$[") {
|
match run("$[") {
|
||||||
Ok(_) => panic!(),
|
Ok(_) => panic!(),
|
||||||
_ => {}
|
_ => {}
|
||||||
@ -520,5 +527,12 @@ mod tokenizer_tests {
|
|||||||
]
|
]
|
||||||
, Some(TokenError::Eof)
|
, Some(TokenError::Eof)
|
||||||
));
|
));
|
||||||
|
|
||||||
|
run("$[:]", (vec![
|
||||||
|
Token::Absolute(0),
|
||||||
|
Token::OpenArray(1),
|
||||||
|
Token::Split(2),
|
||||||
|
Token::CloseArray(3)
|
||||||
|
], Some(TokenError::Eof)));
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -375,6 +375,13 @@ impl Parser {
|
|||||||
|
|
||||||
fn range_to(tokenizer: &mut TokenReader) -> ParseResult<Node> {
|
fn range_to(tokenizer: &mut TokenReader) -> ParseResult<Node> {
|
||||||
debug!("#range_to");
|
debug!("#range_to");
|
||||||
|
match tokenizer.peek_token() {
|
||||||
|
Ok(Token::CloseArray(_)) => {
|
||||||
|
return Ok(Self::node(ParseToken::Range(None, None)))
|
||||||
|
}
|
||||||
|
_ => {}
|
||||||
|
}
|
||||||
|
|
||||||
match tokenizer.next_token() {
|
match tokenizer.next_token() {
|
||||||
Ok(Token::Key(pos, ref val)) => {
|
Ok(Token::Key(pos, ref val)) => {
|
||||||
let digit = utils::string_to_isize(val, || tokenizer.err_msg_with_pos(pos))?;
|
let digit = utils::string_to_isize(val, || tokenizer.err_msg_with_pos(pos))?;
|
||||||
|
@ -350,3 +350,10 @@ fn filer_same_obj() {
|
|||||||
{"a": 1}
|
{"a": 1}
|
||||||
]));
|
]));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn empty_range() {
|
||||||
|
setup();
|
||||||
|
|
||||||
|
select_and_then_compare("$[:]", json!(["first", "second"]), json!(["first", "second"]));
|
||||||
|
}
|
Loading…
x
Reference in New Issue
Block a user