aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorspccdt2013-09-21 14:40:29 -0400
committerspccdt2014-06-08 16:38:02 -0400
commit06729270f7e3968d9a6bd6c8ec8d47f3afe97bd7 (patch)
tree8641bfab1a399345c9a2b3049ce0979ba24dc639
parentb78cf8771689c378af62b01746df474f6c8dde5d (diff)
downloadvimium-06729270f7e3968d9a6bd6c8ec8d47f3afe97bd7.tar.bz2
Fix build and test on Windows.
-rw-r--r--CONTRIBUTING.md3
-rw-r--r--Cakefile6
-rw-r--r--tests/dom_tests/phantom_runner.coffee15
3 files changed, 18 insertions, 6 deletions
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index 21cdb98b..57133d8f 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -30,7 +30,8 @@ install Vimium from source:
Our tests use [shoulda.js](https://github.com/philc/shoulda.js) and [PhantomJS](http://phantomjs.org/). To run the tests:
1. `git submodule update --init --recursive` -- this pulls in shoulda.js.
- 1. [Install PhantomJS.](http://phantomjs.org/download.html)
+ 1. Install [PhantomJS](http://phantomjs.org/download.html).
+ 1. `npm install path` to install the [Node.js Path module](http://nodejs.org/api/path.html), used by the test runner.
1. `cake build` to compile `*.coffee` to `*.js`
1. `cake test` to run the tests.
diff --git a/Cakefile b/Cakefile
index d38fa425..85e9ff24 100644
--- a/Cakefile
+++ b/Cakefile
@@ -1,9 +1,15 @@
+util = require "util"
fs = require "fs"
path = require "path"
child_process = require "child_process"
{Utils} = require './lib/utils'
spawn = (procName, optArray, silent=false) ->
+ if process.platform is "win32"
+ # if win32, prefix arguments with "/c {original command}"
+ # e.g. "coffee -c c:\git\vimium" becomes "cmd.exe /c coffee -c c:\git\vimium"
+ optArray.unshift "/c", procName
+ procName = "cmd.exe"
proc = child_process.spawn procName, optArray
unless silent
proc.stdout.on 'data', (data) -> process.stdout.write data
diff --git a/tests/dom_tests/phantom_runner.coffee b/tests/dom_tests/phantom_runner.coffee
index 91eeb526..d05d9ab4 100644
--- a/tests/dom_tests/phantom_runner.coffee
+++ b/tests/dom_tests/phantom_runner.coffee
@@ -1,5 +1,6 @@
system = require 'system'
fs = require 'fs'
+path = require 'path'
page = require('webpage').create()
page.settings.userAgent = 'phantom'
@@ -12,12 +13,16 @@ page.viewportSize =
page.onConsoleMessage = (msg) ->
console.log msg
-dirname = do ->
- pathParts = system.args[0].split(fs.separator)
- pathParts[pathParts.length - 1] = ''
- pathParts.join(fs.separator)
+page.onError = (msg, trace) ->
+ console.log(msg);
+ trace.forEach (item) ->
+ console.log(' ', item.file, ':', item.line)
-page.open dirname + 'dom_tests.html', (status) ->
+page.onResourceError = (resourceError) ->
+ console.log(resourceError.errorString)
+
+testfile = path.join(path.dirname(system.args[0]), 'dom_tests.html')
+page.open testfile, (status) ->
if status != 'success'
console.log 'Unable to load tests.'
phantom.exit 1