From: Johann-S Date: Thu, 29 Mar 2018 20:16:56 +0000 (+0200) Subject: fix bundle and run test against it X-Git-Tag: v4.1.0~35 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=fd57d371f84e2aeac35d5701ae3ad357ad6456b2;p=thirdparty%2Fbootstrap.git fix bundle and run test against it --- diff --git a/build/rollup.config.js b/build/rollup.config.js index cbca4679bc..93370d31da 100644 --- a/build/rollup.config.js +++ b/build/rollup.config.js @@ -17,6 +17,7 @@ const plugins = [ 'defineProperties', 'createClass', 'inheritsLoose', + 'defineProperty', 'objectSpread' ] }) diff --git a/js/tests/karma-bundle.conf.js b/js/tests/karma-bundle.conf.js new file mode 100644 index 0000000000..74d4c77a6d --- /dev/null +++ b/js/tests/karma-bundle.conf.js @@ -0,0 +1,53 @@ +/* eslint-env node */ +/* eslint no-process-env: 0 */ + +module.exports = (config) => { + const jqueryFile = process.env.USE_OLD_JQUERY ? 'https://code.jquery.com/jquery-1.9.1.min.js' : 'assets/js/vendor/jquery-slim.min.js' + + config.set({ + basePath: '../..', + frameworks: ['qunit', 'sinon', 'detectBrowsers'], + plugins: [ + 'karma-chrome-launcher', + 'karma-firefox-launcher', + 'karma-qunit', + 'karma-sinon', + 'karma-detect-browsers' + ], + // list of files / patterns to load in the browser + files: [ + jqueryFile, + 'assets/js/vendor/popper.min.js', + 'dist/js/bootstrap.js', + 'js/tests/unit/*.js' + ], + reporters: ['dots'], + port: 9876, + colors: true, + // possible values: config.LOG_DISABLE || config.LOG_ERROR || config.LOG_WARN || config.LOG_INFO || config.LOG_DEBUG + logLevel: config.LOG_ERROR || config.LOG_WARN, + autoWatch: false, + customLaunchers: { + FirefoxHeadless: { + base: 'Firefox', + flags: ['-headless'] + } + }, + singleRun: true, + concurrency: Infinity, + detectBrowsers: { + usePhantomJS: false, + postDetection(availableBrowser) { + if (typeof process.env.TRAVIS_JOB_ID !== 'undefined' || availableBrowser.includes('Chrome')) { + return ['ChromeHeadless'] + } + + if (availableBrowser.includes('Firefox')) { + return ['FirefoxHeadless'] + } + + throw new Error('Please install Firefox or Chrome') + } + } + }) +} diff --git a/js/tests/unit/.eslintrc.json b/js/tests/unit/.eslintrc.json index 02dc9c9a4e..f03726543b 100644 --- a/js/tests/unit/.eslintrc.json +++ b/js/tests/unit/.eslintrc.json @@ -6,7 +6,8 @@ }, "globals": { "sinon": false, - "Util": false + "Util": false, + "bootstrap": false }, "parserOptions": { "ecmaVersion": 5, diff --git a/js/tests/unit/util.js b/js/tests/unit/util.js index 9a25a52861..f4303ea15b 100644 --- a/js/tests/unit/util.js +++ b/js/tests/unit/util.js @@ -1,6 +1,8 @@ $(function () { 'use strict' + window.Util = typeof bootstrap !== 'undefined' ? bootstrap.Util : Util + QUnit.module('util') QUnit.test('Util.getSelectorFromElement should return the correct element', function (assert) { diff --git a/package.json b/package.json index a355d06e21..eba0d66f56 100644 --- a/package.json +++ b/package.json @@ -47,6 +47,8 @@ "js-test": "npm-run-all --parallel js-test-karma*", "js-test-karma": "karma start js/tests/karma.conf.js", "js-test-karma-old": "cross-env USE_OLD_JQUERY=true npm run js-test-karma", + "js-test-karma-bundle": "cross-env karma start js/tests/karma-bundle.conf.js", + "js-test-karma-bundle-old": "cross-env USE_OLD_JQUERY=true npm run js-test-karma-bundle", "js-test-cloud": "ruby -r webrick -e \"s = WEBrick::HTTPServer.new(:Port => 3000, :DocumentRoot => Dir.pwd, :Logger => WEBrick::Log.new('/dev/null'), :AccessLog => []); trap('INT') { s.shutdown }; s.start\" & node build/saucelabs-unit-test.js", "docs": "npm-run-all --parallel css-docs js-docs --sequential docs-compile docs-lint", "docs-compile": "bundle exec jekyll build",