jasmine-core 3.0.0 → 3.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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
|
};
|