summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
Diffstat (limited to 'tests')
-rw-r--r--tests/output/test_analyzer.js.stderr0
-rw-r--r--tests/output/test_analyzer.js.stdout7
-rw-r--r--tests/output/test_app.js.stderr0
-rw-r--r--tests/output/test_app.js.stdout1
-rw-r--r--tests/output/test_globals.js.stderr0
-rw-r--r--tests/output/test_globals.js.stdout11
-rw-r--r--tests/output/test_require_js.js.stderr0
-rw-r--r--tests/output/test_require_js.js.stdout17
-rw-r--r--tests/output/test_script_jsdom.js.stderr0
-rw-r--r--tests/output/test_script_jsdom.js.stdout1
-rw-r--r--tests/output/test_sub_process.js.stderr0
-rw-r--r--tests/output/test_sub_process.js.stdout2
-rw-r--r--tests/output/test_util.js.stderr0
-rw-r--r--tests/output/test_util.js.stdout0
-rw-r--r--tests/run_tests.js31
-rw-r--r--tests/test_analyzer.js87
-rw-r--r--tests/test_nan_problem.js78
-rw-r--r--tests/weizmann.json1
18 files changed, 89 insertions, 147 deletions
diff --git a/tests/output/test_analyzer.js.stderr b/tests/output/test_analyzer.js.stderr
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/tests/output/test_analyzer.js.stderr
diff --git a/tests/output/test_analyzer.js.stdout b/tests/output/test_analyzer.js.stdout
new file mode 100644
index 00000000..5db6c9ac
--- /dev/null
+++ b/tests/output/test_analyzer.js.stdout
@@ -0,0 +1,7 @@
+addScript: loaded ../scripts/external/require.js
+app: running under node
+addScript: loaded ../scripts/app.js
+test harness: starting script loading with requirejs
+test harness: main loaded
+Rhizi main started
+rhizi: init drag-n-drop
diff --git a/tests/output/test_app.js.stderr b/tests/output/test_app.js.stderr
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/tests/output/test_app.js.stderr
diff --git a/tests/output/test_app.js.stdout b/tests/output/test_app.js.stdout
new file mode 100644
index 00000000..2d2c7940
--- /dev/null
+++ b/tests/output/test_app.js.stdout
@@ -0,0 +1 @@
+test_app: running under node
diff --git a/tests/output/test_globals.js.stderr b/tests/output/test_globals.js.stderr
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/tests/output/test_globals.js.stderr
diff --git a/tests/output/test_globals.js.stdout b/tests/output/test_globals.js.stdout
new file mode 100644
index 00000000..a6b915ca
--- /dev/null
+++ b/tests/output/test_globals.js.stdout
@@ -0,0 +1,11 @@
+before fields count: 187
+addScript: loaded ../scripts/external/require.js
+app: running under node
+addScript: loaded ../scripts/app.js
+test harness: starting script loading with requirejs
+test harness: main loaded
+Rhizi main started
+rhizi: init drag-n-drop
+after fields count: 195
+new fields count: 8
+requirejs,require,define,rhizi_require_config,$,jQuery,d3,saveAs
diff --git a/tests/output/test_require_js.js.stderr b/tests/output/test_require_js.js.stderr
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/tests/output/test_require_js.js.stderr
diff --git a/tests/output/test_require_js.js.stdout b/tests/output/test_require_js.js.stdout
new file mode 100644
index 00000000..821c4a6d
--- /dev/null
+++ b/tests/output/test_require_js.js.stdout
@@ -0,0 +1,17 @@
+addScript: loaded ../scripts/external/require.js
+test_app: running under node
+addScript: loaded test_app.js
+callback after test_app.js loading
+{ paths:
+ { jquery: 'external/jquery',
+ 'jquery-ui': 'external/jquery-ui',
+ caret: 'external/caret',
+ d3: 'external/d3/d3',
+ autocomplete: 'external/autocomplete',
+ FileSaver: 'external/FileSaver' },
+ baseUrl: '../scripts/' }
+hello from test factory
+here we are after test_app prerequisites
+42
+Rhizi main started
+rhizi: init drag-n-drop
diff --git a/tests/output/test_script_jsdom.js.stderr b/tests/output/test_script_jsdom.js.stderr
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/tests/output/test_script_jsdom.js.stderr
diff --git a/tests/output/test_script_jsdom.js.stdout b/tests/output/test_script_jsdom.js.stdout
new file mode 100644
index 00000000..02b09a7b
--- /dev/null
+++ b/tests/output/test_script_jsdom.js.stdout
@@ -0,0 +1 @@
+{ foo: 'bar' }
diff --git a/tests/output/test_sub_process.js.stderr b/tests/output/test_sub_process.js.stderr
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/tests/output/test_sub_process.js.stderr
diff --git a/tests/output/test_sub_process.js.stdout b/tests/output/test_sub_process.js.stdout
new file mode 100644
index 00000000..61ac4e96
--- /dev/null
+++ b/tests/output/test_sub_process.js.stdout
@@ -0,0 +1,2 @@
+stdout 200
+closed, 0, null
diff --git a/tests/output/test_util.js.stderr b/tests/output/test_util.js.stderr
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/tests/output/test_util.js.stderr
diff --git a/tests/output/test_util.js.stdout b/tests/output/test_util.js.stdout
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/tests/output/test_util.js.stdout
diff --git a/tests/run_tests.js b/tests/run_tests.js
new file mode 100644
index 00000000..bfc129eb
--- /dev/null
+++ b/tests/run_tests.js
@@ -0,0 +1,31 @@
+var fs = require('fs');
+var spawn = require('child_process').spawn;
+
+var tests = fs.readdirSync('.').filter(function (x) { return /^test_.*\.js$/.test(x); });
+var i;
+var testname;
+
+function store_output(proc, args, stdout, stderr)
+{
+ var out = fs.openSync(stdout, 'w+');
+ var err = fs.openSync(stderr, 'w+');
+ var p = spawn(proc, args);
+
+ p.stdout.on('data', function (data) {
+ console.log(args + ' gives ' + data.length);
+ fs.appendFileSync(stdout, data);
+ });
+ p.stderr.on('data', function (data) {
+ console.log(args + ' gives ' + data.length + ' (err)');
+ fs.appendFileSync(stderr, data);
+ });
+ p.on('close', function (code, signal) {
+ console.log(proc + '(' + args.join(', ') + ') exited with ' + code);
+ });
+
+}
+
+for (i in tests) {
+ testname = tests[i];
+ store_output('/usr/bin/node', [__dirname + '/' + testname], 'output/' + testname + '.stdout', 'output/' + testname + '.stderr');
+}
diff --git a/tests/test_analyzer.js b/tests/test_analyzer.js
index b7b66a66..d003f8f6 100644
--- a/tests/test_analyzer.js
+++ b/tests/test_analyzer.js
@@ -1,55 +1,4 @@
-var fs = require('fs'),
- jsdom = require('jsdom');
-
-var script_filenames = [
- "external/scripts/d3/d3.js",
- "external/scripts/jquery.js",
- "external/scripts/jquery-ui.js",
- "external/scripts/autocomplete.js",
-
- "scripts/caret.js",
- "scripts/history.js",
- "scripts/rhizicore.js",
- "scripts/textanalysis.js",
- "scripts/textanalysis-ui.js",
- "scripts/buttons.js",
- "scripts/drag_n_drop.js",
- "scripts/robot.js",
- "scripts/watchdog.js",
- "scripts/gant.js"].map(function(x) { return "../" + x; });
-
-function dump_nodes(window) {
- var nodes = window.force.nodes();
- for(var i = 0 ; i < nodes.length; ++i) {
- console.log('nodes[' + nodes[i].id + '/' + nodes[i].type + '].[xy] = (' + nodes[i].x + ',' + nodes[i].y + ')');
- }
-}
-
-function dump_graphviz(window) {
- var i;
- var nodes = window.force.nodes();
- var links = window.force.links();
- var q = function(s) {
- if (s.search(' ') == -1) {
- return s;
- }
- return '"' + s + '"';
- };
-
- console.log('digraph {');
- for (i = 0 ; i < nodes.length; ++i) {
- if (nodes[i].type == 'bubble') {
- console.log(' BUBBLE;');
- } else {
- console.log(' ' + q(nodes[i].name) + ';');
- }
- }
- for (i = 0 ; i < links.length; ++i) {
- var link = links[i];
- console.log(' ' + q(link.source.name) + ' -> ' + q(link.target.name) + ';');
- }
- console.log('}');
-}
+var base = require('./base');
var data = [
["#a hello there #b", ["a", "b"], [["a", "b", "hello there"]],
@@ -66,21 +15,21 @@ sometimes #z and #ab aren't friends
I like to work with #a
*/
-
-var done = function (errors, window) {
- debugger;
- if (process.argv.length > 2) {
- window.analyzeSentence(process.argv.slice(2).join(" "), true);
- dump_graphviz(window);
+base.run_tests({
+ done: function (errors, window) {
+ debugger;
+ if (process.argv.length > 2) {
+ window.analyzeSentence(process.argv.slice(2).join(" "), true);
+ dump_graphviz(window);
+ } else {
+ for (var k in data) {
+ var sentence = data[k][0];
+ var expected_nodes = data[k][1];
+ var expected_links = data[k][2];
+ window.analyzeSentence(sentence, true);
+ // TODO - compare graphs
+ }
+ }
+ process.exit();
}
- process.exit();
-}
-
-var env = jsdom.env({
- scripts: script_filenames,
- html: "<html><body></body></html>",
- created: function(errors, window) {
- window.console.log = console.log; // slightly evil
- window.process = process; // more evil
- },
- done: done});
+});
diff --git a/tests/test_nan_problem.js b/tests/test_nan_problem.js
deleted file mode 100644
index fab9df34..00000000
--- a/tests/test_nan_problem.js
+++ /dev/null
@@ -1,78 +0,0 @@
-var fs = require('fs'),
- jsdom = require('jsdom');
-
-var script_filenames = [
- "external/scripts/d3/d3.js",
- "external/scripts/jquery.js",
- "external/scripts/jquery-ui.js",
- "external/scripts/autocomplete.js",
-
- "scripts/caret.js",
- "scripts/history.js",
- "scripts/rhizicore.js",
- "scripts/textanalysis.js",
- "scripts/textanalysis-ui.js",
- "scripts/buttons.js",
- "scripts/drag_n_drop.js",
- "scripts/robot.js",
- "scripts/watchdog.js",
- "scripts/gant.js"].map(function(x) { return "../" + x; });
-
-function feed_sentence(window, s, finalize)
-{
- var i;
- console.log('******* feeding: ' + s);
- for (i = 1 ; i <= s.length; ++i) {
- console.log('======= ' + s.substr(0, i));
- window.analyzeSentence(s.substr(0, i), false);
- }
- if (finalize) {
- window.analyzeSentence(s, true);
- }
-}
-
-function dump_nodes(window) {
- var nodes = window.force.nodes();
- for(var i = 0 ; i < nodes.length; ++i) {
- console.log('nodes[' + nodes[i].id + '/' + nodes[i].type + '].[xy] = (' + nodes[i].x + ',' + nodes[i].y + ')');
- }
-}
-
-var env = jsdom.env({
- scripts: script_filenames,
- html: "<html><body></body></html>",
- created: function(errors, window) {
- window.console.log = console.log; // slightly evil
- window.process = process; // more evil
- },
- done: function (errors, window) {
- var i;
- var s1 = "#a";
- var s2 = "#a is";
- var nodes;
-
- window.force
- .nodes(window.nodes)
- .links(window.links)
- .alpha(0.1)
- .start();
- console.log('---------');
- console.log(errors);
- console.log('---------');
- //console.log(window.textAnalyser2("#a"));
- feed_sentence(window, s1, true);
- dump_nodes(window);
- feed_sentence(window, s2, false);
- console.log(window.force.alpha());
- dump_nodes(window);
- debugger;
- window.force.tick();
- console.log(window.force.alpha());
- dump_nodes(window);
- //console.log(window.nodes);
- //console.log(window.links);
- process.exit();
- window.debug_print(window.force);
- //process.exit();
- }
-});
diff --git a/tests/weizmann.json b/tests/weizmann.json
new file mode 100644
index 00000000..326c9fc9
--- /dev/null
+++ b/tests/weizmann.json
@@ -0,0 +1 @@
+{"nodes":[{"id":"Oren","type":"person","state":"perm","start":0,"end":0,"status":"unknown"},{"id":"Hila","type":"person","state":"perm","start":0,"end":0,"status":"unknown"},{"id":"Yuval","type":"person","state":"perm","start":0,"end":0,"status":"unknown"},{"id":"Pareto Morphology","type":"project","state":"perm","start":0,"end":0,"status":"unknown"},{"id":"Avi","type":"person","state":"perm","start":0,"end":0,"status":"unknown"},{"id":"circuits","type":"project","state":"perm","start":0,"end":0,"status":"unknown"},{"id":"Pablo","type":"person","state":"perm","start":0,"end":0,"status":"unknown"},{"id":"FCD","type":"project","state":"perm","start":0,"end":0,"status":"unknown"},{"id":"animals","type":"project","state":"perm","start":0,"end":0,"status":"unknown"},{"id":"ParTI","type":"project","state":"perm","start":0,"end":0,"status":"unknown"},{"id":"genotypes","type":"project","state":"perm","start":0,"end":0,"status":"unknown"},{"id":"Miri","type":"person","state":"perm","start":0,"end":0,"status":"unknown"},{"id":"Jean","type":"person","state":"perm","start":0,"end":0,"status":"unknown"},{"id":"Physisist","type":"skill","state":"perm","start":0,"end":0,"status":"unknown"},{"id":"Chemist","type":"skill","state":"perm","start":0,"end":0,"status":"unknown"},{"id":"Mathematician","type":"skill","state":"perm","start":0,"end":0,"status":"unknown"}],"links":[{"source":"Yuval","target":"Pareto Morphology","name":"work on "},{"source":"Oren","target":"Pareto Morphology","name":"work on "},{"source":"Oren","target":"Pareto Morphology","name":"work on "},{"source":"Hila","target":"Pareto Morphology","name":"work on "},{"source":"Hila","target":"Pareto Morphology","name":"work on "},{"source":"Avi","target":"Pareto Morphology","name":"works on "},{"source":"Avi","target":"Pareto Morphology","name":"works on "},{"source":"Avi","target":"circuits","name":"works on "},{"source":"Avi","target":"circuits","name":"works on "},{"source":"Pablo","target":"circuits","name":"works on "},{"source":"Pablo","target":"circuits","name":"works on "},{"source":"Pablo","target":"FCD","name":"works on "},{"source":"Pablo","target":"animals","name":"works on "},{"source":"Pablo","target":"ParTI","name":"works on "},{"source":"Avi","target":"circuits","name":"works on "},{"source":"Avi","target":"circuits","name":"works on "},{"source":"Avi","target":"FCD","name":"works on "},{"source":"Avi","target":"animals","name":"works on "},{"source":"Yuval","target":"ParTI","name":"works on "},{"source":"Yuval","target":"ParTI","name":"works on "},{"source":"Hila","target":"circuits","name":"works on "},{"source":"Hila","target":"circuits","name":"works on "},{"source":"Hila","target":"genotypes","name":"works on "},{"source":"Miri","target":"FCD","name":"works on "},{"source":"Miri","target":"FCD","name":"works on "},{"source":"Hila","target":"ParTI","name":"wrote the code and consulted with the math in "},{"source":"Hila","target":"ParTI","name":"wrote the code and consulted with the math in "},{"source":"Avi","target":"ParTI","name":"prepared graphical interface to "},{"source":"Avi","target":"ParTI","name":"prepared graphical interface to "},{"source":"Jean","target":"ParTI","name":"helped with biological interpretations in the project "},{"source":"Jean","target":"ParTI","name":"helped with biological interpretations in the project "},{"source":"Pablo","target":"Physisist","name":"is a "},{"source":"Physisist","target":"Chemist","name":" and a "},{"source":"Pablo","target":"Physisist","name":"is a "},{"source":"Pablo","target":"Chemist","name":"is a "},{"source":"Yuval","target":"Physisist","name":"is a "},{"source":"Physisist","target":"Mathematician","name":" and a "},{"source":"Hila","target":"Physisist","name":"is a "},{"source":"Hila","target":"Mathematician","name":"is a "},{"source":"Yuval","target":"Physisist","name":"is a "},{"source":"Yuval","target":"Mathematician","name":"is a "}]} \ No newline at end of file