summaryrefslogtreecommitdiffstats
path: root/web/server/h2o/libh2o/misc/oktavia/test/test-oktavia-splitter.jsx
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-03-09 13:19:48 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-03-09 13:20:02 +0000
commit58daab21cd043e1dc37024a7f99b396788372918 (patch)
tree96771e43bb69f7c1c2b0b4f7374cb74d7866d0cb /web/server/h2o/libh2o/misc/oktavia/test/test-oktavia-splitter.jsx
parentReleasing debian version 1.43.2-1. (diff)
downloadnetdata-58daab21cd043e1dc37024a7f99b396788372918.tar.xz
netdata-58daab21cd043e1dc37024a7f99b396788372918.zip
Merging upstream version 1.44.3.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to '')
-rw-r--r--web/server/h2o/libh2o/misc/oktavia/test/test-oktavia-splitter.jsx173
1 files changed, 173 insertions, 0 deletions
diff --git a/web/server/h2o/libh2o/misc/oktavia/test/test-oktavia-splitter.jsx b/web/server/h2o/libh2o/misc/oktavia/test/test-oktavia-splitter.jsx
new file mode 100644
index 000000000..859eb9112
--- /dev/null
+++ b/web/server/h2o/libh2o/misc/oktavia/test/test-oktavia-splitter.jsx
@@ -0,0 +1,173 @@
+/**
+ * This is a JSX version of shellinford library:
+ * https://code.google.com/p/shellinford/
+ *
+ * License: http://shibu.mit-license.org/
+ */
+
+import "test-case.jsx";
+import "oktavia.jsx";
+import "metadata.jsx";
+
+class _Test extends TestCase
+{
+ var oktavia : Oktavia;
+ var splitter : Splitter;
+
+ override function setUp () : void
+ {
+ this.oktavia = new Oktavia();
+ this.splitter = this.oktavia.addSplitter('document');
+ this.oktavia.addWord("abracadabra");
+ this.splitter.split();
+ this.oktavia.addWord("mississippi");
+ this.splitter.split();
+ this.oktavia.addWord("abracadabra mississippi");
+ this.splitter.split();
+ this.oktavia.build(25, false);
+ }
+
+ function test_count () : void
+ {
+ this.expect(this.splitter.size()).toBe(3);
+ }
+
+ function test_get_splitter_index () : void
+ {
+ this.expect(this.splitter.getIndex(0)).toBe(0);
+ this.expect(this.splitter.getIndex(10)).toBe(0);
+ this.expect(this.splitter.getIndex(11)).toBe(1);
+ this.expect(this.splitter.getIndex(21)).toBe(1);
+ this.expect(this.splitter.getIndex(22)).toBe(2);
+ this.expect(this.splitter.getIndex(44)).toBe(2);
+ }
+
+ function test_get_splitter_index_boundary () : void
+ {
+ try
+ {
+ this.splitter.getIndex(-1);
+ this.fail("fm.getIndex()");
+ }
+ catch (e : Error)
+ {
+ }
+ try
+ {
+ this.splitter.getIndex(45);
+ this.fail("fm.getIndex()");
+ }
+ catch (e : Error)
+ {
+ }
+ }
+
+ function test_get_splitter_content () : void
+ {
+ this.expect(this.splitter.getContent(2)).toBe("abracadabra mississippi");
+ this.expect(this.splitter.getContent(1)).toBe("mississippi");
+ this.expect(this.splitter.getContent(0)).toBe("abracadabra");
+ }
+
+ function test_get_splitter_content_boundary () : void
+ {
+ try
+ {
+ this.splitter.getContent(3);
+ this.fail("fm.getContent()");
+ }
+ catch (e : Error)
+ {
+ }
+ try
+ {
+ this.splitter.getContent(-1);
+ this.fail("fm.getContent()");
+ }
+ catch (e : Error)
+ {
+ }
+ }
+
+ function test_load_dump_and_count () : void
+ {
+ var dump = this.oktavia.dump();
+ this.oktavia.load(dump);
+ this.splitter = this.oktavia.getSplitter('document');
+
+ this.expect(this.splitter.size()).toBe(3);
+ }
+
+ function test_load_dump_and_get_splitter_index () : void
+ {
+ var dump = this.oktavia.dump();
+ this.oktavia.load(dump);
+ this.splitter = this.oktavia.getSplitter('document');
+
+ this.expect(this.splitter.getIndex(0)).toBe(0);
+ this.expect(this.splitter.getIndex(10)).toBe(0);
+ this.expect(this.splitter.getIndex(11)).toBe(1);
+ this.expect(this.splitter.getIndex(21)).toBe(1);
+ this.expect(this.splitter.getIndex(22)).toBe(2);
+ this.expect(this.splitter.getIndex(44)).toBe(2);
+ }
+
+ function test_load_dump_and_get_splitter_index_boundary () : void
+ {
+ var dump = this.oktavia.dump();
+ this.oktavia.load(dump);
+ this.splitter = this.oktavia.getSplitter('document');
+
+ try
+ {
+ this.splitter.getIndex(-1);
+ this.fail("fm.getIndex()");
+ }
+ catch (e : Error)
+ {
+ }
+ try
+ {
+ this.splitter.getIndex(45);
+ this.fail("fm.getIndex()");
+ }
+ catch (e : Error)
+ {
+ }
+ }
+
+ function test_load_dump_and_get_splitter_content () : void
+ {
+ var dump = this.oktavia.dump();
+ this.oktavia.load(dump);
+ this.splitter = this.oktavia.getSplitter('document');
+
+ this.expect(this.splitter.getContent(2)).toBe("abracadabra mississippi");
+ this.expect(this.splitter.getContent(1)).toBe("mississippi");
+ this.expect(this.splitter.getContent(0)).toBe("abracadabra");
+ }
+
+ function test_load_dump_and_get_splitter_content_boundary () : void
+ {
+ var dump = this.oktavia.dump();
+ this.oktavia.load(dump);
+ this.splitter = this.oktavia.getSplitter('document');
+
+ try
+ {
+ this.splitter.getContent(3);
+ this.fail("fm.getContent()");
+ }
+ catch (e : Error)
+ {
+ }
+ try
+ {
+ this.splitter.getContent(-1);
+ this.fail("fm.getContent()");
+ }
+ catch (e : Error)
+ {
+ }
+ }
+}