mirror of
https://github.com/fluencelabs/jsonpath
synced 2025-04-25 01:12:17 +00:00
add test for delete
This commit is contained in:
parent
31612315b8
commit
53c4711d1a
@ -3,7 +3,7 @@ extern crate jsonpath_lib as jsonpath;
|
||||
extern crate serde_json;
|
||||
|
||||
use common::{read_json, setup};
|
||||
use jsonpath::{Selector, SelectorMut, Parser};
|
||||
use jsonpath::{Parser, Selector, SelectorMut};
|
||||
use serde_json::Value;
|
||||
|
||||
mod common;
|
||||
@ -61,3 +61,38 @@ fn selector_node_ref() {
|
||||
selector.compiled_path(&node);
|
||||
assert!(std::ptr::eq(selector.node_ref().unwrap(), &node));
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn selector_delete() {
|
||||
setup();
|
||||
|
||||
let mut selector_mut = SelectorMut::default();
|
||||
|
||||
let result = selector_mut
|
||||
.str_path(r#"$.store..price[?(@>13)]"#)
|
||||
.unwrap()
|
||||
.value(read_json("./benchmark/example.json"))
|
||||
.delete()
|
||||
.unwrap()
|
||||
.take()
|
||||
.unwrap();
|
||||
|
||||
let mut selector = Selector::default();
|
||||
let result = selector
|
||||
.str_path(r#"$.store..price"#)
|
||||
.unwrap()
|
||||
.value(&result)
|
||||
.select()
|
||||
.unwrap();
|
||||
|
||||
assert_eq!(
|
||||
result,
|
||||
vec![
|
||||
&json!(8.95),
|
||||
&json!(12.99),
|
||||
&json!(8.99),
|
||||
&Value::Null,
|
||||
&Value::Null
|
||||
]
|
||||
);
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user