diff options
-rw-r--r-- | Gruntfile.js | 11 | ||||
-rw-r--r-- | tests/lib/grunt-contrib-qunit-bridges/bridge-wrapper.js.intro | 20 | ||||
-rw-r--r-- | tests/lib/grunt-contrib-qunit-bridges/bridge-wrapper.js.outro | 2 |
3 files changed, 29 insertions, 4 deletions
diff --git a/Gruntfile.js b/Gruntfile.js index 3456e0064..6c29ebe9e 100644 --- a/Gruntfile.js +++ b/Gruntfile.js @@ -209,15 +209,18 @@ grunt.initConfig( { } ), options: { puppeteer: { - ignoreDefaultArgs: true, args: [ - "--headless", - "--disable-web-security", "--allow-file-access-from-files" ] }, inject: [ - require.resolve( "grunt-contrib-qunit/chrome/bridge" ) + require.resolve( + "./tests/lib/grunt-contrib-qunit-bridges/bridge-wrapper.js.intro" + ), + require.resolve( "grunt-contrib-qunit/chrome/bridge" ), + require.resolve( + "./tests/lib/grunt-contrib-qunit-bridges/bridge-wrapper.js.outro" + ) ], page: { viewportSize: { width: 700, height: 500 } diff --git a/tests/lib/grunt-contrib-qunit-bridges/bridge-wrapper.js.intro b/tests/lib/grunt-contrib-qunit-bridges/bridge-wrapper.js.intro new file mode 100644 index 000000000..227aa6c3e --- /dev/null +++ b/tests/lib/grunt-contrib-qunit-bridges/bridge-wrapper.js.intro @@ -0,0 +1,20 @@ +// The bridge in `node_modules/grunt-contrib-qunit/chrome/bridge.js` is injected +// into every iframe, even an empty one injected during QUnit tests. The bridge, +// in turn, requires QUnit to be present on the page, throwing errors otherwise. +// To workaround that, add another wrapper which detects a missing QUnit and skips +// the whole logic. + +( function ( factory ) { + if ( typeof define === 'function' && define.amd ) { + require( [ 'qunit' ], factory ); + } else { + factory( window.QUnit ); + } +} )( function( QUnit ) { + +if ( !QUnit ) { + + // No QUnit => possibly an empty iframe injected in tests; ignore. + return; +} + diff --git a/tests/lib/grunt-contrib-qunit-bridges/bridge-wrapper.js.outro b/tests/lib/grunt-contrib-qunit-bridges/bridge-wrapper.js.outro new file mode 100644 index 000000000..647170adb --- /dev/null +++ b/tests/lib/grunt-contrib-qunit-bridges/bridge-wrapper.js.outro @@ -0,0 +1,2 @@ + +} ); |