blob: aa9d45c3280acdfa4f379b9f2bedb62a847bd9fb [file] [log] [blame]
Tests filter query parsing.
Keys: []
Query: plain text
Result: {"text":["plain","text"],"filters":[]}
Keys: ["single"]
Query: single:value
Result: {"text":[],"filters":[{"type":"single","data":"value","negative":false}]}
Keys: ["single"]
Query: -single:value
Result: {"text":[],"filters":[{"type":"single","data":"value","negative":true}]}
Keys: ["one","two"]
Query: one:foo two:bar
Result: {"text":[],"filters":[{"type":"one","data":"foo","negative":false},{"type":"two","data":"bar","negative":false}]}
Keys: ["one","two"]
Query: -one:foo two:bar
Result: {"text":[],"filters":[{"type":"one","data":"foo","negative":true},{"type":"two","data":"bar","negative":false}]}
Keys: ["one","two"]
Query: -one:foo -two:bar
Result: {"text":[],"filters":[{"type":"one","data":"foo","negative":true},{"type":"two","data":"bar","negative":true}]}
Keys: ["one","two"]
Query: one:foo -two:bar
Result: {"text":[],"filters":[{"type":"one","data":"foo","negative":false},{"type":"two","data":"bar","negative":true}]}
Keys: ["key"]
Query: bar key foo
Result: {"text":["bar","key","foo"],"filters":[]}
Keys: ["key"]
Query: bar key:foo
Result: {"text":["bar"],"filters":[{"type":"key","data":"foo","negative":false}]}
Keys: ["key"]
Query: bar key:foo baz
Result: {"text":["bar","baz"],"filters":[{"type":"key","data":"foo","negative":false}]}
Keys: ["key"]
Query: bar key:foo yek:roo baz
Result: {"text":["bar","yek:roo","baz"],"filters":[{"type":"key","data":"foo","negative":false}]}
Keys: ["key"]
Query: bar key:foo -yek:roo baz
Result: {"text":["bar","-yek:roo","baz"],"filters":[{"type":"key","data":"foo","negative":false}]}
Keys: ["key"]
Query: bar baz key:foo goo zoo
Result: {"text":["bar","baz","goo","zoo"],"filters":[{"type":"key","data":"foo","negative":false}]}
Keys: ["key"]
Query: bar key:key:foo
Result: {"text":["bar"],"filters":[{"type":"key","data":"key:foo","negative":false}]}
Keys: ["key"]
Query: bar :key:foo baz
Result: {"text":["bar",":key:foo","baz"],"filters":[]}
Keys: ["key"]
Query: bar -:key:foo baz
Result: {"text":["bar","-:key:foo","baz"],"filters":[]}
Keys: ["key"]
Query: bar key:-foo baz
Result: {"text":["bar","baz"],"filters":[{"type":"key","data":"-foo","negative":false}]}