jasmine-core 3.0.0 → 3.1.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/jasmine-core/boot/node_boot.js +1 -1
- data/lib/jasmine-core/jasmine-html.js +0 -35
- data/lib/jasmine-core/jasmine.css +0 -6
- data/lib/jasmine-core/jasmine.js +246 -36
- data/lib/jasmine-core/node_boot.js +1 -1
- data/lib/jasmine-core/version.rb +1 -1
- metadata +3 -88
- data/lib/jasmine-core/spec/core/CallTrackerSpec.js +0 -130
- data/lib/jasmine-core/spec/core/ClearStackSpec.js +0 -137
- data/lib/jasmine-core/spec/core/ClockSpec.js +0 -710
- data/lib/jasmine-core/spec/core/DelayedFunctionSchedulerSpec.js +0 -286
- data/lib/jasmine-core/spec/core/EnvSpec.js +0 -200
- data/lib/jasmine-core/spec/core/ExceptionFormatterSpec.js +0 -120
- data/lib/jasmine-core/spec/core/ExceptionsSpec.js +0 -46
- data/lib/jasmine-core/spec/core/ExpectationResultSpec.js +0 -61
- data/lib/jasmine-core/spec/core/ExpectationSpec.js +0 -434
- data/lib/jasmine-core/spec/core/GlobalErrorsSpec.js +0 -110
- data/lib/jasmine-core/spec/core/JsApiReporterSpec.js +0 -259
- data/lib/jasmine-core/spec/core/MockDateSpec.js +0 -200
- data/lib/jasmine-core/spec/core/PrettyPrintSpec.js +0 -332
- data/lib/jasmine-core/spec/core/QueueRunnerSpec.js +0 -670
- data/lib/jasmine-core/spec/core/ReportDispatcherSpec.js +0 -140
- data/lib/jasmine-core/spec/core/SpecSpec.js +0 -407
- data/lib/jasmine-core/spec/core/SpyRegistrySpec.js +0 -364
- data/lib/jasmine-core/spec/core/SpySpec.js +0 -177
- data/lib/jasmine-core/spec/core/SpyStrategySpec.js +0 -202
- data/lib/jasmine-core/spec/core/StackTraceSpec.js +0 -166
- data/lib/jasmine-core/spec/core/SuiteSpec.js +0 -123
- data/lib/jasmine-core/spec/core/TimerSpec.js +0 -31
- data/lib/jasmine-core/spec/core/TreeProcessorSpec.js +0 -794
- data/lib/jasmine-core/spec/core/UserContextSpec.js +0 -54
- data/lib/jasmine-core/spec/core/UtilSpec.js +0 -105
- data/lib/jasmine-core/spec/core/asymmetric_equality/AnySpec.js +0 -91
- data/lib/jasmine-core/spec/core/asymmetric_equality/AnythingSpec.js +0 -76
- data/lib/jasmine-core/spec/core/asymmetric_equality/ArrayContainingSpec.js +0 -52
- data/lib/jasmine-core/spec/core/asymmetric_equality/ArrayWithExactContentsSpec.js +0 -47
- data/lib/jasmine-core/spec/core/asymmetric_equality/ObjectContainingSpec.js +0 -99
- data/lib/jasmine-core/spec/core/asymmetric_equality/StringMatchingSpec.js +0 -27
- data/lib/jasmine-core/spec/core/formatErrorMsgSpec.js +0 -13
- data/lib/jasmine-core/spec/core/integration/CustomMatchersSpec.js +0 -200
- data/lib/jasmine-core/spec/core/integration/CustomSpyStrategiesSpec.js +0 -138
- data/lib/jasmine-core/spec/core/integration/EnvSpec.js +0 -2344
- data/lib/jasmine-core/spec/core/integration/SpecRunningSpec.js +0 -976
- data/lib/jasmine-core/spec/core/matchers/DiffBuilderSpec.js +0 -47
- data/lib/jasmine-core/spec/core/matchers/NullDiffBuilderSpec.js +0 -13
- data/lib/jasmine-core/spec/core/matchers/ObjectPathSpec.js +0 -43
- data/lib/jasmine-core/spec/core/matchers/matchersUtilSpec.js +0 -645
- data/lib/jasmine-core/spec/core/matchers/nothingSpec.js +0 -8
- data/lib/jasmine-core/spec/core/matchers/toBeCloseToSpec.js +0 -93
- data/lib/jasmine-core/spec/core/matchers/toBeDefinedSpec.js +0 -18
- data/lib/jasmine-core/spec/core/matchers/toBeFalsySpec.js +0 -38
- data/lib/jasmine-core/spec/core/matchers/toBeGreaterThanOrEqualSpec.js +0 -29
- data/lib/jasmine-core/spec/core/matchers/toBeGreaterThanSpec.js +0 -20
- data/lib/jasmine-core/spec/core/matchers/toBeLessThanOrEqualSpec.js +0 -29
- data/lib/jasmine-core/spec/core/matchers/toBeLessThanSpec.js +0 -20
- data/lib/jasmine-core/spec/core/matchers/toBeNaNSpec.js +0 -37
- data/lib/jasmine-core/spec/core/matchers/toBeNegativeInfinitySpec.js +0 -31
- data/lib/jasmine-core/spec/core/matchers/toBeNullSpec.js +0 -17
- data/lib/jasmine-core/spec/core/matchers/toBePositiveInfinitySpec.js +0 -31
- data/lib/jasmine-core/spec/core/matchers/toBeSpec.js +0 -17
- data/lib/jasmine-core/spec/core/matchers/toBeTruthySpec.js +0 -38
- data/lib/jasmine-core/spec/core/matchers/toBeUndefinedSpec.js +0 -18
- data/lib/jasmine-core/spec/core/matchers/toContainSpec.js +0 -26
- data/lib/jasmine-core/spec/core/matchers/toEqualSpec.js +0 -785
- data/lib/jasmine-core/spec/core/matchers/toHaveBeenCalledBeforeSpec.js +0 -99
- data/lib/jasmine-core/spec/core/matchers/toHaveBeenCalledSpec.js +0 -47
- data/lib/jasmine-core/spec/core/matchers/toHaveBeenCalledTimesSpec.js +0 -86
- data/lib/jasmine-core/spec/core/matchers/toHaveBeenCalledWithSpec.js +0 -67
- data/lib/jasmine-core/spec/core/matchers/toMatchSpec.js +0 -43
- data/lib/jasmine-core/spec/core/matchers/toThrowErrorSpec.js +0 -315
- data/lib/jasmine-core/spec/core/matchers/toThrowMatchingSpec.js +0 -73
- data/lib/jasmine-core/spec/core/matchers/toThrowSpec.js +0 -100
- data/lib/jasmine-core/spec/helpers/BrowserFlags.js +0 -15
- data/lib/jasmine-core/spec/helpers/asyncAwait.js +0 -27
- data/lib/jasmine-core/spec/helpers/checkForMap.js +0 -37
- data/lib/jasmine-core/spec/helpers/checkForSet.js +0 -41
- data/lib/jasmine-core/spec/helpers/checkForSymbol.js +0 -28
- data/lib/jasmine-core/spec/helpers/checkForTypedArrays.js +0 -20
- data/lib/jasmine-core/spec/helpers/defineJasmineUnderTest.js +0 -6
- data/lib/jasmine-core/spec/helpers/integrationMatchers.js +0 -43
- data/lib/jasmine-core/spec/helpers/nodeDefineJasmineUnderTest.js +0 -30
- data/lib/jasmine-core/spec/html/HtmlReporterSpec.js +0 -1261
- data/lib/jasmine-core/spec/html/HtmlSpecFilterSpec.js +0 -18
- data/lib/jasmine-core/spec/html/MatchersHtmlSpec.js +0 -37
- data/lib/jasmine-core/spec/html/PrettyPrintHtmlSpec.js +0 -27
- data/lib/jasmine-core/spec/html/QueryStringSpec.js +0 -72
- data/lib/jasmine-core/spec/html/ResultsNodeSpec.js +0 -62
- data/lib/jasmine-core/spec/html/SpyRegistryHtmlSpec.js +0 -39
- data/lib/jasmine-core/spec/html/matchers/toHaveClassSpec.js +0 -48
- data/lib/jasmine-core/spec/npmPackage/npmPackageSpec.js +0 -101
- data/lib/jasmine-core/spec/performance/large_object_test.js +0 -36
- data/lib/jasmine-core/spec/performance/performance_test.js +0 -10
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 98e75bc149c63002aece96ae344bb358e807d187
|
4
|
+
data.tar.gz: 454fb581fdf962b099c7ca2f827aee46f20e633f
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 8afeb955927ee74c2371ade5308627d21beb8952061a619f9190e8feef3b92a15613dbd5cc2348a4df19019ac07bdfefb2e170db66035d074854d7965f870ee9
|
7
|
+
data.tar.gz: 6d8e478948454fe8c03c990218450f46d0535fb5e7c4daa2e3668e0c6fe0fa15a1e488deed163e68f3ea496913d18dd16060d4018bb8bd0d6a3ace672588b04e
|
@@ -25,7 +25,6 @@ jasmineRequire.html = function(j$) {
|
|
25
25
|
j$.HtmlReporter = jasmineRequire.HtmlReporter(j$);
|
26
26
|
j$.QueryString = jasmineRequire.QueryString();
|
27
27
|
j$.HtmlSpecFilter = jasmineRequire.HtmlSpecFilter();
|
28
|
-
j$.matchers.toHaveClass = jasmineRequire.toHaveClass(j$);
|
29
28
|
};
|
30
29
|
|
31
30
|
jasmineRequire.HtmlReporter = function(j$) {
|
@@ -600,37 +599,3 @@ jasmineRequire.QueryString = function() {
|
|
600
599
|
|
601
600
|
return QueryString;
|
602
601
|
};
|
603
|
-
|
604
|
-
jasmineRequire.toHaveClass = function(j$) {
|
605
|
-
/**
|
606
|
-
* {@link expect} the actual value to be a DOM element that has the expected class
|
607
|
-
* @function
|
608
|
-
* @name matchers#toHaveClass
|
609
|
-
* @param {Object} expected - The class name to test for
|
610
|
-
* @example
|
611
|
-
* var el = document.createElement('div');
|
612
|
-
* el.className = 'foo bar baz';
|
613
|
-
* expect(el).toHaveClass('bar');
|
614
|
-
*/
|
615
|
-
function toHaveClass(util, customEqualityTesters) {
|
616
|
-
return {
|
617
|
-
compare: function(actual, expected) {
|
618
|
-
if (!isElement(actual)) {
|
619
|
-
throw new Error(j$.pp(actual) + ' is not a DOM element');
|
620
|
-
}
|
621
|
-
|
622
|
-
return {
|
623
|
-
pass: actual.classList.contains(expected)
|
624
|
-
};
|
625
|
-
}
|
626
|
-
};
|
627
|
-
}
|
628
|
-
|
629
|
-
function isElement(maybeEl) {
|
630
|
-
return maybeEl &&
|
631
|
-
maybeEl.classList &&
|
632
|
-
j$.isFunction_(maybeEl.classList.contains);
|
633
|
-
}
|
634
|
-
|
635
|
-
return toHaveClass;
|
636
|
-
};
|
@@ -33,13 +33,7 @@ body { overflow-y: scroll; }
|
|
33
33
|
.jasmine_html-reporter .jasmine-bar.jasmine-passed { background-color: #007069; }
|
34
34
|
.jasmine_html-reporter .jasmine-bar.jasmine-incomplete { background-color: #bababa; }
|
35
35
|
.jasmine_html-reporter .jasmine-bar.jasmine-skipped { background-color: #bababa; }
|
36
|
-
<<<<<<< HEAD
|
37
|
-
||||||| merged common ancestors
|
38
|
-
.jasmine_html-reporter .jasmine-bar.jasmine-errored { background-color: #ca3a11; }
|
39
|
-
=======
|
40
|
-
.jasmine_html-reporter .jasmine-bar.jasmine-errored { background-color: #ca3a11; }
|
41
36
|
.jasmine_html-reporter .jasmine-bar.jasmine-warning { background-color: #ba9d37; color: #333; }
|
42
|
-
>>>>>>> master
|
43
37
|
.jasmine_html-reporter .jasmine-bar.jasmine-menu { background-color: #fff; color: #aaa; }
|
44
38
|
.jasmine_html-reporter .jasmine-bar.jasmine-menu a { color: #333; }
|
45
39
|
.jasmine_html-reporter .jasmine-bar a { color: white; }
|
data/lib/jasmine-core/jasmine.js
CHANGED
@@ -85,6 +85,11 @@ var getJasmineRequireObj = (function (jasmineGlobal) {
|
|
85
85
|
j$.ObjectPath = jRequire.ObjectPath(j$);
|
86
86
|
j$.GlobalErrors = jRequire.GlobalErrors(j$);
|
87
87
|
|
88
|
+
j$.Truthy = jRequire.Truthy(j$);
|
89
|
+
j$.Falsy = jRequire.Falsy(j$);
|
90
|
+
j$.Empty = jRequire.Empty(j$);
|
91
|
+
j$.NotEmpty = jRequire.NotEmpty(j$);
|
92
|
+
|
88
93
|
j$.matchers = jRequire.requireMatchers(jRequire, j$);
|
89
94
|
|
90
95
|
return j$;
|
@@ -116,6 +121,7 @@ getJasmineRequireObj().requireMatchers = function(jRequire, j$) {
|
|
116
121
|
'toHaveBeenCalledBefore',
|
117
122
|
'toHaveBeenCalledTimes',
|
118
123
|
'toHaveBeenCalledWith',
|
124
|
+
'toHaveClass',
|
119
125
|
'toMatch',
|
120
126
|
'toThrow',
|
121
127
|
'toThrowError',
|
@@ -254,8 +260,8 @@ getJasmineRequireObj().base = function(j$, jasmineGlobal) {
|
|
254
260
|
return func.name;
|
255
261
|
}
|
256
262
|
|
257
|
-
var matches = func.toString().match(/^\s*function\s*(\w
|
258
|
-
func.toString().match(/^\s*\[object\s*(\w
|
263
|
+
var matches = func.toString().match(/^\s*function\s*(\w+)\s*\(/) ||
|
264
|
+
func.toString().match(/^\s*\[object\s*(\w+)Constructor\]/);
|
259
265
|
|
260
266
|
return matches ? matches[1] : '<anonymous>';
|
261
267
|
};
|
@@ -281,6 +287,38 @@ getJasmineRequireObj().base = function(j$, jasmineGlobal) {
|
|
281
287
|
return new j$.Anything();
|
282
288
|
};
|
283
289
|
|
290
|
+
/**
|
291
|
+
* Get a matcher, usable in any {@link matchers|matcher} that uses Jasmine's equality (e.g. {@link matchers#toEqual|toEqual}, {@link matchers#toContain|toContain}, or {@link matchers#toHaveBeenCalledWith|toHaveBeenCalledWith}),
|
292
|
+
* that will succeed if the actual value being compared is `true` or anything truthy.
|
293
|
+
* @name jasmine.truthy
|
294
|
+
* @function
|
295
|
+
*/
|
296
|
+
j$.truthy = function() {return new j$.Truthy();};
|
297
|
+
|
298
|
+
/**
|
299
|
+
* Get a matcher, usable in any {@link matchers|matcher} that uses Jasmine's equality (e.g. {@link matchers#toEqual|toEqual}, {@link matchers#toContain|toContain}, or {@link matchers#toHaveBeenCalledWith|toHaveBeenCalledWith}),
|
300
|
+
* that will succeed if the actual value being compared is `null`, `undefined`, `0`, `false` or anything falsey.
|
301
|
+
* @name jasmine.falsy
|
302
|
+
* @function
|
303
|
+
*/
|
304
|
+
j$.falsy = function() {return new j$.Falsy();};
|
305
|
+
|
306
|
+
/**
|
307
|
+
* Get a matcher, usable in any {@link matchers|matcher} that uses Jasmine's equality (e.g. {@link matchers#toEqual|toEqual}, {@link matchers#toContain|toContain}, or {@link matchers#toHaveBeenCalledWith|toHaveBeenCalledWith}),
|
308
|
+
* that will succeed if the actual value being compared is empty.
|
309
|
+
* @name jasmine.empty
|
310
|
+
* @function
|
311
|
+
*/
|
312
|
+
j$.empty = function() {return new j$.Empty();};
|
313
|
+
|
314
|
+
/**
|
315
|
+
* Get a matcher, usable in any {@link matchers|matcher} that uses Jasmine's equality (e.g. {@link matchers#toEqual|toEqual}, {@link matchers#toContain|toContain}, or {@link matchers#toHaveBeenCalledWith|toHaveBeenCalledWith}),
|
316
|
+
* that will succeed if the actual value being compared is not empty.
|
317
|
+
* @name jasmine.notEmpty
|
318
|
+
* @function
|
319
|
+
*/
|
320
|
+
j$.notEmpty = function() {return new j$.NotEmpty();};
|
321
|
+
|
284
322
|
/**
|
285
323
|
* Get a matcher, usable in any {@link matchers|matcher} that uses Jasmine's equality (e.g. {@link matchers#toEqual|toEqual}, {@link matchers#toContain|toContain}, or {@link matchers#toHaveBeenCalledWith|toHaveBeenCalledWith}),
|
286
324
|
* that will succeed if the actual value being compared contains at least the keys and values.
|
@@ -641,8 +679,11 @@ getJasmineRequireObj().Spec = function(j$) {
|
|
641
679
|
return this.getSpecName(this);
|
642
680
|
};
|
643
681
|
|
644
|
-
Spec.prototype.addDeprecationWarning = function(
|
645
|
-
|
682
|
+
Spec.prototype.addDeprecationWarning = function(deprecation) {
|
683
|
+
if (typeof deprecation === 'string') {
|
684
|
+
deprecation = { message: deprecation };
|
685
|
+
}
|
686
|
+
this.result.deprecationWarnings.push(this.expectationResultFactory(deprecation));
|
646
687
|
};
|
647
688
|
|
648
689
|
var extractCustomPendingMessage = function(e) {
|
@@ -753,17 +794,29 @@ getJasmineRequireObj().Env = function(j$) {
|
|
753
794
|
return currentSpec || currentSuite();
|
754
795
|
};
|
755
796
|
|
756
|
-
var globalErrors =
|
757
|
-
|
758
|
-
|
759
|
-
|
760
|
-
|
761
|
-
|
762
|
-
|
763
|
-
|
764
|
-
|
797
|
+
var globalErrors = null;
|
798
|
+
|
799
|
+
var installGlobalErrors = function() {
|
800
|
+
if (globalErrors) {
|
801
|
+
return;
|
802
|
+
}
|
803
|
+
|
804
|
+
globalErrors = new j$.GlobalErrors();
|
805
|
+
globalErrors.install();
|
806
|
+
};
|
807
|
+
|
808
|
+
if (!options.suppressLoadErrors) {
|
809
|
+
installGlobalErrors();
|
810
|
+
globalErrors.pushListener(function(message, filename, lineno) {
|
811
|
+
topSuite.result.failedExpectations.push({
|
812
|
+
passed: false,
|
813
|
+
globalErrorType: 'load',
|
814
|
+
message: message,
|
815
|
+
filename: filename,
|
816
|
+
lineno: lineno
|
817
|
+
});
|
765
818
|
});
|
766
|
-
}
|
819
|
+
}
|
767
820
|
|
768
821
|
this.specFilter = function() {
|
769
822
|
return true;
|
@@ -908,18 +961,11 @@ getJasmineRequireObj().Env = function(j$) {
|
|
908
961
|
return seed;
|
909
962
|
};
|
910
963
|
|
911
|
-
this.
|
912
|
-
if (handlingLoadErrors) {
|
913
|
-
globalErrors.popListener();
|
914
|
-
}
|
915
|
-
handlingLoadErrors = false;
|
916
|
-
};
|
917
|
-
|
918
|
-
this.deprecated = function(msg) {
|
964
|
+
this.deprecated = function(deprecation) {
|
919
965
|
var runnable = currentRunnable() || topSuite;
|
920
|
-
runnable.addDeprecationWarning(
|
921
|
-
if(typeof console !== 'undefined' && typeof console.
|
922
|
-
console.error('DEPRECATION:
|
966
|
+
runnable.addDeprecationWarning(deprecation);
|
967
|
+
if(typeof console !== 'undefined' && typeof console.error === 'function') {
|
968
|
+
console.error('DEPRECATION:', deprecation);
|
923
969
|
}
|
924
970
|
};
|
925
971
|
|
@@ -967,6 +1013,8 @@ getJasmineRequireObj().Env = function(j$) {
|
|
967
1013
|
* @function
|
968
1014
|
* @name Reporter#jasmineStarted
|
969
1015
|
* @param {JasmineStartedInfo} suiteInfo Information about the full Jasmine suite that is being run
|
1016
|
+
* @param {Function} [done] Used to specify to Jasmine that this callback is asynchronous and Jasmine should wait until it has been called before moving on.
|
1017
|
+
* @returns {} Optionally return a Promise instead of using `done` to cause Jasmine to wait for completion.
|
970
1018
|
*/
|
971
1019
|
'jasmineStarted',
|
972
1020
|
/**
|
@@ -974,6 +1022,8 @@ getJasmineRequireObj().Env = function(j$) {
|
|
974
1022
|
* @function
|
975
1023
|
* @name Reporter#jasmineDone
|
976
1024
|
* @param {JasmineDoneInfo} suiteInfo Information about the full Jasmine suite that just finished running.
|
1025
|
+
* @param {Function} [done] Used to specify to Jasmine that this callback is asynchronous and Jasmine should wait until it has been called before moving on.
|
1026
|
+
* @returns {} Optionally return a Promise instead of using `done` to cause Jasmine to wait for completion.
|
977
1027
|
*/
|
978
1028
|
'jasmineDone',
|
979
1029
|
/**
|
@@ -981,6 +1031,8 @@ getJasmineRequireObj().Env = function(j$) {
|
|
981
1031
|
* @function
|
982
1032
|
* @name Reporter#suiteStarted
|
983
1033
|
* @param {SuiteResult} result Information about the individual {@link describe} being run
|
1034
|
+
* @param {Function} [done] Used to specify to Jasmine that this callback is asynchronous and Jasmine should wait until it has been called before moving on.
|
1035
|
+
* @returns {} Optionally return a Promise instead of using `done` to cause Jasmine to wait for completion.
|
984
1036
|
*/
|
985
1037
|
'suiteStarted',
|
986
1038
|
/**
|
@@ -990,6 +1042,8 @@ getJasmineRequireObj().Env = function(j$) {
|
|
990
1042
|
* @function
|
991
1043
|
* @name Reporter#suiteDone
|
992
1044
|
* @param {SuiteResult} result
|
1045
|
+
* @param {Function} [done] Used to specify to Jasmine that this callback is asynchronous and Jasmine should wait until it has been called before moving on.
|
1046
|
+
* @returns {} Optionally return a Promise instead of using `done` to cause Jasmine to wait for completion.
|
993
1047
|
*/
|
994
1048
|
'suiteDone',
|
995
1049
|
/**
|
@@ -997,6 +1051,8 @@ getJasmineRequireObj().Env = function(j$) {
|
|
997
1051
|
* @function
|
998
1052
|
* @name Reporter#specStarted
|
999
1053
|
* @param {SpecResult} result Information about the individual {@link it} being run
|
1054
|
+
* @param {Function} [done] Used to specify to Jasmine that this callback is asynchronous and Jasmine should wait until it has been called before moving on.
|
1055
|
+
* @returns {} Optionally return a Promise instead of using `done` to cause Jasmine to wait for completion.
|
1000
1056
|
*/
|
1001
1057
|
'specStarted',
|
1002
1058
|
/**
|
@@ -1006,13 +1062,15 @@ getJasmineRequireObj().Env = function(j$) {
|
|
1006
1062
|
* @function
|
1007
1063
|
* @name Reporter#specDone
|
1008
1064
|
* @param {SpecResult} result
|
1065
|
+
* @param {Function} [done] Used to specify to Jasmine that this callback is asynchronous and Jasmine should wait until it has been called before moving on.
|
1066
|
+
* @returns {} Optionally return a Promise instead of using `done` to cause Jasmine to wait for completion.
|
1009
1067
|
*/
|
1010
1068
|
'specDone'
|
1011
1069
|
], queueRunnerFactory);
|
1012
1070
|
|
1013
1071
|
this.execute = function(runnablesToRun) {
|
1014
1072
|
var self = this;
|
1015
|
-
|
1073
|
+
installGlobalErrors();
|
1016
1074
|
|
1017
1075
|
if(!runnablesToRun) {
|
1018
1076
|
if (focusedRunnables.length) {
|
@@ -1707,6 +1765,74 @@ getJasmineRequireObj().ArrayWithExactContents = function(j$) {
|
|
1707
1765
|
return ArrayWithExactContents;
|
1708
1766
|
};
|
1709
1767
|
|
1768
|
+
getJasmineRequireObj().Empty = function (j$) {
|
1769
|
+
|
1770
|
+
function Empty() {}
|
1771
|
+
|
1772
|
+
Empty.prototype.asymmetricMatch = function (other) {
|
1773
|
+
if (j$.isString_(other) || j$.isArray_(other) || j$.isTypedArray_(other)) {
|
1774
|
+
return other.length === 0;
|
1775
|
+
}
|
1776
|
+
|
1777
|
+
if (j$.isMap(other) || j$.isSet(other)) {
|
1778
|
+
return other.size === 0;
|
1779
|
+
}
|
1780
|
+
|
1781
|
+
if (j$.isObject_(other)) {
|
1782
|
+
return Object.keys(other).length === 0;
|
1783
|
+
}
|
1784
|
+
return false;
|
1785
|
+
};
|
1786
|
+
|
1787
|
+
Empty.prototype.jasmineToString = function () {
|
1788
|
+
return '<jasmine.empty>';
|
1789
|
+
};
|
1790
|
+
|
1791
|
+
return Empty;
|
1792
|
+
};
|
1793
|
+
|
1794
|
+
getJasmineRequireObj().Falsy = function(j$) {
|
1795
|
+
|
1796
|
+
function Falsy() {}
|
1797
|
+
|
1798
|
+
Falsy.prototype.asymmetricMatch = function(other) {
|
1799
|
+
return !other;
|
1800
|
+
};
|
1801
|
+
|
1802
|
+
Falsy.prototype.jasmineToString = function() {
|
1803
|
+
return '<jasmine.falsy>';
|
1804
|
+
};
|
1805
|
+
|
1806
|
+
return Falsy;
|
1807
|
+
};
|
1808
|
+
|
1809
|
+
getJasmineRequireObj().NotEmpty = function (j$) {
|
1810
|
+
|
1811
|
+
function NotEmpty() {}
|
1812
|
+
|
1813
|
+
NotEmpty.prototype.asymmetricMatch = function (other) {
|
1814
|
+
if (j$.isString_(other) || j$.isArray_(other) || j$.isTypedArray_(other)) {
|
1815
|
+
return other.length !== 0;
|
1816
|
+
}
|
1817
|
+
|
1818
|
+
if (j$.isMap(other) || j$.isSet(other)) {
|
1819
|
+
return other.size !== 0;
|
1820
|
+
}
|
1821
|
+
|
1822
|
+
if (j$.isObject_(other)) {
|
1823
|
+
return Object.keys(other).length !== 0;
|
1824
|
+
}
|
1825
|
+
|
1826
|
+
return false;
|
1827
|
+
};
|
1828
|
+
|
1829
|
+
NotEmpty.prototype.jasmineToString = function () {
|
1830
|
+
return '<jasmine.notEmpty>';
|
1831
|
+
};
|
1832
|
+
|
1833
|
+
return NotEmpty;
|
1834
|
+
};
|
1835
|
+
|
1710
1836
|
getJasmineRequireObj().ObjectContaining = function(j$) {
|
1711
1837
|
|
1712
1838
|
function ObjectContaining(sample) {
|
@@ -1778,6 +1904,21 @@ getJasmineRequireObj().StringMatching = function(j$) {
|
|
1778
1904
|
return StringMatching;
|
1779
1905
|
};
|
1780
1906
|
|
1907
|
+
getJasmineRequireObj().Truthy = function(j$) {
|
1908
|
+
|
1909
|
+
function Truthy() {}
|
1910
|
+
|
1911
|
+
Truthy.prototype.asymmetricMatch = function(other) {
|
1912
|
+
return !!other;
|
1913
|
+
};
|
1914
|
+
|
1915
|
+
Truthy.prototype.jasmineToString = function() {
|
1916
|
+
return '<jasmine.truthy>';
|
1917
|
+
};
|
1918
|
+
|
1919
|
+
return Truthy;
|
1920
|
+
};
|
1921
|
+
|
1781
1922
|
getJasmineRequireObj().CallTracker = function(j$) {
|
1782
1923
|
|
1783
1924
|
/**
|
@@ -2357,18 +2498,22 @@ getJasmineRequireObj().ExceptionFormatter = function(j$) {
|
|
2357
2498
|
|
2358
2499
|
var stackTrace = new j$.StackTrace(error.stack);
|
2359
2500
|
var lines = filterJasmine(stackTrace);
|
2501
|
+
var result = '';
|
2360
2502
|
|
2361
2503
|
if (stackTrace.message) {
|
2362
2504
|
lines.unshift(stackTrace.message);
|
2363
2505
|
}
|
2364
2506
|
|
2365
|
-
|
2507
|
+
result += formatProperties(error);
|
2508
|
+
result += lines.join('\n');
|
2509
|
+
|
2510
|
+
return result;
|
2366
2511
|
};
|
2367
2512
|
|
2368
2513
|
function filterJasmine(stackTrace) {
|
2369
2514
|
var result = [],
|
2370
2515
|
jasmineMarker = stackTrace.style === 'webkit' ? '<Jasmine>' : ' at <Jasmine>';
|
2371
|
-
|
2516
|
+
|
2372
2517
|
stackTrace.frames.forEach(function(frame) {
|
2373
2518
|
if (frame.file && frame.file !== jasmineFile) {
|
2374
2519
|
result.push(frame.raw);
|
@@ -2376,9 +2521,33 @@ getJasmineRequireObj().ExceptionFormatter = function(j$) {
|
|
2376
2521
|
result.push(jasmineMarker);
|
2377
2522
|
}
|
2378
2523
|
});
|
2379
|
-
|
2524
|
+
|
2380
2525
|
return result;
|
2381
2526
|
}
|
2527
|
+
|
2528
|
+
function formatProperties(error) {
|
2529
|
+
if (!(error instanceof Object)) {
|
2530
|
+
return;
|
2531
|
+
}
|
2532
|
+
|
2533
|
+
var ignored = ['name', 'message', 'stack', 'fileName', 'sourceURL', 'line', 'lineNumber', 'column', 'description'];
|
2534
|
+
var result = {};
|
2535
|
+
var empty = true;
|
2536
|
+
|
2537
|
+
for (var prop in error) {
|
2538
|
+
if (j$.util.arrayContains(ignored, prop)) {
|
2539
|
+
continue;
|
2540
|
+
}
|
2541
|
+
result[prop] = error[prop];
|
2542
|
+
empty = false;
|
2543
|
+
}
|
2544
|
+
|
2545
|
+
if (!empty) {
|
2546
|
+
return 'error properties: ' + j$.pp(result) + '\n';
|
2547
|
+
}
|
2548
|
+
|
2549
|
+
return '';
|
2550
|
+
}
|
2382
2551
|
}
|
2383
2552
|
|
2384
2553
|
return ExceptionFormatter;
|
@@ -2530,10 +2699,14 @@ getJasmineRequireObj().buildExpectationResult = function() {
|
|
2530
2699
|
|
2531
2700
|
var error = options.error;
|
2532
2701
|
if (!error) {
|
2533
|
-
|
2534
|
-
|
2535
|
-
}
|
2536
|
-
|
2702
|
+
if (options.stack) {
|
2703
|
+
error = options;
|
2704
|
+
} else {
|
2705
|
+
try {
|
2706
|
+
throw new Error(message());
|
2707
|
+
} catch (e) {
|
2708
|
+
error = e;
|
2709
|
+
}
|
2537
2710
|
}
|
2538
2711
|
}
|
2539
2712
|
return stackFormatter(error);
|
@@ -3766,6 +3939,40 @@ getJasmineRequireObj().toHaveBeenCalledWith = function(j$) {
|
|
3766
3939
|
return toHaveBeenCalledWith;
|
3767
3940
|
};
|
3768
3941
|
|
3942
|
+
getJasmineRequireObj().toHaveClass = function(j$) {
|
3943
|
+
/**
|
3944
|
+
* {@link expect} the actual value to be a DOM element that has the expected class
|
3945
|
+
* @function
|
3946
|
+
* @name matchers#toHaveClass
|
3947
|
+
* @param {Object} expected - The class name to test for
|
3948
|
+
* @example
|
3949
|
+
* var el = document.createElement('div');
|
3950
|
+
* el.className = 'foo bar baz';
|
3951
|
+
* expect(el).toHaveClass('bar');
|
3952
|
+
*/
|
3953
|
+
function toHaveClass(util, customEqualityTesters) {
|
3954
|
+
return {
|
3955
|
+
compare: function(actual, expected) {
|
3956
|
+
if (!isElement(actual)) {
|
3957
|
+
throw new Error(j$.pp(actual) + ' is not a DOM element');
|
3958
|
+
}
|
3959
|
+
|
3960
|
+
return {
|
3961
|
+
pass: actual.classList.contains(expected)
|
3962
|
+
};
|
3963
|
+
}
|
3964
|
+
};
|
3965
|
+
}
|
3966
|
+
|
3967
|
+
function isElement(maybeEl) {
|
3968
|
+
return maybeEl &&
|
3969
|
+
maybeEl.classList &&
|
3970
|
+
j$.isFunction_(maybeEl.classList.contains);
|
3971
|
+
}
|
3972
|
+
|
3973
|
+
return toHaveClass;
|
3974
|
+
};
|
3975
|
+
|
3769
3976
|
getJasmineRequireObj().toMatch = function(j$) {
|
3770
3977
|
|
3771
3978
|
var getErrorMsg = j$.formatErrorMsg('<toMatch>', 'expect(<expectation>).toMatch(<string> || <regexp>)');
|
@@ -5749,8 +5956,11 @@ getJasmineRequireObj().Suite = function(j$) {
|
|
5749
5956
|
}
|
5750
5957
|
};
|
5751
5958
|
|
5752
|
-
Suite.prototype.addDeprecationWarning = function(
|
5753
|
-
|
5959
|
+
Suite.prototype.addDeprecationWarning = function(deprecation) {
|
5960
|
+
if (typeof deprecation === 'string') {
|
5961
|
+
deprecation = { message: deprecation };
|
5962
|
+
}
|
5963
|
+
this.result.deprecationWarnings.push(this.expectationResultFactory(deprecation));
|
5754
5964
|
};
|
5755
5965
|
|
5756
5966
|
function isFailure(args) {
|
@@ -6020,5 +6230,5 @@ getJasmineRequireObj().UserContext = function(j$) {
|
|
6020
6230
|
};
|
6021
6231
|
|
6022
6232
|
getJasmineRequireObj().version = function() {
|
6023
|
-
return '3.
|
6233
|
+
return '3.1.0';
|
6024
6234
|
};
|