diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-19 02:57:58 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-19 02:57:58 +0000 |
commit | be1c7e50e1e8809ea56f2c9d472eccd8ffd73a97 (patch) | |
tree | 9754ff1ca740f6346cf8483ec915d4054bc5da2d /web/server/h2o/libh2o/misc/oktavia/test/test-query-parser.jsx | |
parent | Initial commit. (diff) | |
download | netdata-upstream.tar.xz netdata-upstream.zip |
Adding upstream version 1.44.3.upstream/1.44.3upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'web/server/h2o/libh2o/misc/oktavia/test/test-query-parser.jsx')
-rw-r--r-- | web/server/h2o/libh2o/misc/oktavia/test/test-query-parser.jsx | 92 |
1 files changed, 92 insertions, 0 deletions
diff --git a/web/server/h2o/libh2o/misc/oktavia/test/test-query-parser.jsx b/web/server/h2o/libh2o/misc/oktavia/test/test-query-parser.jsx new file mode 100644 index 00000000..c04ac46e --- /dev/null +++ b/web/server/h2o/libh2o/misc/oktavia/test/test-query-parser.jsx @@ -0,0 +1,92 @@ +import "test-case.jsx"; +import "query-parser.jsx"; + +class _Test extends TestCase +{ + var parser : QueryParser; + + override function setUp () : void + { + this.parser = new QueryParser(); + } + + function test_and () : void + { + this.parser.parse(['word1', 'word2']); + this.expect(this.parser.queries.length).toBe(2); + + this.expect(this.parser.queries[0].word).toBe('word1'); + this.expect(this.parser.queries[0].or).toBe(false); + this.expect(this.parser.queries[0].not).toBe(false); + this.expect(this.parser.queries[0].raw).toBe(false); + + this.expect(this.parser.queries[1].word).toBe('word2'); + this.expect(this.parser.queries[1].or).toBe(false); + this.expect(this.parser.queries[1].not).toBe(false); + this.expect(this.parser.queries[1].raw).toBe(false); + } + + function test_or () : void + { + this.parser.parse(['word1', 'OR', 'word2']); + this.expect(this.parser.queries.length).toBe(2); + + this.expect(this.parser.queries[0].word).toBe('word1'); + this.expect(this.parser.queries[0].or).toBe(false); + this.expect(this.parser.queries[0].not).toBe(false); + this.expect(this.parser.queries[0].raw).toBe(false); + + this.expect(this.parser.queries[1].word).toBe('word2'); + this.expect(this.parser.queries[1].or).toBe(true); + this.expect(this.parser.queries[1].not).toBe(false); + this.expect(this.parser.queries[1].raw).toBe(false); + } + + function test_not () : void + { + this.parser.parse(['word1', '-word2']); + this.expect(this.parser.queries.length).toBe(2); + + this.expect(this.parser.queries[0].word).toBe('word1'); + this.expect(this.parser.queries[0].or).toBe(false); + this.expect(this.parser.queries[0].not).toBe(false); + this.expect(this.parser.queries[0].raw).toBe(false); + + this.expect(this.parser.queries[1].word).toBe('word2'); + this.expect(this.parser.queries[1].or).toBe(false); + this.expect(this.parser.queries[1].not).toBe(true); + this.expect(this.parser.queries[1].raw).toBe(false); + } + + function test_raw () : void + { + this.parser.parse(['word1', '"word2"']); + this.expect(this.parser.queries.length).toBe(2); + + this.expect(this.parser.queries[0].word).toBe('word1'); + this.expect(this.parser.queries[0].or).toBe(false); + this.expect(this.parser.queries[0].not).toBe(false); + this.expect(this.parser.queries[0].raw).toBe(false); + + this.expect(this.parser.queries[1].word).toBe('word2'); + this.expect(this.parser.queries[1].or).toBe(false); + this.expect(this.parser.queries[1].not).toBe(false); + this.expect(this.parser.queries[1].raw).toBe(true); + } + + function test_raw_not () : void + { + this.parser.parse(['word1', '-"word2"']); + this.expect(this.parser.queries.length).toBe(2); + + this.expect(this.parser.queries[0].word).toBe('word1'); + this.expect(this.parser.queries[0].or).toBe(false); + this.expect(this.parser.queries[0].not).toBe(false); + this.expect(this.parser.queries[0].raw).toBe(false); + + this.expect(this.parser.queries[1].word).toBe('word2'); + this.expect(this.parser.queries[1].or).toBe(false); + this.expect(this.parser.queries[1].not).toBe(true); + this.expect(this.parser.queries[1].raw).toBe(true); + } +} |