From 2d229bf4a6a8e3c91fc6ea8f6f14c08be4a2542a Mon Sep 17 00:00:00 2001 From: Henrik Ingo Date: Wed, 1 Nov 2017 14:21:33 +0200 Subject: [PATCH] Update karma.conf-sauce.js to work with the post-merge way of testing --- karma.conf-sauce.js | 46 ++++++++++++++++++++++++++++++++++++--------- 1 file changed, 37 insertions(+), 9 deletions(-) diff --git a/karma.conf-sauce.js b/karma.conf-sauce.js index 41be5bc..4f77ff5 100644 --- a/karma.conf-sauce.js +++ b/karma.conf-sauce.js @@ -8,10 +8,13 @@ var sauceBrowsers = [ [ "chrome", "52", "Windows 10" ], [ "firefox", "48", "Windows 10" ], [ "firefox", "47", "Windows 10" ], - [ "microsoftedge", "13", "Windows 10" ], - [ "internet explorer", "11", "Windows 10" ], - [ "safari", "9", "OS X 10.11" ], - [ "safari", "8", "OS X 10.10" ] + [ "microsoftedge", "13", "Windows 10" ] +// These browsers have issues with the iframe based test approach. impress.js itself should work +// fine, it's just that the tests don't. We can figure out later whether there's some option that +// allows to access the DOM inside the iframe with javascript. +// [ "internet explorer", "11", "Windows 10" ], +// [ "safari", "9", "OS X 10.11" ], +// [ "safari", "8", "OS X 10.10" ] ].reduce( function( object, platform ) { // Convert "internet explorer" -> "ie". @@ -41,13 +44,27 @@ module.exports = function( config ) { frameworks: [ "qunit" ], singleRun: true, - // The list of files / patterns to load in the browser. + proxies : { + '/test/' : '/base/test/', + '/js/' : '/base/js/', + '/node_modules/syn/dist/' : '/base/node_modules/syn/dist/' + }, + + // List of files / patterns to load in the browser files: [ - "test/bootstrap.js", - "js/impress.js", - "test/core_tests.js" + // The QUnit tests + "test/helpers.js", + "test/core_tests.js", + "src/plugins/navigation/navigation_tests.js", + // Presentation files, for the iframe + {pattern: "test/*.html", watched: true, served: true, included: false}, + {pattern: "test/plugins/*/*.html", watched: true, served: true, included: false}, + // JS files for iframe + {pattern: "js/impress.js", watched: true, served: true, included: false}, + {pattern: "node_modules/syn/dist/global/syn.js", watched: false, served: true, included: false} ], + // The number of sauce tests to start in parallel. concurrency: 1, @@ -61,7 +78,18 @@ module.exports = function( config ) { startConnect: true, tunnelIdentifier: process.env.CIRCLE_BUILD_NUM }, - captureTimeout: 120000, + + client: { + clearContext: false, + qunit: { + showUI: true, + testTimeout: 120*1000 + } + }, + + // If browser does not capture, or produce output, in given timeout [ms], kill it + captureTimeout: 60*1000, + browserNoActivityTimeout: 60*1000, customLaunchers: sauceBrowsers, // Browsers to launch.