@@ -370,15 +370,15 @@ def test_update_slice(self):
370370 (['foo' , 'bar' , 'baz' ], '[0:2]' , 'test' , ['test' , 'test' , 'baz' ])
371371 ])
372372
373- def check_delete_cases (self , test_cases ):
373+ def check_exclude_cases (self , test_cases ):
374374 for original , string , expected in test_cases :
375- logging .debug ('parse("%s").delete (%s) =?= %s' % (string , original , expected ))
376- actual = parse (string ).delete (original )
375+ logging .debug ('parse("%s").exclude (%s) =?= %s' % (string , original , expected ))
376+ actual = parse (string ).exclude (original )
377377 assert actual == expected
378378
379- def test_delete_fields (self ):
379+ def test_exclude_fields (self ):
380380 jsonpath .auto_id_field = None
381- self .check_delete_cases ([
381+ self .check_exclude_cases ([
382382 ({'foo' : 'baz' }, 'foo' , {}),
383383 ({'foo' : 1 , 'baz' : 2 }, 'foo' , {'baz' : 2 }),
384384 ({'foo' : 1 , 'baz' : 2 }, 'foo,baz' , {}),
@@ -387,13 +387,13 @@ def test_delete_fields(self):
387387 ({'foo' : 1 , 'baz' : 2 }, '*' , {})
388388 ])
389389
390- def test_delete_root (self ):
391- self .check_delete_cases ([
390+ def test_exclude_root (self ):
391+ self .check_exclude_cases ([
392392 ('foo' , '$' , None ),
393393 ])
394394
395- def test_delete_this (self ):
396- self .check_delete_cases ([
395+ def test_exclude_this (self ):
396+ self .check_exclude_cases ([
397397 ('foo' , '`this`' , None ),
398398 ({}, '`this`' , None ),
399399 ({'foo' : 1 }, '`this`' , None ),
@@ -403,47 +403,47 @@ def test_delete_this(self):
403403 ({'foo' : {'bar' : 1 , 'baz' : 2 }}, 'foo.`this`.bar' , {'foo' : {'baz' : 2 }})
404404 ])
405405
406- def test_delete_child (self ):
407- self .check_delete_cases ([
406+ def test_exclude_child (self ):
407+ self .check_exclude_cases ([
408408 ({'foo' : 'bar' }, '$.foo' , {}),
409409 ({'foo' : 'bar' }, 'foo' , {}),
410410 ({'foo' : {'bar' : 1 }}, 'foo.bar' , {'foo' : {}}),
411411 ({'foo' : {'bar' : 1 }}, 'foo.$.foo.bar' , {'foo' : {}})
412412 ])
413413
414- def test_delete_where (self ):
415- self .check_delete_cases ([
414+ def test_exclude_where (self ):
415+ self .check_exclude_cases ([
416416 ({'foo' : {'bar' : {'baz' : 1 }}, 'bar' : {'baz' : 2 }},
417417 '*.bar where none' , {'foo' : {'bar' : {'baz' : 1 }}, 'bar' : {'baz' : 2 }}),
418418
419419 ({'foo' : {'bar' : {'baz' : 1 }}, 'bar' : {'baz' : 2 }},
420420 '*.bar where baz' , {'foo' : {}, 'bar' : {'baz' : 2 }})
421421 ])
422422
423- def test_delete_descendants (self ):
424- self .check_delete_cases ([
423+ def test_exclude_descendants (self ):
424+ self .check_exclude_cases ([
425425 ({'somefield' : 1 }, '$..somefield' , {}),
426426 ({'outer' : {'nestedfield' : 1 }}, '$..nestedfield' , {'outer' : {}}),
427427 ({'outs' : {'bar' : 1 , 'ins' : {'bar' : 9 }}, 'outs2' : {'bar' : 2 }},
428428 '$..bar' ,
429429 {'outs' : {'ins' : {}}, 'outs2' : {}})
430430 ])
431431
432- def test_delete_descendants_where (self ):
433- self .check_delete_cases ([
432+ def test_exclude_descendants_where (self ):
433+ self .check_exclude_cases ([
434434 ({'foo' : {'bar' : 1 , 'flag' : 1 }, 'baz' : {'bar' : 2 }},
435435 '(* where flag) .. bar' ,
436436 {'foo' : {'flag' : 1 }, 'baz' : {'bar' : 2 }})
437437 ])
438438
439- def test_delete_union (self ):
440- self .check_delete_cases ([
439+ def test_exclude_union (self ):
440+ self .check_exclude_cases ([
441441 ({'foo' : 1 , 'bar' : 2 }, 'foo | bar' , {}),
442442 ({'foo' : 1 , 'bar' : 2 , 'baz' : 3 }, 'foo | bar' , {'baz' : 3 }),
443443 ])
444444
445- def test_delete_index (self ):
446- self .check_delete_cases ([
445+ def test_exclude_index (self ):
446+ self .check_exclude_cases ([
447447 ([42 ], '[0]' , []),
448448 ([42 ], '[5]' , [42 ]),
449449 ([34 , 65 , 29 , 59 ], '[2]' , [34 , 65 , 59 ]),
@@ -452,11 +452,18 @@ def test_delete_index(self):
452452 (['foo' , 'bar' , 'baz' ], '[0]' , ['bar' , 'baz' ]),
453453 ])
454454
455- def test_delete_slice (self ):
456- self .check_delete_cases ([
455+ def test_exclude_slice (self ):
456+ self .check_exclude_cases ([
457457 (['foo' , 'bar' , 'baz' ], '[0:2]' , ['baz' ]),
458458 (['foo' , 'bar' , 'baz' ], '[0:1]' , ['bar' , 'baz' ]),
459459 (['foo' , 'bar' , 'baz' ], '[0:]' , []),
460460 (['foo' , 'bar' , 'baz' ], '[:2]' , ['baz' ]),
461461 (['foo' , 'bar' , 'baz' ], '[:3]' , [])
462462 ])
463+
464+ def check_include_cases (self , test_cases ):
465+ for original , string , expected in test_cases :
466+ logging .debug ('parse("%s").exclude(%s) =?= %s' % (string , original , expected ))
467+ actual = parse (string ).include (original )
468+ assert actual == expected
469+
0 commit comments