diff --git a/.travis.yml b/.travis.yml
index 7c629bc205..25d4ca8bb1 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -1,5 +1,11 @@
-language: python
-sudo: false
+sudo: required
+dist: trusty
+
+language: node_js
+
+node_js:
+ - "4"
+
cache:
directories:
- node_modules
@@ -7,8 +13,8 @@ env:
- DISPLAY=:99.0
before_install:
- - "npm install -g npm && npm install"
- "npm prune"
+ - "sudo pip install -r requirements.txt"
before_script:
- "rm src/ol/renderer/webgl/*shader.js"
diff --git a/package.json b/package.json
index 76ed45cdf4..61d49b1d59 100644
--- a/package.json
+++ b/package.json
@@ -60,9 +60,9 @@
"jquery": "2.1.1",
"jshint": "2.8.0",
"mocha": "1.21.5",
- "mocha-phantomjs": "3.5.1",
+ "mocha-phantomjs-core": "^1.2.1",
"mustache": "2.1.3",
- "phantomjs": "1.9.10",
+ "phantomjs": "1.9.18",
"proj4": "2.3.12",
"resemblejs": "1.2.0",
"sinon": "1.10.3",
diff --git a/tasks/test.js b/tasks/test.js
index aecda4c744..6276bd34f3 100644
--- a/tasks/test.js
+++ b/tasks/test.js
@@ -58,10 +58,7 @@ function runTests(includeCoverage, callback) {
var address = server.address();
var url = 'http://' + address.address + ':' + address.port;
var args = [
- path.join(
- __dirname,
- '../node_modules/mocha-phantomjs/lib/mocha-phantomjs.coffee'
- ),
+ require.resolve('mocha-phantomjs-core'),
url + '/test/index.html'
];
@@ -88,5 +85,3 @@ module.exports = {
runTests: runTests,
listen: listen
};
-
-
diff --git a/test/index.html b/test/index.html
index 6ef3079c27..70bdcab6ac 100644
--- a/test/index.html
+++ b/test/index.html
@@ -16,6 +16,9 @@