mirror of
https://github.com/OpenGeoscience/geojs.git
synced 2025-12-08 19:56:22 +00:00
Use a proxy with firefox to avoid loading external files in the examples test.
This commit is contained in:
parent
9bf511b414
commit
04f04cf0a0
102
karma-base.js
102
karma-base.js
@ -183,50 +183,62 @@ var notes_middleware = function (config) {
|
||||
};
|
||||
};
|
||||
|
||||
module.exports = {
|
||||
autoWatch: false,
|
||||
files: [
|
||||
test_case,
|
||||
{pattern: 'tests/data/**/*', included: false},
|
||||
{pattern: 'tests/cases/**/*.js', included: false, served: false, watched: true},
|
||||
{pattern: 'tests/gl-cases/**/*.js', included: false, served: false, watched: true},
|
||||
{pattern: 'tests/example-cases/**/*.js', included: false, served: false, watched: true},
|
||||
{pattern: 'dist/data/**/*', included: false},
|
||||
{pattern: 'dist/examples/**/*', included: false}
|
||||
],
|
||||
proxies: {
|
||||
'/testdata/': '/base/tests/data/',
|
||||
'/data/': '/base/dist/data/',
|
||||
'/examples/': '/base/dist/examples/'
|
||||
},
|
||||
browsers: [
|
||||
'PhantomJS'
|
||||
],
|
||||
browserNoActivityTimeout: 30000,
|
||||
reporters: [
|
||||
'progress',
|
||||
'kjhtml'
|
||||
],
|
||||
middleware: [
|
||||
'notes'
|
||||
],
|
||||
plugins: [
|
||||
{'middleware:notes': ['factory', notes_middleware]},
|
||||
'karma-*'
|
||||
],
|
||||
preprocessors: {},
|
||||
frameworks: [
|
||||
'jasmine', 'sinon'
|
||||
],
|
||||
webpack: {
|
||||
cache: true,
|
||||
devtool: 'inline-source-map',
|
||||
module: {
|
||||
loaders: webpack_config.module.loaders
|
||||
module.exports = function (config) {
|
||||
var newConfig = {
|
||||
autoWatch: false,
|
||||
files: [
|
||||
test_case,
|
||||
{pattern: 'tests/data/**/*', included: false},
|
||||
{pattern: 'tests/cases/**/*.js', included: false, served: false, watched: true},
|
||||
{pattern: 'tests/gl-cases/**/*.js', included: false, served: false, watched: true},
|
||||
{pattern: 'tests/example-cases/**/*.js', included: false, served: false, watched: true},
|
||||
{pattern: 'dist/data/**/*', included: false},
|
||||
{pattern: 'dist/examples/**/*', included: false}
|
||||
],
|
||||
proxies: {
|
||||
'/testdata/': '/base/tests/data/',
|
||||
'/data/': '/base/dist/data/',
|
||||
'/examples/': '/base/dist/examples/'
|
||||
},
|
||||
resolve: webpack_config.resolve,
|
||||
plugins: webpack_config.exposed_plugins
|
||||
}
|
||||
};
|
||||
browsers: [
|
||||
'PhantomJS'
|
||||
],
|
||||
customLaunchers: {
|
||||
FirefoxWithProxy: {
|
||||
base: 'Firefox',
|
||||
prefs: {
|
||||
'network.proxy.type': 2,
|
||||
'network.proxy.autoconfig_url': config.protocol + '//' + config.hostname + ':' + config.port + '/testdata/proxy-for-tests.pac'
|
||||
}
|
||||
}
|
||||
},
|
||||
browserNoActivityTimeout: 30000,
|
||||
reporters: [
|
||||
'progress',
|
||||
'kjhtml'
|
||||
],
|
||||
middleware: [
|
||||
'notes'
|
||||
],
|
||||
plugins: [
|
||||
{'middleware:notes': ['factory', notes_middleware]},
|
||||
'karma-*'
|
||||
],
|
||||
preprocessors: {},
|
||||
frameworks: [
|
||||
'jasmine', 'sinon'
|
||||
],
|
||||
webpack: {
|
||||
cache: true,
|
||||
devtool: 'inline-source-map',
|
||||
module: {
|
||||
loaders: webpack_config.module.loaders
|
||||
},
|
||||
resolve: webpack_config.resolve,
|
||||
plugins: webpack_config.exposed_plugins
|
||||
}
|
||||
};
|
||||
newConfig.preprocessors[test_case] = ['webpack', 'sourcemap'];
|
||||
|
||||
module.exports.preprocessors[test_case] = ['webpack', 'sourcemap'];
|
||||
return newConfig;
|
||||
};
|
||||
|
||||
@ -2,7 +2,6 @@
|
||||
// with coverage support.
|
||||
|
||||
var path = require('path');
|
||||
var karma_config = require('./karma-base');
|
||||
|
||||
/**
|
||||
* Return URL friendly browser string
|
||||
@ -11,24 +10,26 @@ function browser(b) {
|
||||
return b.toLowerCase().split(/[ /-]/)[0];
|
||||
}
|
||||
|
||||
karma_config.reporters = ['progress', 'coverage'];
|
||||
karma_config.coverageReporter = {
|
||||
reporters: [
|
||||
{type: 'html', dir: 'dist/coverage/', subdir: browser},
|
||||
{type: 'cobertura', dir: 'dist/cobertura/', file: 'coverage.xml', subdir: browser},
|
||||
{type: 'json', dir: 'dist/coverage/json/', subdir: browser},
|
||||
{type: 'lcovonly', dir: 'lcov', subdir: browser},
|
||||
{type: 'text'}
|
||||
]
|
||||
};
|
||||
karma_config.webpack.module.preLoaders = [
|
||||
{
|
||||
test: /\.js$/,
|
||||
include: path.resolve('src/'),
|
||||
loader: 'istanbul-instrumenter'
|
||||
}
|
||||
];
|
||||
|
||||
module.exports = function (config) {
|
||||
var karma_config = require('./karma-base')(config);
|
||||
|
||||
karma_config.reporters = ['progress', 'coverage'];
|
||||
karma_config.coverageReporter = {
|
||||
reporters: [
|
||||
{type: 'html', dir: 'dist/coverage/', subdir: browser},
|
||||
{type: 'cobertura', dir: 'dist/cobertura/', file: 'coverage.xml', subdir: browser},
|
||||
{type: 'json', dir: 'dist/coverage/json/', subdir: browser},
|
||||
{type: 'lcovonly', dir: 'lcov', subdir: browser},
|
||||
{type: 'text'}
|
||||
]
|
||||
};
|
||||
karma_config.webpack.module.preLoaders = [
|
||||
{
|
||||
test: /\.js$/,
|
||||
include: path.resolve('src/'),
|
||||
loader: 'istanbul-instrumenter'
|
||||
}
|
||||
];
|
||||
|
||||
config.set(karma_config);
|
||||
};
|
||||
|
||||
@ -1,5 +1,3 @@
|
||||
var karma_config = require('./karma-base');
|
||||
|
||||
module.exports = function (config) {
|
||||
config.set(karma_config);
|
||||
config.set(require('./karma-base')(config));
|
||||
};
|
||||
|
||||
@ -82,9 +82,9 @@
|
||||
"start": "karma start karma.conf.js",
|
||||
"ci": "GEOJS_TEST_CASE=tests/test-unit.js karma start karma-cov.conf.js --single-run --browsers PhantomJS",
|
||||
"ffci": "GEOJS_TEST_CASE=tests/test-gl.js karma start karma-cov.conf.js --single-run --browsers Firefox",
|
||||
"examplesci": "GEOJS_TEST_CASE=tests/test-examples.js karma start karma-cov.conf.js --single-run --browsers Firefox",
|
||||
"examplesci": "GEOJS_TEST_CASE=tests/test-examples.js karma start karma-cov.conf.js --single-run --browsers FirefoxWithProxy",
|
||||
"test-webgl": "GEOJS_TEST_CASE=tests/test-gl.js xvfb-run -s '-ac -screen 0 1280x1024x24' karma start karma-cov.conf.js --single-run --browsers Firefox",
|
||||
"test-examples": "GEOJS_TEST_CASE=tests/test-examples.js xvfb-run -s '-ac -screen 0 1280x1024x24' karma start karma-cov.conf.js --single-run --browsers Firefox",
|
||||
"test-examples": "GEOJS_TEST_CASE=tests/test-examples.js xvfb-run -s '-ac -screen 0 1280x1024x24' karma start karma-cov.conf.js --single-run --browsers FirefoxWithProxy",
|
||||
"codecov": "cat lcov/*/lcov.info | codecov",
|
||||
"combine-coverage": "istanbul-combine -d dist/cobertura -r cobertura 'dist/coverage/json/**/coverage-final.json'",
|
||||
"examples": "webpack-dev-server --config webpack-examples.config.js --host ${HOST-127.0.0.1} --port ${PORT-8082} --content-base dist/",
|
||||
|
||||
@ -1 +1 @@
|
||||
3a85dd50f321e7ac897b416eade4a5ab
|
||||
2f4ea11110deac8f5de053c49d09ce1e
|
||||
@ -1 +1 @@
|
||||
https://data.kitware.com/api/v1/file/586ba6ed8d777f05f44a57d1/download
|
||||
https://data.kitware.com/api/v1/file/586bfea38d777f05f44a5c6f/download
|
||||
7
tests/data/proxy-for-tests.pac
Normal file
7
tests/data/proxy-for-tests.pac
Normal file
@ -0,0 +1,7 @@
|
||||
function FindProxyForURL(url, host) {
|
||||
// Don't serve certain remote addresses
|
||||
if (dnsDomainIs(host, "fonts.googleapis.com")) {
|
||||
return "PROXY http://192.0.2.0";
|
||||
}
|
||||
return "DIRECT";
|
||||
}
|
||||
@ -1,5 +1,5 @@
|
||||
/**
|
||||
* Entry point for all tests in ./gl-cases/*
|
||||
* Entry point for all tests in ./example-cases/*
|
||||
* This is here to prevent webpack from creating a seperate bundle for each
|
||||
* test case. See: https://github.com/webpack/karma-webpack/issues/23
|
||||
*/
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user