move a few things away in to-be-integrated/
[myslice.git] / to-be-integrated / third-party / codemirror-3.15 / test / phantom_driver.js
diff --git a/to-be-integrated/third-party/codemirror-3.15/test/phantom_driver.js b/to-be-integrated/third-party/codemirror-3.15/test/phantom_driver.js
new file mode 100644 (file)
index 0000000..dbad08d
--- /dev/null
@@ -0,0 +1,31 @@
+var page = require('webpage').create();
+
+page.open("http://localhost:3000/test/index.html", function (status) {
+  if (status != "success") {
+    console.log("page couldn't be loaded successfully");
+    phantom.exit(1);
+  }
+  waitFor(function () {
+    return page.evaluate(function () {
+      var output = document.getElementById('status');
+      if (!output) { return false; }
+      return (/^(\d+ failures?|all passed)/i).test(output.innerText);
+    });
+  }, function () {
+    var failed = page.evaluate(function () { return window.failed; });
+    var output = page.evaluate(function () {
+      return document.getElementById('output').innerText + "\n" +
+        document.getElementById('status').innerText;
+    });
+    console.log(output);
+    phantom.exit(failed > 0 ? 1 : 0);
+  });
+});
+
+function waitFor (test, cb) {
+  if (test()) {
+    cb();
+  } else {
+    setTimeout(function () { waitFor(test, cb); }, 250);
+  }
+}