| 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}]} |
| |