mirror of https://github.com/twbs/bootstrap.git
Update dependencies.
This commit is contained in:
parent
62a4796268
commit
d35020cee8
4
Gemfile
4
Gemfile
|
|
@ -1,9 +1,9 @@
|
||||||
source 'https://rubygems.org'
|
source 'https://rubygems.org'
|
||||||
|
|
||||||
group :development, :test do
|
group :development, :test do
|
||||||
gem 'jekyll', '~> 3.4.3'
|
gem 'jekyll', '~> 3.4.5'
|
||||||
gem 'jekyll-redirect-from', '~> 0.12.1'
|
gem 'jekyll-redirect-from', '~> 0.12.1'
|
||||||
gem 'jekyll-sitemap', '~> 1.1.1'
|
gem 'jekyll-sitemap', '~> 1.1.1'
|
||||||
gem 'jekyll-toc', '~> 0.3.0.pre1'
|
gem 'jekyll-toc', '~> 0.3.0.pre1'
|
||||||
gem 'scss_lint', '~> 0.53.0'
|
gem 'scss_lint', '~> 0.54.0'
|
||||||
end
|
end
|
||||||
|
|
|
||||||
28
Gemfile.lock
28
Gemfile.lock
|
|
@ -7,7 +7,7 @@ GEM
|
||||||
ffi (1.9.18)
|
ffi (1.9.18)
|
||||||
ffi (1.9.18-x64-mingw32)
|
ffi (1.9.18-x64-mingw32)
|
||||||
forwardable-extended (2.6.0)
|
forwardable-extended (2.6.0)
|
||||||
jekyll (3.4.3)
|
jekyll (3.4.5)
|
||||||
addressable (~> 2.4)
|
addressable (~> 2.4)
|
||||||
colorator (~> 1.0)
|
colorator (~> 1.0)
|
||||||
jekyll-sass-converter (~> 1.0)
|
jekyll-sass-converter (~> 1.0)
|
||||||
|
|
@ -28,26 +28,28 @@ GEM
|
||||||
nokogiri (~> 1.6)
|
nokogiri (~> 1.6)
|
||||||
jekyll-watch (1.5.0)
|
jekyll-watch (1.5.0)
|
||||||
listen (~> 3.0, < 3.1)
|
listen (~> 3.0, < 3.1)
|
||||||
kramdown (1.13.2)
|
kramdown (1.14.0)
|
||||||
liquid (3.0.6)
|
liquid (3.0.6)
|
||||||
listen (3.0.8)
|
listen (3.0.8)
|
||||||
rb-fsevent (~> 0.9, >= 0.9.4)
|
rb-fsevent (~> 0.9, >= 0.9.4)
|
||||||
rb-inotify (~> 0.9, >= 0.9.7)
|
rb-inotify (~> 0.9, >= 0.9.7)
|
||||||
mercenary (0.3.6)
|
mercenary (0.3.6)
|
||||||
mini_portile2 (2.1.0)
|
mini_portile2 (2.2.0)
|
||||||
nokogiri (1.7.2)
|
nokogiri (1.8.0)
|
||||||
mini_portile2 (~> 2.1.0)
|
mini_portile2 (~> 2.2.0)
|
||||||
|
nokogiri (1.8.0-x64-mingw32)
|
||||||
|
mini_portile2 (~> 2.2.0)
|
||||||
pathutil (0.14.0)
|
pathutil (0.14.0)
|
||||||
forwardable-extended (~> 2.6)
|
forwardable-extended (~> 2.6)
|
||||||
public_suffix (2.0.5)
|
public_suffix (2.0.5)
|
||||||
rake (12.0.0)
|
rake (12.0.0)
|
||||||
rb-fsevent (0.9.8)
|
rb-fsevent (0.10.2)
|
||||||
rb-inotify (0.9.8)
|
rb-inotify (0.9.10)
|
||||||
ffi (>= 0.5.0)
|
ffi (>= 0.5.0, < 2)
|
||||||
rouge (1.11.1)
|
rouge (1.11.1)
|
||||||
safe_yaml (1.0.4)
|
safe_yaml (1.0.4)
|
||||||
sass (3.4.24)
|
sass (3.4.25)
|
||||||
scss_lint (0.53.0)
|
scss_lint (0.54.0)
|
||||||
rake (>= 0.9, < 13)
|
rake (>= 0.9, < 13)
|
||||||
sass (~> 3.4.20)
|
sass (~> 3.4.20)
|
||||||
|
|
||||||
|
|
@ -56,11 +58,11 @@ PLATFORMS
|
||||||
x64-mingw32
|
x64-mingw32
|
||||||
|
|
||||||
DEPENDENCIES
|
DEPENDENCIES
|
||||||
jekyll (~> 3.4.3)
|
jekyll (~> 3.4.5)
|
||||||
jekyll-redirect-from (~> 0.12.1)
|
jekyll-redirect-from (~> 0.12.1)
|
||||||
jekyll-sitemap (~> 1.1.1)
|
jekyll-sitemap (~> 1.1.1)
|
||||||
jekyll-toc (~> 0.3.0.pre1)
|
jekyll-toc (~> 0.3.0.pre1)
|
||||||
scss_lint (~> 0.53.0)
|
scss_lint (~> 0.54.0)
|
||||||
|
|
||||||
BUNDLED WITH
|
BUNDLED WITH
|
||||||
1.15.0
|
1.15.1
|
||||||
|
|
|
||||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
|
|
@ -1,12 +1,12 @@
|
||||||
/*!
|
/*!
|
||||||
* QUnit 2.3.3
|
* QUnit 2.4.0
|
||||||
* https://qunitjs.com/
|
* https://qunitjs.com/
|
||||||
*
|
*
|
||||||
* Copyright jQuery Foundation and other contributors
|
* Copyright jQuery Foundation and other contributors
|
||||||
* Released under the MIT license
|
* Released under the MIT license
|
||||||
* https://jquery.org/license
|
* https://jquery.org/license
|
||||||
*
|
*
|
||||||
* Date: 2017-06-02T14:07Z
|
* Date: 2017-07-08T15:20Z
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/** Font Family and Sizes */
|
/** Font Family and Sizes */
|
||||||
|
|
@ -433,4 +433,4 @@
|
||||||
left: -10000px;
|
left: -10000px;
|
||||||
width: 1000px;
|
width: 1000px;
|
||||||
height: 1000px;
|
height: 1000px;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,17 +1,17 @@
|
||||||
/*!
|
/*!
|
||||||
* QUnit 2.3.3
|
* QUnit 2.4.0
|
||||||
* https://qunitjs.com/
|
* https://qunitjs.com/
|
||||||
*
|
*
|
||||||
* Copyright jQuery Foundation and other contributors
|
* Copyright jQuery Foundation and other contributors
|
||||||
* Released under the MIT license
|
* Released under the MIT license
|
||||||
* https://jquery.org/license
|
* https://jquery.org/license
|
||||||
*
|
*
|
||||||
* Date: 2017-06-02T14:07Z
|
* Date: 2017-07-08T15:20Z
|
||||||
*/
|
*/
|
||||||
(function (global$1) {
|
(function (global$1) {
|
||||||
'use strict';
|
'use strict';
|
||||||
|
|
||||||
global$1 = 'default' in global$1 ? global$1['default'] : global$1;
|
global$1 = global$1 && 'default' in global$1 ? global$1['default'] : global$1;
|
||||||
|
|
||||||
var window = global$1.window;
|
var window = global$1.window;
|
||||||
var self$1 = global$1.self;
|
var self$1 = global$1.self;
|
||||||
|
|
@ -227,10 +227,8 @@
|
||||||
case "Function":
|
case "Function":
|
||||||
case "Symbol":
|
case "Symbol":
|
||||||
return type.toLowerCase();
|
return type.toLowerCase();
|
||||||
}
|
default:
|
||||||
|
return typeof obj === "undefined" ? "undefined" : _typeof(obj);
|
||||||
if ((typeof obj === "undefined" ? "undefined" : _typeof(obj)) === "object") {
|
|
||||||
return "object";
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -588,7 +586,13 @@
|
||||||
return arguments.length === 2 || innerEquiv.apply(this, [].slice.call(arguments, 1));
|
return arguments.length === 2 || innerEquiv.apply(this, [].slice.call(arguments, 1));
|
||||||
}
|
}
|
||||||
|
|
||||||
return innerEquiv;
|
return function () {
|
||||||
|
var result = innerEquiv.apply(undefined, arguments);
|
||||||
|
|
||||||
|
// Release any retained objects
|
||||||
|
pairs.length = 0;
|
||||||
|
return result;
|
||||||
|
};
|
||||||
})();
|
})();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
@ -636,7 +640,13 @@
|
||||||
tests: [],
|
tests: [],
|
||||||
childModules: [],
|
childModules: [],
|
||||||
testsRun: 0,
|
testsRun: 0,
|
||||||
unskippedTestsRun: 0
|
unskippedTestsRun: 0,
|
||||||
|
hooks: {
|
||||||
|
before: [],
|
||||||
|
beforeEach: [],
|
||||||
|
afterEach: [],
|
||||||
|
after: []
|
||||||
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
callbacks: {},
|
callbacks: {},
|
||||||
|
|
@ -1317,7 +1327,7 @@
|
||||||
return TestReport;
|
return TestReport;
|
||||||
}();
|
}();
|
||||||
|
|
||||||
var focused = false;
|
var focused$1 = false;
|
||||||
|
|
||||||
function Test(settings) {
|
function Test(settings) {
|
||||||
var i, l;
|
var i, l;
|
||||||
|
|
@ -1325,12 +1335,30 @@
|
||||||
++Test.count;
|
++Test.count;
|
||||||
|
|
||||||
this.expected = null;
|
this.expected = null;
|
||||||
extend(this, settings);
|
|
||||||
this.assertions = [];
|
this.assertions = [];
|
||||||
this.semaphore = 0;
|
this.semaphore = 0;
|
||||||
this.module = config.currentModule;
|
this.module = config.currentModule;
|
||||||
this.stack = sourceFromStacktrace(3);
|
this.stack = sourceFromStacktrace(3);
|
||||||
this.steps = [];
|
this.steps = [];
|
||||||
|
this.timeout = undefined;
|
||||||
|
|
||||||
|
// If a module is skipped, all its tests and the tests of the child suites
|
||||||
|
// should be treated as skipped even if they are defined as `only` or `todo`.
|
||||||
|
// As for `todo` module, all its tests will be treated as `todo` except for
|
||||||
|
// tests defined as `skip` which will be left intact.
|
||||||
|
//
|
||||||
|
// So, if a test is defined as `todo` and is inside a skipped module, we should
|
||||||
|
// then treat that test as if was defined as `skip`.
|
||||||
|
if (this.module.skip) {
|
||||||
|
settings.skip = true;
|
||||||
|
settings.todo = false;
|
||||||
|
|
||||||
|
// Skipped tests should be left intact
|
||||||
|
} else if (this.module.todo && !settings.skip) {
|
||||||
|
settings.todo = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
extend(this, settings);
|
||||||
|
|
||||||
this.testReport = new TestReport(settings.testName, this.module.suiteReport, {
|
this.testReport = new TestReport(settings.testName, this.module.suiteReport, {
|
||||||
todo: settings.todo,
|
todo: settings.todo,
|
||||||
|
|
@ -1442,6 +1470,12 @@
|
||||||
function runTest(test) {
|
function runTest(test) {
|
||||||
promise = test.callback.call(test.testEnvironment, test.assert);
|
promise = test.callback.call(test.testEnvironment, test.assert);
|
||||||
test.resolvePromise(promise);
|
test.resolvePromise(promise);
|
||||||
|
|
||||||
|
// If the test has a "lock" on it, but the timeout is 0, then we push a
|
||||||
|
// failure as the test should be synchronous.
|
||||||
|
if (test.timeout === 0 && test.semaphore !== 0) {
|
||||||
|
pushFailure("Test did not finish synchronously even though assert.timeout( 0 ) was used.", sourceFromStacktrace(2));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
|
|
@ -1450,22 +1484,27 @@
|
||||||
},
|
},
|
||||||
|
|
||||||
queueHook: function queueHook(hook, hookName, hookOwner) {
|
queueHook: function queueHook(hook, hookName, hookOwner) {
|
||||||
var promise,
|
var _this = this;
|
||||||
test = this;
|
|
||||||
return function runHook() {
|
var callHook = function callHook() {
|
||||||
|
var promise = hook.call(_this.testEnvironment, _this.assert);
|
||||||
|
_this.resolvePromise(promise, hookName);
|
||||||
|
};
|
||||||
|
|
||||||
|
var runHook = function runHook() {
|
||||||
if (hookName === "before") {
|
if (hookName === "before") {
|
||||||
if (hookOwner.unskippedTestsRun !== 0) {
|
if (hookOwner.unskippedTestsRun !== 0) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
test.preserveEnvironment = true;
|
_this.preserveEnvironment = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (hookName === "after" && hookOwner.unskippedTestsRun !== numberOfUnskippedTests(hookOwner) - 1 && config.queue.length > 2) {
|
if (hookName === "after" && hookOwner.unskippedTestsRun !== numberOfUnskippedTests(hookOwner) - 1 && config.queue.length > 2) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
config.current = test;
|
config.current = _this;
|
||||||
if (config.notrycatch) {
|
if (config.notrycatch) {
|
||||||
callHook();
|
callHook();
|
||||||
return;
|
return;
|
||||||
|
|
@ -1473,16 +1512,14 @@
|
||||||
try {
|
try {
|
||||||
callHook();
|
callHook();
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
test.pushFailure(hookName + " failed on " + test.testName + ": " + (error.message || error), extractStacktrace(error, 0));
|
_this.pushFailure(hookName + " failed on " + _this.testName + ": " + (error.message || error), extractStacktrace(error, 0));
|
||||||
}
|
|
||||||
|
|
||||||
function callHook() {
|
|
||||||
promise = hook.call(test.testEnvironment, test.assert);
|
|
||||||
test.resolvePromise(promise, hookName);
|
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
return runHook;
|
||||||
},
|
},
|
||||||
|
|
||||||
|
|
||||||
// Currently only used for module level hooks, can be used to add global level ones
|
// Currently only used for module level hooks, can be used to add global level ones
|
||||||
hooks: function hooks(handler) {
|
hooks: function hooks(handler) {
|
||||||
var hooks = [];
|
var hooks = [];
|
||||||
|
|
@ -1491,8 +1528,11 @@
|
||||||
if (module.parentModule) {
|
if (module.parentModule) {
|
||||||
processHooks(test, module.parentModule);
|
processHooks(test, module.parentModule);
|
||||||
}
|
}
|
||||||
if (module.hooks && objectType(module.hooks[handler]) === "function") {
|
|
||||||
hooks.push(test.queueHook(module.hooks[handler], handler, module));
|
if (module.hooks[handler].length) {
|
||||||
|
for (var i = 0; i < module.hooks[handler].length; i++) {
|
||||||
|
hooks.push(test.queueHook(module.hooks[handler][i], handler, module));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -1500,9 +1540,11 @@
|
||||||
if (!this.skip) {
|
if (!this.skip) {
|
||||||
processHooks(this, this.module);
|
processHooks(this, this.module);
|
||||||
}
|
}
|
||||||
|
|
||||||
return hooks;
|
return hooks;
|
||||||
},
|
},
|
||||||
|
|
||||||
|
|
||||||
finish: function finish() {
|
finish: function finish() {
|
||||||
config.current = this;
|
config.current = this;
|
||||||
if (config.requireExpects && this.expected === null) {
|
if (config.requireExpects && this.expected === null) {
|
||||||
|
|
@ -1860,7 +1902,7 @@
|
||||||
|
|
||||||
// Will be exposed as QUnit.test
|
// Will be exposed as QUnit.test
|
||||||
function test(testName, callback) {
|
function test(testName, callback) {
|
||||||
if (focused) {
|
if (focused$1) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -1873,7 +1915,7 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
function todo(testName, callback) {
|
function todo(testName, callback) {
|
||||||
if (focused) {
|
if (focused$1) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -1888,7 +1930,7 @@
|
||||||
|
|
||||||
// Will be exposed as QUnit.skip
|
// Will be exposed as QUnit.skip
|
||||||
function skip(testName) {
|
function skip(testName) {
|
||||||
if (focused) {
|
if (focused$1) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -1902,12 +1944,12 @@
|
||||||
|
|
||||||
// Will be exposed as QUnit.only
|
// Will be exposed as QUnit.only
|
||||||
function only(testName, callback) {
|
function only(testName, callback) {
|
||||||
if (focused) {
|
if (focused$1) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
config.queue.length = 0;
|
config.queue.length = 0;
|
||||||
focused = true;
|
focused$1 = true;
|
||||||
|
|
||||||
var newTest = new Test({
|
var newTest = new Test({
|
||||||
testName: testName,
|
testName: testName,
|
||||||
|
|
@ -1919,20 +1961,29 @@
|
||||||
|
|
||||||
// Put a hold on processing and return a function that will release it.
|
// Put a hold on processing and return a function that will release it.
|
||||||
function internalStop(test) {
|
function internalStop(test) {
|
||||||
var released = false;
|
|
||||||
|
|
||||||
test.semaphore += 1;
|
test.semaphore += 1;
|
||||||
config.blocking = true;
|
config.blocking = true;
|
||||||
|
|
||||||
// Set a recovery timeout, if so configured.
|
// Set a recovery timeout, if so configured.
|
||||||
if (config.testTimeout && defined.setTimeout) {
|
if (defined.setTimeout) {
|
||||||
clearTimeout(config.timeout);
|
var timeoutDuration = void 0;
|
||||||
config.timeout = setTimeout(function () {
|
|
||||||
pushFailure("Test timed out", sourceFromStacktrace(2));
|
if (typeof test.timeout === "number") {
|
||||||
internalRecover(test);
|
timeoutDuration = test.timeout;
|
||||||
}, config.testTimeout);
|
} else if (typeof config.testTimeout === "number") {
|
||||||
|
timeoutDuration = config.testTimeout;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (typeof timeoutDuration === "number" && timeoutDuration > 0) {
|
||||||
|
clearTimeout(config.timeout);
|
||||||
|
config.timeout = setTimeout(function () {
|
||||||
|
pushFailure("Test took longer than " + timeoutDuration + "ms; test timed out.", sourceFromStacktrace(2));
|
||||||
|
internalRecover(test);
|
||||||
|
}, timeoutDuration);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
var released = false;
|
||||||
return function resume() {
|
return function resume() {
|
||||||
if (released) {
|
if (released) {
|
||||||
return;
|
return;
|
||||||
|
|
@ -2059,10 +2110,19 @@
|
||||||
|
|
||||||
// Assert helpers
|
// Assert helpers
|
||||||
|
|
||||||
// Documents a "step", which is a string value, in a test as a passing assertion
|
|
||||||
|
|
||||||
|
|
||||||
createClass(Assert, [{
|
createClass(Assert, [{
|
||||||
|
key: "timeout",
|
||||||
|
value: function timeout(duration) {
|
||||||
|
if (typeof duration !== "number") {
|
||||||
|
throw new Error("You must pass a number as the duration to assert.timeout");
|
||||||
|
}
|
||||||
|
|
||||||
|
this.test.timeout = duration;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Documents a "step", which is a string value, in a test as a passing assertion
|
||||||
|
|
||||||
|
}, {
|
||||||
key: "step",
|
key: "step",
|
||||||
value: function step(message) {
|
value: function step(message) {
|
||||||
var result = !!message;
|
var result = !!message;
|
||||||
|
|
@ -2138,7 +2198,7 @@
|
||||||
}, {
|
}, {
|
||||||
key: "push",
|
key: "push",
|
||||||
value: function push(result, actual, expected, message, negative) {
|
value: function push(result, actual, expected, message, negative) {
|
||||||
Logger.warn("assert.push is deprecated and will be removed in QUnit 3.0." + " Please use assert.pushResult instead (http://api.qunitjs.com/pushResult/).");
|
Logger.warn("assert.push is deprecated and will be removed in QUnit 3.0." + " Please use assert.pushResult instead (https://api.qunitjs.com/assert/pushResult).");
|
||||||
|
|
||||||
var currentAssert = this instanceof Assert ? this : config.current.assert;
|
var currentAssert = this instanceof Assert ? this : config.current.assert;
|
||||||
return currentAssert.pushResult({
|
return currentAssert.pushResult({
|
||||||
|
|
@ -2573,6 +2633,7 @@
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
var focused = false;
|
||||||
var QUnit = {};
|
var QUnit = {};
|
||||||
var globalSuite = new SuiteReport();
|
var globalSuite = new SuiteReport();
|
||||||
|
|
||||||
|
|
@ -2589,13 +2650,16 @@
|
||||||
QUnit.isLocal = !(defined.document && window.location.protocol !== "file:");
|
QUnit.isLocal = !(defined.document && window.location.protocol !== "file:");
|
||||||
|
|
||||||
// Expose the current QUnit version
|
// Expose the current QUnit version
|
||||||
QUnit.version = "2.3.3";
|
QUnit.version = "2.4.0";
|
||||||
|
|
||||||
function createModule(name, testEnvironment) {
|
function createModule(name, testEnvironment, modifiers) {
|
||||||
var parentModule = moduleStack.length ? moduleStack.slice(-1)[0] : null;
|
var parentModule = moduleStack.length ? moduleStack.slice(-1)[0] : null;
|
||||||
var moduleName = parentModule !== null ? [parentModule.name, name].join(" > ") : name;
|
var moduleName = parentModule !== null ? [parentModule.name, name].join(" > ") : name;
|
||||||
var parentSuite = parentModule ? parentModule.suiteReport : globalSuite;
|
var parentSuite = parentModule ? parentModule.suiteReport : globalSuite;
|
||||||
|
|
||||||
|
var skip$$1 = parentModule !== null && parentModule.skip || modifiers.skip;
|
||||||
|
var todo$$1 = parentModule !== null && parentModule.todo || modifiers.todo;
|
||||||
|
|
||||||
var module = {
|
var module = {
|
||||||
name: moduleName,
|
name: moduleName,
|
||||||
parentModule: parentModule,
|
parentModule: parentModule,
|
||||||
|
|
@ -2604,7 +2668,14 @@
|
||||||
testsRun: 0,
|
testsRun: 0,
|
||||||
unskippedTestsRun: 0,
|
unskippedTestsRun: 0,
|
||||||
childModules: [],
|
childModules: [],
|
||||||
suiteReport: new SuiteReport(name, parentSuite)
|
suiteReport: new SuiteReport(name, parentSuite),
|
||||||
|
|
||||||
|
// Pass along `skip` and `todo` properties from parent module, in case
|
||||||
|
// there is one, to childs. And use own otherwise.
|
||||||
|
// This property will be used to mark own tests and tests of child suites
|
||||||
|
// as either `skipped` or `todo`.
|
||||||
|
skip: skip$$1,
|
||||||
|
todo: skip$$1 ? false : todo$$1
|
||||||
};
|
};
|
||||||
|
|
||||||
var env = {};
|
var env = {};
|
||||||
|
|
@ -2619,53 +2690,108 @@
|
||||||
return module;
|
return module;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function processModule(name, options, executeNow) {
|
||||||
|
var modifiers = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};
|
||||||
|
|
||||||
|
var module = createModule(name, options, modifiers);
|
||||||
|
|
||||||
|
// Move any hooks to a 'hooks' object
|
||||||
|
var testEnvironment = module.testEnvironment;
|
||||||
|
var hooks = module.hooks = {};
|
||||||
|
|
||||||
|
setHookFromEnvironment(hooks, testEnvironment, "before");
|
||||||
|
setHookFromEnvironment(hooks, testEnvironment, "beforeEach");
|
||||||
|
setHookFromEnvironment(hooks, testEnvironment, "afterEach");
|
||||||
|
setHookFromEnvironment(hooks, testEnvironment, "after");
|
||||||
|
|
||||||
|
function setHookFromEnvironment(hooks, environment, name) {
|
||||||
|
var potentialHook = environment[name];
|
||||||
|
hooks[name] = typeof potentialHook === "function" ? [potentialHook] : [];
|
||||||
|
delete environment[name];
|
||||||
|
}
|
||||||
|
|
||||||
|
var moduleFns = {
|
||||||
|
before: setHookFunction(module, "before"),
|
||||||
|
beforeEach: setHookFunction(module, "beforeEach"),
|
||||||
|
afterEach: setHookFunction(module, "afterEach"),
|
||||||
|
after: setHookFunction(module, "after")
|
||||||
|
};
|
||||||
|
|
||||||
|
var currentModule = config.currentModule;
|
||||||
|
if (objectType(executeNow) === "function") {
|
||||||
|
moduleStack.push(module);
|
||||||
|
config.currentModule = module;
|
||||||
|
executeNow.call(module.testEnvironment, moduleFns);
|
||||||
|
moduleStack.pop();
|
||||||
|
module = module.parentModule || currentModule;
|
||||||
|
}
|
||||||
|
|
||||||
|
config.currentModule = module;
|
||||||
|
}
|
||||||
|
|
||||||
|
// TODO: extract this to a new file alongside its related functions
|
||||||
|
function module$1(name, options, executeNow) {
|
||||||
|
if (focused) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (arguments.length === 2) {
|
||||||
|
if (objectType(options) === "function") {
|
||||||
|
executeNow = options;
|
||||||
|
options = undefined;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
processModule(name, options, executeNow);
|
||||||
|
}
|
||||||
|
|
||||||
|
module$1.only = function () {
|
||||||
|
if (focused) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
config.modules.length = 0;
|
||||||
|
config.queue.length = 0;
|
||||||
|
|
||||||
|
module$1.apply(undefined, arguments);
|
||||||
|
|
||||||
|
focused = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
module$1.skip = function (name, options, executeNow) {
|
||||||
|
if (focused) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (arguments.length === 2) {
|
||||||
|
if (objectType(options) === "function") {
|
||||||
|
executeNow = options;
|
||||||
|
options = undefined;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
processModule(name, options, executeNow, { skip: true });
|
||||||
|
};
|
||||||
|
|
||||||
|
module$1.todo = function (name, options, executeNow) {
|
||||||
|
if (focused) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (arguments.length === 2) {
|
||||||
|
if (objectType(options) === "function") {
|
||||||
|
executeNow = options;
|
||||||
|
options = undefined;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
processModule(name, options, executeNow, { todo: true });
|
||||||
|
};
|
||||||
|
|
||||||
extend(QUnit, {
|
extend(QUnit, {
|
||||||
on: on,
|
on: on,
|
||||||
|
|
||||||
// Call on start of module test to prepend name to all tests
|
module: module$1,
|
||||||
module: function module(name, testEnvironment, executeNow) {
|
|
||||||
if (arguments.length === 2) {
|
|
||||||
if (objectType(testEnvironment) === "function") {
|
|
||||||
executeNow = testEnvironment;
|
|
||||||
testEnvironment = undefined;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
var module = createModule(name, testEnvironment);
|
|
||||||
|
|
||||||
// Move any hooks to a 'hooks' object
|
|
||||||
if (module.testEnvironment) {
|
|
||||||
module.hooks = {
|
|
||||||
before: module.testEnvironment.before,
|
|
||||||
beforeEach: module.testEnvironment.beforeEach,
|
|
||||||
afterEach: module.testEnvironment.afterEach,
|
|
||||||
after: module.testEnvironment.after
|
|
||||||
};
|
|
||||||
|
|
||||||
delete module.testEnvironment.before;
|
|
||||||
delete module.testEnvironment.beforeEach;
|
|
||||||
delete module.testEnvironment.afterEach;
|
|
||||||
delete module.testEnvironment.after;
|
|
||||||
}
|
|
||||||
|
|
||||||
var moduleFns = {
|
|
||||||
before: setHook(module, "before"),
|
|
||||||
beforeEach: setHook(module, "beforeEach"),
|
|
||||||
afterEach: setHook(module, "afterEach"),
|
|
||||||
after: setHook(module, "after")
|
|
||||||
};
|
|
||||||
|
|
||||||
var currentModule = config.currentModule;
|
|
||||||
if (objectType(executeNow) === "function") {
|
|
||||||
moduleStack.push(module);
|
|
||||||
config.currentModule = module;
|
|
||||||
executeNow.call(module.testEnvironment, moduleFns);
|
|
||||||
moduleStack.pop();
|
|
||||||
module = module.parentModule || currentModule;
|
|
||||||
}
|
|
||||||
|
|
||||||
config.currentModule = module;
|
|
||||||
},
|
|
||||||
|
|
||||||
test: test,
|
test: test,
|
||||||
|
|
||||||
|
|
@ -2802,13 +2928,9 @@
|
||||||
ProcessingQueue.advance();
|
ProcessingQueue.advance();
|
||||||
}
|
}
|
||||||
|
|
||||||
function setHook(module, hookName) {
|
function setHookFunction(module, hookName) {
|
||||||
if (!module.hooks) {
|
return function setHook(callback) {
|
||||||
module.hooks = {};
|
module.hooks[hookName].push(callback);
|
||||||
}
|
|
||||||
|
|
||||||
return function (callback) {
|
|
||||||
module.hooks[hookName] = callback;
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
14
package.json
14
package.json
|
|
@ -71,13 +71,13 @@
|
||||||
"popper.js": "^1.10.8"
|
"popper.js": "^1.10.8"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"autoprefixer": "^7.1.1",
|
"autoprefixer": "^7.1.2",
|
||||||
"babel-cli": "^6.24.1",
|
"babel-cli": "^6.24.1",
|
||||||
"babel-eslint": "^7.2.3",
|
"babel-eslint": "^7.2.3",
|
||||||
"babel-plugin-transform-es2015-modules-strip": "^0.1.1",
|
"babel-plugin-transform-es2015-modules-strip": "^0.1.1",
|
||||||
"babel-preset-es2015": "^6.24.1",
|
"babel-preset-es2015": "^6.24.1",
|
||||||
"clean-css-cli": "^4.1.3",
|
"clean-css-cli": "^4.1.6",
|
||||||
"eslint": "^3.19.0",
|
"eslint": "^4.2.0",
|
||||||
"grunt": "^1.0.1",
|
"grunt": "^1.0.1",
|
||||||
"grunt-cli": "^1.2.0",
|
"grunt-cli": "^1.2.0",
|
||||||
"grunt-saucelabs": "^9.0.0",
|
"grunt-saucelabs": "^9.0.0",
|
||||||
|
|
@ -86,12 +86,12 @@
|
||||||
"nodemon": "^1.11.0",
|
"nodemon": "^1.11.0",
|
||||||
"npm-run-all": "^4.0.2",
|
"npm-run-all": "^4.0.2",
|
||||||
"phantomjs-prebuilt": "^2.1.14",
|
"phantomjs-prebuilt": "^2.1.14",
|
||||||
"postcss-cli": "^4.0.0",
|
"postcss-cli": "^4.1.0",
|
||||||
"qunit-phantomjs-runner": "^2.3.0",
|
"qunit-phantomjs-runner": "^2.3.0",
|
||||||
"qunitjs": "^2.3.2",
|
"qunitjs": "^2.4.0",
|
||||||
"shelljs": "^0.7.7",
|
"shelljs": "^0.7.8",
|
||||||
"shx": "^0.2.2",
|
"shx": "^0.2.2",
|
||||||
"uglify-js": "^3.0.13"
|
"uglify-js": "^3.0.24"
|
||||||
},
|
},
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">=4"
|
"node": ">=4"
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue