]> git.ipfire.org Git - thirdparty/bootstrap.git/commitdiff
fix bundle and run test against it
authorJohann-S <johann.servoire@gmail.com>
Thu, 29 Mar 2018 20:16:56 +0000 (22:16 +0200)
committerMark Otto <markd.otto@gmail.com>
Fri, 30 Mar 2018 04:21:31 +0000 (21:21 -0700)
build/rollup.config.js
js/tests/karma-bundle.conf.js [new file with mode: 0644]
js/tests/unit/.eslintrc.json
js/tests/unit/util.js
package.json

index cbca4679bc592f43a7c49969782f8dc29eaccc78..93370d31dacc7fd18be8a8ee5dff1dc9eb989578 100644 (file)
@@ -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 (file)
index 0000000..74d4c77
--- /dev/null
@@ -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')
+      }
+    }
+  })
+}
index 02dc9c9a4ec74d6af5b15a5df9fef389a885d1aa..f03726543b52f7e7cce88a12a04076e342b99dd2 100644 (file)
@@ -6,7 +6,8 @@
   },
   "globals": {
     "sinon": false,
-    "Util": false
+    "Util": false,
+    "bootstrap": false
   },
   "parserOptions": {
     "ecmaVersion": 5,
index 9a25a528619de81786d594eb6deae6490518bdc2..f4303ea15b3a7ecf0dbc9934aee497a1e58290f2 100644 (file)
@@ -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) {
index a355d06e2143fe8e54b941466ccdb50380ed7327..eba0d66f5660b502c3f70a487454051ff843175a 100644 (file)
@@ -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",