aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJohann-S <[email protected]>2018-03-29 22:16:56 +0200
committerMark Otto <[email protected]>2018-03-29 21:21:31 -0700
commitfd57d371f84e2aeac35d5701ae3ad357ad6456b2 (patch)
treee0772bb5460303622156d4024f9cb652234d5109
parent9cdb7a83010dbdc29d1910bda94ca50711168a48 (diff)
downloadbootstrap-fd57d371f84e2aeac35d5701ae3ad357ad6456b2.tar.xz
bootstrap-fd57d371f84e2aeac35d5701ae3ad357ad6456b2.zip
fix bundle and run test against it
-rw-r--r--build/rollup.config.js1
-rw-r--r--js/tests/karma-bundle.conf.js53
-rw-r--r--js/tests/unit/.eslintrc.json3
-rw-r--r--js/tests/unit/util.js2
-rw-r--r--package.json2
5 files changed, 60 insertions, 1 deletions
diff --git a/build/rollup.config.js b/build/rollup.config.js
index cbca4679b..93370d31d 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 000000000..74d4c77a6
--- /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 02dc9c9a4..f03726543 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 9a25a5286..f4303ea15 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 a355d06e2..eba0d66f5 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",