var wgServer = process.env.MW_SERVER,
wgScriptPath = process.env.MW_SCRIPT_PATH,
+ WebdriverIOconfigFile,
karmaProxy = {};
grunt.loadNpmTasks( 'grunt-banana-checker' );
grunt.loadNpmTasks( 'grunt-jsonlint' );
grunt.loadNpmTasks( 'grunt-karma' );
grunt.loadNpmTasks( 'grunt-stylelint' );
+ grunt.loadNpmTasks( 'grunt-webdriver' );
karmaProxy[ wgScriptPath ] = {
target: wgServer + wgScriptPath,
changeOrigin: true
};
+ if ( process.env.JENKINS_HOME ) {
+ WebdriverIOconfigFile = './tests/selenium/wdio.conf.jenkins.js';
+ } else {
+ WebdriverIOconfigFile = './tests/selenium/wdio.conf.js';
+ }
+
grunt.initConfig( {
eslint: {
all: [
'!extensions/**/*.js',
'!skins/**/*.js',
// Skip functions aren't even parseable
- '!resources/src/dom-level2-skip.js',
- '!resources/src/es5-skip.js',
'!resources/src/mediawiki.hidpi-skip.js'
]
},
} ],
logLevel: 'DEBUG',
frameworks: [ 'qunit' ],
- reporters: [ 'progress' ],
+ reporters: [ 'mocha' ],
singleRun: true,
autoWatch: false,
// Some tests in extensions don't yield for more than the default 10s (T89075)
- browserNoActivityTimeout: 60 * 1000
+ browserNoActivityTimeout: 60 * 1000,
+ // Karma requires Same-Origin (or CORS) by default since v1.1.1
+ // for better stacktraces. But we load the first request from wgServer
+ crossOriginAttribute: false
},
main: {
browsers: [ 'Chrome' ]
return require( 'path' ).join( dest, src.replace( 'resources/', '' ) );
}
}
+ },
+
+ // Configure WebdriverIO task
+ webdriver: {
+ test: {
+ configFile: WebdriverIOconfigFile
+ }
}
+
} );
grunt.registerTask( 'assert-mw-env', function () {