jasmine-core 3.7.1 → 3.8.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/core.py +29 -0
- data/lib/jasmine-core/jasmine-html.js +20 -5
- data/lib/jasmine-core/jasmine.css +270 -127
- data/lib/jasmine-core/jasmine.js +336 -48
- data/lib/jasmine-core/version.rb +1 -1
- metadata +3 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: a1d57232cc4b128cad1a9e9ddbc94319bd2b56a24211eaae6e32fc1e5c181810
|
4
|
+
data.tar.gz: ca6ebdb25bc946e9b2abd7e71d22e2cdf22edf33ae86824ab5e7f07d9689cdba
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 0d7258d7339350d5bd68e4fa7da1b0170524f74a81c5ca1ca73f919924abde8efa98c1459bda1db2b89ca43973c821e93027ca8a0db720f67241a3aaa7b7c777
|
7
|
+
data.tar.gz: 61b1a8dfdb8d06916111340bd2a281ca0da8c102385ac5e011a7091d4813f9499928060686c3b92d15d2f6aeaec642f1036fc506f6448b917470b8e601ae070e
|
data/lib/jasmine-core/core.py
CHANGED
@@ -1,4 +1,33 @@
|
|
1
1
|
import pkg_resources
|
2
|
+
import os
|
3
|
+
|
4
|
+
if 'SUPPRESS_JASMINE_DEPRECATION' not in os.environ:
|
5
|
+
print('DEPRECATION WARNING:\n' +
|
6
|
+
'\n' +
|
7
|
+
'The Jasmine packages for Python are deprecated. There will be no further\n' +
|
8
|
+
'releases after the end of the Jasmine 3.x series. We recommend migrating to the\n' +
|
9
|
+
'following options:\n' +
|
10
|
+
'\n' +
|
11
|
+
'* jasmine-browser-runner (<https://github.com/jasmine/jasmine-browser>,\n' +
|
12
|
+
' `npm install jasmine-browser-runner`) to run specs in browsers, including\n' +
|
13
|
+
' headless Chrome and Saucelabs. This is the most direct replacement for the\n' +
|
14
|
+
' jasmine server` and `jasmine ci` commands provided by the `jasmine` Python\n' +
|
15
|
+
' package.\n' +
|
16
|
+
'* The jasmine npm package (<https://github.com/jasmine/jasmine-npm>,\n' +
|
17
|
+
' `npm install jasmine`) to run specs under Node.js.\n' +
|
18
|
+
'* The standalone distribution from the latest Jasmine release\n' +
|
19
|
+
' <https://github.com/jasmine/jasmine/releases> to run specs in browsers with\n' +
|
20
|
+
' no additional tools.\n' +
|
21
|
+
'* The jasmine-core npm package (`npm install jasmine-core`) if all you need is\n' +
|
22
|
+
' the Jasmine assets. This is the direct equivalent of the jasmine-core Python\n' +
|
23
|
+
' package.\n' +
|
24
|
+
'\n' +
|
25
|
+
'Except for the standalone distribution, all of the above are distributed through\n' +
|
26
|
+
'npm.\n' +
|
27
|
+
'\n' +
|
28
|
+
'To prevent this message from appearing, set the SUPPRESS_JASMINE_DEPRECATION\n' +
|
29
|
+
'environment variable.\n')
|
30
|
+
|
2
31
|
|
3
32
|
try:
|
4
33
|
from collections import OrderedDict
|
@@ -208,7 +208,10 @@ jasmineRequire.HtmlReporter = function(j$) {
|
|
208
208
|
' of ' +
|
209
209
|
totalSpecsDefined +
|
210
210
|
' specs - run all';
|
211
|
-
|
211
|
+
// include window.location.pathname to fix issue with karma-jasmine-html-reporter in angular: see https://github.com/jasmine/jasmine/issues/1906
|
212
|
+
var skippedLink =
|
213
|
+
(window.location.pathname || '') +
|
214
|
+
addToExistingQueryString('spec', '');
|
212
215
|
alert.appendChild(
|
213
216
|
createDom(
|
214
217
|
'span',
|
@@ -565,7 +568,7 @@ jasmineRequire.HtmlReporter = function(j$) {
|
|
565
568
|
);
|
566
569
|
throwCheckbox.checked = config.oneFailurePerSpec;
|
567
570
|
throwCheckbox.onclick = function() {
|
568
|
-
navigateWithNewParam('
|
571
|
+
navigateWithNewParam('oneFailurePerSpec', !config.oneFailurePerSpec);
|
569
572
|
};
|
570
573
|
|
571
574
|
var randomCheckbox = optionsMenuDom.querySelector(
|
@@ -635,7 +638,11 @@ jasmineRequire.HtmlReporter = function(j$) {
|
|
635
638
|
suite = suite.parent;
|
636
639
|
}
|
637
640
|
|
638
|
-
|
641
|
+
// include window.location.pathname to fix issue with karma-jasmine-html-reporter in angular: see https://github.com/jasmine/jasmine/issues/1906
|
642
|
+
return (
|
643
|
+
(window.location.pathname || '') +
|
644
|
+
addToExistingQueryString('spec', els.join(' '))
|
645
|
+
);
|
639
646
|
}
|
640
647
|
|
641
648
|
function addDeprecationWarnings(result, runnableType) {
|
@@ -699,11 +706,19 @@ jasmineRequire.HtmlReporter = function(j$) {
|
|
699
706
|
}
|
700
707
|
|
701
708
|
function specHref(result) {
|
702
|
-
|
709
|
+
// include window.location.pathname to fix issue with karma-jasmine-html-reporter in angular: see https://github.com/jasmine/jasmine/issues/1906
|
710
|
+
return (
|
711
|
+
(window.location.pathname || '') +
|
712
|
+
addToExistingQueryString('spec', result.fullName)
|
713
|
+
);
|
703
714
|
}
|
704
715
|
|
705
716
|
function seedHref(seed) {
|
706
|
-
|
717
|
+
// include window.location.pathname to fix issue with karma-jasmine-html-reporter in angular: see https://github.com/jasmine/jasmine/issues/1906
|
718
|
+
return (
|
719
|
+
(window.location.pathname || '') +
|
720
|
+
addToExistingQueryString('seed', seed)
|
721
|
+
);
|
707
722
|
}
|
708
723
|
|
709
724
|
function defaultQueryString(key, value) {
|
@@ -1,128 +1,271 @@
|
|
1
1
|
@charset "UTF-8";
|
2
|
-
body {
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
.jasmine_html-reporter
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
.jasmine_html-reporter .jasmine-banner .jasmine-title { background: url("data:image/png;base64,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") no-repeat; background: url("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjwhLS0gQ3JlYXRlZCB3aXRoIElua3NjYXBlIChodHRwOi8vd3d3Lmlua3NjYXBlLm9yZy8pIC0tPgoKPHN2ZwogICB4bWxuczpkYz0iaHR0cDovL3B1cmwub3JnL2RjL2VsZW1lbnRzLzEuMS8iCiAgIHhtbG5zOmNjPSJodHRwOi8vY3JlYXRpdmVjb21tb25zLm9yZy9ucyMiCiAgIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyIKICAgeG1sbnM6c3ZnPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIKICAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogICB4bWxuczppbmtzY2FwZT0iaHR0cDovL3d3dy5pbmtzY2FwZS5vcmcvbmFtZXNwYWNlcy9pbmtzY2FwZSIKICAgdmVyc2lvbj0iMS4xIgogICB3aWR0aD0iNjgxLjk2MjUyIgogICBoZWlnaHQ9IjE4Ny41IgogICBpZD0ic3ZnMiIKICAgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+PG1ldGFkYXRhCiAgICAgaWQ9Im1ldGFkYXRhOCI+PHJkZjpSREY+PGNjOldvcmsKICAgICAgICAgcmRmOmFib3V0PSIiPjxkYzpmb3JtYXQ+aW1hZ2Uvc3ZnK3htbDwvZGM6Zm9ybWF0PjxkYzp0eXBlCiAgICAgICAgICAgcmRmOnJlc291cmNlPSJodHRwOi8vcHVybC5vcmcvZGMvZGNtaXR5cGUvU3RpbGxJbWFnZSIgLz48L2NjOldvcms+PC9yZGY6UkRGPjwvbWV0YWRhdGE+PGRlZnMKICAgICBpZD0iZGVmczYiPjxjbGlwUGF0aAogICAgICAgaWQ9ImNsaXBQYXRoMTgiPjxwYXRoCiAgICAgICAgIGQ9Ik0gMCwxNTAwIDAsMCBsIDU0NTUuNzQsMCAwLDE1MDAgTCAwLDE1MDAgeiIKICAgICAgICAgaW5rc2NhcGU6Y29ubmVjdG9yLWN1cnZhdHVyZT0iMCIKICAgICAgICAgaWQ9InBhdGgyMCIgLz48L2NsaXBQYXRoPjwvZGVmcz48ZwogICAgIHRyYW5zZm9ybT0ibWF0cml4KDEuMjUsMCwwLC0xLjI1LDAsMTg3LjUpIgogICAgIGlkPSJnMTAiPjxnCiAgICAgICB0cmFuc2Zvcm09InNjYWxlKDAuMSwwLjEpIgogICAgICAgaWQ9ImcxMiI+PGcKICAgICAgICAgaWQ9ImcxNCI+PGcKICAgICAgICAgICBjbGlwLXBhdGg9InVybCgjY2xpcFBhdGgxOCkiCiAgICAgICAgICAgaWQ9ImcxNiI+PHBhdGgKICAgICAgICAgICAgIGQ9Im0gMTU0NCw1OTkuNDM0IGMgMC45MiwtNDAuMzUyIDI1LjY4LC04MS42MDIgNzEuNTMsLTgxLjYwMiAyNy41MSwwIDQ3LjY4LDEyLjgzMiA2MS40NCwzNS43NTQgMTIuODMsMjIuOTMgMTIuODMsNTYuODUyIDEyLjgzLDgyLjUyNyBsIDAsMzI5LjE4NCAtNzEuNTIsMCAwLDEwNC41NDMgMjY2LjgzLDAgMCwtMTA0LjU0MyAtNzAuNiwwIDAsLTM0NC43NyBjIDAsLTU4LjY5MSAtMy42OCwtMTA0LjUzMSAtNDQuOTMsLTE1Mi4yMTggLTM2LjY4LC00Mi4xOCAtOTYuMjgsLTY2LjAyIC0xNTMuMTQsLTY2LjAyIC0xMTcuMzcsMCAtMjA3LjI0LDc3Ljk0MSAtMjAyLjY0LDE5Ny4xNDUgbCAxMzAuMiwwIgogICAgICAgICAgICAgaW5rc2NhcGU6Y29ubmVjdG9yLWN1cnZhdHVyZT0iMCIKICAgICAgICAgICAgIGlkPSJwYXRoMjIiCiAgICAgICAgICAgICBzdHlsZT0iZmlsbDojOGE0MTgyO2ZpbGwtb3BhY2l0eToxO2ZpbGwtcnVsZTpub256ZXJvO3N0cm9rZTpub25lIiAvPjxwYXRoCiAgICAgICAgICAgICBkPSJtIDIzMDEuNCw2NjIuNjk1IGMgMCw4MC43MDMgLTY2Ljk0LDE0NS44MTMgLTE0Ny42MywxNDUuODEzIC04My40NCwwIC0xNDcuNjMsLTY4Ljc4MSAtMTQ3LjYzLC0xNTEuMzAxIDAsLTc5Ljc4NSA2Ni45NCwtMTQ1LjgwMSAxNDUuOCwtMTQ1LjgwMSA4NC4zNSwwIDE0OS40Niw2Ny44NTIgMTQ5LjQ2LDE1MS4yODkgeiBtIC0xLjgzLC0xODEuNTQ3IGMgLTM1Ljc3LC01NC4wOTcgLTkzLjUzLC03OC44NTkgLTE1Ny43MiwtNzguODU5IC0xNDAuMywwIC0yNTEuMjQsMTE2LjQ0OSAtMjUxLjI0LDI1NC45MTggMCwxNDIuMTI5IDExMy43LDI2MC40MSAyNTYuNzQsMjYwLjQxIDYzLjI3LDAgMTE4LjI5LC0yOS4zMzYgMTUyLjIyLC04Mi41MjMgbCAwLDY5LjY4NyAxNzUuMTQsMCAwLC0xMDQuNTI3IC02MS40NCwwIDAsLTI4MC41OTggNjEuNDQsMCAwLC0xMDQuNTI3IC0xNzUuMTQsMCAwLDY2LjAxOSIKICAgICAgICAgICAgIGlua3NjYXBlOmNvbm5lY3Rvci1jdXJ2YXR1cmU9IjAiCiAgICAgICAgICAgICBpZD0icGF0aDI0IgogICAgICAgICAgICAgc3R5bGU9ImZpbGw6IzhhNDE4MjtmaWxsLW9wYWNpdHk6MTtmaWxsLXJ1bGU6bm9uemVybztzdHJva2U6bm9uZSIgLz48cGF0aAogICAgICAgICAgICAgZD0ibSAyNjIyLjMzLDU1Ny4yNTggYyAzLjY3LC00NC4wMTYgMzMuMDEsLTczLjM0OCA3OC44NiwtNzMuMzQ4IDMzLjkzLDAgNjYuOTMsMjMuODI0IDY2LjkzLDYwLjUwNCAwLDQ4LjYwNiAtNDUuODQsNTYuODU2IC04My40NCw2Ni45NDEgLTg1LjI4LDIyLjAwNCAtMTc4LjgxLDQ4LjYwNiAtMTc4LjgxLDE1NS44NzkgMCw5My41MzYgNzguODYsMTQ3LjYzMyAxNjUuOTgsMTQ3LjYzMyA0NCwwIDgzLjQzLC05LjE3NiAxMTAuOTQsLTQ0LjAwOCBsIDAsMzMuOTIyIDgyLjUzLDAgMCwtMTMyLjk2NSAtMTA4LjIxLDAgYyAtMS44MywzNC44NTYgLTI4LjQyLDU3Ljc3NCAtNjMuMjYsNTcuNzc0IC0zMC4yNiwwIC02Mi4zNSwtMTcuNDIyIC02Mi4zNSwtNTEuMzQ4IDAsLTQ1Ljg0NyA0NC45MywtNTUuOTMgODAuNjksLTY0LjE4IDg4LjAyLC0yMC4xNzUgMTgyLjQ3LC00Ny42OTUgMTgyLjQ3LC0xNTcuNzM0IDAsLTk5LjAyNyAtODMuNDQsLTE1NC4wMzkgLTE3NS4xMywtMTU0LjAzOSAtNDkuNTMsMCAtOTQuNDYsMTUuNTgyIC0xMjYuNTUsNTMuMTggbCAwLC00MC4zNCAtODUuMjcsMCAwLDE0Mi4xMjkgMTE0LjYyLDAiCiAgICAgICAgICAgICBpbmtzY2FwZTpjb25uZWN0b3ItY3VydmF0dXJlPSIwIgogICAgICAgICAgICAgaWQ9InBhdGgyNiIKICAgICAgICAgICAgIHN0eWxlPSJmaWxsOiM4YTQxODI7ZmlsbC1vcGFjaXR5OjE7ZmlsbC1ydWxlOm5vbnplcm87c3Ryb2tlOm5vbmUiIC8+PHBhdGgKICAgICAgICAgICAgIGQ9Im0gMjk4OC4xOCw4MDAuMjU0IC02My4yNiwwIDAsMTA0LjUyNyAxNjUuMDUsMCAwLC03My4zNTUgYyAzMS4xOCw1MS4zNDcgNzguODYsODUuMjc3IDE0MS4yMSw4NS4yNzcgNjcuODUsMCAxMjQuNzEsLTQxLjI1OCAxNTIuMjEsLTEwMi42OTkgMjYuNiw2Mi4zNTEgOTIuNjIsMTAyLjY5OSAxNjAuNDcsMTAyLjY5OSA1My4xOSwwIDEwNS40NiwtMjIgMTQxLjIxLC02Mi4zNTEgMzguNTIsLTQ0LjkzOCAzOC41MiwtOTMuNTMyIDM4LjUyLC0xNDkuNDU3IGwgMCwtMTg1LjIzOSA2My4yNywwIDAsLTEwNC41MjcgLTIzOC40MiwwIDAsMTA0LjUyNyA2My4yOCwwIDAsMTU3LjcxNSBjIDAsMzIuMTAyIDAsNjAuNTI3IC0xNC42Nyw4OC45NTcgLTE4LjM0LDI2LjU4MiAtNDguNjEsNDAuMzQ0IC03OS43Nyw0MC4zNDQgLTMwLjI2LDAgLTYzLjI4LC0xMi44NDQgLTgyLjUzLC0zNi42NzIgLTIyLjkzLC0yOS4zNTUgLTIyLjkzLC01Ni44NjMgLTIyLjkzLC05Mi42MjkgbCAwLC0xNTcuNzE1IDYzLjI3LDAgMCwtMTA0LjUyNyAtMjM4LjQxLDAgMCwxMDQuNTI3IDYzLjI4LDAgMCwxNTAuMzgzIGMgMCwyOS4zNDggMCw2Ni4wMjMgLTE0LjY3LDkxLjY5OSAtMTUuNTksMjkuMzM2IC00Ny42OSw0NC45MzQgLTgwLjcsNDQuOTM0IC0zMS4xOCwwIC01Ny43NywtMTEuMDA4IC03Ny45NCwtMzUuNzc0IC0yNC43NywtMzAuMjUzIC0yNi42LC02Mi4zNDMgLTI2LjYsLTk5Ljk0MSBsIDAsLTE1MS4zMDEgNjMuMjcsMCAwLC0xMDQuNTI3IC0yMzguNCwwIDAsMTA0LjUyNyA2My4yNiwwIDAsMjgwLjU5OCIKICAgICAgICAgICAgIGlua3NjYXBlOmNvbm5lY3Rvci1jdXJ2YXR1cmU9IjAiCiAgICAgICAgICAgICBpZD0icGF0aDI4IgogICAgICAgICAgICAgc3R5bGU9ImZpbGw6IzhhNDE4MjtmaWxsLW9wYWNpdHk6MTtmaWxsLXJ1bGU6bm9uemVybztzdHJva2U6bm9uZSIgLz48cGF0aAogICAgICAgICAgICAgZD0ibSAzOTk4LjY2LDk1MS41NDcgLTExMS44NywwIDAsMTE4LjI5MyAxMTEuODcsMCAwLC0xMTguMjkzIHogbSAwLC00MzEuODkxIDYzLjI3LDAgMCwtMTA0LjUyNyAtMjM5LjMzLDAgMCwxMDQuNTI3IDY0LjE5LDAgMCwyODAuNTk4IC02My4yNywwIDAsMTA0LjUyNyAxNzUuMTQsMCAwLC0zODUuMTI1IgogICAgICAgICAgICAgaW5rc2NhcGU6Y29ubmVjdG9yLWN1cnZhdHVyZT0iMCIKICAgICAgICAgICAgIGlkPSJwYXRoMzAiCiAgICAgICAgICAgICBzdHlsZT0iZmlsbDojOGE0MTgyO2ZpbGwtb3BhY2l0eToxO2ZpbGwtcnVsZTpub256ZXJvO3N0cm9rZTpub25lIiAvPjxwYXRoCiAgICAgICAgICAgICBkPSJtIDQxNTkuMTIsODAwLjI1NCAtNjMuMjcsMCAwLDEwNC41MjcgMTc1LjE0LDAgMCwtNjkuNjg3IGMgMjkuMzUsNTQuMTAxIDg0LjM2LDgwLjY5OSAxNDQuODcsODAuNjk5IDUzLjE5LDAgMTA1LjQ1LC0yMi4wMTYgMTQxLjIyLC02MC41MjcgNDAuMzQsLTQ0LjkzNCA0MS4yNiwtODguMDMyIDQxLjI2LC0xNDMuOTU3IGwgMCwtMTkxLjY1MyA2My4yNywwIDAsLTEwNC41MjcgLTIzOC40LDAgMCwxMDQuNTI3IDYzLjI2LDAgMCwxNTguNjM3IGMgMCwzMC4yNjIgMCw2MS40MzQgLTE5LjI2LDg4LjAzNSAtMjAuMTcsMjYuNTgyIC01My4xOCwzOS40MTQgLTg2LjE5LDM5LjQxNCAtMzMuOTMsMCAtNjguNzcsLTEzLjc1IC04OC45NCwtNDEuMjUgLTIxLjA5LC0yNy41IC0yMS4wOSwtNjkuNjg3IC0yMS4wOSwtMTAyLjcwNyBsIDAsLTE0Mi4xMjkgNjMuMjYsMCAwLC0xMDQuNTI3IC0yMzguNCwwIDAsMTA0LjUyNyA2My4yNywwIDAsMjgwLjU5OCIKICAgICAgICAgICAgIGlua3NjYXBlOmNvbm5lY3Rvci1jdXJ2YXR1cmU9IjAiCiAgICAgICAgICAgICBpZD0icGF0aDMyIgogICAgICAgICAgICAgc3R5bGU9ImZpbGw6IzhhNDE4MjtmaWxsLW9wYWNpdHk6MTtmaWxsLXJ1bGU6bm9uemVybztzdHJva2U6bm9uZSIgLz48cGF0aAogICAgICAgICAgICAgZD0ibSA1MDgyLjQ4LDcwMy45NjUgYyAtMTkuMjQsNzAuNjA1IC04MS42LDExNS41NDcgLTE1NC4wNCwxMTUuNTQ3IC02Ni4wNCwwIC0xMjkuMywtNTEuMzQ4IC0xNDMuMDUsLTExNS41NDcgbCAyOTcuMDksMCB6IG0gODUuMjcsLTE0NC44ODMgYyAtMzguNTEsLTkzLjUyMyAtMTI5LjI3LC0xNTYuNzkzIC0yMzEuMDUsLTE1Ni43OTMgLTE0My4wNywwIC0yNTcuNjgsMTExLjg3MSAtMjU3LjY4LDI1NS44MzYgMCwxNDQuODgzIDEwOS4xMiwyNjEuMzI4IDI1NC45MSwyNjEuMzI4IDY3Ljg3LDAgMTM1LjcyLC0zMC4yNTggMTgzLjM5LC03OC44NjMgNDguNjIsLTUxLjM0NCA2OC43OSwtMTEzLjY5NSA2OC43OSwtMTgzLjM4MyBsIC0zLjY3LC0zOS40MzQgLTM5Ni4xMywwIGMgMTQuNjcsLTY3Ljg2MyA3Ny4wMywtMTE3LjM2MyAxNDYuNzIsLTExNy4zNjMgNDguNTksMCA5MC43NiwxOC4zMjggMTE4LjI4LDU4LjY3MiBsIDExNi40NCwwIgogICAgICAgICAgICAgaW5rc2NhcGU6Y29ubmVjdG9yLWN1cnZhdHVyZT0iMCIKICAgICAgICAgICAgIGlkPSJwYXRoMzQiCiAgICAgICAgICAgICBzdHlsZT0iZmlsbDojOGE0MTgyO2ZpbGwtb3BhY2l0eToxO2ZpbGwtcnVsZTpub256ZXJvO3N0cm9rZTpub25lIiAvPjxwYXRoCiAgICAgICAgICAgICBkPSJtIDY5MC44OTUsODUwLjcwMyA5MC43NSwwIDIyLjU0MywzMS4wMzUgMCwyNDMuMTIyIC0xMzUuODI5LDAgMCwtMjQzLjE0MSAyMi41MzYsLTMxLjAxNiIKICAgICAgICAgICAgIGlua3NjYXBlOmNvbm5lY3Rvci1jdXJ2YXR1cmU9IjAiCiAgICAgICAgICAgICBpZD0icGF0aDM2IgogICAgICAgICAgICAgc3R5bGU9ImZpbGw6IzhhNDE4MjtmaWxsLW9wYWNpdHk6MTtmaWxsLXJ1bGU6bm9uemVybztzdHJva2U6bm9uZSIgLz48cGF0aAogICAgICAgICAgICAgZD0ibSA2MzIuMzk1LDc0Mi4yNTggMjguMDM5LDg2LjMwNCAtMjIuNTUxLDMxLjA0IC0yMzEuMjIzLDc1LjEyOCAtNDEuOTc2LC0xMjkuMTgzIDIzMS4yNTcsLTc1LjEzNyAzNi40NTQsMTEuODQ4IgogICAgICAgICAgICAgaW5rc2NhcGU6Y29ubmVjdG9yLWN1cnZhdHVyZT0iMCIKICAgICAgICAgICAgIGlkPSJwYXRoMzgiCiAgICAgICAgICAgICBzdHlsZT0iZmlsbDojOGE0MTgyO2ZpbGwtb3BhY2l0eToxO2ZpbGwtcnVsZTpub256ZXJvO3N0cm9rZTpub25lIiAvPjxwYXRoCiAgICAgICAgICAgICBkPSJtIDcxNy40NDksNjUzLjEwNSAtNzMuNDEsNTMuMzYgLTM2LjQ4OCwtMTEuODc1IC0xNDIuOTAzLC0xOTYuNjkyIDEwOS44ODMsLTc5LjgyOCAxNDIuOTE4LDE5Ni43MDMgMCwzOC4zMzIiCiAgICAgICAgICAgICBpbmtzY2FwZTpjb25uZWN0b3ItY3VydmF0dXJlPSIwIgogICAgICAgICAgICAgaWQ9InBhdGg0MCIKICAgICAgICAgICAgIHN0eWxlPSJmaWxsOiM4YTQxODI7ZmlsbC1vcGFjaXR5OjE7ZmlsbC1ydWxlOm5vbnplcm87c3Ryb2tlOm5vbmUiIC8+PHBhdGgKICAgICAgICAgICAgIGQ9Im0gODI4LjUyLDcwNi40NjUgLTczLjQyNiwtNTMuMzQgMC4wMTEsLTM4LjM1OSBMIDg5OC4wMDQsNDE4LjA3IDEwMDcuOSw0OTcuODk4IDg2NC45NzMsNjk0LjYwOSA4MjguNTIsNzA2LjQ2NSIKICAgICAgICAgICAgIGlua3NjYXBlOmNvbm5lY3Rvci1jdXJ2YXR1cmU9IjAiCiAgICAgICAgICAgICBpZD0icGF0aDQyIgogICAgICAgICAgICAgc3R5bGU9ImZpbGw6IzhhNDE4MjtmaWxsLW9wYWNpdHk6MTtmaWxsLXJ1bGU6bm9uemVybztzdHJva2U6bm9uZSIgLz48cGF0aAogICAgICAgICAgICAgZD0ibSA4MTIuMDg2LDgyOC41ODYgMjguMDU1LC04Ni4zMiAzNi40ODQsLTExLjgzNiAyMzEuMjI1LDc1LjExNyAtNDEuOTcsMTI5LjE4MyAtMjMxLjIzOSwtNzUuMTQgLTIyLjU1NSwtMzEuMDA0IgogICAgICAgICAgICAgaW5rc2NhcGU6Y29ubmVjdG9yLWN1cnZhdHVyZT0iMCIKICAgICAgICAgICAgIGlkPSJwYXRoNDQiCiAgICAgICAgICAgICBzdHlsZT0iZmlsbDojOGE0MTgyO2ZpbGwtb3BhY2l0eToxO2ZpbGwtcnVsZTpub256ZXJvO3N0cm9rZTpub25lIiAvPjxwYXRoCiAgICAgICAgICAgICBkPSJtIDczNi4zMDEsMTMzNS44OCBjIC0zMjMuMDQ3LDAgLTU4NS44NzUsLTI2Mi43OCAtNTg1Ljg3NSwtNTg1Ljc4MiAwLC0zMjMuMTE4IDI2Mi44MjgsLTU4NS45NzcgNTg1Ljg3NSwtNTg1Ljk3NyAzMjMuMDE5LDAgNTg1LjgwOSwyNjIuODU5IDU4NS44MDksNTg1Ljk3NyAwLDMyMy4wMDIgLTI2Mi43OSw1ODUuNzgyIC01ODUuODA5LDU4NS43ODIgbCAwLDAgeiBtIDAsLTExOC42MSBjIDI1Ny45NzIsMCA0NjcuMTg5LC0yMDkuMTMgNDY3LjE4OSwtNDY3LjE3MiAwLC0yNTguMTI5IC0yMDkuMjE3LC00NjcuMzQ4IC00NjcuMTg5LC00NjcuMzQ4IC0yNTguMDc0LDAgLTQ2Ny4yNTQsMjA5LjIxOSAtNDY3LjI1NCw0NjcuMzQ4IDAsMjU4LjA0MiAyMDkuMTgsNDY3LjE3MiA0NjcuMjU0LDQ2Ny4xNzIiCiAgICAgICAgICAgICBpbmtzY2FwZTpjb25uZWN0b3ItY3VydmF0dXJlPSIwIgogICAgICAgICAgICAgaWQ9InBhdGg0NiIKICAgICAgICAgICAgIHN0eWxlPSJmaWxsOiM4YTQxODI7ZmlsbC1vcGFjaXR5OjE7ZmlsbC1ydWxlOm5vbnplcm87c3Ryb2tlOm5vbmUiIC8+PHBhdGgKICAgICAgICAgICAgIGQ9Im0gMTA5MS4xMyw2MTkuODgzIC0xNzUuNzcxLDU3LjEyMSAxMS42MjksMzUuODA4IDE3NS43NjIsLTU3LjEyMSAtMTEuNjIsLTM1LjgwOCIKICAgICAgICAgICAgIGlua3NjYXBlOmNvbm5lY3Rvci1jdXJ2YXR1cmU9IjAiCiAgICAgICAgICAgICBpZD0icGF0aDQ4IgogICAgICAgICAgICAgc3R5bGU9ImZpbGw6IzhhNDE4MjtmaWxsLW9wYWNpdHk6MTtmaWxsLXJ1bGU6bm9uemVybztzdHJva2U6bm9uZSIgLz48cGF0aAogICAgICAgICAgICAgZD0iTSA4NjYuOTU3LDkwMi4wNzQgODM2LjUsOTI0LjE5OSA5NDUuMTIxLDEwNzMuNzMgOTc1LjU4NiwxMDUxLjYxIDg2Ni45NTcsOTAyLjA3NCIKICAgICAgICAgICAgIGlua3NjYXBlOmNvbm5lY3Rvci1jdXJ2YXR1cmU9IjAiCiAgICAgICAgICAgICBpZD0icGF0aDUwIgogICAgICAgICAgICAgc3R5bGU9ImZpbGw6IzhhNDE4MjtmaWxsLW9wYWNpdHk6MTtmaWxsLXJ1bGU6bm9uemVybztzdHJva2U6bm9uZSIgLz48cGF0aAogICAgICAgICAgICAgZD0iTSA2MDcuNDY1LDkwMy40NDUgNDk4Ljg1NSwxMDUyLjk3IDUyOS4zMiwxMDc1LjEgNjM3LjkzLDkyNS41NjYgNjA3LjQ2NSw5MDMuNDQ1IgogICAgICAgICAgICAgaW5rc2NhcGU6Y29ubmVjdG9yLWN1cnZhdHVyZT0iMCIKICAgICAgICAgICAgIGlkPSJwYXRoNTIiCiAgICAgICAgICAgICBzdHlsZT0iZmlsbDojOGE0MTgyO2ZpbGwtb3BhY2l0eToxO2ZpbGwtcnVsZTpub256ZXJvO3N0cm9rZTpub25lIiAvPjxwYXRoCiAgICAgICAgICAgICBkPSJtIDM4MC42ODgsNjIyLjEyOSAtMTEuNjI2LDM1LjgwMSAxNzUuNzU4LDU3LjA5IDExLjYyMSwtMzUuODAxIC0xNzUuNzUzLC01Ny4wOSIKICAgICAgICAgICAgIGlua3NjYXBlOmNvbm5lY3Rvci1jdXJ2YXR1cmU9IjAiCiAgICAgICAgICAgICBpZD0icGF0aDU0IgogICAgICAgICAgICAgc3R5bGU9ImZpbGw6IzhhNDE4MjtmaWxsLW9wYWNpdHk6MTtmaWxsLXJ1bGU6bm9uemVybztzdHJva2U6bm9uZSIgLz48cGF0aAogICAgICAgICAgICAgZD0ibSA3MTYuMjg5LDM3Ni41OSAzNy42NDA2LDAgMCwxODQuODE2IC0zNy42NDA2LDAgMCwtMTg0LjgxNiB6IgogICAgICAgICAgICAgaW5rc2NhcGU6Y29ubmVjdG9yLWN1cnZhdHVyZT0iMCIKICAgICAgICAgICAgIGlkPSJwYXRoNTYiCiAgICAgICAgICAgICBzdHlsZT0iZmlsbDojOGE0MTgyO2ZpbGwtb3BhY2l0eToxO2ZpbGwtcnVsZTpub256ZXJvO3N0cm9rZTpub25lIiAvPjwvZz48L2c+PC9nPjwvZz48L3N2Zz4=") no-repeat, none; -moz-background-size: 100%; -o-background-size: 100%; -webkit-background-size: 100%; background-size: 100%; display: block; float: left; width: 90px; height: 25px; }
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
.jasmine_html-reporter .
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
.jasmine_html-reporter .jasmine-
|
27
|
-
|
28
|
-
.jasmine_html-reporter .jasmine-
|
29
|
-
|
30
|
-
.jasmine_html-reporter .jasmine-
|
31
|
-
|
32
|
-
.jasmine_html-reporter .jasmine-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
.jasmine_html-reporter .jasmine-
|
41
|
-
|
42
|
-
.jasmine_html-reporter .jasmine-symbol-summary li.jasmine-excluded:before { color: #bababa; content: "•"; }
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
.jasmine_html-reporter .jasmine-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
.jasmine_html-reporter .jasmine-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
|
85
|
-
|
86
|
-
.jasmine_html-reporter .jasmine-summary
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
.jasmine_html-reporter .jasmine-summary
|
91
|
-
|
92
|
-
|
93
|
-
|
94
|
-
|
95
|
-
|
96
|
-
|
97
|
-
|
98
|
-
|
99
|
-
|
100
|
-
|
101
|
-
|
102
|
-
.jasmine_html-reporter .jasmine-
|
103
|
-
|
104
|
-
|
105
|
-
|
106
|
-
.jasmine_html-reporter .jasmine-
|
107
|
-
|
108
|
-
|
109
|
-
|
110
|
-
.jasmine_html-reporter .jasmine-
|
111
|
-
|
112
|
-
|
113
|
-
|
114
|
-
|
115
|
-
|
116
|
-
|
117
|
-
|
118
|
-
|
119
|
-
|
120
|
-
.jasmine_html-reporter .jasmine-
|
121
|
-
|
122
|
-
|
123
|
-
|
124
|
-
.jasmine_html-reporter .jasmine-
|
125
|
-
|
126
|
-
|
127
|
-
|
128
|
-
|
2
|
+
body {
|
3
|
+
overflow-y: scroll;
|
4
|
+
}
|
5
|
+
|
6
|
+
.jasmine_html-reporter {
|
7
|
+
width: 100%;
|
8
|
+
background-color: #eee;
|
9
|
+
padding: 5px;
|
10
|
+
margin: -8px;
|
11
|
+
font-size: 11px;
|
12
|
+
font-family: Monaco, "Lucida Console", monospace;
|
13
|
+
line-height: 14px;
|
14
|
+
color: #333;
|
15
|
+
}
|
16
|
+
.jasmine_html-reporter a {
|
17
|
+
text-decoration: none;
|
18
|
+
}
|
19
|
+
.jasmine_html-reporter a:hover {
|
20
|
+
text-decoration: underline;
|
21
|
+
}
|
22
|
+
.jasmine_html-reporter p, .jasmine_html-reporter h1, .jasmine_html-reporter h2, .jasmine_html-reporter h3, .jasmine_html-reporter h4, .jasmine_html-reporter h5, .jasmine_html-reporter h6 {
|
23
|
+
margin: 0;
|
24
|
+
line-height: 14px;
|
25
|
+
}
|
26
|
+
.jasmine_html-reporter .jasmine-banner,
|
27
|
+
.jasmine_html-reporter .jasmine-symbol-summary,
|
28
|
+
.jasmine_html-reporter .jasmine-summary,
|
29
|
+
.jasmine_html-reporter .jasmine-result-message,
|
30
|
+
.jasmine_html-reporter .jasmine-spec .jasmine-description,
|
31
|
+
.jasmine_html-reporter .jasmine-spec-detail .jasmine-description,
|
32
|
+
.jasmine_html-reporter .jasmine-alert .jasmine-bar,
|
33
|
+
.jasmine_html-reporter .jasmine-stack-trace {
|
34
|
+
padding-left: 9px;
|
35
|
+
padding-right: 9px;
|
36
|
+
}
|
37
|
+
.jasmine_html-reporter .jasmine-banner {
|
38
|
+
position: relative;
|
39
|
+
}
|
40
|
+
.jasmine_html-reporter .jasmine-banner .jasmine-title {
|
41
|
+
background: url("data:image/png;base64,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") no-repeat;
|
42
|
+
background: url("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjwhLS0gQ3JlYXRlZCB3aXRoIElua3NjYXBlIChodHRwOi8vd3d3Lmlua3NjYXBlLm9yZy8pIC0tPgoKPHN2ZwogICB4bWxuczpkYz0iaHR0cDovL3B1cmwub3JnL2RjL2VsZW1lbnRzLzEuMS8iCiAgIHhtbG5zOmNjPSJodHRwOi8vY3JlYXRpdmVjb21tb25zLm9yZy9ucyMiCiAgIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyIKICAgeG1sbnM6c3ZnPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIKICAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogICB4bWxuczppbmtzY2FwZT0iaHR0cDovL3d3dy5pbmtzY2FwZS5vcmcvbmFtZXNwYWNlcy9pbmtzY2FwZSIKICAgdmVyc2lvbj0iMS4xIgogICB3aWR0aD0iNjgxLjk2MjUyIgogICBoZWlnaHQ9IjE4Ny41IgogICBpZD0ic3ZnMiIKICAgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+PG1ldGFkYXRhCiAgICAgaWQ9Im1ldGFkYXRhOCI+PHJkZjpSREY+PGNjOldvcmsKICAgICAgICAgcmRmOmFib3V0PSIiPjxkYzpmb3JtYXQ+aW1hZ2Uvc3ZnK3htbDwvZGM6Zm9ybWF0PjxkYzp0eXBlCiAgICAgICAgICAgcmRmOnJlc291cmNlPSJodHRwOi8vcHVybC5vcmcvZGMvZGNtaXR5cGUvU3RpbGxJbWFnZSIgLz48L2NjOldvcms+PC9yZGY6UkRGPjwvbWV0YWRhdGE+PGRlZnMKICAgICBpZD0iZGVmczYiPjxjbGlwUGF0aAogICAgICAgaWQ9ImNsaXBQYXRoMTgiPjxwYXRoCiAgICAgICAgIGQ9Ik0gMCwxNTAwIDAsMCBsIDU0NTUuNzQsMCAwLDE1MDAgTCAwLDE1MDAgeiIKICAgICAgICAgaW5rc2NhcGU6Y29ubmVjdG9yLWN1cnZhdHVyZT0iMCIKICAgICAgICAgaWQ9InBhdGgyMCIgLz48L2NsaXBQYXRoPjwvZGVmcz48ZwogICAgIHRyYW5zZm9ybT0ibWF0cml4KDEuMjUsMCwwLC0xLjI1LDAsMTg3LjUpIgogICAgIGlkPSJnMTAiPjxnCiAgICAgICB0cmFuc2Zvcm09InNjYWxlKDAuMSwwLjEpIgogICAgICAgaWQ9ImcxMiI+PGcKICAgICAgICAgaWQ9ImcxNCI+PGcKICAgICAgICAgICBjbGlwLXBhdGg9InVybCgjY2xpcFBhdGgxOCkiCiAgICAgICAgICAgaWQ9ImcxNiI+PHBhdGgKICAgICAgICAgICAgIGQ9Im0gMTU0NCw1OTkuNDM0IGMgMC45MiwtNDAuMzUyIDI1LjY4LC04MS42MDIgNzEuNTMsLTgxLjYwMiAyNy41MSwwIDQ3LjY4LDEyLjgzMiA2MS40NCwzNS43NTQgMTIuODMsMjIuOTMgMTIuODMsNTYuODUyIDEyLjgzLDgyLjUyNyBsIDAsMzI5LjE4NCAtNzEuNTIsMCAwLDEwNC41NDMgMjY2LjgzLDAgMCwtMTA0LjU0MyAtNzAuNiwwIDAsLTM0NC43NyBjIDAsLTU4LjY5MSAtMy42OCwtMTA0LjUzMSAtNDQuOTMsLTE1Mi4yMTggLTM2LjY4LC00Mi4xOCAtOTYuMjgsLTY2LjAyIC0xNTMuMTQsLTY2LjAyIC0xMTcuMzcsMCAtMjA3LjI0LDc3Ljk0MSAtMjAyLjY0LDE5Ny4xNDUgbCAxMzAuMiwwIgogICAgICAgICAgICAgaW5rc2NhcGU6Y29ubmVjdG9yLWN1cnZhdHVyZT0iMCIKICAgICAgICAgICAgIGlkPSJwYXRoMjIiCiAgICAgICAgICAgICBzdHlsZT0iZmlsbDojOGE0MTgyO2ZpbGwtb3BhY2l0eToxO2ZpbGwtcnVsZTpub256ZXJvO3N0cm9rZTpub25lIiAvPjxwYXRoCiAgICAgICAgICAgICBkPSJtIDIzMDEuNCw2NjIuNjk1IGMgMCw4MC43MDMgLTY2Ljk0LDE0NS44MTMgLTE0Ny42MywxNDUuODEzIC04My40NCwwIC0xNDcuNjMsLTY4Ljc4MSAtMTQ3LjYzLC0xNTEuMzAxIDAsLTc5Ljc4NSA2Ni45NCwtMTQ1LjgwMSAxNDUuOCwtMTQ1LjgwMSA4NC4zNSwwIDE0OS40Niw2Ny44NTIgMTQ5LjQ2LDE1MS4yODkgeiBtIC0xLjgzLC0xODEuNTQ3IGMgLTM1Ljc3LC01NC4wOTcgLTkzLjUzLC03OC44NTkgLTE1Ny43MiwtNzguODU5IC0xNDAuMywwIC0yNTEuMjQsMTE2LjQ0OSAtMjUxLjI0LDI1NC45MTggMCwxNDIuMTI5IDExMy43LDI2MC40MSAyNTYuNzQsMjYwLjQxIDYzLjI3LDAgMTE4LjI5LC0yOS4zMzYgMTUyLjIyLC04Mi41MjMgbCAwLDY5LjY4NyAxNzUuMTQsMCAwLC0xMDQuNTI3IC02MS40NCwwIDAsLTI4MC41OTggNjEuNDQsMCAwLC0xMDQuNTI3IC0xNzUuMTQsMCAwLDY2LjAxOSIKICAgICAgICAgICAgIGlua3NjYXBlOmNvbm5lY3Rvci1jdXJ2YXR1cmU9IjAiCiAgICAgICAgICAgICBpZD0icGF0aDI0IgogICAgICAgICAgICAgc3R5bGU9ImZpbGw6IzhhNDE4MjtmaWxsLW9wYWNpdHk6MTtmaWxsLXJ1bGU6bm9uemVybztzdHJva2U6bm9uZSIgLz48cGF0aAogICAgICAgICAgICAgZD0ibSAyNjIyLjMzLDU1Ny4yNTggYyAzLjY3LC00NC4wMTYgMzMuMDEsLTczLjM0OCA3OC44NiwtNzMuMzQ4IDMzLjkzLDAgNjYuOTMsMjMuODI0IDY2LjkzLDYwLjUwNCAwLDQ4LjYwNiAtNDUuODQsNTYuODU2IC04My40NCw2Ni45NDEgLTg1LjI4LDIyLjAwNCAtMTc4LjgxLDQ4LjYwNiAtMTc4LjgxLDE1NS44NzkgMCw5My41MzYgNzguODYsMTQ3LjYzMyAxNjUuOTgsMTQ3LjYzMyA0NCwwIDgzLjQzLC05LjE3NiAxMTAuOTQsLTQ0LjAwOCBsIDAsMzMuOTIyIDgyLjUzLDAgMCwtMTMyLjk2NSAtMTA4LjIxLDAgYyAtMS44MywzNC44NTYgLTI4LjQyLDU3Ljc3NCAtNjMuMjYsNTcuNzc0IC0zMC4yNiwwIC02Mi4zNSwtMTcuNDIyIC02Mi4zNSwtNTEuMzQ4IDAsLTQ1Ljg0NyA0NC45MywtNTUuOTMgODAuNjksLTY0LjE4IDg4LjAyLC0yMC4xNzUgMTgyLjQ3LC00Ny42OTUgMTgyLjQ3LC0xNTcuNzM0IDAsLTk5LjAyNyAtODMuNDQsLTE1NC4wMzkgLTE3NS4xMywtMTU0LjAzOSAtNDkuNTMsMCAtOTQuNDYsMTUuNTgyIC0xMjYuNTUsNTMuMTggbCAwLC00MC4zNCAtODUuMjcsMCAwLDE0Mi4xMjkgMTE0LjYyLDAiCiAgICAgICAgICAgICBpbmtzY2FwZTpjb25uZWN0b3ItY3VydmF0dXJlPSIwIgogICAgICAgICAgICAgaWQ9InBhdGgyNiIKICAgICAgICAgICAgIHN0eWxlPSJmaWxsOiM4YTQxODI7ZmlsbC1vcGFjaXR5OjE7ZmlsbC1ydWxlOm5vbnplcm87c3Ryb2tlOm5vbmUiIC8+PHBhdGgKICAgICAgICAgICAgIGQ9Im0gMjk4OC4xOCw4MDAuMjU0IC02My4yNiwwIDAsMTA0LjUyNyAxNjUuMDUsMCAwLC03My4zNTUgYyAzMS4xOCw1MS4zNDcgNzguODYsODUuMjc3IDE0MS4yMSw4NS4yNzcgNjcuODUsMCAxMjQuNzEsLTQxLjI1OCAxNTIuMjEsLTEwMi42OTkgMjYuNiw2Mi4zNTEgOTIuNjIsMTAyLjY5OSAxNjAuNDcsMTAyLjY5OSA1My4xOSwwIDEwNS40NiwtMjIgMTQxLjIxLC02Mi4zNTEgMzguNTIsLTQ0LjkzOCAzOC41MiwtOTMuNTMyIDM4LjUyLC0xNDkuNDU3IGwgMCwtMTg1LjIzOSA2My4yNywwIDAsLTEwNC41MjcgLTIzOC40MiwwIDAsMTA0LjUyNyA2My4yOCwwIDAsMTU3LjcxNSBjIDAsMzIuMTAyIDAsNjAuNTI3IC0xNC42Nyw4OC45NTcgLTE4LjM0LDI2LjU4MiAtNDguNjEsNDAuMzQ0IC03OS43Nyw0MC4zNDQgLTMwLjI2LDAgLTYzLjI4LC0xMi44NDQgLTgyLjUzLC0zNi42NzIgLTIyLjkzLC0yOS4zNTUgLTIyLjkzLC01Ni44NjMgLTIyLjkzLC05Mi42MjkgbCAwLC0xNTcuNzE1IDYzLjI3LDAgMCwtMTA0LjUyNyAtMjM4LjQxLDAgMCwxMDQuNTI3IDYzLjI4LDAgMCwxNTAuMzgzIGMgMCwyOS4zNDggMCw2Ni4wMjMgLTE0LjY3LDkxLjY5OSAtMTUuNTksMjkuMzM2IC00Ny42OSw0NC45MzQgLTgwLjcsNDQuOTM0IC0zMS4xOCwwIC01Ny43NywtMTEuMDA4IC03Ny45NCwtMzUuNzc0IC0yNC43NywtMzAuMjUzIC0yNi42LC02Mi4zNDMgLTI2LjYsLTk5Ljk0MSBsIDAsLTE1MS4zMDEgNjMuMjcsMCAwLC0xMDQuNTI3IC0yMzguNCwwIDAsMTA0LjUyNyA2My4yNiwwIDAsMjgwLjU5OCIKICAgICAgICAgICAgIGlua3NjYXBlOmNvbm5lY3Rvci1jdXJ2YXR1cmU9IjAiCiAgICAgICAgICAgICBpZD0icGF0aDI4IgogICAgICAgICAgICAgc3R5bGU9ImZpbGw6IzhhNDE4MjtmaWxsLW9wYWNpdHk6MTtmaWxsLXJ1bGU6bm9uemVybztzdHJva2U6bm9uZSIgLz48cGF0aAogICAgICAgICAgICAgZD0ibSAzOTk4LjY2LDk1MS41NDcgLTExMS44NywwIDAsMTE4LjI5MyAxMTEuODcsMCAwLC0xMTguMjkzIHogbSAwLC00MzEuODkxIDYzLjI3LDAgMCwtMTA0LjUyNyAtMjM5LjMzLDAgMCwxMDQuNTI3IDY0LjE5LDAgMCwyODAuNTk4IC02My4yNywwIDAsMTA0LjUyNyAxNzUuMTQsMCAwLC0zODUuMTI1IgogICAgICAgICAgICAgaW5rc2NhcGU6Y29ubmVjdG9yLWN1cnZhdHVyZT0iMCIKICAgICAgICAgICAgIGlkPSJwYXRoMzAiCiAgICAgICAgICAgICBzdHlsZT0iZmlsbDojOGE0MTgyO2ZpbGwtb3BhY2l0eToxO2ZpbGwtcnVsZTpub256ZXJvO3N0cm9rZTpub25lIiAvPjxwYXRoCiAgICAgICAgICAgICBkPSJtIDQxNTkuMTIsODAwLjI1NCAtNjMuMjcsMCAwLDEwNC41MjcgMTc1LjE0LDAgMCwtNjkuNjg3IGMgMjkuMzUsNTQuMTAxIDg0LjM2LDgwLjY5OSAxNDQuODcsODAuNjk5IDUzLjE5LDAgMTA1LjQ1LC0yMi4wMTYgMTQxLjIyLC02MC41MjcgNDAuMzQsLTQ0LjkzNCA0MS4yNiwtODguMDMyIDQxLjI2LC0xNDMuOTU3IGwgMCwtMTkxLjY1MyA2My4yNywwIDAsLTEwNC41MjcgLTIzOC40LDAgMCwxMDQuNTI3IDYzLjI2LDAgMCwxNTguNjM3IGMgMCwzMC4yNjIgMCw2MS40MzQgLTE5LjI2LDg4LjAzNSAtMjAuMTcsMjYuNTgyIC01My4xOCwzOS40MTQgLTg2LjE5LDM5LjQxNCAtMzMuOTMsMCAtNjguNzcsLTEzLjc1IC04OC45NCwtNDEuMjUgLTIxLjA5LC0yNy41IC0yMS4wOSwtNjkuNjg3IC0yMS4wOSwtMTAyLjcwNyBsIDAsLTE0Mi4xMjkgNjMuMjYsMCAwLC0xMDQuNTI3IC0yMzguNCwwIDAsMTA0LjUyNyA2My4yNywwIDAsMjgwLjU5OCIKICAgICAgICAgICAgIGlua3NjYXBlOmNvbm5lY3Rvci1jdXJ2YXR1cmU9IjAiCiAgICAgICAgICAgICBpZD0icGF0aDMyIgogICAgICAgICAgICAgc3R5bGU9ImZpbGw6IzhhNDE4MjtmaWxsLW9wYWNpdHk6MTtmaWxsLXJ1bGU6bm9uemVybztzdHJva2U6bm9uZSIgLz48cGF0aAogICAgICAgICAgICAgZD0ibSA1MDgyLjQ4LDcwMy45NjUgYyAtMTkuMjQsNzAuNjA1IC04MS42LDExNS41NDcgLTE1NC4wNCwxMTUuNTQ3IC02Ni4wNCwwIC0xMjkuMywtNTEuMzQ4IC0xNDMuMDUsLTExNS41NDcgbCAyOTcuMDksMCB6IG0gODUuMjcsLTE0NC44ODMgYyAtMzguNTEsLTkzLjUyMyAtMTI5LjI3LC0xNTYuNzkzIC0yMzEuMDUsLTE1Ni43OTMgLTE0My4wNywwIC0yNTcuNjgsMTExLjg3MSAtMjU3LjY4LDI1NS44MzYgMCwxNDQuODgzIDEwOS4xMiwyNjEuMzI4IDI1NC45MSwyNjEuMzI4IDY3Ljg3LDAgMTM1LjcyLC0zMC4yNTggMTgzLjM5LC03OC44NjMgNDguNjIsLTUxLjM0NCA2OC43OSwtMTEzLjY5NSA2OC43OSwtMTgzLjM4MyBsIC0zLjY3LC0zOS40MzQgLTM5Ni4xMywwIGMgMTQuNjcsLTY3Ljg2MyA3Ny4wMywtMTE3LjM2MyAxNDYuNzIsLTExNy4zNjMgNDguNTksMCA5MC43NiwxOC4zMjggMTE4LjI4LDU4LjY3MiBsIDExNi40NCwwIgogICAgICAgICAgICAgaW5rc2NhcGU6Y29ubmVjdG9yLWN1cnZhdHVyZT0iMCIKICAgICAgICAgICAgIGlkPSJwYXRoMzQiCiAgICAgICAgICAgICBzdHlsZT0iZmlsbDojOGE0MTgyO2ZpbGwtb3BhY2l0eToxO2ZpbGwtcnVsZTpub256ZXJvO3N0cm9rZTpub25lIiAvPjxwYXRoCiAgICAgICAgICAgICBkPSJtIDY5MC44OTUsODUwLjcwMyA5MC43NSwwIDIyLjU0MywzMS4wMzUgMCwyNDMuMTIyIC0xMzUuODI5LDAgMCwtMjQzLjE0MSAyMi41MzYsLTMxLjAxNiIKICAgICAgICAgICAgIGlua3NjYXBlOmNvbm5lY3Rvci1jdXJ2YXR1cmU9IjAiCiAgICAgICAgICAgICBpZD0icGF0aDM2IgogICAgICAgICAgICAgc3R5bGU9ImZpbGw6IzhhNDE4MjtmaWxsLW9wYWNpdHk6MTtmaWxsLXJ1bGU6bm9uemVybztzdHJva2U6bm9uZSIgLz48cGF0aAogICAgICAgICAgICAgZD0ibSA2MzIuMzk1LDc0Mi4yNTggMjguMDM5LDg2LjMwNCAtMjIuNTUxLDMxLjA0IC0yMzEuMjIzLDc1LjEyOCAtNDEuOTc2LC0xMjkuMTgzIDIzMS4yNTcsLTc1LjEzNyAzNi40NTQsMTEuODQ4IgogICAgICAgICAgICAgaW5rc2NhcGU6Y29ubmVjdG9yLWN1cnZhdHVyZT0iMCIKICAgICAgICAgICAgIGlkPSJwYXRoMzgiCiAgICAgICAgICAgICBzdHlsZT0iZmlsbDojOGE0MTgyO2ZpbGwtb3BhY2l0eToxO2ZpbGwtcnVsZTpub256ZXJvO3N0cm9rZTpub25lIiAvPjxwYXRoCiAgICAgICAgICAgICBkPSJtIDcxNy40NDksNjUzLjEwNSAtNzMuNDEsNTMuMzYgLTM2LjQ4OCwtMTEuODc1IC0xNDIuOTAzLC0xOTYuNjkyIDEwOS44ODMsLTc5LjgyOCAxNDIuOTE4LDE5Ni43MDMgMCwzOC4zMzIiCiAgICAgICAgICAgICBpbmtzY2FwZTpjb25uZWN0b3ItY3VydmF0dXJlPSIwIgogICAgICAgICAgICAgaWQ9InBhdGg0MCIKICAgICAgICAgICAgIHN0eWxlPSJmaWxsOiM4YTQxODI7ZmlsbC1vcGFjaXR5OjE7ZmlsbC1ydWxlOm5vbnplcm87c3Ryb2tlOm5vbmUiIC8+PHBhdGgKICAgICAgICAgICAgIGQ9Im0gODI4LjUyLDcwNi40NjUgLTczLjQyNiwtNTMuMzQgMC4wMTEsLTM4LjM1OSBMIDg5OC4wMDQsNDE4LjA3IDEwMDcuOSw0OTcuODk4IDg2NC45NzMsNjk0LjYwOSA4MjguNTIsNzA2LjQ2NSIKICAgICAgICAgICAgIGlua3NjYXBlOmNvbm5lY3Rvci1jdXJ2YXR1cmU9IjAiCiAgICAgICAgICAgICBpZD0icGF0aDQyIgogICAgICAgICAgICAgc3R5bGU9ImZpbGw6IzhhNDE4MjtmaWxsLW9wYWNpdHk6MTtmaWxsLXJ1bGU6bm9uemVybztzdHJva2U6bm9uZSIgLz48cGF0aAogICAgICAgICAgICAgZD0ibSA4MTIuMDg2LDgyOC41ODYgMjguMDU1LC04Ni4zMiAzNi40ODQsLTExLjgzNiAyMzEuMjI1LDc1LjExNyAtNDEuOTcsMTI5LjE4MyAtMjMxLjIzOSwtNzUuMTQgLTIyLjU1NSwtMzEuMDA0IgogICAgICAgICAgICAgaW5rc2NhcGU6Y29ubmVjdG9yLWN1cnZhdHVyZT0iMCIKICAgICAgICAgICAgIGlkPSJwYXRoNDQiCiAgICAgICAgICAgICBzdHlsZT0iZmlsbDojOGE0MTgyO2ZpbGwtb3BhY2l0eToxO2ZpbGwtcnVsZTpub256ZXJvO3N0cm9rZTpub25lIiAvPjxwYXRoCiAgICAgICAgICAgICBkPSJtIDczNi4zMDEsMTMzNS44OCBjIC0zMjMuMDQ3LDAgLTU4NS44NzUsLTI2Mi43OCAtNTg1Ljg3NSwtNTg1Ljc4MiAwLC0zMjMuMTE4IDI2Mi44MjgsLTU4NS45NzcgNTg1Ljg3NSwtNTg1Ljk3NyAzMjMuMDE5LDAgNTg1LjgwOSwyNjIuODU5IDU4NS44MDksNTg1Ljk3NyAwLDMyMy4wMDIgLTI2Mi43OSw1ODUuNzgyIC01ODUuODA5LDU4NS43ODIgbCAwLDAgeiBtIDAsLTExOC42MSBjIDI1Ny45NzIsMCA0NjcuMTg5LC0yMDkuMTMgNDY3LjE4OSwtNDY3LjE3MiAwLC0yNTguMTI5IC0yMDkuMjE3LC00NjcuMzQ4IC00NjcuMTg5LC00NjcuMzQ4IC0yNTguMDc0LDAgLTQ2Ny4yNTQsMjA5LjIxOSAtNDY3LjI1NCw0NjcuMzQ4IDAsMjU4LjA0MiAyMDkuMTgsNDY3LjE3MiA0NjcuMjU0LDQ2Ny4xNzIiCiAgICAgICAgICAgICBpbmtzY2FwZTpjb25uZWN0b3ItY3VydmF0dXJlPSIwIgogICAgICAgICAgICAgaWQ9InBhdGg0NiIKICAgICAgICAgICAgIHN0eWxlPSJmaWxsOiM4YTQxODI7ZmlsbC1vcGFjaXR5OjE7ZmlsbC1ydWxlOm5vbnplcm87c3Ryb2tlOm5vbmUiIC8+PHBhdGgKICAgICAgICAgICAgIGQ9Im0gMTA5MS4xMyw2MTkuODgzIC0xNzUuNzcxLDU3LjEyMSAxMS42MjksMzUuODA4IDE3NS43NjIsLTU3LjEyMSAtMTEuNjIsLTM1LjgwOCIKICAgICAgICAgICAgIGlua3NjYXBlOmNvbm5lY3Rvci1jdXJ2YXR1cmU9IjAiCiAgICAgICAgICAgICBpZD0icGF0aDQ4IgogICAgICAgICAgICAgc3R5bGU9ImZpbGw6IzhhNDE4MjtmaWxsLW9wYWNpdHk6MTtmaWxsLXJ1bGU6bm9uemVybztzdHJva2U6bm9uZSIgLz48cGF0aAogICAgICAgICAgICAgZD0iTSA4NjYuOTU3LDkwMi4wNzQgODM2LjUsOTI0LjE5OSA5NDUuMTIxLDEwNzMuNzMgOTc1LjU4NiwxMDUxLjYxIDg2Ni45NTcsOTAyLjA3NCIKICAgICAgICAgICAgIGlua3NjYXBlOmNvbm5lY3Rvci1jdXJ2YXR1cmU9IjAiCiAgICAgICAgICAgICBpZD0icGF0aDUwIgogICAgICAgICAgICAgc3R5bGU9ImZpbGw6IzhhNDE4MjtmaWxsLW9wYWNpdHk6MTtmaWxsLXJ1bGU6bm9uemVybztzdHJva2U6bm9uZSIgLz48cGF0aAogICAgICAgICAgICAgZD0iTSA2MDcuNDY1LDkwMy40NDUgNDk4Ljg1NSwxMDUyLjk3IDUyOS4zMiwxMDc1LjEgNjM3LjkzLDkyNS41NjYgNjA3LjQ2NSw5MDMuNDQ1IgogICAgICAgICAgICAgaW5rc2NhcGU6Y29ubmVjdG9yLWN1cnZhdHVyZT0iMCIKICAgICAgICAgICAgIGlkPSJwYXRoNTIiCiAgICAgICAgICAgICBzdHlsZT0iZmlsbDojOGE0MTgyO2ZpbGwtb3BhY2l0eToxO2ZpbGwtcnVsZTpub256ZXJvO3N0cm9rZTpub25lIiAvPjxwYXRoCiAgICAgICAgICAgICBkPSJtIDM4MC42ODgsNjIyLjEyOSAtMTEuNjI2LDM1LjgwMSAxNzUuNzU4LDU3LjA5IDExLjYyMSwtMzUuODAxIC0xNzUuNzUzLC01Ny4wOSIKICAgICAgICAgICAgIGlua3NjYXBlOmNvbm5lY3Rvci1jdXJ2YXR1cmU9IjAiCiAgICAgICAgICAgICBpZD0icGF0aDU0IgogICAgICAgICAgICAgc3R5bGU9ImZpbGw6IzhhNDE4MjtmaWxsLW9wYWNpdHk6MTtmaWxsLXJ1bGU6bm9uemVybztzdHJva2U6bm9uZSIgLz48cGF0aAogICAgICAgICAgICAgZD0ibSA3MTYuMjg5LDM3Ni41OSAzNy42NDA2LDAgMCwxODQuODE2IC0zNy42NDA2LDAgMCwtMTg0LjgxNiB6IgogICAgICAgICAgICAgaW5rc2NhcGU6Y29ubmVjdG9yLWN1cnZhdHVyZT0iMCIKICAgICAgICAgICAgIGlkPSJwYXRoNTYiCiAgICAgICAgICAgICBzdHlsZT0iZmlsbDojOGE0MTgyO2ZpbGwtb3BhY2l0eToxO2ZpbGwtcnVsZTpub256ZXJvO3N0cm9rZTpub25lIiAvPjwvZz48L2c+PC9nPjwvZz48L3N2Zz4=") no-repeat, none;
|
43
|
+
-moz-background-size: 100%;
|
44
|
+
-o-background-size: 100%;
|
45
|
+
-webkit-background-size: 100%;
|
46
|
+
background-size: 100%;
|
47
|
+
display: block;
|
48
|
+
float: left;
|
49
|
+
width: 90px;
|
50
|
+
height: 25px;
|
51
|
+
}
|
52
|
+
.jasmine_html-reporter .jasmine-banner .jasmine-version {
|
53
|
+
margin-left: 14px;
|
54
|
+
position: relative;
|
55
|
+
top: 6px;
|
56
|
+
}
|
57
|
+
.jasmine_html-reporter #jasmine_content {
|
58
|
+
position: fixed;
|
59
|
+
right: 100%;
|
60
|
+
}
|
61
|
+
.jasmine_html-reporter .jasmine-version {
|
62
|
+
color: #aaa;
|
63
|
+
}
|
64
|
+
.jasmine_html-reporter .jasmine-banner {
|
65
|
+
margin-top: 14px;
|
66
|
+
}
|
67
|
+
.jasmine_html-reporter .jasmine-duration {
|
68
|
+
color: #fff;
|
69
|
+
float: right;
|
70
|
+
line-height: 28px;
|
71
|
+
padding-right: 9px;
|
72
|
+
}
|
73
|
+
.jasmine_html-reporter .jasmine-symbol-summary {
|
74
|
+
overflow: hidden;
|
75
|
+
margin: 14px 0;
|
76
|
+
}
|
77
|
+
.jasmine_html-reporter .jasmine-symbol-summary li {
|
78
|
+
display: inline-block;
|
79
|
+
height: 10px;
|
80
|
+
width: 14px;
|
81
|
+
font-size: 16px;
|
82
|
+
}
|
83
|
+
.jasmine_html-reporter .jasmine-symbol-summary li.jasmine-passed {
|
84
|
+
font-size: 14px;
|
85
|
+
}
|
86
|
+
.jasmine_html-reporter .jasmine-symbol-summary li.jasmine-passed:before {
|
87
|
+
color: #007069;
|
88
|
+
content: "•";
|
89
|
+
}
|
90
|
+
.jasmine_html-reporter .jasmine-symbol-summary li.jasmine-failed {
|
91
|
+
line-height: 9px;
|
92
|
+
}
|
93
|
+
.jasmine_html-reporter .jasmine-symbol-summary li.jasmine-failed:before {
|
94
|
+
color: #ca3a11;
|
95
|
+
content: "×";
|
96
|
+
font-weight: bold;
|
97
|
+
margin-left: -1px;
|
98
|
+
}
|
99
|
+
.jasmine_html-reporter .jasmine-symbol-summary li.jasmine-excluded {
|
100
|
+
font-size: 14px;
|
101
|
+
}
|
102
|
+
.jasmine_html-reporter .jasmine-symbol-summary li.jasmine-excluded:before {
|
103
|
+
color: #bababa;
|
104
|
+
content: "•";
|
105
|
+
}
|
106
|
+
.jasmine_html-reporter .jasmine-symbol-summary li.jasmine-excluded-no-display {
|
107
|
+
font-size: 14px;
|
108
|
+
display: none;
|
109
|
+
}
|
110
|
+
.jasmine_html-reporter .jasmine-symbol-summary li.jasmine-pending {
|
111
|
+
line-height: 17px;
|
112
|
+
}
|
113
|
+
.jasmine_html-reporter .jasmine-symbol-summary li.jasmine-pending:before {
|
114
|
+
color: #ba9d37;
|
115
|
+
content: "*";
|
116
|
+
}
|
117
|
+
.jasmine_html-reporter .jasmine-symbol-summary li.jasmine-empty {
|
118
|
+
font-size: 14px;
|
119
|
+
}
|
120
|
+
.jasmine_html-reporter .jasmine-symbol-summary li.jasmine-empty:before {
|
121
|
+
color: #ba9d37;
|
122
|
+
content: "•";
|
123
|
+
}
|
124
|
+
.jasmine_html-reporter .jasmine-run-options {
|
125
|
+
float: right;
|
126
|
+
margin-right: 5px;
|
127
|
+
border: 1px solid #8a4182;
|
128
|
+
color: #8a4182;
|
129
|
+
position: relative;
|
130
|
+
line-height: 20px;
|
131
|
+
}
|
132
|
+
.jasmine_html-reporter .jasmine-run-options .jasmine-trigger {
|
133
|
+
cursor: pointer;
|
134
|
+
padding: 8px 16px;
|
135
|
+
}
|
136
|
+
.jasmine_html-reporter .jasmine-run-options .jasmine-payload {
|
137
|
+
position: absolute;
|
138
|
+
display: none;
|
139
|
+
right: -1px;
|
140
|
+
border: 1px solid #8a4182;
|
141
|
+
background-color: #eee;
|
142
|
+
white-space: nowrap;
|
143
|
+
padding: 4px 8px;
|
144
|
+
}
|
145
|
+
.jasmine_html-reporter .jasmine-run-options .jasmine-payload.jasmine-open {
|
146
|
+
display: block;
|
147
|
+
}
|
148
|
+
.jasmine_html-reporter .jasmine-bar {
|
149
|
+
line-height: 28px;
|
150
|
+
font-size: 14px;
|
151
|
+
display: block;
|
152
|
+
color: #eee;
|
153
|
+
}
|
154
|
+
.jasmine_html-reporter .jasmine-bar.jasmine-failed, .jasmine_html-reporter .jasmine-bar.jasmine-errored {
|
155
|
+
background-color: #ca3a11;
|
156
|
+
border-bottom: 1px solid #eee;
|
157
|
+
}
|
158
|
+
.jasmine_html-reporter .jasmine-bar.jasmine-passed {
|
159
|
+
background-color: #007069;
|
160
|
+
}
|
161
|
+
.jasmine_html-reporter .jasmine-bar.jasmine-incomplete {
|
162
|
+
background-color: #bababa;
|
163
|
+
}
|
164
|
+
.jasmine_html-reporter .jasmine-bar.jasmine-skipped {
|
165
|
+
background-color: #bababa;
|
166
|
+
}
|
167
|
+
.jasmine_html-reporter .jasmine-bar.jasmine-warning {
|
168
|
+
background-color: #ba9d37;
|
169
|
+
color: #333;
|
170
|
+
}
|
171
|
+
.jasmine_html-reporter .jasmine-bar.jasmine-menu {
|
172
|
+
background-color: #fff;
|
173
|
+
color: #aaa;
|
174
|
+
}
|
175
|
+
.jasmine_html-reporter .jasmine-bar.jasmine-menu a {
|
176
|
+
color: #333;
|
177
|
+
}
|
178
|
+
.jasmine_html-reporter .jasmine-bar a {
|
179
|
+
color: white;
|
180
|
+
}
|
181
|
+
.jasmine_html-reporter.jasmine-spec-list .jasmine-bar.jasmine-menu.jasmine-failure-list,
|
182
|
+
.jasmine_html-reporter.jasmine-spec-list .jasmine-results .jasmine-failures {
|
183
|
+
display: none;
|
184
|
+
}
|
185
|
+
.jasmine_html-reporter.jasmine-failure-list .jasmine-bar.jasmine-menu.jasmine-spec-list,
|
186
|
+
.jasmine_html-reporter.jasmine-failure-list .jasmine-summary {
|
187
|
+
display: none;
|
188
|
+
}
|
189
|
+
.jasmine_html-reporter .jasmine-results {
|
190
|
+
margin-top: 14px;
|
191
|
+
}
|
192
|
+
.jasmine_html-reporter .jasmine-summary {
|
193
|
+
margin-top: 14px;
|
194
|
+
}
|
195
|
+
.jasmine_html-reporter .jasmine-summary ul {
|
196
|
+
list-style-type: none;
|
197
|
+
margin-left: 14px;
|
198
|
+
padding-top: 0;
|
199
|
+
padding-left: 0;
|
200
|
+
}
|
201
|
+
.jasmine_html-reporter .jasmine-summary ul.jasmine-suite {
|
202
|
+
margin-top: 7px;
|
203
|
+
margin-bottom: 7px;
|
204
|
+
}
|
205
|
+
.jasmine_html-reporter .jasmine-summary li.jasmine-passed a {
|
206
|
+
color: #007069;
|
207
|
+
}
|
208
|
+
.jasmine_html-reporter .jasmine-summary li.jasmine-failed a {
|
209
|
+
color: #ca3a11;
|
210
|
+
}
|
211
|
+
.jasmine_html-reporter .jasmine-summary li.jasmine-empty a {
|
212
|
+
color: #ba9d37;
|
213
|
+
}
|
214
|
+
.jasmine_html-reporter .jasmine-summary li.jasmine-pending a {
|
215
|
+
color: #ba9d37;
|
216
|
+
}
|
217
|
+
.jasmine_html-reporter .jasmine-summary li.jasmine-excluded a {
|
218
|
+
color: #bababa;
|
219
|
+
}
|
220
|
+
.jasmine_html-reporter .jasmine-specs li.jasmine-passed a:before {
|
221
|
+
content: "• ";
|
222
|
+
}
|
223
|
+
.jasmine_html-reporter .jasmine-specs li.jasmine-failed a:before {
|
224
|
+
content: "× ";
|
225
|
+
}
|
226
|
+
.jasmine_html-reporter .jasmine-specs li.jasmine-empty a:before {
|
227
|
+
content: "* ";
|
228
|
+
}
|
229
|
+
.jasmine_html-reporter .jasmine-specs li.jasmine-pending a:before {
|
230
|
+
content: "• ";
|
231
|
+
}
|
232
|
+
.jasmine_html-reporter .jasmine-specs li.jasmine-excluded a:before {
|
233
|
+
content: "• ";
|
234
|
+
}
|
235
|
+
.jasmine_html-reporter .jasmine-description + .jasmine-suite {
|
236
|
+
margin-top: 0;
|
237
|
+
}
|
238
|
+
.jasmine_html-reporter .jasmine-suite {
|
239
|
+
margin-top: 14px;
|
240
|
+
}
|
241
|
+
.jasmine_html-reporter .jasmine-suite a {
|
242
|
+
color: #333;
|
243
|
+
}
|
244
|
+
.jasmine_html-reporter .jasmine-failures .jasmine-spec-detail {
|
245
|
+
margin-bottom: 28px;
|
246
|
+
}
|
247
|
+
.jasmine_html-reporter .jasmine-failures .jasmine-spec-detail .jasmine-description {
|
248
|
+
background-color: #ca3a11;
|
249
|
+
color: white;
|
250
|
+
}
|
251
|
+
.jasmine_html-reporter .jasmine-failures .jasmine-spec-detail .jasmine-description a {
|
252
|
+
color: white;
|
253
|
+
}
|
254
|
+
.jasmine_html-reporter .jasmine-result-message {
|
255
|
+
padding-top: 14px;
|
256
|
+
color: #333;
|
257
|
+
white-space: pre-wrap;
|
258
|
+
}
|
259
|
+
.jasmine_html-reporter .jasmine-result-message span.jasmine-result {
|
260
|
+
display: block;
|
261
|
+
}
|
262
|
+
.jasmine_html-reporter .jasmine-stack-trace {
|
263
|
+
margin: 5px 0 0 0;
|
264
|
+
max-height: 224px;
|
265
|
+
overflow: auto;
|
266
|
+
line-height: 18px;
|
267
|
+
color: #666;
|
268
|
+
border: 1px solid #ddd;
|
269
|
+
background: white;
|
270
|
+
white-space: pre;
|
271
|
+
}
|
data/lib/jasmine-core/jasmine.js
CHANGED
@@ -371,6 +371,19 @@ getJasmineRequireObj().base = function(j$, jasmineGlobal) {
|
|
371
371
|
return matches ? matches[1] : '<anonymous>';
|
372
372
|
};
|
373
373
|
|
374
|
+
j$.isPending_ = function(promise) {
|
375
|
+
var sentinel = {};
|
376
|
+
// eslint-disable-next-line compat/compat
|
377
|
+
return Promise.race([promise, Promise.resolve(sentinel)]).then(
|
378
|
+
function(result) {
|
379
|
+
return result === sentinel;
|
380
|
+
},
|
381
|
+
function() {
|
382
|
+
return false;
|
383
|
+
}
|
384
|
+
);
|
385
|
+
};
|
386
|
+
|
374
387
|
/**
|
375
388
|
* 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}),
|
376
389
|
* that will succeed if the actual value being compared is an instance of the specified class/constructor.
|
@@ -679,11 +692,21 @@ getJasmineRequireObj().util = function(j$) {
|
|
679
692
|
};
|
680
693
|
|
681
694
|
getJasmineRequireObj().Spec = function(j$) {
|
695
|
+
/**
|
696
|
+
* @interface Spec
|
697
|
+
* @see Configuration#specFilter
|
698
|
+
*/
|
682
699
|
function Spec(attrs) {
|
683
700
|
this.expectationFactory = attrs.expectationFactory;
|
684
701
|
this.asyncExpectationFactory = attrs.asyncExpectationFactory;
|
685
702
|
this.resultCallback = attrs.resultCallback || function() {};
|
686
703
|
this.id = attrs.id;
|
704
|
+
/**
|
705
|
+
* The description passed to the {@link it} that created this spec.
|
706
|
+
* @name Spec#description
|
707
|
+
* @readonly
|
708
|
+
* @type {string}
|
709
|
+
*/
|
687
710
|
this.description = attrs.description || '';
|
688
711
|
this.queueableFn = attrs.queueableFn;
|
689
712
|
this.beforeAndAfterFns =
|
@@ -875,6 +898,12 @@ getJasmineRequireObj().Spec = function(j$) {
|
|
875
898
|
return 'passed';
|
876
899
|
};
|
877
900
|
|
901
|
+
/**
|
902
|
+
* The full description including all ancestors of this spec.
|
903
|
+
* @name Spec#getFullName
|
904
|
+
* @function
|
905
|
+
* @returns {string}
|
906
|
+
*/
|
878
907
|
Spec.prototype.getFullName = function() {
|
879
908
|
return this.getSpecName(this);
|
880
909
|
};
|
@@ -963,11 +992,12 @@ getJasmineRequireObj().Order = function() {
|
|
963
992
|
|
964
993
|
getJasmineRequireObj().Env = function(j$) {
|
965
994
|
/**
|
966
|
-
*
|
967
|
-
* @name Env
|
995
|
+
* @class Env
|
968
996
|
* @since 2.0.0
|
969
|
-
* @classdesc The Jasmine environment
|
970
|
-
*
|
997
|
+
* @classdesc The Jasmine environment.<br>
|
998
|
+
* _Note:_ Do not construct this directly. You can obtain the Env instance by
|
999
|
+
* calling {@link jasmine.getEnv}.
|
1000
|
+
* @hideconstructor
|
971
1001
|
*/
|
972
1002
|
function Env(options) {
|
973
1003
|
options = options || {};
|
@@ -998,7 +1028,8 @@ getJasmineRequireObj().Env = function(j$) {
|
|
998
1028
|
|
999
1029
|
/**
|
1000
1030
|
* This represents the available options to configure Jasmine.
|
1001
|
-
* Options that are not provided will use their default values
|
1031
|
+
* Options that are not provided will use their default values.
|
1032
|
+
* @see Env#configure
|
1002
1033
|
* @interface Configuration
|
1003
1034
|
* @since 3.3.0
|
1004
1035
|
*/
|
@@ -1016,7 +1047,7 @@ getJasmineRequireObj().Env = function(j$) {
|
|
1016
1047
|
* Null causes the seed to be determined randomly at the start of execution.
|
1017
1048
|
* @name Configuration#seed
|
1018
1049
|
* @since 3.3.0
|
1019
|
-
* @type
|
1050
|
+
* @type (number|string)
|
1020
1051
|
* @default null
|
1021
1052
|
*/
|
1022
1053
|
seed: null,
|
@@ -1046,12 +1077,19 @@ getJasmineRequireObj().Env = function(j$) {
|
|
1046
1077
|
* @default false
|
1047
1078
|
*/
|
1048
1079
|
oneFailurePerSpec: false,
|
1080
|
+
/**
|
1081
|
+
* A function that takes a spec and returns true if it should be executed
|
1082
|
+
* or false if it should be skipped.
|
1083
|
+
* @callback SpecFilter
|
1084
|
+
* @param {Spec} spec - The spec that the filter is being applied to.
|
1085
|
+
* @return boolean
|
1086
|
+
*/
|
1049
1087
|
/**
|
1050
1088
|
* Function to use to filter specs
|
1051
1089
|
* @name Configuration#specFilter
|
1052
1090
|
* @since 3.3.0
|
1053
|
-
* @type
|
1054
|
-
* @default true
|
1091
|
+
* @type SpecFilter
|
1092
|
+
* @default A function that always returns true.
|
1055
1093
|
*/
|
1056
1094
|
specFilter: function() {
|
1057
1095
|
return true;
|
@@ -1602,6 +1640,13 @@ getJasmineRequireObj().Env = function(j$) {
|
|
1602
1640
|
defaultResourcesForRunnable(topSuite.id);
|
1603
1641
|
currentDeclarationSuite = topSuite;
|
1604
1642
|
|
1643
|
+
/**
|
1644
|
+
* Provides the root suite, through which all suites and specs can be
|
1645
|
+
* accessed.
|
1646
|
+
* @function
|
1647
|
+
* @name Env#topSuite
|
1648
|
+
* @return {Suite} the root suite
|
1649
|
+
*/
|
1605
1650
|
this.topSuite = function() {
|
1606
1651
|
return topSuite;
|
1607
1652
|
};
|
@@ -1681,7 +1726,27 @@ getJasmineRequireObj().Env = function(j$) {
|
|
1681
1726
|
queueRunnerFactory
|
1682
1727
|
);
|
1683
1728
|
|
1684
|
-
|
1729
|
+
/**
|
1730
|
+
* Executes the specs.
|
1731
|
+
*
|
1732
|
+
* If called with no parameters or with a falsy value as the first parameter,
|
1733
|
+
* all specs will be executed except those that are excluded by a
|
1734
|
+
* [spec filter]{@link Configuration#specFilter} or other mechanism. If the
|
1735
|
+
* first parameter is a list of spec/suite IDs, only those specs/suites will
|
1736
|
+
* be run.
|
1737
|
+
*
|
1738
|
+
* Both parameters are optional, but a completion callback is only valid as
|
1739
|
+
* the second parameter. To specify a completion callback but not a list of
|
1740
|
+
* specs/suites to run, pass null or undefined as the first parameter.
|
1741
|
+
*
|
1742
|
+
* execute should not be called more than once.
|
1743
|
+
*
|
1744
|
+
* @name Env#execute
|
1745
|
+
* @since 2.0.0
|
1746
|
+
* @function
|
1747
|
+
* @param {(string[])=} runnablesToRun IDs of suites and/or specs to run
|
1748
|
+
* @param {Function=} onComplete Function that will be called after all specs have run
|
1749
|
+
*/
|
1685
1750
|
this.execute = function(runnablesToRun, onComplete) {
|
1686
1751
|
installGlobalErrors();
|
1687
1752
|
|
@@ -1873,6 +1938,15 @@ getJasmineRequireObj().Env = function(j$) {
|
|
1873
1938
|
}
|
1874
1939
|
});
|
1875
1940
|
|
1941
|
+
/**
|
1942
|
+
* Configures whether Jasmine should allow the same function to be spied on
|
1943
|
+
* more than once during the execution of a spec. By default, spying on
|
1944
|
+
* a function that is already a spy will cause an error.
|
1945
|
+
* @name Env#allowRespy
|
1946
|
+
* @function
|
1947
|
+
* @since 2.5.0
|
1948
|
+
* @param {boolean} allow Whether to allow respying
|
1949
|
+
*/
|
1876
1950
|
this.allowRespy = function(allow) {
|
1877
1951
|
spyRegistry.allowRespy(allow);
|
1878
1952
|
};
|
@@ -2942,6 +3016,18 @@ getJasmineRequireObj().CallTracker = function(j$) {
|
|
2942
3016
|
return call ? call.args : [];
|
2943
3017
|
};
|
2944
3018
|
|
3019
|
+
/**
|
3020
|
+
* Get the "this" object that was passed to a specific invocation of this spy.
|
3021
|
+
* @name Spy#calls#thisFor
|
3022
|
+
* @function
|
3023
|
+
* @param {Integer} index The 0-based invocation index.
|
3024
|
+
* @return {Object?}
|
3025
|
+
*/
|
3026
|
+
this.thisFor = function(index) {
|
3027
|
+
var call = calls[index];
|
3028
|
+
return call ? call.object : undefined;
|
3029
|
+
};
|
3030
|
+
|
2945
3031
|
/**
|
2946
3032
|
* Get the raw calls array for this spy.
|
2947
3033
|
* @name Spy#calls#all
|
@@ -3093,9 +3179,11 @@ getJasmineRequireObj().Clock = function() {
|
|
3093
3179
|
typeof process.versions.node === 'string';
|
3094
3180
|
|
3095
3181
|
/**
|
3096
|
-
* _Note:_ Do not construct this directly, Jasmine will make one during booting. You can get the current clock with {@link jasmine.clock}.
|
3097
3182
|
* @class Clock
|
3098
|
-
* @classdesc Jasmine's mock clock is used when testing time dependent code
|
3183
|
+
* @classdesc Jasmine's mock clock is used when testing time dependent code.<br>
|
3184
|
+
* _Note:_ Do not construct this directly. You can get the current clock with
|
3185
|
+
* {@link jasmine.clock}.
|
3186
|
+
* @hideconstructor
|
3099
3187
|
*/
|
3100
3188
|
function Clock(global, delayedFunctionSchedulerFactory, mockDate) {
|
3101
3189
|
var self = this,
|
@@ -3651,7 +3739,35 @@ getJasmineRequireObj().Expectation = function(j$) {
|
|
3651
3739
|
});
|
3652
3740
|
|
3653
3741
|
/**
|
3654
|
-
* Asynchronous matchers
|
3742
|
+
* Asynchronous matchers that operate on an actual value which is a promise,
|
3743
|
+
* and return a promise.
|
3744
|
+
*
|
3745
|
+
* Most async matchers will wait indefinitely for the promise to be resolved
|
3746
|
+
* or rejected, resulting in a spec timeout if that never happens. If you
|
3747
|
+
* expect that the promise will already be resolved or rejected at the time
|
3748
|
+
* the matcher is called, you can use the {@link async-matchers#already}
|
3749
|
+
* modifier to get a faster failure with a more helpful message.
|
3750
|
+
*
|
3751
|
+
* Note: Specs must await the result of each async matcher, return the
|
3752
|
+
* promise returned by the matcher, or return a promise that's derived from
|
3753
|
+
* the one returned by the matcher. Otherwise the matcher will not be
|
3754
|
+
* evaluated before the spec completes.
|
3755
|
+
*
|
3756
|
+
* @example
|
3757
|
+
* // Good
|
3758
|
+
* await expectAsync(aPromise).toBeResolved();
|
3759
|
+
* @example
|
3760
|
+
* // Good
|
3761
|
+
* return expectAsync(aPromise).toBeResolved();
|
3762
|
+
* @example
|
3763
|
+
* // Good
|
3764
|
+
* return expectAsync(aPromise).toBeResolved()
|
3765
|
+
* .then(function() {
|
3766
|
+
* // more spec code
|
3767
|
+
* });
|
3768
|
+
* @example
|
3769
|
+
* // Bad
|
3770
|
+
* expectAsync(aPromise).toBeResolved();
|
3655
3771
|
* @namespace async-matchers
|
3656
3772
|
*/
|
3657
3773
|
function AsyncExpectation(options) {
|
@@ -3701,6 +3817,23 @@ getJasmineRequireObj().Expectation = function(j$) {
|
|
3701
3817
|
}
|
3702
3818
|
});
|
3703
3819
|
|
3820
|
+
/**
|
3821
|
+
* Fail as soon as possible if the actual is pending.
|
3822
|
+
* Otherwise evaluate the matcher.
|
3823
|
+
* @member
|
3824
|
+
* @name async-matchers#already
|
3825
|
+
* @type {async-matchers}
|
3826
|
+
* @example
|
3827
|
+
* await expectAsync(myPromise).already.toBeResolved();
|
3828
|
+
* @example
|
3829
|
+
* return expectAsync(myPromise).already.toBeResolved();
|
3830
|
+
*/
|
3831
|
+
Object.defineProperty(AsyncExpectation.prototype, 'already', {
|
3832
|
+
get: function() {
|
3833
|
+
return addFilter(this, expectSettledPromiseFilter);
|
3834
|
+
}
|
3835
|
+
});
|
3836
|
+
|
3704
3837
|
function wrapSyncCompare(name, matcherFactory) {
|
3705
3838
|
return function() {
|
3706
3839
|
var result = this.expector.compare(name, matcherFactory, arguments);
|
@@ -3779,6 +3912,27 @@ getJasmineRequireObj().Expectation = function(j$) {
|
|
3779
3912
|
buildFailureMessage: negatedFailureMessage
|
3780
3913
|
};
|
3781
3914
|
|
3915
|
+
var expectSettledPromiseFilter = {
|
3916
|
+
selectComparisonFunc: function(matcher) {
|
3917
|
+
return function(actual) {
|
3918
|
+
var matcherArgs = arguments;
|
3919
|
+
|
3920
|
+
return j$.isPending_(actual).then(function(isPending) {
|
3921
|
+
if (isPending) {
|
3922
|
+
return {
|
3923
|
+
pass: false,
|
3924
|
+
message:
|
3925
|
+
'Expected a promise to be settled (via ' +
|
3926
|
+
'expectAsync(...).already) but it was pending.'
|
3927
|
+
};
|
3928
|
+
} else {
|
3929
|
+
return matcher.compare.apply(null, matcherArgs);
|
3930
|
+
}
|
3931
|
+
});
|
3932
|
+
};
|
3933
|
+
}
|
3934
|
+
};
|
3935
|
+
|
3782
3936
|
function ContextAddingFilter(message) {
|
3783
3937
|
this.message = message;
|
3784
3938
|
}
|
@@ -4074,7 +4228,22 @@ getJasmineRequireObj().GlobalErrors = function(j$) {
|
|
4074
4228
|
this.jasmineHandlers = {};
|
4075
4229
|
this.installOne_ = function installOne_(errorType, jasmineMessage) {
|
4076
4230
|
function taggedOnError(error) {
|
4077
|
-
|
4231
|
+
var substituteMsg;
|
4232
|
+
|
4233
|
+
if (error) {
|
4234
|
+
error.jasmineMessage = jasmineMessage + ': ' + error;
|
4235
|
+
} else {
|
4236
|
+
substituteMsg = jasmineMessage + ' with no error or message';
|
4237
|
+
|
4238
|
+
if (errorType === 'unhandledRejection') {
|
4239
|
+
substituteMsg +=
|
4240
|
+
'\n' +
|
4241
|
+
'(Tip: to get a useful stack trace, use ' +
|
4242
|
+
'Promise.reject(new Error(...)) instead of Promise.reject().)';
|
4243
|
+
}
|
4244
|
+
|
4245
|
+
error = new Error(substituteMsg);
|
4246
|
+
}
|
4078
4247
|
|
4079
4248
|
var handler = handlers[handlers.length - 1];
|
4080
4249
|
|
@@ -4423,7 +4592,7 @@ getJasmineRequireObj().toBeResolved = function(j$) {
|
|
4423
4592
|
* @example
|
4424
4593
|
* return expectAsync(aPromise).toBeResolved();
|
4425
4594
|
*/
|
4426
|
-
return function toBeResolved() {
|
4595
|
+
return function toBeResolved(matchersUtil) {
|
4427
4596
|
return {
|
4428
4597
|
compare: function(actual) {
|
4429
4598
|
if (!j$.isPromiseLike(actual)) {
|
@@ -4434,8 +4603,15 @@ getJasmineRequireObj().toBeResolved = function(j$) {
|
|
4434
4603
|
function() {
|
4435
4604
|
return { pass: true };
|
4436
4605
|
},
|
4437
|
-
function() {
|
4438
|
-
return {
|
4606
|
+
function(e) {
|
4607
|
+
return {
|
4608
|
+
pass: false,
|
4609
|
+
message:
|
4610
|
+
'Expected a promise to be resolved but it was ' +
|
4611
|
+
'rejected with ' +
|
4612
|
+
matchersUtil.pp(e) +
|
4613
|
+
'.'
|
4614
|
+
};
|
4439
4615
|
}
|
4440
4616
|
);
|
4441
4617
|
}
|
@@ -4490,10 +4666,14 @@ getJasmineRequireObj().toBeResolvedTo = function(j$) {
|
|
4490
4666
|
};
|
4491
4667
|
}
|
4492
4668
|
},
|
4493
|
-
function() {
|
4669
|
+
function(e) {
|
4494
4670
|
return {
|
4495
4671
|
pass: false,
|
4496
|
-
message:
|
4672
|
+
message:
|
4673
|
+
prefix(false) +
|
4674
|
+
' but it was rejected with ' +
|
4675
|
+
matchersUtil.pp(e) +
|
4676
|
+
'.'
|
4497
4677
|
};
|
4498
4678
|
}
|
4499
4679
|
);
|
@@ -4625,11 +4805,11 @@ getJasmineRequireObj().MatchersUtil = function(j$) {
|
|
4625
4805
|
// TODO: convert all uses of j$.pp to use the injected pp
|
4626
4806
|
|
4627
4807
|
/**
|
4808
|
+
* @class MatchersUtil
|
4809
|
+
* @classdesc Utilities for use in implementing matchers.<br>
|
4628
4810
|
* _Note:_ Do not construct this directly. Jasmine will construct one and
|
4629
4811
|
* pass it to matchers and asymmetric equality testers.
|
4630
|
-
* @
|
4631
|
-
* @classdesc Utilities for use in implementing matchers
|
4632
|
-
* @constructor
|
4812
|
+
* @hideconstructor
|
4633
4813
|
*/
|
4634
4814
|
function MatchersUtil(options) {
|
4635
4815
|
options = options || {};
|
@@ -4892,6 +5072,17 @@ getJasmineRequireObj().MatchersUtil = function(j$) {
|
|
4892
5072
|
diffBuilder.recordMismatch();
|
4893
5073
|
}
|
4894
5074
|
return result;
|
5075
|
+
case '[object ArrayBuffer]':
|
5076
|
+
// If we have an instance of ArrayBuffer the Uint8Array ctor
|
5077
|
+
// will be defined as well
|
5078
|
+
return self.eq_(
|
5079
|
+
new Uint8Array(a), // eslint-disable-line compat/compat
|
5080
|
+
new Uint8Array(b), // eslint-disable-line compat/compat
|
5081
|
+
aStack,
|
5082
|
+
bStack,
|
5083
|
+
customTesters,
|
5084
|
+
diffBuilder
|
5085
|
+
);
|
4895
5086
|
// RegExps are compared by their source patterns and flags.
|
4896
5087
|
case '[object RegExp]':
|
4897
5088
|
return (
|
@@ -5268,6 +5459,31 @@ getJasmineRequireObj().MatchersUtil = function(j$) {
|
|
5268
5459
|
return MatchersUtil;
|
5269
5460
|
};
|
5270
5461
|
|
5462
|
+
/**
|
5463
|
+
* @interface AsymmetricEqualityTester
|
5464
|
+
* @classdesc An asymmetric equality tester is an object that can match multiple
|
5465
|
+
* objects. Examples include jasmine.any() and jasmine.stringMatching().
|
5466
|
+
* User-defined asymmetric equality testers can also be defined and used in
|
5467
|
+
* expectations.
|
5468
|
+
* @see custom_asymmetric_equality_testers
|
5469
|
+
* @since 2.0.0
|
5470
|
+
*/
|
5471
|
+
/**
|
5472
|
+
* Determines whether a value matches this tester
|
5473
|
+
* @function
|
5474
|
+
* @name AsymmetricEqualityTester#asymmetricMatch
|
5475
|
+
* @param value {any} The value to test
|
5476
|
+
* @param matchersUtil {MatchersUtil} utilities for testing equality, etc
|
5477
|
+
* @return {Boolean}
|
5478
|
+
*/
|
5479
|
+
/**
|
5480
|
+
* Returns a string representation of this tester to use in matcher failure messages
|
5481
|
+
* @function
|
5482
|
+
* @name AsymmetricEqualityTester#jasmineToString
|
5483
|
+
* @param pp {function} Function that takes a value and returns a pretty-printed representation
|
5484
|
+
* @return {String}
|
5485
|
+
*/
|
5486
|
+
|
5271
5487
|
getJasmineRequireObj().MismatchTree = function(j$) {
|
5272
5488
|
/*
|
5273
5489
|
To be able to apply custom object formatters at all possible levels of an
|
@@ -7987,10 +8203,11 @@ getJasmineRequireObj().interface = function(jasmine, env) {
|
|
7987
8203
|
* @function
|
7988
8204
|
* @global
|
7989
8205
|
* @param {Object} obj - The object upon which to install the {@link Spy}s
|
8206
|
+
* @param {boolean} includeNonEnumerable - Whether or not to add spies to non-enumerable properties
|
7990
8207
|
* @returns {Object} the spied object
|
7991
8208
|
*/
|
7992
|
-
spyOnAllFunctions: function(obj) {
|
7993
|
-
return env.spyOnAllFunctions(obj);
|
8209
|
+
spyOnAllFunctions: function(obj, includeNonEnumerable) {
|
8210
|
+
return env.spyOnAllFunctions(obj, includeNonEnumerable);
|
7994
8211
|
},
|
7995
8212
|
|
7996
8213
|
jsApiReporter: new jasmine.JsApiReporter({
|
@@ -8145,9 +8362,11 @@ getJasmineRequireObj().Spy = function(j$) {
|
|
8145
8362
|
});
|
8146
8363
|
|
8147
8364
|
/**
|
8148
|
-
* _Note:_ Do not construct this directly
|
8149
|
-
* @
|
8150
|
-
* @
|
8365
|
+
* @classdesc _Note:_ Do not construct this directly. Use {@link spyOn},
|
8366
|
+
* {@link spyOnProperty}, {@link jasmine.createSpy}, or
|
8367
|
+
* {@link jasmine.createSpyObj} instead.
|
8368
|
+
* @class Spy
|
8369
|
+
* @hideconstructor
|
8151
8370
|
*/
|
8152
8371
|
function Spy(
|
8153
8372
|
name,
|
@@ -8176,6 +8395,7 @@ getJasmineRequireObj().Spy = function(j$) {
|
|
8176
8395
|
* @property {object} object - `this` context for the invocation.
|
8177
8396
|
* @property {number} invocationOrder - Order of the invocation.
|
8178
8397
|
* @property {Array} args - The arguments passed for this invocation.
|
8398
|
+
* @property returnValue - The value that was returned from this invocation.
|
8179
8399
|
*/
|
8180
8400
|
var callData = {
|
8181
8401
|
object: context,
|
@@ -8591,7 +8811,7 @@ getJasmineRequireObj().SpyRegistry = function(j$) {
|
|
8591
8811
|
return spy;
|
8592
8812
|
};
|
8593
8813
|
|
8594
|
-
this.spyOnAllFunctions = function(obj) {
|
8814
|
+
this.spyOnAllFunctions = function(obj, includeNonEnumerable) {
|
8595
8815
|
if (j$.util.isUndefined(obj)) {
|
8596
8816
|
throw new Error(
|
8597
8817
|
'spyOnAllFunctions could not find an object to spy upon'
|
@@ -8599,30 +8819,27 @@ getJasmineRequireObj().SpyRegistry = function(j$) {
|
|
8599
8819
|
}
|
8600
8820
|
|
8601
8821
|
var pointer = obj,
|
8602
|
-
|
8603
|
-
|
8604
|
-
|
8822
|
+
propsToSpyOn = [],
|
8823
|
+
properties,
|
8824
|
+
propertiesToSkip = [];
|
8605
8825
|
|
8606
|
-
while (
|
8607
|
-
|
8608
|
-
|
8609
|
-
|
8610
|
-
|
8611
|
-
|
8612
|
-
|
8613
|
-
|
8614
|
-
|
8615
|
-
|
8616
|
-
|
8617
|
-
|
8618
|
-
}
|
8619
|
-
}
|
8620
|
-
}
|
8826
|
+
while (
|
8827
|
+
pointer &&
|
8828
|
+
(!includeNonEnumerable || pointer !== Object.prototype)
|
8829
|
+
) {
|
8830
|
+
properties = getProps(pointer, includeNonEnumerable);
|
8831
|
+
properties = properties.filter(function(prop) {
|
8832
|
+
return propertiesToSkip.indexOf(prop) === -1;
|
8833
|
+
});
|
8834
|
+
propertiesToSkip = propertiesToSkip.concat(properties);
|
8835
|
+
propsToSpyOn = propsToSpyOn.concat(
|
8836
|
+
getSpyableFunctionProps(pointer, properties)
|
8837
|
+
);
|
8621
8838
|
pointer = Object.getPrototypeOf(pointer);
|
8622
8839
|
}
|
8623
8840
|
|
8624
|
-
for (var i = 0; i <
|
8625
|
-
this.spyOn(obj,
|
8841
|
+
for (var i = 0; i < propsToSpyOn.length; i++) {
|
8842
|
+
this.spyOn(obj, propsToSpyOn[i]);
|
8626
8843
|
}
|
8627
8844
|
|
8628
8845
|
return obj;
|
@@ -8637,6 +8854,50 @@ getJasmineRequireObj().SpyRegistry = function(j$) {
|
|
8637
8854
|
};
|
8638
8855
|
}
|
8639
8856
|
|
8857
|
+
function getProps(obj, includeNonEnumerable) {
|
8858
|
+
var enumerableProperties = Object.keys(obj);
|
8859
|
+
|
8860
|
+
if (!includeNonEnumerable) {
|
8861
|
+
return enumerableProperties;
|
8862
|
+
}
|
8863
|
+
|
8864
|
+
return Object.getOwnPropertyNames(obj).filter(function(prop) {
|
8865
|
+
return (
|
8866
|
+
prop !== 'constructor' ||
|
8867
|
+
enumerableProperties.indexOf('constructor') > -1
|
8868
|
+
);
|
8869
|
+
});
|
8870
|
+
}
|
8871
|
+
|
8872
|
+
function getSpyableFunctionProps(obj, propertiesToCheck) {
|
8873
|
+
var props = [],
|
8874
|
+
prop;
|
8875
|
+
for (var i = 0; i < propertiesToCheck.length; i++) {
|
8876
|
+
prop = propertiesToCheck[i];
|
8877
|
+
if (
|
8878
|
+
Object.prototype.hasOwnProperty.call(obj, prop) &&
|
8879
|
+
isSpyableProp(obj, prop)
|
8880
|
+
) {
|
8881
|
+
props.push(prop);
|
8882
|
+
}
|
8883
|
+
}
|
8884
|
+
return props;
|
8885
|
+
}
|
8886
|
+
|
8887
|
+
function isSpyableProp(obj, prop) {
|
8888
|
+
var value, descriptor;
|
8889
|
+
try {
|
8890
|
+
value = obj[prop];
|
8891
|
+
} catch (e) {
|
8892
|
+
return false;
|
8893
|
+
}
|
8894
|
+
if (value instanceof Function) {
|
8895
|
+
descriptor = Object.getOwnPropertyDescriptor(obj, prop);
|
8896
|
+
return (descriptor.writable || descriptor.set) && descriptor.configurable;
|
8897
|
+
}
|
8898
|
+
return false;
|
8899
|
+
}
|
8900
|
+
|
8640
8901
|
return SpyRegistry;
|
8641
8902
|
};
|
8642
8903
|
|
@@ -8969,10 +9230,26 @@ getJasmineRequireObj().StackTrace = function(j$) {
|
|
8969
9230
|
};
|
8970
9231
|
|
8971
9232
|
getJasmineRequireObj().Suite = function(j$) {
|
9233
|
+
/**
|
9234
|
+
* @interface Suite
|
9235
|
+
* @see Env#topSuite
|
9236
|
+
*/
|
8972
9237
|
function Suite(attrs) {
|
8973
9238
|
this.env = attrs.env;
|
8974
9239
|
this.id = attrs.id;
|
9240
|
+
/**
|
9241
|
+
* The parent of this suite, or null if this is the top suite.
|
9242
|
+
* @name Suite#parentSuite
|
9243
|
+
* @readonly
|
9244
|
+
* @type {Suite}
|
9245
|
+
*/
|
8975
9246
|
this.parentSuite = attrs.parentSuite;
|
9247
|
+
/**
|
9248
|
+
* The description passed to the {@link describe} that created this suite.
|
9249
|
+
* @name Suite#description
|
9250
|
+
* @readonly
|
9251
|
+
* @type {string}
|
9252
|
+
*/
|
8976
9253
|
this.description = attrs.description;
|
8977
9254
|
this.expectationFactory = attrs.expectationFactory;
|
8978
9255
|
this.asyncExpectationFactory = attrs.asyncExpectationFactory;
|
@@ -8986,6 +9263,11 @@ getJasmineRequireObj().Suite = function(j$) {
|
|
8986
9263
|
|
8987
9264
|
this.timer = attrs.timer || new j$.Timer();
|
8988
9265
|
|
9266
|
+
/**
|
9267
|
+
* The suite's children.
|
9268
|
+
* @name Suite#children
|
9269
|
+
* @type {Array.<(Spec|Suite)>}
|
9270
|
+
*/
|
8989
9271
|
this.children = [];
|
8990
9272
|
|
8991
9273
|
/**
|
@@ -9023,6 +9305,12 @@ getJasmineRequireObj().Suite = function(j$) {
|
|
9023
9305
|
return this.asyncExpectationFactory(actual, this);
|
9024
9306
|
};
|
9025
9307
|
|
9308
|
+
/**
|
9309
|
+
* The full description including all ancestors of this suite.
|
9310
|
+
* @name Suite#getFullName
|
9311
|
+
* @function
|
9312
|
+
* @returns {string}
|
9313
|
+
*/
|
9026
9314
|
Suite.prototype.getFullName = function() {
|
9027
9315
|
var fullName = [];
|
9028
9316
|
for (
|
@@ -9469,5 +9757,5 @@ getJasmineRequireObj().UserContext = function(j$) {
|
|
9469
9757
|
};
|
9470
9758
|
|
9471
9759
|
getJasmineRequireObj().version = function() {
|
9472
|
-
return '3.
|
9760
|
+
return '3.8.0';
|
9473
9761
|
};
|
data/lib/jasmine-core/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: jasmine-core
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 3.
|
4
|
+
version: 3.8.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Gregg Van Hove
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2021-
|
11
|
+
date: 2021-07-02 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rake
|
@@ -71,8 +71,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
71
71
|
- !ruby/object:Gem::Version
|
72
72
|
version: '0'
|
73
73
|
requirements: []
|
74
|
-
|
75
|
-
rubygems_version: 2.7.6.2
|
74
|
+
rubygems_version: 3.0.3
|
76
75
|
signing_key:
|
77
76
|
specification_version: 4
|
78
77
|
summary: JavaScript BDD framework
|