ember-inspector 4.8.0 → 4.9.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.
- package/.github/workflows/build.yml +16 -13
- package/CHANGELOG.md +22 -0
- package/app/components/object-inspector/dependent-keys.hbs +9 -1
- package/app/components/object-inspector/sort-properties.js +10 -4
- package/app/controllers/component-tree.js +1 -0
- package/app/services/adapters/basic.js +2 -2
- package/app/services/adapters/web-extension.js +26 -22
- package/app/services/port.js +8 -0
- package/app/styles/object_inspector.scss +5 -0
- package/dist/bookmarklet/panes-3-16-0/assets/{chunk.143.8e39f623b854874c76cc.js → chunk.143.3e5a98d07bb218f42c73.js} +4 -4
- package/dist/{firefox/panes-3-16-0/assets/chunk.178.aceef4d5ceb9d49b48f7.js → bookmarklet/panes-3-16-0/assets/chunk.178.8599f53165a2cb11480c.js} +3 -3
- package/dist/{firefox/panes-3-16-0/assets/chunk.527.7db717391df5e1aa2388.js → bookmarklet/panes-3-16-0/assets/chunk.527.bedf7967198bca66753a.js} +1 -1
- package/dist/bookmarklet/panes-3-16-0/assets/{chunk.527.7db717391df5e1aa2388.js.LICENSE.txt → chunk.527.bedf7967198bca66753a.js.LICENSE.txt} +0 -0
- package/dist/bookmarklet/panes-3-16-0/assets/{chunk.916.2455f308cd244ed6a8d1.js → chunk.916.7f8d390eee8880f12b29.js} +288 -279
- package/dist/bookmarklet/panes-3-16-0/assets/{chunk.916.2455f308cd244ed6a8d1.js.LICENSE.txt → chunk.916.7f8d390eee8880f12b29.js.LICENSE.txt} +1 -1
- package/dist/bookmarklet/panes-3-16-0/assets/ember-inspector.css +5 -0
- package/dist/bookmarklet/panes-3-16-0/assets/ember-inspector.js +23 -21
- package/dist/bookmarklet/panes-3-16-0/assets/vendor.js +3 -3
- package/dist/bookmarklet/panes-3-16-0/ember_debug.js +78 -13
- package/dist/bookmarklet/panes-3-16-0/index.html +3 -3
- package/dist/chrome/background-script.js +1 -1
- package/dist/chrome/content-script.js +10 -10
- package/dist/chrome/manifest.json +1 -1
- package/dist/{firefox/panes-3-16-0/assets/chunk.143.8e39f623b854874c76cc.js → chrome/panes-3-16-0/assets/chunk.143.3e5a98d07bb218f42c73.js} +4 -4
- package/dist/{bookmarklet/panes-3-16-0/assets/chunk.178.aceef4d5ceb9d49b48f7.js → chrome/panes-3-16-0/assets/chunk.178.8599f53165a2cb11480c.js} +3 -3
- package/dist/chrome/panes-3-16-0/assets/{chunk.527.7db717391df5e1aa2388.js → chunk.527.bedf7967198bca66753a.js} +1 -1
- package/dist/chrome/panes-3-16-0/assets/{chunk.527.7db717391df5e1aa2388.js.LICENSE.txt → chunk.527.bedf7967198bca66753a.js.LICENSE.txt} +0 -0
- package/dist/{firefox/panes-3-16-0/assets/chunk.916.2455f308cd244ed6a8d1.js → chrome/panes-3-16-0/assets/chunk.916.7f8d390eee8880f12b29.js} +288 -279
- package/dist/chrome/panes-3-16-0/assets/{chunk.916.2455f308cd244ed6a8d1.js.LICENSE.txt → chunk.916.7f8d390eee8880f12b29.js.LICENSE.txt} +1 -1
- package/dist/chrome/panes-3-16-0/assets/ember-inspector.css +5 -0
- package/dist/chrome/panes-3-16-0/assets/ember-inspector.js +23 -21
- package/dist/chrome/panes-3-16-0/assets/vendor.js +3 -3
- package/dist/chrome/panes-3-16-0/ember_debug.js +78 -13
- package/dist/chrome/panes-3-16-0/index.html +3 -3
- package/dist/firefox/background-script.js +1 -1
- package/dist/firefox/content-script.js +10 -10
- package/dist/firefox/manifest.json +1 -1
- package/dist/{chrome/panes-3-16-0/assets/chunk.143.8e39f623b854874c76cc.js → firefox/panes-3-16-0/assets/chunk.143.3e5a98d07bb218f42c73.js} +4 -4
- package/dist/{websocket/assets/chunk.178.aceef4d5ceb9d49b48f7.js → firefox/panes-3-16-0/assets/chunk.178.8599f53165a2cb11480c.js} +3 -3
- package/dist/{bookmarklet/panes-3-16-0/assets/chunk.527.7db717391df5e1aa2388.js → firefox/panes-3-16-0/assets/chunk.527.bedf7967198bca66753a.js} +1 -1
- package/dist/firefox/panes-3-16-0/assets/{chunk.527.7db717391df5e1aa2388.js.LICENSE.txt → chunk.527.bedf7967198bca66753a.js.LICENSE.txt} +0 -0
- package/dist/{websocket/assets/chunk.916.2455f308cd244ed6a8d1.js → firefox/panes-3-16-0/assets/chunk.916.7f8d390eee8880f12b29.js} +288 -279
- package/dist/firefox/panes-3-16-0/assets/{chunk.916.2455f308cd244ed6a8d1.js.LICENSE.txt → chunk.916.7f8d390eee8880f12b29.js.LICENSE.txt} +1 -1
- package/dist/firefox/panes-3-16-0/assets/ember-inspector.css +5 -0
- package/dist/firefox/panes-3-16-0/assets/ember-inspector.js +23 -21
- package/dist/firefox/panes-3-16-0/assets/vendor.js +3 -3
- package/dist/firefox/panes-3-16-0/ember_debug.js +78 -13
- package/dist/firefox/panes-3-16-0/index.html +3 -3
- package/dist/websocket/assets/{chunk.143.8e39f623b854874c76cc.js → chunk.143.3e5a98d07bb218f42c73.js} +4 -4
- package/dist/{chrome/panes-3-16-0/assets/chunk.178.aceef4d5ceb9d49b48f7.js → websocket/assets/chunk.178.8599f53165a2cb11480c.js} +3 -3
- package/dist/websocket/assets/{chunk.527.7db717391df5e1aa2388.js → chunk.527.bedf7967198bca66753a.js} +1 -1
- package/dist/websocket/assets/{chunk.527.7db717391df5e1aa2388.js.LICENSE.txt → chunk.527.bedf7967198bca66753a.js.LICENSE.txt} +0 -0
- package/dist/{chrome/panes-3-16-0/assets/chunk.916.2455f308cd244ed6a8d1.js → websocket/assets/chunk.916.7f8d390eee8880f12b29.js} +288 -279
- package/dist/websocket/assets/{chunk.916.2455f308cd244ed6a8d1.js.LICENSE.txt → chunk.916.7f8d390eee8880f12b29.js.LICENSE.txt} +1 -1
- package/dist/websocket/assets/ember-inspector.css +5 -0
- package/dist/websocket/assets/ember-inspector.js +23 -21
- package/dist/websocket/assets/vendor.js +3 -3
- package/dist/websocket/ember_debug.js +78 -13
- package/dist/websocket/index.html +3 -3
- package/ember_debug/object-inspector.js +77 -7
- package/ember_debug/render-debug.js +6 -3
- package/package.json +1 -1
- package/skeletons/web-extension/background-script.js +1 -1
- package/skeletons/web-extension/content-script.js +10 -10
- package/tests/ember_debug/object-inspector-test.js +36 -7
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! For license information please see chunk.916.
|
|
1
|
+
/*! For license information please see chunk.916.7f8d390eee8880f12b29.js.LICENSE.txt */
|
|
2
2
|
(globalThis.webpackChunk_ember_auto_import_=globalThis.webpackChunk_ember_auto_import_||[]).push([[916],{916:(e,t,n)=>{var r
|
|
3
3
|
e=n.nmd(e),function(){"use strict"
|
|
4
4
|
function i(e){return i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},i(e)}function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function s(e,t){for(var n=0;n<t.length;n++){var r=t[n]
|
|
@@ -14,48 +14,51 @@ if(void 0!==h)return h
|
|
|
14
14
|
if("undefined"!=typeof global)return global
|
|
15
15
|
throw new Error("Unable to locate global object")}(),h=d.window,p=d.console,g=d.setTimeout,m=d.clearTimeout,v=h&&h.document,b=h&&h.navigator,y=function(){var e="qunit-test-string"
|
|
16
16
|
try{return d.sessionStorage.setItem(e,e),d.sessionStorage.removeItem(e),d.sessionStorage}catch(e){return}}(),k="function"==typeof d.Map&&"function"==typeof d.Map.prototype.keys&&"function"==typeof d.Symbol&&"symbol"===i(d.Symbol.iterator)?d.Map:function(e){var t=this,n=Object.create(null),r=Object.prototype.hasOwnProperty
|
|
17
|
-
this.has=function(e){return r.call(n,e)},this.get=function(e){return n[e]},this.set=function(e,t){return r.call(n,e)||this.size++,n[e]=t,this},this.delete=function(e){r.call(n,e)&&(delete n[e],this.size--)},this.forEach=function(e){for(var t in n)e(n[t],t)},this.keys=function(){return Object.keys(n)},this.clear=function(){n=Object.create(null),this.size=0},this.size=0,e&&e.forEach((function(e,n){t.set(n,e)}))},w=
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
for(var r in e)if(
|
|
21
|
-
n[r]=i===Object(i)?
|
|
17
|
+
this.has=function(e){return r.call(n,e)},this.get=function(e){return n[e]},this.set=function(e,t){return r.call(n,e)||this.size++,n[e]=t,this},this.delete=function(e){r.call(n,e)&&(delete n[e],this.size--)},this.forEach=function(e){for(var t in n)e(n[t],t)},this.keys=function(){return Object.keys(n)},this.clear=function(){n=Object.create(null),this.size=0},this.size=0,e&&e.forEach((function(e,n){t.set(n,e)}))},w="function"==typeof d.Set&&"function"==typeof d.Set.prototype.values?d.Set:function(e){var t=Object.create(null)
|
|
18
|
+
return Array.isArray(e)&&e.forEach((function(e){t[e]=!0})),{add:function(e){t[e]=!0},has:function(e){return e in t},get size(){return Object.keys(t).length}}},x={warn:p?Function.prototype.bind.call(p.warn||p.log,p):function(){}},E=Object.prototype.toString,C=Object.prototype.hasOwnProperty,T=h&&void 0!==h.performance&&"function"==typeof h.performance.mark&&"function"==typeof h.performance.measure?h.performance:void 0,N={now:T?T.now.bind(T):Date.now,measure:T?function(e,t,n){try{T.measure(e,t,n)}catch(e){x.warn("performance.measure could not be executed because of ",e.message)}}:function(){},mark:T?T.mark.bind(T):function(){}}
|
|
19
|
+
function M(e,t){return e.filter((function(e){return-1===t.indexOf(e)}))}function S(e,t){return-1!==t.indexOf(e)}function j(e){var t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],n=t&&O("array",e)?[]:{}
|
|
20
|
+
for(var r in e)if(C.call(e,r)){var i=e[r]
|
|
21
|
+
n[r]=i===Object(i)?j(i,t):i}return n}function q(e,t){if(e!==Object(e))return e
|
|
22
22
|
var n={}
|
|
23
|
-
for(var r in t)
|
|
24
|
-
return n}function
|
|
25
|
-
return e}function
|
|
23
|
+
for(var r in t)C.call(t,r)&&C.call(e,r)&&(n[r]=q(e[r],t[r]))
|
|
24
|
+
return n}function I(e,t,n){for(var r in t)C.call(t,r)&&(void 0===t[r]?delete e[r]:n&&void 0!==e[r]||(e[r]=t[r]))
|
|
25
|
+
return e}function R(e){if(void 0===e)return"undefined"
|
|
26
26
|
if(null===e)return"null"
|
|
27
|
-
var t=
|
|
27
|
+
var t=E.call(e).match(/^\[object\s(.*)\]$/),n=t&&t[1]
|
|
28
28
|
switch(n){case"Number":return isNaN(e)?"nan":"number"
|
|
29
29
|
case"String":case"Boolean":case"Array":case"Set":case"Map":case"Date":case"RegExp":case"Function":case"Symbol":return n.toLowerCase()
|
|
30
|
-
default:return i(e)}}function
|
|
30
|
+
default:return i(e)}}function O(e,t){return R(t)===e}function _(e,t){for(var n=e+""+t,r=0,i=0;i<n.length;i++)r=(r<<5)-r+n.charCodeAt(i),r|=0
|
|
31
31
|
var o=(4294967296+r).toString(16)
|
|
32
|
-
return o.length<8&&(o="0000000"+o),o.slice(-8)}function
|
|
33
|
-
return"[object"===t.slice(0,7)?(e.name||"Error")+(e.message?": ".concat(e.message):""):t}var
|
|
34
|
-
function
|
|
35
|
-
if(
|
|
36
|
-
for(var
|
|
37
|
-
return!0},set:function(t
|
|
38
|
-
var
|
|
39
|
-
return
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
var
|
|
43
|
-
return
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
var n=
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
return e.
|
|
57
|
-
P
|
|
58
|
-
var
|
|
32
|
+
return o.length<8&&(o="0000000"+o),o.slice(-8)}function A(e){var t=String(e)
|
|
33
|
+
return"[object"===t.slice(0,7)?(e.name||"Error")+(e.message?": ".concat(e.message):""):t}var L=new w(["boolean","number","string"]),P=[]
|
|
34
|
+
function H(e,t){return e===t}function U(e,t){return e===t||e.valueOf()===t.valueOf()}function D(e){var t=Object.getPrototypeOf(e)
|
|
35
|
+
return t&&null!==t.constructor?t.constructor:Object}function F(e){return"flags"in e?e.flags:e.toString().match(/[gimuy]*$/)[0]}var B={undefined:H,null:H,boolean:U,number:function(e,t){return e===t||e.valueOf()===t.valueOf()||isNaN(e.valueOf())&&isNaN(t.valueOf())},string:U,symbol:H,date:U,nan:function(){return!0},regexp:function(e,t){return e.source===t.source&&F(e)===F(t)},function:H,array:function(e,t){if(e.length!==t.length)return!1
|
|
36
|
+
for(var n=0;n<e.length;n++)if(!z(e[n],t[n]))return!1
|
|
37
|
+
return!0},set:function(e,t){if(e.size!==t.size)return!1
|
|
38
|
+
var n=!0
|
|
39
|
+
return e.forEach((function(e){if(n){var r=!1
|
|
40
|
+
t.forEach((function(t){if(!r){var n=P
|
|
41
|
+
P=[],z(t,e)&&(r=!0),P=n}})),r||(n=!1)}})),n},map:function(e,t){if(e.size!==t.size)return!1
|
|
42
|
+
var n=!0
|
|
43
|
+
return e.forEach((function(e,r){if(n){var i=!1
|
|
44
|
+
t.forEach((function(t,n){if(!i){var o=P
|
|
45
|
+
P=[],B.array([t,n],[e,r])&&(i=!0),P=o}})),i||(n=!1)}})),n}},Q={undefined:H,null:H,boolean:H,number:function(e,t){return e===t||isNaN(e)&&isNaN(t)},string:H,symbol:H,function:H,object:function(e,t){if(P.some((function(n){return n.a===e&&n.b===t})))return!0
|
|
46
|
+
P.push({a:e,b:t})
|
|
47
|
+
var n=R(e),r=R(t)
|
|
48
|
+
if("object"!==n||"object"!==r)return n===r&&B[n](e,t)
|
|
49
|
+
if(!1===function(e,t){return D(e)===D(t)}(e,t))return!1
|
|
50
|
+
var i=[],o=[]
|
|
51
|
+
for(var s in e)if(i.push(s),(e.constructor===Object||void 0===e.constructor||"function"!=typeof e[s]||"function"!=typeof t[s]||e[s].toString()!==t[s].toString())&&!z(e[s],t[s]))return!1
|
|
52
|
+
for(var a in t)o.push(a)
|
|
53
|
+
return B.array(i.sort(),o.sort())}}
|
|
54
|
+
function z(e,t){if(e===t)return!0
|
|
55
|
+
var n=i(e),r=i(t)
|
|
56
|
+
return n!==r?("object"===n&&L.has(R(e))?e.valueOf():e)===("object"===r&&L.has(R(t))?t.valueOf():t):Q[n](e,t)}function $(e,t){var n=z(e,t)
|
|
57
|
+
return P=[],n}function G(e,t){if(2===arguments.length)return e===t||$(e,t)
|
|
58
|
+
for(var n=arguments.length-1;n>0;){if(!$(arguments[n-1],arguments[n]))return!1
|
|
59
|
+
n--}return!0}var Y={altertitle:!0,collapse:!0,failOnZeroTests:!0,filter:void 0,maxDepth:5,module:void 0,moduleId:void 0,reorder:!0,requireExpects:!1,scrolltop:!0,storage:y,testId:void 0,urlConfig:[],currentModule:{name:"",tests:[],childModules:[],testsRun:0,testsIgnored:0,hooks:{before:[],beforeEach:[],afterEach:[],after:[]}},globalHooks:{},blocking:!0,callbacks:{},modules:[],queue:[],stats:{all:0,bad:0,testCount:0}},W=d&&d.QUnit&&!d.QUnit.version&&d.QUnit.config
|
|
60
|
+
W&&I(Y,W),Y.modules.push(Y.currentModule)
|
|
61
|
+
var J=function(){function e(e){return'"'+e.toString().replace(/\\/g,"\\\\").replace(/"/g,'\\"')+'"'}function t(e){return e+""}function n(e,t,n){var r=s.separator(),i=s.indent(1)
|
|
59
62
|
return t.join&&(t=t.join(","+r+i)),t?[e,i+t,s.indent()+n].join(r):e+n}function r(e,t){if(s.maxDepth&&s.depth>s.maxDepth)return"[object Array]"
|
|
60
63
|
this.up()
|
|
61
64
|
for(var r=e.length,i=new Array(r);r--;)i[r]=this.parse(e[r],void 0,t)
|
|
@@ -66,9 +69,9 @@ var o=this.parsers[t],s=i(o)
|
|
|
66
69
|
if("function"===s){n.push(e)
|
|
67
70
|
var a=o.call(this,e,n)
|
|
68
71
|
return n.pop(),a}return"string"===s?o:"[ERROR: Missing QUnit.dump formatter for type "+t+"]"},typeOf:function(e){var t
|
|
69
|
-
return t=null===e?"null":void 0===e?"undefined":
|
|
72
|
+
return t=null===e?"null":void 0===e?"undefined":O("regexp",e)?"regexp":O("date",e)?"date":O("function",e)?"function":void 0!==e.setInterval&&void 0!==e.document&&void 0===e.nodeType?"window":9===e.nodeType?"document":e.nodeType?"node":function(e){return"[object Array]"===E.call(e)||"number"==typeof e.length&&void 0!==e.item&&(e.length?e.item(0)===e[0]:null===e.item(0)&&void 0===e[0])}(e)?"array":e.constructor===Error.prototype.constructor?"error":i(e),t},separator:function(){return this.multiline?this.HTML?"<br />":"\n":this.HTML?" ":" "},indent:function(e){if(!this.multiline)return""
|
|
70
73
|
var t=this.indentChar
|
|
71
|
-
return this.HTML&&(t=t.replace(/\t/g," ").replace(/ /g," ")),new Array(this.depth+(e||0)).join(t)},up:function(e){this.depth+=e||1},down:function(e){this.depth-=e||1},setParser:function(e,t){this.parsers[e]=t},quote:e,literal:t,join:n,depth:1,maxDepth:
|
|
74
|
+
return this.HTML&&(t=t.replace(/\t/g," ").replace(/ /g," ")),new Array(this.depth+(e||0)).join(t)},up:function(e){this.depth+=e||1},down:function(e){this.depth-=e||1},setParser:function(e,t){this.parsers[e]=t},quote:e,literal:t,join:n,depth:1,maxDepth:Y.maxDepth,parsers:{window:"[Window]",document:"[Document]",error:function(e){return'Error("'+e.message+'")'},unknown:"[Unknown]",null:"null",undefined:"undefined",function:function(e){var t="function",r="name"in e?e.name:(o.exec(e)||[])[1]
|
|
72
75
|
return r&&(t+=" "+r),n(t=[t+="(",s.parse(e,"functionArgs"),"){"].join(""),s.parse(e,"functionCode"),"}")},array:r,nodelist:r,arguments:r,object:function(e,t){var r=[]
|
|
73
76
|
if(s.maxDepth&&s.depth>s.maxDepth)return"[object Object]"
|
|
74
77
|
s.up()
|
|
@@ -84,71 +87,66 @@ u&&"inherit"!==u&&(i+=" "+o[a].nodeName+"="+s.parse(u,"attribute"))}return i+=n,
|
|
|
84
87
|
if(!t)return""
|
|
85
88
|
for(var n=new Array(t);t--;)n[t]=String.fromCharCode(97+t)
|
|
86
89
|
return" "+n.join(", ")+" "},key:e,functionCode:"[code]",attribute:e,string:e,date:e,regexp:t,number:t,boolean:t,symbol:function(e){return e.toString()}},HTML:!1,indentChar:" ",multiline:!0}
|
|
87
|
-
return s}(),
|
|
90
|
+
return s}(),V=function(){function e(t,n){o(this,e),this.name=t,this.fullName=n?n.fullName.concat(t):[],this.globalFailureCount=0,this.tests=[],this.childSuites=[],n&&n.pushChildSuite(this)}return a(e,[{key:"start",value:function(e){if(e){this._startTime=N.now()
|
|
88
91
|
var t=this.fullName.length
|
|
89
|
-
|
|
92
|
+
N.mark("qunit_suite_".concat(t,"_start"))}return{name:this.name,fullName:this.fullName.slice(),tests:this.tests.map((function(e){return e.start()})),childSuites:this.childSuites.map((function(e){return e.start()})),testCounts:{total:this.getTestCounts().total}}}},{key:"end",value:function(e){if(e){this._endTime=N.now()
|
|
90
93
|
var t=this.fullName.length,n=this.fullName.join(" – ")
|
|
91
|
-
|
|
94
|
+
N.mark("qunit_suite_".concat(t,"_end")),N.measure(0===t?"QUnit Test Run":"QUnit Test Suite: ".concat(n),"qunit_suite_".concat(t,"_start"),"qunit_suite_".concat(t,"_end"))}return{name:this.name,fullName:this.fullName.slice(),tests:this.tests.map((function(e){return e.end()})),childSuites:this.childSuites.map((function(e){return e.end()})),testCounts:this.getTestCounts(),runtime:this.getRuntime(),status:this.getStatus()}}},{key:"pushChildSuite",value:function(e){this.childSuites.push(e)}},{key:"pushTest",value:function(e){this.tests.push(e)}},{key:"getRuntime",value:function(){return Math.round(this._endTime-this._startTime)}},{key:"getTestCounts",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{passed:0,failed:0,skipped:0,todo:0,total:0}
|
|
92
95
|
return e.failed+=this.globalFailureCount,e.total+=this.globalFailureCount,e=this.tests.reduce((function(e,t){return t.valid&&(e[t.getStatus()]++,e.total++),e}),e),this.childSuites.reduce((function(e,t){return t.getTestCounts(e)}),e)}},{key:"getStatus",value:function(){var e=this.getTestCounts(),t=e.total,n=e.failed,r=e.skipped,i=e.todo
|
|
93
|
-
return n?"failed":r===t?"skipped":i===t?"todo":"passed"}}]),e}(),
|
|
94
|
-
function
|
|
95
|
-
r&&
|
|
96
|
-
var l={name:i,parentModule:r,hooks:{before:[],beforeEach:[],afterEach:[],after:[]},testEnvironment:u,tests:[],moduleId:_(i),testsRun:0,testsIgnored:0,childModules:[],suiteReport:new
|
|
97
|
-
return r&&r.childModules.push(l),
|
|
98
|
-
"function"==typeof r&&e[n].push(r),delete t[n]}function
|
|
96
|
+
return n?"failed":r===t?"skipped":i===t?"todo":"passed"}}]),e}(),Z=[],K=new V
|
|
97
|
+
function X(e,t,n){var r=Z.length?Z.slice(-1)[0]:null,i=null!==r?[r.name,e].join(" > "):e,o=r?r.suiteReport:K,s=null!==r&&r.skip||n.skip,a=null!==r&&r.todo||n.todo,u={}
|
|
98
|
+
r&&I(u,r.testEnvironment),I(u,t)
|
|
99
|
+
var l={name:i,parentModule:r,hooks:{before:[],beforeEach:[],afterEach:[],after:[]},testEnvironment:u,tests:[],moduleId:_(i),testsRun:0,testsIgnored:0,childModules:[],suiteReport:new V(e,o),stats:null,skip:s,todo:!s&&a,ignored:n.ignored||!1}
|
|
100
|
+
return r&&r.childModules.push(l),Y.modules.push(l),l}function ee(e,t,n){var r=t[n]
|
|
101
|
+
"function"==typeof r&&e[n].push(r),delete t[n]}function te(e,t){return function(n){Y.currentModule!==e&&x.warn("The `"+t+"` hook was called inside the wrong module (`"+Y.currentModule.name+"`). Instead, use hooks provided by the callback to the containing module (`"+e.name+"`). This will become an error in QUnit 3.0."),e.hooks[t].push(n)}}function ne(e,t,n){var r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{}
|
|
99
102
|
"function"==typeof t&&(n=t,t=void 0)
|
|
100
|
-
var i=
|
|
101
|
-
|
|
102
|
-
var a={before:
|
|
103
|
-
if(
|
|
103
|
+
var i=X(e,t,r),o=i.testEnvironment,s=i.hooks
|
|
104
|
+
ee(s,o,"before"),ee(s,o,"beforeEach"),ee(s,o,"afterEach"),ee(s,o,"after")
|
|
105
|
+
var a={before:te(i,"before"),beforeEach:te(i,"beforeEach"),afterEach:te(i,"afterEach"),after:te(i,"after")},u=Y.currentModule
|
|
106
|
+
if(Y.currentModule=i,"function"==typeof n){Z.push(i)
|
|
104
107
|
try{var l=n.call(i.testEnvironment,a)
|
|
105
|
-
l&&"function"==typeof l.then&&
|
|
106
|
-
function
|
|
107
|
-
|
|
108
|
-
var
|
|
109
|
-
function
|
|
110
|
-
if(/^error$/i.test(n[0])&&n.shift(),
|
|
111
|
-
if(r.length)return r.join("\n")}return n[t]}}function
|
|
112
|
-
if(!t.stack)try{throw t}catch(e){t=e}return
|
|
113
|
-
this.test.timeout=e,
|
|
108
|
+
l&&"function"==typeof l.then&&x.warn("Returning a promise from a module callback is not supported. Instead, use hooks for async behavior. This will become an error in QUnit 3.0.")}finally{Z.pop(),Y.currentModule=i.parentModule||u}}}var re=!1
|
|
109
|
+
function ie(e,t,n){var r,i=re&&(r=Y.modules.filter((function(e){return!e.ignored})).map((function(e){return e.moduleId})),!Z.some((function(e){return r.includes(e.moduleId)})))
|
|
110
|
+
ne(e,t,n,{ignored:i})}ie.only=function(){re||(Y.modules.length=0,Y.queue.length=0,Y.currentModule.ignored=!0),re=!0,ne.apply(void 0,arguments)},ie.skip=function(e,t,n){re||ne(e,t,n,{skip:!0})},ie.todo=function(e,t,n){re||ne(e,t,n,{todo:!0})}
|
|
111
|
+
var oe=(ae(0)||"").replace(/(:\d+)+\)?/,"").replace(/.+[/\\]/,"")
|
|
112
|
+
function se(e,t){if(t=void 0===t?4:t,e&&e.stack){var n=e.stack.split("\n")
|
|
113
|
+
if(/^error$/i.test(n[0])&&n.shift(),oe){for(var r=[],i=t;i<n.length&&-1===n[i].indexOf(oe);i++)r.push(n[i])
|
|
114
|
+
if(r.length)return r.join("\n")}return n[t]}}function ae(e){var t=new Error
|
|
115
|
+
if(!t.stack)try{throw t}catch(e){t=e}return se(t,e)}var ue=function(){function e(t){o(this,e),this.test=t}return a(e,[{key:"timeout",value:function(e){if("number"!=typeof e)throw new Error("You must pass a number as the duration to assert.timeout")
|
|
116
|
+
this.test.timeout=e,Y.timeout&&(m(Y.timeout),Y.timeout=null,Y.timeoutHandler&&this.test.timeout>0&&this.test.internalResetTimeout(this.test.timeout))}},{key:"step",value:function(e){var t=e,n=!!e
|
|
114
117
|
this.test.steps.push(e),void 0===e||""===e?t="You must provide a message to assert.step":"string"!=typeof e&&(t="You must provide a string value to assert.step",n=!1),this.pushResult({result:n,message:t})}},{key:"verifySteps",value:function(e,t){var n=this.test.steps.slice()
|
|
115
118
|
this.deepEqual(n,e,t),this.test.steps.length=0}},{key:"expect",value:function(e){if(1!==arguments.length)return this.test.expected
|
|
116
119
|
this.test.expected=e}},{key:"async",value:function(e){var t=void 0===e?1:e
|
|
117
|
-
return this.test.internalStop(t)}},{key:"push",value:function(t,n,r,i,o){return
|
|
118
|
-
if(!r)throw new Error("assertion outside test context, in "+
|
|
119
|
-
return n instanceof e||(n=r.assert),n.test.pushResult(t)}},{key:"ok",value:function(e,t){t||(t=e?"okay":"failed, expected argument to be truthy, was: ".concat(
|
|
120
|
-
this.pushResult({result:r,actual:e,expected:t,message:n})}},{key:"notEqual",value:function(e,t,n){var r=t!=e
|
|
121
|
-
this.pushResult({result:r,actual:e,expected:t,message:n,negative:!0})}},{key:"propEqual",value:function(e,t,n){e=N(e),t=N(t),this.pushResult({result:A(e,t),actual:e,expected:t,message:n})}},{key:"notPropEqual",value:function(e,t,n){e=N(e),t=N(t),this.pushResult({result:!A(e,t),actual:e,expected:t,message:n,negative:!0})}},{key:"propContains",value:function(e,t,n){e=j(e,t),t=N(t,!1),this.pushResult({result:A(e,t),actual:e,expected:t,message:n})}},{key:"notPropContains",value:function(e,t,n){e=j(e,t),t=N(t),this.pushResult({result:!A(e,t),actual:e,expected:t,message:n,negative:!0})}},{key:"deepEqual",value:function(e,t,n){this.pushResult({result:A(e,t),actual:e,expected:t,message:n})}},{key:"notDeepEqual",value:function(e,t,n){this.pushResult({result:!A(e,t),actual:e,expected:t,message:n,negative:!0})}},{key:"strictEqual",value:function(e,t,n){this.pushResult({result:t===e,actual:e,expected:t,message:n})}},{key:"notStrictEqual",value:function(e,t,n){this.pushResult({result:t!==e,actual:e,expected:t,message:n,negative:!0})}},{key:"throws",value:function(t,n,r){var i=u(K(n,r,"throws"),2)
|
|
120
|
+
return this.test.internalStop(t)}},{key:"push",value:function(t,n,r,i,o){return x.warn("assert.push is deprecated and will be removed in QUnit 3.0. Please use assert.pushResult instead (https://api.qunitjs.com/assert/pushResult)."),(this instanceof e?this:Y.current.assert).pushResult({result:t,actual:n,expected:r,message:i,negative:o})}},{key:"pushResult",value:function(t){var n=this,r=n instanceof e&&n.test||Y.current
|
|
121
|
+
if(!r)throw new Error("assertion outside test context, in "+ae(2))
|
|
122
|
+
return n instanceof e||(n=r.assert),n.test.pushResult(t)}},{key:"ok",value:function(e,t){t||(t=e?"okay":"failed, expected argument to be truthy, was: ".concat(J.parse(e))),this.pushResult({result:!!e,actual:e,expected:!0,message:t})}},{key:"notOk",value:function(e,t){t||(t=e?"failed, expected argument to be falsy, was: ".concat(J.parse(e)):"okay"),this.pushResult({result:!e,actual:e,expected:!1,message:t})}},{key:"true",value:function(e,t){this.pushResult({result:!0===e,actual:e,expected:!0,message:t})}},{key:"false",value:function(e,t){this.pushResult({result:!1===e,actual:e,expected:!1,message:t})}},{key:"equal",value:function(e,t,n){this.pushResult({result:t==e,actual:e,expected:t,message:n})}},{key:"notEqual",value:function(e,t,n){this.pushResult({result:t!=e,actual:e,expected:t,message:n,negative:!0})}},{key:"propEqual",value:function(e,t,n){e=j(e),t=j(t),this.pushResult({result:G(e,t),actual:e,expected:t,message:n})}},{key:"notPropEqual",value:function(e,t,n){e=j(e),t=j(t),this.pushResult({result:!G(e,t),actual:e,expected:t,message:n,negative:!0})}},{key:"propContains",value:function(e,t,n){e=q(e,t),t=j(t,!1),this.pushResult({result:G(e,t),actual:e,expected:t,message:n})}},{key:"notPropContains",value:function(e,t,n){e=q(e,t),t=j(t),this.pushResult({result:!G(e,t),actual:e,expected:t,message:n,negative:!0})}},{key:"deepEqual",value:function(e,t,n){this.pushResult({result:G(e,t),actual:e,expected:t,message:n})}},{key:"notDeepEqual",value:function(e,t,n){this.pushResult({result:!G(e,t),actual:e,expected:t,message:n,negative:!0})}},{key:"strictEqual",value:function(e,t,n){this.pushResult({result:t===e,actual:e,expected:t,message:n})}},{key:"notStrictEqual",value:function(e,t,n){this.pushResult({result:t!==e,actual:e,expected:t,message:n,negative:!0})}},{key:"throws",value:function(t,n,r){var i=u(le(n,r,"throws"),2)
|
|
122
123
|
n=i[0],r=i[1]
|
|
123
|
-
var o=this instanceof e&&this.test||
|
|
124
|
+
var o=this instanceof e&&this.test||Y.current
|
|
124
125
|
if("function"==typeof t){var s,a=!1
|
|
125
126
|
o.ignoreGlobalErrors=!0
|
|
126
|
-
try{t.call(o.testEnvironment)}catch(e){s=e}if(o.ignoreGlobalErrors=!1,s){var l=u(
|
|
127
|
-
a=l[0],n=l[1],r=l[2]}o.assert.pushResult({result:a,actual:s&&
|
|
128
|
-
o.assert.pushResult({result:!1,actual:t,message:c})}}},{key:"rejects",value:function(t,n,r){var i=u(K(n,r,"rejects"),2)
|
|
127
|
+
try{t.call(o.testEnvironment)}catch(e){s=e}if(o.ignoreGlobalErrors=!1,s){var l=u(ce(s,n,r),3)
|
|
128
|
+
a=l[0],n=l[1],r=l[2]}o.assert.pushResult({result:a,actual:s&&A(s),expected:n,message:r})}else o.assert.pushResult({result:!1,actual:t,message:'The value provided to `assert.throws` in "'+o.testName+'" was not a function.'})}},{key:"rejects",value:function(t,n,r){var i=u(le(n,r,"rejects"),2)
|
|
129
129
|
n=i[0],r=i[1]
|
|
130
|
-
var o=this instanceof e&&this.test||
|
|
130
|
+
var o=this instanceof e&&this.test||Y.current,s=t&&t.then
|
|
131
131
|
if("function"==typeof s){var a=this.async()
|
|
132
|
-
return s.call(t,(function(){
|
|
133
|
-
o.assert.pushResult({result
|
|
134
|
-
t
|
|
135
|
-
o.assert.pushResult({result:!1,message:l,actual:t})}}]),e}()
|
|
136
|
-
function K(e,t,n){var r=I(e)
|
|
132
|
+
return s.call(t,(function(){o.assert.pushResult({result:!1,message:'The promise returned by the `assert.rejects` callback in "'+o.testName+'" did not reject.',actual:t}),a()}),(function(e){var t,i=u(ce(e,n,r),3)
|
|
133
|
+
t=i[0],n=i[1],r=i[2],o.assert.pushResult({result:t,actual:e&&A(e),expected:n,message:r}),a()}))}o.assert.pushResult({result:!1,message:'The value provided to `assert.rejects` in "'+o.testName+'" was not a promise.',actual:t})}}]),e}()
|
|
134
|
+
function le(e,t,n){var r=R(e)
|
|
137
135
|
if("string"===r){if(void 0===t)return t=e,[e=void 0,t]
|
|
138
136
|
throw new Error("assert."+n+" does not accept a string value for the expected argument.\nUse a non-string object value (e.g. RegExp or validator function) instead if necessary.")}if(e&&"regexp"!==r&&"function"!==r&&"object"!==r)throw new Error("Invalid expected value type ("+r+") provided to assert."+n+".")
|
|
139
|
-
return[e,t]}function
|
|
140
|
-
if(t){if("regexp"===i)r=t.test(
|
|
137
|
+
return[e,t]}function ce(e,t,n){var r=!1,i=R(t)
|
|
138
|
+
if(t){if("regexp"===i)r=t.test(A(e)),t=String(t)
|
|
141
139
|
else if("function"===i&&void 0!==t.prototype&&e instanceof t)r=!0
|
|
142
|
-
else if("object"===i)r=e instanceof t.constructor&&e.name===t.name&&e.message===t.message,t=
|
|
143
|
-
else if("function"===i)try{r=!0===t.call({},e),t=null}catch(e){t=
|
|
144
|
-
return[r,t,n]}
|
|
145
|
-
var
|
|
146
|
-
function
|
|
147
|
-
for(var n=
|
|
140
|
+
else if("object"===i)r=e instanceof t.constructor&&e.name===t.name&&e.message===t.message,t=A(t)
|
|
141
|
+
else if("function"===i)try{r=!0===t.call({},e),t=null}catch(e){t=A(e)}}else r=!0
|
|
142
|
+
return[r,t,n]}ue.prototype.raises=ue.prototype.throws
|
|
143
|
+
var fe=Object.create(null),de=["error","runStart","suiteStart","testStart","assertion","testEnd","suiteEnd","runEnd"]
|
|
144
|
+
function he(e,t){if("string"!=typeof e)throw new TypeError("eventName must be a string when emitting an event")
|
|
145
|
+
for(var n=fe[e],r=n?l(n):[],i=0;i<r.length;i++)r[i](t)}var pe="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{},ge={exports:{}}
|
|
148
146
|
!function(){var e=function(){if("undefined"!=typeof globalThis)return globalThis
|
|
149
147
|
if("undefined"!=typeof self)return self
|
|
150
148
|
if("undefined"!=typeof window)return window
|
|
151
|
-
if(void 0!==
|
|
149
|
+
if(void 0!==pe)return pe
|
|
152
150
|
throw new Error("unable to locate global object")}()
|
|
153
151
|
if("function"!=typeof e.Promise){var t=setTimeout
|
|
154
152
|
o.prototype.catch=function(e){return this.then(null,e)},o.prototype.then=function(e,t){var n=new this.constructor(r)
|
|
@@ -164,7 +162,7 @@ if(0===r.length)return t([])
|
|
|
164
162
|
var o=r.length
|
|
165
163
|
function s(e,n){if(n&&("object"===i(n)||"function"==typeof n)){var a=n.then
|
|
166
164
|
if("function"==typeof a)return void a.call(n,(function(t){s(e,t)}),(function(n){r[e]={status:"rejected",reason:n},0==--o&&t(r)}))}r[e]={status:"fulfilled",value:n},0==--o&&t(r)}for(var a=0;a<r.length;a++)s(a,r[a])}))},o.resolve=function(e){return e&&"object"===i(e)&&e.constructor===o?e:new o((function(t){t(e)}))},o.reject=function(e){return new o((function(t,n){n(e)}))},o.race=function(e){return new o((function(t,r){if(!n(e))return r(new TypeError("Promise.race accepts an array"))
|
|
167
|
-
for(var i=0,s=e.length;i<s;i++)o.resolve(e[i]).then(t,r)}))},o._immediateFn="function"==typeof setImmediate&&function(e){setImmediate(e)}||function(e){t(e,0)},o._unhandledRejectionFn=function(e){"undefined"!=typeof console&&console&&console.warn("Possible Unhandled Promise Rejection:",e)},
|
|
165
|
+
for(var i=0,s=e.length;i<s;i++)o.resolve(e[i]).then(t,r)}))},o._immediateFn="function"==typeof setImmediate&&function(e){setImmediate(e)}||function(e){t(e,0)},o._unhandledRejectionFn=function(e){"undefined"!=typeof console&&console&&console.warn("Possible Unhandled Promise Rejection:",e)},ge.exports=o}else ge.exports=e.Promise
|
|
168
166
|
function n(e){return Boolean(e&&void 0!==e.length)}function r(){}function o(e){if(!(this instanceof o))throw new TypeError("Promises must be constructed via new")
|
|
169
167
|
if("function"!=typeof e)throw new TypeError("not a function")
|
|
170
168
|
this._state=0,this._handled=!1,this._value=void 0,this._deferreds=[],f(e,this)}function s(e,t){for(;3===e._state;)e=e._value
|
|
@@ -178,155 +176,154 @@ for(var t=0,n=e._deferreds.length;t<n;t++)s(e,e._deferreds[t])
|
|
|
178
176
|
e._deferreds=null}function c(e,t,n){this.onFulfilled="function"==typeof e?e:null,this.onRejected="function"==typeof t?t:null,this.promise=n}function f(e,t){var n=!1
|
|
179
177
|
try{e((function(e){n||(n=!0,a(t,e))}),(function(e){n||(n=!0,u(t,e))}))}catch(e){if(n)return
|
|
180
178
|
n=!0,u(t,e)}}}()
|
|
181
|
-
var
|
|
182
|
-
function
|
|
183
|
-
if("log"!==e){var r=
|
|
184
|
-
return n.forEach((function(e){r=r.then((function(){return
|
|
185
|
-
function
|
|
186
|
-
e=
|
|
187
|
-
if(0===
|
|
188
|
-
var t=
|
|
189
|
-
|
|
190
|
-
0===n.indexOf("qunit-test-")&&t.removeItem(n)}}))}())}function
|
|
191
|
-
if(!g||
|
|
192
|
-
|
|
193
|
-
else if(n){
|
|
179
|
+
var me=ge.exports
|
|
180
|
+
function ve(e,t){var n=Y.callbacks[e]
|
|
181
|
+
if("log"!==e){var r=me.resolve()
|
|
182
|
+
return n.forEach((function(e){r=r.then((function(){return me.resolve(e(t))}))})),r}n.map((function(e){return e(t)}))}var be,ye=0,ke=[]
|
|
183
|
+
function we(){var e,t
|
|
184
|
+
e=N.now(),Y.depth=(Y.depth||0)+1,xe(e),Y.depth--,ke.length||Y.blocking||Y.current||(Y.blocking||Y.queue.length||0!==Y.depth?(t=Y.queue.shift()(),ke.push.apply(ke,l(t)),ye>0&&ye--,we()):function(){var e
|
|
185
|
+
if(0===Y.stats.testCount&&!0===Y.failOnZeroTests)return e=Y.filter&&Y.filter.length?new Error('No tests matched the filter "'.concat(Y.filter,'".')):Y.module&&Y.module.length?new Error('No tests matched the module "'.concat(Y.module,'".')):Y.moduleId&&Y.moduleId.length?new Error('No tests matched the moduleId "'.concat(Y.moduleId,'".')):Y.testId&&Y.testId.length?new Error('No tests matched the testId "'.concat(Y.testId,'".')):new Error("No tests were run."),Ie("global failure",I((function(t){t.pushResult({result:!1,message:e.message,source:e.stack})}),{validTest:!0})),void we()
|
|
186
|
+
var t=Y.storage,n=Math.round(N.now()-Y.started),r=Y.stats.all-Y.stats.bad
|
|
187
|
+
Ee.finished=!0,he("runEnd",K.end(!0)),ve("done",{passed:r,failed:Y.stats.bad,total:Y.stats.all,runtime:n}).then((function(){if(t&&0===Y.stats.bad)for(var e=t.length-1;e>=0;e--){var n=t.key(e)
|
|
188
|
+
0===n.indexOf("qunit-test-")&&t.removeItem(n)}}))}())}function xe(e){if(ke.length&&!Y.blocking){var t=N.now()-e
|
|
189
|
+
if(!g||Y.updateRate<=0||t<Y.updateRate){var n=ke.shift()
|
|
190
|
+
me.resolve(n()).then((function(){ke.length?xe(e):we()}))}else g(we)}}var Ee={finished:!1,add:function(e,t,n){if(t)Y.queue.splice(ye++,0,e)
|
|
191
|
+
else if(n){be||(be=function(e){var t=parseInt(_(e),16)||-1
|
|
194
192
|
return function(){return t^=t<<13,t^=t>>>17,(t^=t<<5)<0&&(t+=4294967296),t/4294967296}}(n))
|
|
195
|
-
var r=Math.floor(
|
|
196
|
-
|
|
193
|
+
var r=Math.floor(be()*(Y.queue.length-ye+1))
|
|
194
|
+
Y.queue.splice(ye+r,0,e)}else Y.queue.push(e)},advance:we,taskCount:function(){return ke.length}},Ce=function(){function e(t,n,r){o(this,e),this.name=t,this.suiteName=n.name,this.fullName=n.fullName.concat(t),this.runtime=0,this.assertions=[],this.skipped=!!r.skip,this.todo=!!r.todo,this.valid=r.valid,this._startTime=0,this._endTime=0,n.pushTest(this)}return a(e,[{key:"start",value:function(e){return e&&(this._startTime=N.now(),N.mark("qunit_test_start")),{name:this.name,suiteName:this.suiteName,fullName:this.fullName.slice()}}},{key:"end",value:function(e){if(e&&(this._endTime=N.now(),N)){N.mark("qunit_test_end")
|
|
197
195
|
var t=this.fullName.join(" – ")
|
|
198
|
-
|
|
199
|
-
function
|
|
196
|
+
N.measure("QUnit Test: ".concat(t),"qunit_test_start","qunit_test_end")}return I(this.start(),{runtime:this.getRuntime(),status:this.getStatus(),errors:this.getFailedAssertions(),assertions:this.getAssertions()})}},{key:"pushAssertion",value:function(e){this.assertions.push(e)}},{key:"getRuntime",value:function(){return Math.round(this._endTime-this._startTime)}},{key:"getStatus",value:function(){return this.skipped?"skipped":(this.getFailedAssertions().length>0?this.todo:!this.todo)?this.todo?"todo":"passed":"failed"}},{key:"getFailedAssertions",value:function(){return this.assertions.filter((function(e){return!e.passed}))}},{key:"getAssertions",value:function(){return this.assertions.slice()}},{key:"slimAssertions",value:function(){this.assertions=this.assertions.map((function(e){return delete e.actual,delete e.expected,e}))}}]),e}()
|
|
197
|
+
function Te(e){if(this.expected=null,this.assertions=[],this.module=Y.currentModule,this.steps=[],this.timeout=void 0,this.data=void 0,this.withData=!1,this.pauses=new k,this.nextPauseId=1,this.stackOffset=3,I(this,e),this.module.skip?(this.skip=!0,this.todo=!1):this.module.todo&&!this.skip&&(this.todo=!0),Ee.finished)x.warn("Unexpected test after runEnd. This is unstable and will fail in QUnit 3.0.")
|
|
200
198
|
else{if(!this.skip&&"function"!=typeof this.callback){var t=this.todo?"QUnit.todo":"QUnit.test"
|
|
201
|
-
throw new TypeError("You must provide a callback to ".concat(t,'("').concat(this.testName,'")'))}
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
return n.
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
n.length>0&&ge("Deleted global variable(s): "+n.join(", "))}()},queueGlobalHook:function(e,t){var n=this
|
|
199
|
+
throw new TypeError("You must provide a callback to ".concat(t,'("').concat(this.testName,'")'))}for(var n=0,r=this.module.tests;n<r.length;n++)this.module.tests[n].name===this.testName&&(this.testName+=" ")
|
|
200
|
+
this.testId=_(this.module.name,this.testName),++Te.count,this.errorForStack=new Error,this.callback&&this.callback.validTest&&(this.errorForStack.stack=void 0),this.testReport=new Ce(this.testName,this.module.suiteReport,{todo:this.todo,skip:this.skip,valid:this.valid()}),this.module.tests.push({name:this.testName,testId:this.testId,skip:!!this.skip}),this.skip?(this.callback=function(){},this.async=!1,this.expected=0):this.assert=new ue(this)}}function Ne(){if(!Y.current)throw new Error("pushFailure() assertion outside test context, in "+ae(2))
|
|
201
|
+
var e=Y.current
|
|
202
|
+
return e.pushFailure.apply(e,arguments)}function Me(){if(Y.pollution=[],Y.noglobals)for(var e in d)if(C.call(d,e)){if(/^qunit-test-output/.test(e))continue
|
|
203
|
+
Y.pollution.push(e)}}Te.count=0,Te.prototype={get stack(){return se(this.errorForStack,this.stackOffset)},before:function(){var e=this,t=this.module,n=function(e){for(var t=e,n=[];t&&0===t.testsRun;)n.push(t),t=t.parentModule
|
|
204
|
+
return n.reverse()}(t),r=me.resolve()
|
|
205
|
+
return n.forEach((function(e){r=r.then((function(){return e.stats={all:0,bad:0,started:N.now()},he("suiteStart",e.suiteReport.start(!0)),ve("moduleStart",{name:e.name,tests:e.tests})}))})),r.then((function(){return Y.current=e,e.testEnvironment=I({},t.testEnvironment),e.started=N.now(),he("testStart",e.testReport.start(!0)),ve("testStart",{name:e.testName,module:t.name,testId:e.testId,previousFailure:e.previousFailure}).then((function(){Y.pollution||Me()}))}))},run:function(){if(Y.current=this,Y.notrycatch)e(this)
|
|
206
|
+
else try{e(this)}catch(e){this.pushFailure("Died on test #"+(this.assertions.length+1)+": "+(e.message||e)+"\n"+this.stack,se(e,0)),Me(),Y.blocking&&_e(this)}function e(e){var t
|
|
207
|
+
t=e.withData?e.callback.call(e.testEnvironment,e.assert,e.data):e.callback.call(e.testEnvironment,e.assert),e.resolvePromise(t),0===e.timeout&&e.pauses.size>0&&Ne("Test did not finish synchronously even though assert.timeout( 0 ) was used.",ae(2))}},after:function(){!function(){var e=Y.pollution
|
|
208
|
+
Me()
|
|
209
|
+
var t=M(Y.pollution,e)
|
|
210
|
+
t.length>0&&Ne("Introduced global variable(s): "+t.join(", "))
|
|
211
|
+
var n=M(e,Y.pollution)
|
|
212
|
+
n.length>0&&Ne("Deleted global variable(s): "+n.join(", "))}()},queueGlobalHook:function(e,t){var n=this
|
|
216
213
|
return function(){var r
|
|
217
|
-
if(
|
|
218
|
-
else try{r=e.call(n.testEnvironment,n.assert)}catch(e){return void n.pushFailure("Global "+t+" failed on "+n.testName+": "+
|
|
214
|
+
if(Y.current=n,Y.notrycatch)r=e.call(n.testEnvironment,n.assert)
|
|
215
|
+
else try{r=e.call(n.testEnvironment,n.assert)}catch(e){return void n.pushFailure("Global "+t+" failed on "+n.testName+": "+A(e),se(e,0))}n.resolvePromise(r,t)}},queueHook:function(e,t,n){var r=this,i=function(){var n=e.call(r.testEnvironment,r.assert)
|
|
219
216
|
r.resolvePromise(n,t)}
|
|
220
217
|
return function(){if("before"===t){if(0!==n.testsRun)return
|
|
221
|
-
r.preserveEnvironment=!0}if("after"!==t||function(e){return e.testsRun===
|
|
222
|
-
else try{i()}catch(e){r.pushFailure(t+" failed on "+r.testName+": "+(e.message||e),
|
|
223
|
-
return this.skip||(function(n){if(("beforeEach"===e||"afterEach"===e)&&
|
|
224
|
-
this.pushFailure("Expected assert.verifySteps() to be called before end of test "+"after using assert.step(). Unverified steps: ".concat(e),this.stack)}
|
|
225
|
-
var t=this.module,n=t.name,r=this.testName,i=!!this.skip,o=!!this.todo,s=0,a=
|
|
226
|
-
this.runtime=Math.round(
|
|
227
|
-
for(var u=0;u<this.assertions.length;u++)this.assertions[u].result||(s++,
|
|
228
|
-
i?
|
|
218
|
+
r.preserveEnvironment=!0}if("after"!==t||function(e){return e.testsRun===Le(e).filter((function(e){return!e.skip})).length-1}(n)||!(Y.queue.length>0||Ee.taskCount()>2))if(Y.current=r,Y.notrycatch)i()
|
|
219
|
+
else try{i()}catch(e){r.pushFailure(t+" failed on "+r.testName+": "+(e.message||e),se(e,0))}}},hooks:function(e){var t=[]
|
|
220
|
+
return this.skip||(function(n){if(("beforeEach"===e||"afterEach"===e)&&Y.globalHooks[e])for(var r=0;r<Y.globalHooks[e].length;r++)t.push(n.queueGlobalHook(Y.globalHooks[e][r],e))}(this),function n(r,i){if(i.parentModule&&n(r,i.parentModule),i.hooks[e].length)for(var o=0;o<i.hooks[e].length;o++)t.push(r.queueHook(i.hooks[e][o],e,i))}(this,this.module)),t},finish:function(){if(Y.current=this,this.callback=void 0,this.steps.length){var e=this.steps.join(", ")
|
|
221
|
+
this.pushFailure("Expected assert.verifySteps() to be called before end of test "+"after using assert.step(). Unverified steps: ".concat(e),this.stack)}Y.requireExpects&&null===this.expected?this.pushFailure("Expected number of assertions to be defined, but expect() was not called.",this.stack):null!==this.expected&&this.expected!==this.assertions.length?this.pushFailure("Expected "+this.expected+" assertions, but "+this.assertions.length+" were run",this.stack):null!==this.expected||this.assertions.length||this.pushFailure("Expected at least one assertion, but none were run - call expect(0) to accept zero assertions.",this.stack)
|
|
222
|
+
var t=this.module,n=t.name,r=this.testName,i=!!this.skip,o=!!this.todo,s=0,a=Y.storage
|
|
223
|
+
this.runtime=Math.round(N.now()-this.started),Y.stats.all+=this.assertions.length,Y.stats.testCount+=1,t.stats.all+=this.assertions.length
|
|
224
|
+
for(var u=0;u<this.assertions.length;u++)this.assertions[u].result||(s++,Y.stats.bad++,t.stats.bad++)
|
|
225
|
+
i?He(t):function(e){for(e.testsRun++;e=e.parentModule;)e.testsRun++}(t),a&&(s?a.setItem("qunit-test-"+n+"-"+r,s):a.removeItem("qunit-test-"+n+"-"+r)),he("testEnd",this.testReport.end(!0)),this.testReport.slimAssertions()
|
|
229
226
|
var c=this
|
|
230
|
-
return
|
|
231
|
-
var r=
|
|
227
|
+
return ve("testDone",{name:r,module:n,skipped:i,todo:o,failed:s,passed:this.assertions.length-s,total:this.assertions.length,runtime:i?0:this.runtime,assertions:this.assertions,testId:this.testId,get source(){return c.stack}}).then((function(){if(Pe(t)){for(var e=[t],n=t.parentModule;n&&Pe(n);)e.push(n),n=n.parentModule
|
|
228
|
+
var r=me.resolve()
|
|
232
229
|
return e.forEach((function(e){r=r.then((function(){return function(e){for(var t=[e];t.length;){var n=t.shift()
|
|
233
|
-
n.hooks={},t.push.apply(t,l(n.childModules))}return
|
|
234
|
-
if(this.valid()){var t=
|
|
235
|
-
this.previousFailure=!!t,
|
|
236
|
-
throw new Error("Assertion occurred after test finished.\n> Test: "+n+"\n> Message: "+t+"\n")}var r={module:this.module.name,name:this.testName,result:e.result,message:e.message,actual:e.actual,testId:this.testId,negative:e.negative||!1,runtime:Math.round(
|
|
237
|
-
if(
|
|
238
|
-
i&&(r.source=i)}this.logAssertion(r),this.assertions.push({result:!!e.result,message:e.message})},pushFailure:function(e,t,n){if(!(this instanceof
|
|
239
|
-
this.pushResult({result:!1,message:e||"error",actual:n||null,source:t})},logAssertion:function(e){
|
|
230
|
+
n.hooks={},t.push.apply(t,l(n.childModules))}return he("suiteEnd",e.suiteReport.end(!0)),ve("moduleDone",{name:e.name,tests:e.tests,failed:e.stats.bad,passed:e.stats.all-e.stats.bad,total:e.stats.all,runtime:Math.round(N.now()-e.stats.started)})}(e)}))})),r}})).then((function(){Y.current=void 0}))},preserveTestEnvironment:function(){this.preserveEnvironment&&(this.module.testEnvironment=this.testEnvironment,this.testEnvironment=I({},this.module.testEnvironment))},queue:function(){var e=this
|
|
231
|
+
if(this.valid()){var t=Y.storage&&+Y.storage.getItem("qunit-test-"+this.module.name+"-"+this.testName),n=Y.reorder&&!!t
|
|
232
|
+
this.previousFailure=!!t,Ee.add((function(){return[function(){return e.before()}].concat(l(e.hooks("before")),[function(){e.preserveTestEnvironment()}],l(e.hooks("beforeEach")),[function(){e.run()}],l(e.hooks("afterEach").reverse()),l(e.hooks("after").reverse()),[function(){e.after()},function(){return e.finish()}])}),n,Y.seed)}else He(this.module)},pushResult:function(e){if(this!==Y.current){var t=e&&e.message||"",n=this&&this.testName||""
|
|
233
|
+
throw new Error("Assertion occurred after test finished.\n> Test: "+n+"\n> Message: "+t+"\n")}var r={module:this.module.name,name:this.testName,result:e.result,message:e.message,actual:e.actual,testId:this.testId,negative:e.negative||!1,runtime:Math.round(N.now()-this.started),todo:!!this.todo}
|
|
234
|
+
if(C.call(e,"expected")&&(r.expected=e.expected),!e.result){var i=e.source||ae()
|
|
235
|
+
i&&(r.source=i)}this.logAssertion(r),this.assertions.push({result:!!e.result,message:e.message})},pushFailure:function(e,t,n){if(!(this instanceof Te))throw new Error("pushFailure() assertion outside test context, was "+ae(2))
|
|
236
|
+
this.pushResult({result:!1,message:e||"error",actual:n||null,source:t})},logAssertion:function(e){ve("log",e)
|
|
240
237
|
var t={passed:e.result,actual:e.actual,expected:e.expected,message:e.message,stack:e.source,todo:e.todo}
|
|
241
|
-
this.testReport.pushAssertion(t),
|
|
242
|
-
|
|
238
|
+
this.testReport.pushAssertion(t),he("assertion",t)},internalResetTimeout:function(e){m(Y.timeout),Y.timeout=g(Y.timeoutHandler(e),e)},internalStop:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1
|
|
239
|
+
Y.blocking=!0
|
|
243
240
|
var t,n=this,r=this.nextPauseId++,i={cancelled:!1,remaining:e}
|
|
244
|
-
function o(){if(!i.cancelled){if(void 0===
|
|
245
|
-
if(
|
|
241
|
+
function o(){if(!i.cancelled){if(void 0===Y.current)throw new Error("Unexpected release of async pause after tests finished.\n"+"> Test: ".concat(n.testName," [async #").concat(r,"]"))
|
|
242
|
+
if(Y.current!==n)throw new Error("Unexpected release of async pause during a different test.\n"+"> Test: ".concat(n.testName," [async #").concat(r,"]"))
|
|
246
243
|
if(i.remaining<=0)throw new Error("Tried to release async pause that was already released.\n"+"> Test: ".concat(n.testName," [async #").concat(r,"]"))
|
|
247
|
-
i.remaining--,0===i.remaining&&n.pauses.delete(r),
|
|
244
|
+
i.remaining--,0===i.remaining&&n.pauses.delete(r),Ae(n)}}return n.pauses.set(r,i),g&&("number"==typeof n.timeout?t=n.timeout:"number"==typeof Y.testTimeout&&(t=Y.testTimeout),"number"==typeof t&&t>0&&(Y.timeoutHandler=function(e){return function(){Y.timeout=null,i.cancelled=!0,n.pauses.delete(r),n.pushFailure("Test took longer than ".concat(e,"ms; test timed out."),ae(2)),Ae(n)}},m(Y.timeout),Y.timeout=g(Y.timeoutHandler(t),t))),o},resolvePromise:function(e,t){if(null!=e){var n=this,r=e.then
|
|
248
245
|
if("function"==typeof r){var i=n.internalStop(),o=function(){i()}
|
|
249
|
-
|
|
250
|
-
n.pushFailure(r,
|
|
251
|
-
if(!function e(t,n){return!n||!n.length||S(t.moduleId,n)||t.parentModule&&e(t.parentModule,n)}(this.module,
|
|
252
|
-
if(
|
|
253
|
-
var e=
|
|
246
|
+
Y.notrycatch?r.call(e,o):r.call(e,o,(function(e){var r="Promise rejected "+(t?t.replace(/Each$/,""):"during")+' "'+n.testName+'": '+(e&&e.message||e)
|
|
247
|
+
n.pushFailure(r,se(e,0)),Me(),_e(n)}))}}},valid:function(){if(this.callback&&this.callback.validTest)return!0
|
|
248
|
+
if(!function e(t,n){return!n||!n.length||S(t.moduleId,n)||t.parentModule&&e(t.parentModule,n)}(this.module,Y.moduleId))return!1
|
|
249
|
+
if(Y.testId&&Y.testId.length&&!S(this.testId,Y.testId))return!1
|
|
250
|
+
var e=Y.module&&Y.module.toLowerCase()
|
|
254
251
|
if(!function e(t,n){return!n||(t.name?t.name.toLowerCase():null)===n||!!t.parentModule&&e(t.parentModule,n)}(this.module,e))return!1
|
|
255
|
-
var t=
|
|
252
|
+
var t=Y.filter
|
|
256
253
|
if(!t)return!0
|
|
257
254
|
var n=/^(!?)\/([\w\W]*)\/(i?$)/.exec(t),r=this.module.name+": "+this.testName
|
|
258
255
|
return n?this.regexFilter(!!n[1],n[2],n[3],r):this.stringFilter(t,r)},regexFilter:function(e,t,n,r){return new RegExp(t,n).test(r)!==e},stringFilter:function(e,t){e=e.toLowerCase(),t=t.toLowerCase()
|
|
259
256
|
var n="!"!==e.charAt(0)
|
|
260
257
|
return n||(e=e.slice(1)),-1!==t.indexOf(e)?n:!n}}
|
|
261
|
-
var
|
|
262
|
-
function
|
|
258
|
+
var Se=!1
|
|
259
|
+
function je(e){Se||Y.currentModule.ignored||new Te(e).queue()}function qe(e){Y.currentModule.ignored||(Se||(Y.queue.length=0,Se=!0),new Te(e).queue())}function Ie(e,t){je({testName:e,callback:t})}function Re(e,t){return"".concat(e," [").concat(t,"]")}function Oe(e,t){if(Array.isArray(e))for(var n=0;n<e.length;n++)t(e[n],n)
|
|
263
260
|
else{if("object"!==i(e)||null===e)throw new Error("test.each() expects an array or object as input, but\nfound ".concat(i(e)," instead."))
|
|
264
|
-
for(var r in e)t(e[r],r)}}function
|
|
265
|
-
t.push.apply(t,r.tests),n.push.apply(n,l(r.childModules))}return t}function
|
|
266
|
-
var
|
|
267
|
-
o(this,e),this.log=n.log||Function.prototype.bind.call(p.log,p),t.on("error",this.onError.bind(this)),t.on("runStart",this.onRunStart.bind(this)),t.on("testStart",this.onTestStart.bind(this)),t.on("testEnd",this.onTestEnd.bind(this)),t.on("runEnd",this.onRunEnd.bind(this))}return a(e,[{key:"onError",value:function(e){this.log("error",e)}},{key:"onRunStart",value:function(e){this.log("runStart",e)}},{key:"onTestStart",value:function(e){this.log("testStart",e)}},{key:"onTestEnd",value:function(e){this.log("testEnd",e)}},{key:"onRunEnd",value:function(e){this.log("runEnd",e)}}],[{key:"init",value:function(t,n){return new e(t,n)}}]),e}(),
|
|
268
|
-
if("undefined"!=typeof process){var
|
|
269
|
-
|
|
270
|
-
function
|
|
271
|
-
return i+t+o}function
|
|
272
|
-
return function(t){return void 0!==this&&void 0!==this.has?(~this.has.indexOf(e)||(this.has.push(e),this.keys.push(n)),void 0===t?this:
|
|
273
|
-
var r}}var
|
|
274
|
-
function
|
|
261
|
+
for(var r in e)t(e[r],r)}}function _e(e){e.pauses.forEach((function(e){e.cancelled=!0})),e.pauses.clear(),Ae(e)}function Ae(e){e.pauses.size>0||(g?(m(Y.timeout),Y.timeout=g((function(){e.pauses.size>0||(m(Y.timeout),Y.timeout=null,Y.blocking=!1,Ee.advance())}))):(Y.blocking=!1,Ee.advance()))}function Le(e){for(var t=[].concat(e.tests),n=l(e.childModules);n.length;){var r=n.shift()
|
|
262
|
+
t.push.apply(t,r.tests),n.push.apply(n,l(r.childModules))}return t}function Pe(e){return e.testsRun+e.testsIgnored===Le(e).length}function He(e){for(e.testsIgnored++;e=e.parentModule;)e.testsIgnored++}I(Ie,{todo:function(e,t){je({testName:e,callback:t,todo:!0})},skip:function(e){je({testName:e,skip:!0})},only:function(e,t){qe({testName:e,callback:t})},each:function(e,t,n){Oe(t,(function(t,r){je({testName:Re(e,r),callback:n,withData:!0,stackOffset:5,data:t})}))}}),Ie.todo.each=function(e,t,n){Oe(t,(function(t,r){je({testName:Re(e,r),callback:n,todo:!0,withData:!0,stackOffset:5,data:t})}))},Ie.skip.each=function(e,t){Oe(t,(function(t,n){je({testName:Re(e,n),stackOffset:5,skip:!0})}))},Ie.only.each=function(e,t,n){Oe(t,(function(t,r){qe({testName:Re(e,r),callback:n,withData:!0,stackOffset:5,data:t})}))}
|
|
263
|
+
var Ue,De,Fe,Be,Qe=function(){function e(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{}
|
|
264
|
+
o(this,e),this.log=n.log||Function.prototype.bind.call(p.log,p),t.on("error",this.onError.bind(this)),t.on("runStart",this.onRunStart.bind(this)),t.on("testStart",this.onTestStart.bind(this)),t.on("testEnd",this.onTestEnd.bind(this)),t.on("runEnd",this.onRunEnd.bind(this))}return a(e,[{key:"onError",value:function(e){this.log("error",e)}},{key:"onRunStart",value:function(e){this.log("runStart",e)}},{key:"onTestStart",value:function(e){this.log("testStart",e)}},{key:"onTestEnd",value:function(e){this.log("testEnd",e)}},{key:"onRunEnd",value:function(e){this.log("runEnd",e)}}],[{key:"init",value:function(t,n){return new e(t,n)}}]),e}(),ze=!0
|
|
265
|
+
if("undefined"!=typeof process){var $e=process.env
|
|
266
|
+
Ue=$e.FORCE_COLOR,De=$e.NODE_DISABLE_COLORS,Fe=$e.NO_COLOR,Be=$e.TERM,ze=process.stdout&&process.stdout.isTTY}var Ge={enabled:!De&&null==Fe&&"dumb"!==Be&&(null!=Ue&&"0"!==Ue||ze),reset:We(0,0),bold:We(1,22),dim:We(2,22),italic:We(3,23),underline:We(4,24),inverse:We(7,27),hidden:We(8,28),strikethrough:We(9,29),black:We(30,39),red:We(31,39),green:We(32,39),yellow:We(33,39),blue:We(34,39),magenta:We(35,39),cyan:We(36,39),white:We(37,39),gray:We(90,39),grey:We(90,39),bgBlack:We(40,49),bgRed:We(41,49),bgGreen:We(42,49),bgYellow:We(43,49),bgBlue:We(44,49),bgMagenta:We(45,49),bgCyan:We(46,49),bgWhite:We(47,49)}
|
|
267
|
+
function Ye(e,t){for(var n,r=0,i="",o="";r<e.length;r++)i+=(n=e[r]).open,o+=n.close,~t.indexOf(n.close)&&(t=t.replace(n.rgx,n.close+n.open))
|
|
268
|
+
return i+t+o}function We(e,t){var n={open:"[".concat(e,"m"),close:"[".concat(t,"m"),rgx:new RegExp("\\x1b\\[".concat(t,"m"),"g")}
|
|
269
|
+
return function(t){return void 0!==this&&void 0!==this.has?(~this.has.indexOf(e)||(this.has.push(e),this.keys.push(n)),void 0===t?this:Ge.enabled?Ye(this.keys,t+""):t+""):void 0===t?((r={has:[e],keys:[n]}).reset=Ge.reset.bind(r),r.bold=Ge.bold.bind(r),r.dim=Ge.dim.bind(r),r.italic=Ge.italic.bind(r),r.underline=Ge.underline.bind(r),r.inverse=Ge.inverse.bind(r),r.hidden=Ge.hidden.bind(r),r.strikethrough=Ge.strikethrough.bind(r),r.black=Ge.black.bind(r),r.red=Ge.red.bind(r),r.green=Ge.green.bind(r),r.yellow=Ge.yellow.bind(r),r.blue=Ge.blue.bind(r),r.magenta=Ge.magenta.bind(r),r.cyan=Ge.cyan.bind(r),r.white=Ge.white.bind(r),r.gray=Ge.gray.bind(r),r.grey=Ge.grey.bind(r),r.bgBlack=Ge.bgBlack.bind(r),r.bgRed=Ge.bgRed.bind(r),r.bgGreen=Ge.bgGreen.bind(r),r.bgYellow=Ge.bgYellow.bind(r),r.bgBlue=Ge.bgBlue.bind(r),r.bgMagenta=Ge.bgMagenta.bind(r),r.bgCyan=Ge.bgCyan.bind(r),r.bgWhite=Ge.bgWhite.bind(r),r):Ge.enabled?Ye([n],t+""):t+""
|
|
270
|
+
var r}}var Je=Object.prototype.hasOwnProperty
|
|
271
|
+
function Ve(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:4
|
|
275
272
|
if(void 0===e&&(e=String(e)),"number"!=typeof e||isFinite(e)||(e=String(e)),"number"==typeof e)return JSON.stringify(e)
|
|
276
273
|
if("string"==typeof e){var n=/['"\\/[{}\]\r\n]/,r=/[-?:,[\]{}#&*!|=>'"%@`]/,i=/(^\s|\s$)/,o=/^[\d._-]+$/,s=/^(true|false|y|n|yes|no|on|off)$/i
|
|
277
274
|
if(""===e||n.test(e)||r.test(e[0])||i.test(e)||o.test(e)||s.test(e)){if(!/\n/.test(e))return JSON.stringify(e)
|
|
278
275
|
var a=new Array(t+1).join(" "),u=e.match(/\n+$/),l=u?u[0].length:0
|
|
279
276
|
if(1===l){var c=e.replace(/\n$/,"").split("\n").map((function(e){return a+e}))
|
|
280
277
|
return"|\n"+c.join("\n")}var f=e.split("\n").map((function(e){return a+e}))
|
|
281
|
-
return"|+\n"+f.join("\n")}return e}return JSON.stringify(
|
|
278
|
+
return"|+\n"+f.join("\n")}return e}return JSON.stringify(Ze(e),null,2)}function Ze(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[]
|
|
282
279
|
if(-1!==t.indexOf(e))return"[Circular]"
|
|
283
280
|
var n,r=Object.prototype.toString.call(e).replace(/^\[.+\s(.+?)]$/,"$1").toLowerCase()
|
|
284
|
-
switch(r){case"array":t.push(e),n=e.map((function(e){return
|
|
281
|
+
switch(r){case"array":t.push(e),n=e.map((function(e){return Ze(e,t)})),t.pop()
|
|
285
282
|
break
|
|
286
|
-
case"object":t.push(e),n={},Object.keys(e).forEach((function(r){n[r]=
|
|
283
|
+
case"object":t.push(e),n={},Object.keys(e).forEach((function(r){n[r]=Ze(e[r],t)})),t.pop()
|
|
287
284
|
break
|
|
288
|
-
default:n=e}return n}var
|
|
289
|
-
o(this,e),this.log=n.log||Function.prototype.bind.call(p.log,p),this.testCount=0,this.ended=!1,this.bailed=!1,t.on("error",this.onError.bind(this)),t.on("runStart",this.onRunStart.bind(this)),t.on("testEnd",this.onTestEnd.bind(this)),t.on("runEnd",this.onRunEnd.bind(this))}return a(e,[{key:"onRunStart",value:function(e){this.log("TAP version 13")}},{key:"onError",value:function(e){this.bailed||(this.bailed=!0,this.ended||(this.testCount=this.testCount+1,this.log(
|
|
290
|
-
this.testCount=this.testCount+1,"passed"===e.status?this.log("ok ".concat(this.testCount," ").concat(e.fullName.join(" > "))):"skipped"===e.status?this.log(
|
|
291
|
-
n+="\n message: ".concat(
|
|
292
|
-
t+="\n message: ".concat(
|
|
293
|
-
function
|
|
294
|
-
function
|
|
295
|
-
|
|
296
|
-
var
|
|
297
|
-
function
|
|
298
|
-
else{
|
|
299
|
-
for(var e=[],t=0;t<
|
|
300
|
-
|
|
301
|
-
if(!S(e,
|
|
285
|
+
default:n=e}return n}var Ke=function(){function e(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{}
|
|
286
|
+
o(this,e),this.log=n.log||Function.prototype.bind.call(p.log,p),this.testCount=0,this.ended=!1,this.bailed=!1,t.on("error",this.onError.bind(this)),t.on("runStart",this.onRunStart.bind(this)),t.on("testEnd",this.onTestEnd.bind(this)),t.on("runEnd",this.onRunEnd.bind(this))}return a(e,[{key:"onRunStart",value:function(e){this.log("TAP version 13")}},{key:"onError",value:function(e){this.bailed||(this.bailed=!0,this.ended||(this.testCount=this.testCount+1,this.log(Ge.red("not ok ".concat(this.testCount," global failure"))),this.logError(e)),this.log("Bail out! "+A(e).split("\n")[0]),this.ended&&this.logError(e))}},{key:"onTestEnd",value:function(e){var t=this
|
|
287
|
+
this.testCount=this.testCount+1,"passed"===e.status?this.log("ok ".concat(this.testCount," ").concat(e.fullName.join(" > "))):"skipped"===e.status?this.log(Ge.yellow("ok ".concat(this.testCount," # SKIP ").concat(e.fullName.join(" > ")))):"todo"===e.status?(this.log(Ge.cyan("not ok ".concat(this.testCount," # TODO ").concat(e.fullName.join(" > ")))),e.errors.forEach((function(e){return t.logAssertion(e,"todo")}))):(this.log(Ge.red("not ok ".concat(this.testCount," ").concat(e.fullName.join(" > ")))),e.errors.forEach((function(e){return t.logAssertion(e)})))}},{key:"onRunEnd",value:function(e){this.ended=!0,this.log("1..".concat(e.testCounts.total)),this.log("# pass ".concat(e.testCounts.passed)),this.log(Ge.yellow("# skip ".concat(e.testCounts.skipped))),this.log(Ge.cyan("# todo ".concat(e.testCounts.todo))),this.log(Ge.red("# fail ".concat(e.testCounts.failed)))}},{key:"logAssertion",value:function(e,t){var n=" ---"
|
|
288
|
+
n+="\n message: ".concat(Ve(e.message||"failed")),n+="\n severity: ".concat(Ve(t||"failed")),Je.call(e,"actual")&&(n+="\n actual : ".concat(Ve(e.actual))),Je.call(e,"expected")&&(n+="\n expected: ".concat(Ve(e.expected))),e.stack&&(n+="\n stack: ".concat(Ve(e.stack+"\n"))),n+="\n ...",this.log(n)}},{key:"logError",value:function(e){var t=" ---"
|
|
289
|
+
t+="\n message: ".concat(Ve(A(e))),t+="\n severity: ".concat(Ve("failed")),e&&e.stack&&(t+="\n stack: ".concat(Ve(e.stack+"\n"))),t+="\n ...",this.log(t)}}],[{key:"init",value:function(t,n){return new e(t,n)}}]),e}(),Xe={console:Qe,tap:Ke}
|
|
290
|
+
function et(e){return function(t){Y.globalHooks[e]||(Y.globalHooks[e]=[]),Y.globalHooks[e].push(t)}}var tt={beforeEach:et("beforeEach"),afterEach:et("afterEach")}
|
|
291
|
+
function nt(e){Y.current?Y.current.assert.pushResult({result:!1,message:"global failure: ".concat(A(e)),source:e&&e.stack||ae(2)}):(K.globalFailureCount++,Y.stats.bad++,Y.stats.all++,he("error",e))}var rt={}
|
|
292
|
+
Y.currentModule.suiteReport=K
|
|
293
|
+
var it=!1,ot=!1
|
|
294
|
+
function st(){ot=!0,g?g((function(){ut()})):ut()}function at(){Y.blocking=!1,Ee.advance()}function ut(){if(Y.started)at()
|
|
295
|
+
else{Y.started=N.now(),""===Y.modules[0].name&&0===Y.modules[0].tests.length&&Y.modules.shift()
|
|
296
|
+
for(var e=[],t=0;t<Y.modules.length;t++)""!==Y.modules[t].name&&e.push({name:Y.modules[t].name,moduleId:Y.modules[t].moduleId,tests:Y.modules[t].tests})
|
|
297
|
+
he("runStart",K.start(!0)),ve("begin",{totalTests:Te.count,modules:e}).then(at)}}rt.isLocal=h&&h.location&&"file:"===h.location.protocol,rt.version="2.19.2",I(rt,{config:Y,dump:J,equiv:G,reporters:Xe,hooks:tt,is:O,objectType:R,on:function(e,t){if("string"!=typeof e)throw new TypeError("eventName must be a string when registering a listener")
|
|
298
|
+
if(!S(e,de)){var n=de.join(", ")
|
|
302
299
|
throw new Error('"'.concat(e,'" is not a valid event; must be one of: ').concat(n,"."))}if("function"!=typeof t)throw new TypeError("callback must be a function when registering a listener")
|
|
303
|
-
|
|
300
|
+
fe[e]||(fe[e]=[]),S(t,fe[e])||fe[e].push(t)},onError:function(e){if(x.warn("QUnit.onError is deprecated and will be removed in QUnit 3.0. Please use QUnit.onUncaughtException instead."),Y.current&&Y.current.ignoreGlobalErrors)return!0
|
|
304
301
|
var t=new Error(e.message)
|
|
305
|
-
return t.stack=e.stacktrace||e.fileName+":"+e.lineNumber
|
|
306
|
-
var t=
|
|
307
|
-
if(
|
|
302
|
+
return t.stack=e.stacktrace||e.fileName+":"+e.lineNumber,nt(t),!1},onUncaughtException:nt,pushFailure:Ne,assert:ue.prototype,module:ie,test:Ie,todo:Ie.todo,skip:Ie.skip,only:Ie.only,start:function(e){if(Y.current)throw new Error("QUnit.start cannot be called inside a test context.")
|
|
303
|
+
var t=it
|
|
304
|
+
if(it=!0,ot)throw new Error("Called start() while test already started running")
|
|
308
305
|
if(t||e>1)throw new Error("Called start() outside of a test context too many times")
|
|
309
|
-
if(
|
|
310
|
-
if(!
|
|
311
|
-
|
|
306
|
+
if(Y.autostart)throw new Error("Called start() outside of a test context when QUnit.config.autostart was true")
|
|
307
|
+
if(!Y.pageLoaded)return Y.autostart=!0,void(v||rt.load())
|
|
308
|
+
st()},onUnhandledRejection:function(e){x.warn("QUnit.onUnhandledRejection is deprecated and will be removed in QUnit 3.0. Please use QUnit.onUncaughtException instead."),nt(e)},extend:function(){x.warn("QUnit.extend is deprecated and will be removed in QUnit 3.0. Please use Object.assign instead.")
|
|
312
309
|
for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n]
|
|
313
|
-
return
|
|
310
|
+
return I.apply(this,t)},load:function(){Y.pageLoaded=!0,I(Y,{started:0,updateRate:1e3,autostart:!0,filter:""},!0),ot||(Y.blocking=!1,Y.autostart&&st())},stack:function(e){return ae(e=(e||0)+2)}}),function(e){var t=["begin","done","log","testStart","testDone","moduleStart","moduleDone"]
|
|
314
311
|
function n(e){return function(t){if("function"!=typeof t)throw new Error("Callback parameter must be a function")
|
|
315
|
-
|
|
316
|
-
void 0===
|
|
317
|
-
h.QUnit=i}e&&e.exports&&(e.exports=i,e.exports.QUnit=i),t&&(t.QUnit=i),void 0===(r=function(){return i}.call(t,n,t,e))||(e.exports=r),i.config.autostart=!1}(
|
|
318
|
-
|
|
319
|
-
n&&(e.fixture=n.cloneNode(!0))}})),
|
|
312
|
+
Y.callbacks[e].push(t)}}for(var r=0;r<t.length;r++){var i=t[r]
|
|
313
|
+
void 0===Y.callbacks[i]&&(Y.callbacks[i]=[]),e[i]=n(i)}}(rt),function(i){if(h&&v){if(h.QUnit&&h.QUnit.version)throw new Error("QUnit has already been defined.")
|
|
314
|
+
h.QUnit=i}e&&e.exports&&(e.exports=i,e.exports.QUnit=i),t&&(t.QUnit=i),void 0===(r=function(){return i}.call(t,n,t,e))||(e.exports=r),i.config.autostart=!1}(rt),function(){if(h&&v){var e=rt.config,t=Object.prototype.hasOwnProperty
|
|
315
|
+
rt.begin((function(){if(!t.call(e,"fixture")){var n=v.getElementById("qunit-fixture")
|
|
316
|
+
n&&(e.fixture=n.cloneNode(!0))}})),rt.testStart((function(){if(null!=e.fixture){var t=v.getElementById("qunit-fixture")
|
|
320
317
|
if("string"===i(e.fixture)){var n=v.createElement("div")
|
|
321
318
|
n.setAttribute("id","qunit-fixture"),n.innerHTML=e.fixture,t.parentNode.replaceChild(n,t)}else{var r=e.fixture.cloneNode(!0)
|
|
322
319
|
t.parentNode.replaceChild(r,t)}}}))}}(),function(){var e=void 0!==h&&h.location
|
|
323
320
|
if(e){var t=function(){for(var t=Object.create(null),r=e.search.slice(1).split("&"),i=r.length,o=0;o<i;o++)if(r[o]){var s=r[o].split("="),a=n(s[0]),u=1===s.length||n(s.slice(1).join("="))
|
|
324
321
|
t[a]=a in t?[].concat(t[a],u):u}return t}()
|
|
325
|
-
|
|
326
|
-
"string"!=typeof r&&(r=r.id),void 0===
|
|
327
|
-
var
|
|
322
|
+
rt.urlParams=t,rt.config.filter=t.filter,rt.config.module=t.module,rt.config.moduleId=[].concat(t.moduleId||[]),rt.config.testId=[].concat(t.testId||[]),!0===t.seed?rt.config.seed=Math.random().toString(36).slice(2):t.seed&&(rt.config.seed=t.seed),rt.config.urlConfig.push({id:"hidepassed",label:"Hide passed tests",tooltip:"Only show tests and assertions that fail. Stored as query-strings."},{id:"noglobals",label:"Check for Globals",tooltip:"Enabling this will test if any test introduces new properties on the global object (`window` in Browsers). Stored as query-strings."},{id:"notrycatch",label:"No try-catch",tooltip:"Enabling this will run tests outside of a try-catch block. Makes debugging exceptions in IE reasonable. Stored as query-strings."}),rt.begin((function(){for(var e=rt.config.urlConfig,n=0;n<e.length;n++){var r=rt.config.urlConfig[n]
|
|
323
|
+
"string"!=typeof r&&(r=r.id),void 0===rt.config[r]&&(rt.config[r]=t[r])}}))}function n(e){return decodeURIComponent(e.replace(/\+/g,"%20"))}}()
|
|
324
|
+
var lt={exports:{}}
|
|
328
325
|
!function(e){var t,n
|
|
329
|
-
t=
|
|
326
|
+
t=pe,n=function(){var e="undefined"==typeof window,t="function"==typeof Map?Map:function(){var e=Object.create(null)
|
|
330
327
|
this.get=function(t){return e[t]},this.set=function(t,n){return e[t]=n,this},this.clear=function(){e=Object.create(null)}},n=new t,r=new t,o=[]
|
|
331
328
|
o.total=0
|
|
332
329
|
var s=[],a=[]
|
|
@@ -348,25 +345,25 @@ return e[0]=e[--t],r(),n}},n.peek=function(n){if(0!==t)return e[0]},n.replaceTop
|
|
|
348
345
|
return function t(i){var p={single:function(e,t,n){return"farzher"==e?{target:"farzher was here (^-^*)/",score:0,indexes:[0,1,2,3,4,5,6]}:e?(f(e)||(e=p.getPreparedSearch(e)),t?(f(t)||(t=p.getPrepared(t)),((n&&void 0!==n.allowTypo?n.allowTypo:!i||void 0===i.allowTypo||i.allowTypo)?p.algorithm:p.algorithmNoTypo)(e,t,e[0])):null):null},go:function(e,t,n){if("farzher"==e)return[{target:"farzher was here (^-^*)/",score:0,indexes:[0,1,2,3,4,5,6],obj:t?t[0]:null}]
|
|
349
346
|
if(!e)return o
|
|
350
347
|
var r=(e=p.prepareSearch(e))[0],s=n&&n.threshold||i&&i.threshold||-9007199254740991,a=n&&n.limit||i&&i.limit||9007199254740991,u=(n&&void 0!==n.allowTypo?n.allowTypo:!i||void 0===i.allowTypo||i.allowTypo)?p.algorithm:p.algorithmNoTypo,d=0,g=0,m=t.length
|
|
351
|
-
if(n&&n.keys)for(var v=n.scoreFn||l,b=n.keys,y=b.length,k=m-1;k>=0;--k){for(var w=t[k],x=new Array(y),E=y-1;E>=0;--E)(
|
|
348
|
+
if(n&&n.keys)for(var v=n.scoreFn||l,b=n.keys,y=b.length,k=m-1;k>=0;--k){for(var w=t[k],x=new Array(y),E=y-1;E>=0;--E)(N=c(w,T=b[E]))?(f(N)||(N=p.getPrepared(N)),x[E]=u(e,N,r)):x[E]=null
|
|
352
349
|
x.obj=w
|
|
353
|
-
var
|
|
354
|
-
null!==
|
|
355
|
-
for(k=m-1;k>=0;--k)(
|
|
356
|
-
var
|
|
357
|
-
for(k=d-1;k>=0;--k)
|
|
358
|
-
return
|
|
350
|
+
var C=v(x)
|
|
351
|
+
null!==C&&(C<s||(x.score=C,d<a?(h.add(x),++d):(++g,C>h.peek().score&&h.replaceTop(x))))}else if(n&&n.key){var T=n.key
|
|
352
|
+
for(k=m-1;k>=0;--k)(N=c(w=t[k],T))&&(f(N)||(N=p.getPrepared(N)),null!==(M=u(e,N,r))&&(M.score<s||(M={target:M.target,_targetLowerCodes:null,_nextBeginningIndexes:null,score:M.score,indexes:M.indexes,obj:w},d<a?(h.add(M),++d):(++g,M.score>h.peek().score&&h.replaceTop(M)))))}else for(k=m-1;k>=0;--k){var N,M;(N=t[k])&&(f(N)||(N=p.getPrepared(N)),null!==(M=u(e,N,r))&&(M.score<s||(d<a?(h.add(M),++d):(++g,M.score>h.peek().score&&h.replaceTop(M)))))}if(0===d)return o
|
|
353
|
+
var S=new Array(d)
|
|
354
|
+
for(k=d-1;k>=0;--k)S[k]=h.poll()
|
|
355
|
+
return S.total=d+g,S},goAsync:function(t,n,r){var s=!1,a=new Promise((function(a,u){if("farzher"==t)return a([{target:"farzher was here (^-^*)/",score:0,indexes:[0,1,2,3,4,5,6],obj:n?n[0]:null}])
|
|
359
356
|
if(!t)return a(o)
|
|
360
357
|
var h=(t=p.prepareSearch(t))[0],g=d(),m=n.length-1,v=r&&r.threshold||i&&i.threshold||-9007199254740991,b=r&&r.limit||i&&i.limit||9007199254740991,y=(r&&void 0!==r.allowTypo?r.allowTypo:!i||void 0===i.allowTypo||i.allowTypo)?p.algorithm:p.algorithmNoTypo,k=0,w=0
|
|
361
358
|
function x(){if(s)return u("canceled")
|
|
362
359
|
var i=Date.now()
|
|
363
|
-
if(r&&r.keys)for(var d=r.scoreFn||l,E=r.keys,
|
|
364
|
-
for(var
|
|
365
|
-
|
|
366
|
-
var
|
|
367
|
-
null!==
|
|
360
|
+
if(r&&r.keys)for(var d=r.scoreFn||l,E=r.keys,C=E.length;m>=0;--m){if(m%1e3==0&&Date.now()-i>=10)return void(e?setImmediate(x):setTimeout(x))
|
|
361
|
+
for(var T=n[m],N=new Array(C),M=C-1;M>=0;--M)(q=c(T,j=E[M]))?(f(q)||(q=p.getPrepared(q)),N[M]=y(t,q,h)):N[M]=null
|
|
362
|
+
N.obj=T
|
|
363
|
+
var S=d(N)
|
|
364
|
+
null!==S&&(S<v||(N.score=S,k<b?(g.add(N),++k):(++w,S>g.peek().score&&g.replaceTop(N))))}else if(r&&r.key)for(var j=r.key;m>=0;--m){if(m%1e3==0&&Date.now()-i>=10)return void(e?setImmediate(x):setTimeout(x));(q=c(T=n[m],j))&&(f(q)||(q=p.getPrepared(q)),null!==(I=y(t,q,h))&&(I.score<v||(I={target:I.target,_targetLowerCodes:null,_nextBeginningIndexes:null,score:I.score,indexes:I.indexes,obj:T},k<b?(g.add(I),++k):(++w,I.score>g.peek().score&&g.replaceTop(I)))))}else for(;m>=0;--m){if(m%1e3==0&&Date.now()-i>=10)return void(e?setImmediate(x):setTimeout(x))
|
|
368
365
|
var q,I;(q=n[m])&&(f(q)||(q=p.getPrepared(q)),null!==(I=y(t,q,h))&&(I.score<v||(k<b?(g.add(I),++k):(++w,I.score>g.peek().score&&g.replaceTop(I)))))}if(0===k)return a(o)
|
|
369
|
-
for(var R=new Array(k),
|
|
366
|
+
for(var R=new Array(k),O=k-1;O>=0;--O)R[O]=g.poll()
|
|
370
367
|
R.total=k+w,a(R)}e?setImmediate(x):x()}))
|
|
371
368
|
return a.cancel=function(){s=!0},a},highlight:function(e,t,n){if("function"==typeof t)return p.highlightCallback(e,t)
|
|
372
369
|
if(null===e)return null
|
|
@@ -413,26 +410,26 @@ return t},prepareLowerCodes:function(e){for(var t=e.length,n=[],r=e.toLowerCase(
|
|
|
413
410
|
return n},prepareBeginningIndexes:function(e){for(var t=e.length,n=[],r=0,i=!1,o=!1,s=0;s<t;++s){var a=e.charCodeAt(s),u=a>=65&&a<=90,l=u||a>=97&&a<=122||a>=48&&a<=57,c=u&&!i||!o||!l
|
|
414
411
|
i=u,o=l,c&&(n[r++]=s)}return n},prepareNextBeginningIndexes:function(e){for(var t=e.length,n=p.prepareBeginningIndexes(e),r=[],i=n[0],o=0,s=0;s<t;++s)i>s?r[s]=i:(i=n[++o],r[s]=void 0===i?t:i)
|
|
415
412
|
return r},cleanup:u,new:t}
|
|
416
|
-
return p}()},e.exports?e.exports=n():t.fuzzysort=n()}(
|
|
417
|
-
var
|
|
418
|
-
function
|
|
413
|
+
return p}()},e.exports?e.exports=n():t.fuzzysort=n()}(lt)
|
|
414
|
+
var ct=lt.exports,ft={failedTests:[],defined:0,completed:0}
|
|
415
|
+
function dt(e){return e?(""+e).replace(/['"<>&]/g,(function(e){switch(e){case"'":return"'"
|
|
419
416
|
case'"':return"""
|
|
420
417
|
case"<":return"<"
|
|
421
418
|
case">":return">"
|
|
422
|
-
case"&":return"&"}})):""}!function(){if(h&&v){var e=
|
|
423
|
-
|
|
424
|
-
E&&(E.setAttribute("role","main"),E.innerHTML="<h1 id='qunit-header'>"+
|
|
419
|
+
case"&":return"&"}})):""}!function(){if(h&&v){var e=rt.config,t=[],n=!1,r=Object.prototype.hasOwnProperty,i=S({filter:void 0,module:void 0,moduleId:void 0,testId:void 0}),o=null
|
|
420
|
+
rt.on("runStart",(function(e){ft.defined=e.testCounts.total})),rt.begin((function(t){!function(t){var n,s,a,u,c,f,p,y,E=C("qunit")
|
|
421
|
+
E&&(E.setAttribute("role","main"),E.innerHTML="<h1 id='qunit-header'>"+dt(v.title)+"</h1><h2 id='qunit-banner'></h2><div id='qunit-testrunner-toolbar' role='navigation'></div>"+(!(n=rt.config.testId)||n.length<=0?"":"<div id='qunit-filteredTest'>Rerunning selected tests: "+dt(n.join(", "))+" <a id='qunit-clearFilter' href='"+dt(i)+"'>Run all tests</a></div>")+"<h2 id='qunit-userAgent'></h2><ol id='qunit-tests'></ol>"),(s=C("qunit-header"))&&(s.innerHTML="<a href='"+dt(i)+"'>"+s.innerHTML+"</a> "),(a=C("qunit-banner"))&&(a.className=""),p=C("qunit-tests"),(y=C("qunit-testresult"))&&y.parentNode.removeChild(y),p&&(p.innerHTML="",(y=v.createElement("p")).id="qunit-testresult",y.className="result",p.parentNode.insertBefore(y,p),y.innerHTML='<div id="qunit-testresult-display">Running...<br /> </div><div id="qunit-testresult-controls"></div><div class="clearfix"></div>',c=C("qunit-testresult-controls")),c&&c.appendChild(((f=v.createElement("button")).id="qunit-abort-tests-button",f.innerHTML="Abort",d(f,"click",T),f)),(u=C("qunit-userAgent"))&&(u.innerHTML="",u.appendChild(v.createTextNode("QUnit "+rt.version+"; "+b.userAgent))),function(t){var n,i,s,a,u,c=C("qunit-testrunner-toolbar")
|
|
425
422
|
if(c){c.appendChild(((u=v.createElement("span")).innerHTML=function(){for(var t=!1,n=e.urlConfig,i="",o=0;o<n.length;o++){var s=e.urlConfig[o]
|
|
426
423
|
"string"==typeof s&&(s={id:s,label:s})
|
|
427
|
-
var a=
|
|
428
|
-
if(s.value&&"string"!=typeof s.value){if(i+="<label for='qunit-urlconfig-"+a+"' title='"+u+"'>"+s.label+": </label><select id='qunit-urlconfig-"+a+"' name='"+a+"' title='"+u+"'><option></option>",Array.isArray(s.value))for(var l=0;l<s.value.length;l++)i+="<option value='"+(a=
|
|
429
|
-
else for(var c in s.value)r.call(s.value,c)&&(i+="<option value='"+
|
|
430
|
-
e[s.id]&&!t&&(i+="<option value='"+(a=
|
|
424
|
+
var a=dt(s.id),u=dt(s.tooltip)
|
|
425
|
+
if(s.value&&"string"!=typeof s.value){if(i+="<label for='qunit-urlconfig-"+a+"' title='"+u+"'>"+s.label+": </label><select id='qunit-urlconfig-"+a+"' name='"+a+"' title='"+u+"'><option></option>",Array.isArray(s.value))for(var l=0;l<s.value.length;l++)i+="<option value='"+(a=dt(s.value[l]))+"'"+(e[s.id]===s.value[l]?(t=!0)&&" selected='selected'":"")+">"+a+"</option>"
|
|
426
|
+
else for(var c in s.value)r.call(s.value,c)&&(i+="<option value='"+dt(c)+"'"+(e[s.id]===c?(t=!0)&&" selected='selected'":"")+">"+dt(s.value[c])+"</option>")
|
|
427
|
+
e[s.id]&&!t&&(i+="<option value='"+(a=dt(e[s.id]))+"' selected='selected' disabled='disabled'>"+a+"</option>"),i+="</select>"}else i+="<label for='qunit-urlconfig-"+a+"' title='"+u+"'><input id='qunit-urlconfig-"+a+"' name='"+a+"' type='checkbox'"+(s.value?" value='"+dt(s.value)+"'":"")+(e[s.id]?" checked='checked'":"")+" title='"+u+"' />"+dt(s.label)+"</label>"}return i}(),w(u,"qunit-url-config"),m(u.getElementsByTagName("input"),"change",M),m(u.getElementsByTagName("select"),"change",M),u))
|
|
431
428
|
var f=v.createElement("span")
|
|
432
|
-
f.id="qunit-toolbar-filters",f.appendChild((n=v.createElement("form"),i=v.createElement("label"),s=v.createElement("input"),a=v.createElement("button"),w(n,"qunit-filter"),i.innerHTML="Filter: ",s.type="text",s.value=e.filter||"",s.name="filter",s.id="qunit-filter-input",a.innerHTML="Go",i.appendChild(s),n.appendChild(i),n.appendChild(v.createTextNode(" ")),n.appendChild(a),d(n,"submit",
|
|
429
|
+
f.id="qunit-toolbar-filters",f.appendChild((n=v.createElement("form"),i=v.createElement("label"),s=v.createElement("input"),a=v.createElement("button"),w(n,"qunit-filter"),i.innerHTML="Filter: ",s.type="text",s.value=e.filter||"",s.name="filter",s.id="qunit-filter-input",a.innerHTML="Go",i.appendChild(s),n.appendChild(i),n.appendChild(v.createTextNode(" ")),n.appendChild(a),d(n,"submit",N),n)),f.appendChild(function(t){var n=null
|
|
433
430
|
if(o={options:t.modules.slice(),selectedMap:new k,isDirty:function(){return l(o.selectedMap.keys()).sort().join(",")!==l(n.keys()).sort().join(",")}},e.moduleId.length)for(var r=0;r<t.modules.length;r++){var i=t.modules[r];-1!==e.moduleId.indexOf(i.moduleId)&&o.selectedMap.set(i.moduleId,i.name)}n=new k(o.selectedMap)
|
|
434
431
|
var s=v.createElement("input")
|
|
435
|
-
s.id="qunit-modulefilter-search",s.autocomplete="off",d(s,"input",
|
|
432
|
+
s.id="qunit-modulefilter-search",s.autocomplete="off",d(s,"input",T),d(s,"input",C),d(s,"focus",C),d(s,"click",C)
|
|
436
433
|
var a=v.createElement("label")
|
|
437
434
|
a.htmlFor="qunit-modulefilter-search",a.textContent="Module:"
|
|
438
435
|
var u=v.createElement("span")
|
|
@@ -442,63 +439,63 @@ c.textContent="Apply",c.title="Re-run the selected test modules",d(c,"click",j)
|
|
|
442
439
|
var f=v.createElement("button")
|
|
443
440
|
f.textContent="Reset",f.type="reset",f.title="Restore the previous module selection"
|
|
444
441
|
var p=v.createElement("button")
|
|
445
|
-
p.textContent="Select none",p.type="button",p.title="Clear the current module selection",d(p,"click",(function(){o.selectedMap.clear(),
|
|
442
|
+
p.textContent="Select none",p.type="button",p.title="Clear the current module selection",d(p,"click",(function(){o.selectedMap.clear(),M(),T()}))
|
|
446
443
|
var m=v.createElement("span")
|
|
447
444
|
m.id="qunit-modulefilter-actions",m.appendChild(c),m.appendChild(f),n.size&&m.appendChild(p)
|
|
448
445
|
var b=v.createElement("ul")
|
|
449
446
|
b.id="qunit-modulefilter-dropdown-list"
|
|
450
447
|
var y=v.createElement("div")
|
|
451
|
-
y.id="qunit-modulefilter-dropdown",y.style.display="none",y.appendChild(m),y.appendChild(b),d(y,"change",
|
|
448
|
+
y.id="qunit-modulefilter-dropdown",y.style.display="none",y.appendChild(m),y.appendChild(b),d(y,"change",M),u.appendChild(y),M()
|
|
452
449
|
var w,E=v.createElement("form")
|
|
453
|
-
function
|
|
454
|
-
27!==t.keyCode&&n||(27===t.keyCode&&n&&s.focus(),y.style.display="none",g(v,"click",e),g(v,"keydown",e),s.value="",
|
|
455
|
-
o.selectedMap.forEach((function(e,n){t+=
|
|
450
|
+
function C(){function e(t){var n=E.contains(t.target)
|
|
451
|
+
27!==t.keyCode&&n||(27===t.keyCode&&n&&s.focus(),y.style.display="none",g(v,"click",e),g(v,"keydown",e),s.value="",T())}"none"===y.style.display&&(T(),y.style.display="block",d(v,"click",e),d(v,"keydown",e))}function T(){h.clearTimeout(w),w=h.setTimeout((function(){b.innerHTML=function(e){return function(e){var t=""
|
|
452
|
+
o.selectedMap.forEach((function(e,n){t+=q(n,e,!0)}))
|
|
456
453
|
for(var n=0;n<e.length;n++){var r=e[n].obj
|
|
457
|
-
o.selectedMap.has(r.moduleId)||(t+=
|
|
454
|
+
o.selectedMap.has(r.moduleId)||(t+=q(r.moduleId,r.name,!1))}return t}(""===e?o.options.slice(0,20).map((function(e){return{obj:e}})):ct.go(e,o.options,{limit:20,key:"name",allowTypo:!0}))}(s.value)}))}function M(e){var t=e&&e.target||null
|
|
458
455
|
t&&(t.checked?o.selectedMap.set(t.value,t.parentNode.textContent):o.selectedMap.delete(t.value),x(t.parentNode,"checked",t.checked))
|
|
459
456
|
var n=o.selectedMap.size?o.selectedMap.size+" "+(1===o.selectedMap.size?"module":"modules"):"All modules"
|
|
460
|
-
s.placeholder=n,s.title="Type to search through and reduce the list.",f.disabled=!o.isDirty(),p.style.display=o.selectedMap.size?"":"none"}return E.id="qunit-modulefilter",E.appendChild(a),E.appendChild(v.createTextNode(" ")),E.appendChild(u),d(E,"submit",
|
|
457
|
+
s.placeholder=n,s.title="Type to search through and reduce the list.",f.disabled=!o.isDirty(),p.style.display=o.selectedMap.size?"":"none"}return E.id="qunit-modulefilter",E.appendChild(a),E.appendChild(v.createTextNode(" ")),E.appendChild(u),d(E,"submit",N),d(E,"reset",(function(){o.selectedMap=new k(n),M(),T()})),E}(t))
|
|
461
458
|
var p=v.createElement("div")
|
|
462
|
-
p.className="clearfix",c.appendChild(f),c.appendChild(p)}}(t)}(t)})),
|
|
459
|
+
p.className="clearfix",c.appendChild(f),c.appendChild(p)}}(t)}(t)})),rt.on("runEnd",(function(t){var n,r,i,o=C("qunit-banner"),s=C("qunit-tests"),a=C("qunit-abort-tests-button"),u=e.stats.all-e.stats.bad,l=[t.testCounts.total," tests completed in ",t.runtime," milliseconds, with ",t.testCounts.failed," failed, ",t.testCounts.skipped," skipped, and ",t.testCounts.todo," todo.<br />","<span class='passed'>",u,"</span> assertions of <span class='total'>",e.stats.all,"</span> passed, <span class='failed'>",e.stats.bad,"</span> failed.",O(ft.failedTests)].join("")
|
|
463
460
|
if(a&&a.disabled){l="Tests aborted after "+t.runtime+" milliseconds."
|
|
464
|
-
for(var c=0;c<s.children.length;c++)""!==(n=s.children[c]).className&&"running"!==n.className||(n.className="aborted",i=n.getElementsByTagName("ol")[0],(r=v.createElement("li")).className="fail",r.innerHTML="Test aborted.",i.appendChild(r))}!o||a&&!1!==a.disabled||(o.className="failed"===t.status?"qunit-fail":"qunit-pass"),a&&a.parentNode.removeChild(a),s&&(
|
|
465
|
-
R(e.name,e.testId,e.module),(t=
|
|
466
|
-
if(t){var n,i,o,s=
|
|
461
|
+
for(var c=0;c<s.children.length;c++)""!==(n=s.children[c]).className&&"running"!==n.className||(n.className="aborted",i=n.getElementsByTagName("ol")[0],(r=v.createElement("li")).className="fail",r.innerHTML="Test aborted.",i.appendChild(r))}!o||a&&!1!==a.disabled||(o.className="failed"===t.status?"qunit-fail":"qunit-pass"),a&&a.parentNode.removeChild(a),s&&(C("qunit-testresult-display").innerHTML=l),e.altertitle&&v.title&&(v.title=["failed"===t.status?"✖":"✔",v.title.replace(/^[\u2714\u2716] /i,"")].join(" ")),e.scrolltop&&h.scrollTo&&h.scrollTo(0,0)})),rt.testStart((function(e){var t,n
|
|
462
|
+
R(e.name,e.testId,e.module),(t=C("qunit-testresult-display"))&&(w(t,"running"),n=rt.config.reorder&&e.previousFailure,t.innerHTML=[L(ft),n?"Rerunning previously failed test: <br />":"Running: ",_(e.name,e.module),O(ft.failedTests)].join(""))})),rt.log((function(e){var t=C("qunit-test-output-"+e.testId)
|
|
463
|
+
if(t){var n,i,o,s=dt(e.message)||(e.result?"okay":"failed")
|
|
467
464
|
s="<span class='test-message'>"+s+"</span>",s+="<span class='runtime'>@ "+e.runtime+" ms</span>"
|
|
468
465
|
var a=!1
|
|
469
|
-
!e.result&&r.call(e,"expected")?(n=e.negative?"NOT "+
|
|
466
|
+
!e.result&&r.call(e,"expected")?(n=e.negative?"NOT "+rt.dump.parse(e.expected):rt.dump.parse(e.expected),i=rt.dump.parse(e.actual),s+="<table><tr class='test-expected'><th>Expected: </th><td><pre>"+dt(n)+"</pre></td></tr>",i!==n?(s+="<tr class='test-actual'><th>Result: </th><td><pre>"+dt(i)+"</pre></td></tr>","number"==typeof e.actual&&"number"==typeof e.expected?isNaN(e.actual)||isNaN(e.expected)||(a=!0,o=((o=e.actual-e.expected)>0?"+":"")+o):"boolean"!=typeof e.actual&&"boolean"!=typeof e.expected&&(a=P(o=rt.diff(n,i)).length!==P(n).length+P(i).length),a&&(s+="<tr class='test-diff'><th>Diff: </th><td><pre>"+o+"</pre></td></tr>")):-1!==n.indexOf("[object Array]")||-1!==n.indexOf("[object Object]")?s+="<tr class='test-message'><th>Message: </th><td>Diff suppressed as the depth of object is more than current max depth ("+rt.config.maxDepth+").<p>Hint: Use <code>QUnit.dump.maxDepth</code> to run with a higher max depth or <a href='"+dt(S({maxDepth:-1}))+"'>Rerun</a> without max depth.</p></td></tr>":s+="<tr class='test-message'><th>Message: </th><td>Diff suppressed as the expected and actual results have an equivalent serialization</td></tr>",e.source&&(s+="<tr class='test-source'><th>Source: </th><td><pre>"+dt(e.source)+"</pre></td></tr>"),s+="</table>"):!e.result&&e.source&&(s+="<table><tr class='test-source'><th>Source: </th><td><pre>"+dt(e.source)+"</pre></td></tr></table>")
|
|
470
467
|
var u=t.getElementsByTagName("ol")[0],l=v.createElement("li")
|
|
471
|
-
l.className=e.result?"pass":"fail",l.innerHTML=s,u.appendChild(l)}})),
|
|
468
|
+
l.className=e.result?"pass":"fail",l.innerHTML=s,u.appendChild(l)}})),rt.testDone((function(r){var i=C("qunit-tests"),o=C("qunit-test-output-"+r.testId)
|
|
472
469
|
if(i&&o){var s
|
|
473
470
|
E(o,"running"),s=r.failed>0?"failed":r.todo?"todo":r.skipped?"skipped":"passed"
|
|
474
471
|
var a=o.getElementsByTagName("ol")[0],u=r.passed,l=r.failed,c=r.failed>0?r.todo:!r.todo
|
|
475
|
-
c?w(a,"qunit-collapsed"):(
|
|
472
|
+
c?w(a,"qunit-collapsed"):(ft.failedTests.push(r.testId),e.collapse&&(n?w(a,"qunit-collapsed"):n=!0))
|
|
476
473
|
var f=o.firstChild,h=l?"<b class='failed'>"+l+"</b>, <b class='passed'>"+u+"</b>, ":""
|
|
477
|
-
if(f.innerHTML+=" <b class='counts'>("+h+r.assertions.length+")</b>",
|
|
474
|
+
if(f.innerHTML+=" <b class='counts'>("+h+r.assertions.length+")</b>",ft.completed++,r.skipped){o.className="skipped"
|
|
478
475
|
var p=v.createElement("em")
|
|
479
476
|
p.className="qunit-skipped-label",p.innerHTML="skipped",o.insertBefore(p,f)}else{if(d(f,"click",(function(){x(a,"qunit-collapsed")})),o.className=c?"pass":"fail",r.todo){var g=v.createElement("em")
|
|
480
477
|
g.className="qunit-todo-label",g.innerHTML="todo",o.className+=" todo",o.insertBefore(g,f)}var m=v.createElement("span")
|
|
481
478
|
m.className="runtime",m.innerHTML=r.runtime+" ms",o.insertBefore(m,a)}if(r.source){var b=v.createElement("p")
|
|
482
|
-
b.innerHTML="<strong>Source: </strong>"+
|
|
483
|
-
if(t){var n=
|
|
484
|
-
n="<span class='test-message'>"+n+"</span>",e&&e.stack&&(n+="<table><tr class='test-source'><th>Source: </th><td><pre>"+
|
|
479
|
+
b.innerHTML="<strong>Source: </strong>"+dt(r.source),w(b,"qunit-source"),c&&w(b,"qunit-collapsed"),d(f,"click",(function(){x(b,"qunit-collapsed")})),o.appendChild(b)}e.hidepassed&&("passed"===s||r.skipped)&&(t.push(o),i.removeChild(o))}})),rt.on("error",(function(e){var t=R("global failure")
|
|
480
|
+
if(t){var n=dt(A(e))
|
|
481
|
+
n="<span class='test-message'>"+n+"</span>",e&&e.stack&&(n+="<table><tr class='test-source'><th>Source: </th><td><pre>"+dt(e.stack)+"</pre></td></tr></table>")
|
|
485
482
|
var r=t.getElementsByTagName("ol")[0],i=v.createElement("li")
|
|
486
483
|
i.className="fail",i.innerHTML=n,r.appendChild(i),t.className="fail"}}))
|
|
487
484
|
var s,a=(s=h.phantom)&&s.version&&s.version.major>0
|
|
488
|
-
a&&p.warn("Support for PhantomJS is deprecated and will be removed in QUnit 3.0."),a||"complete"!==v.readyState?d(h,"load",
|
|
485
|
+
a&&p.warn("Support for PhantomJS is deprecated and will be removed in QUnit 3.0."),a||"complete"!==v.readyState?d(h,"load",rt.load):rt.load()
|
|
489
486
|
var u=h.onerror
|
|
490
487
|
h.onerror=function(t,n,r,i,o){var s=!1
|
|
491
488
|
if(u){for(var a=arguments.length,l=new Array(a>5?a-5:0),c=5;c<a;c++)l[c-5]=arguments[c]
|
|
492
489
|
s=u.call.apply(u,[this,t,n,r,i,o].concat(l))}if(!0!==s){if(e.current&&e.current.ignoreGlobalErrors)return!0
|
|
493
490
|
var f=o||new Error(t)
|
|
494
|
-
!f.stack&&n&&r&&(f.stack="".concat(n,":").concat(r)),
|
|
495
|
-
e.className=f(n)}function
|
|
496
|
-
return e&&(e.disabled=!0,e.innerHTML="Aborting..."),
|
|
497
|
-
return t.value=f(t.value),j(),e&&e.preventDefault&&e.preventDefault(),!1}function
|
|
491
|
+
!f.stack&&n&&r&&(f.stack="".concat(n,":").concat(r)),rt.onUncaughtException(f)}return s},h.addEventListener("unhandledrejection",(function(e){rt.onUncaughtException(e.reason)}))}function f(e){return"function"==typeof e.trim?e.trim():e.replace(/^\s+|\s+$/g,"")}function d(e,t,n){e.addEventListener(t,n,!1)}function g(e,t,n){e.removeEventListener(t,n,!1)}function m(e,t,n){for(var r=e.length;r--;)d(e[r],t,n)}function y(e,t){return(" "+e.className+" ").indexOf(" "+t+" ")>=0}function w(e,t){y(e,t)||(e.className+=(e.className?" ":"")+t)}function x(e,t,n){n||void 0===n&&!y(e,t)?w(e,t):E(e,t)}function E(e,t){for(var n=" "+e.className+" ";n.indexOf(" "+t+" ")>=0;)n=n.replace(" "+t+" "," ")
|
|
492
|
+
e.className=f(n)}function C(e){return v.getElementById&&v.getElementById(e)}function T(){var e=C("qunit-abort-tests-button")
|
|
493
|
+
return e&&(e.disabled=!0,e.innerHTML="Aborting..."),rt.config.queue.length=0,!1}function N(e){var t=C("qunit-filter-input")
|
|
494
|
+
return t.value=f(t.value),j(),e&&e.preventDefault&&e.preventDefault(),!1}function M(){var n,r=this,i={}
|
|
498
495
|
n="selectedIndex"in r?r.options[r.selectedIndex].value||void 0:r.checked?r.defaultValue||!0:void 0,i[r.name]=n
|
|
499
|
-
var o=
|
|
500
|
-
if("hidepassed"===r.name&&"replaceState"in h.history){
|
|
501
|
-
var s=
|
|
496
|
+
var o=S(i)
|
|
497
|
+
if("hidepassed"===r.name&&"replaceState"in h.history){rt.urlParams[r.name]=n,e[r.name]=n||!1
|
|
498
|
+
var s=C("qunit-tests")
|
|
502
499
|
if(s){var a=s.children.length,u=s.children
|
|
503
500
|
if(r.checked){for(var l=0;l<a;l++){var f=u[l],d=f?f.className:"",p=d.indexOf("pass")>-1,g=d.indexOf("skipped")>-1;(p||g)&&t.push(f)}var m,v=function(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"]
|
|
504
501
|
if(!n){if(Array.isArray(e)||(n=c(e))){n&&(e=n)
|
|
@@ -507,27 +504,34 @@ return{s:i,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:f
|
|
|
507
504
|
return{s:function(){n=n.call(e)},n:function(){var e=n.next()
|
|
508
505
|
return s=e.done,e},e:function(e){a=!0,o=e},f:function(){try{s||null==n.return||n.return()}finally{if(a)throw o}}}}(t)
|
|
509
506
|
try{for(v.s();!(m=v.n()).done;){var b=m.value
|
|
510
|
-
s.removeChild(b)}}catch(e){v.e(e)}finally{v.f()}}else for(var y;null!=(y=t.pop());)s.appendChild(y)}h.history.replaceState(null,"",o)}else h.location=o}function
|
|
511
|
-
for(var i in e=
|
|
512
|
-
return n.protocol+"//"+n.host+n.pathname+t.slice(0,-1)}function j(){var e=
|
|
513
|
-
h.location=
|
|
507
|
+
s.removeChild(b)}}catch(e){v.e(e)}finally{v.f()}}else for(var y;null!=(y=t.pop());)s.appendChild(y)}h.history.replaceState(null,"",o)}else h.location=o}function S(e){var t="?",n=h.location
|
|
508
|
+
for(var i in e=I(I({},rt.urlParams),e))if(r.call(e,i)&&void 0!==e[i])for(var o=[].concat(e[i]),s=0;s<o.length;s++)t+=encodeURIComponent(i),!0!==o[s]&&(t+="="+encodeURIComponent(o[s])),t+="&"
|
|
509
|
+
return n.protocol+"//"+n.host+n.pathname+t.slice(0,-1)}function j(){var e=C("qunit-filter-input").value
|
|
510
|
+
h.location=S({filter:""===e?void 0:e,moduleId:l(o.selectedMap.keys()),module:void 0,testId:void 0})}function q(e,t,n){return'<li><label class="clickable'+(n?" checked":"")+'"><input type="checkbox" value="'+dt(e)+'"'+(n?' checked="checked"':"")+" />"+dt(t)+"</label></li>"}function R(e,t,n){var r=C("qunit-tests")
|
|
514
511
|
if(r){var i=v.createElement("strong")
|
|
515
|
-
i.innerHTML=
|
|
512
|
+
i.innerHTML=_(e,n)
|
|
516
513
|
var o=v.createElement("li")
|
|
517
514
|
if(o.appendChild(i),void 0!==t){var s=v.createElement("a")
|
|
518
|
-
s.innerHTML="Rerun",s.href=
|
|
519
|
-
return a.className="qunit-assert-list",o.appendChild(a),r.appendChild(o),o}}function
|
|
520
|
-
return t&&(n="<span class='module-name'>"+
|
|
521
|
-
return e.prototype.DiffMain=function(e,t,n){var r
|
|
522
|
-
if(
|
|
523
|
-
|
|
515
|
+
s.innerHTML="Rerun",s.href=S({testId:t}),o.id="qunit-test-output-"+t,o.appendChild(s)}var a=v.createElement("ol")
|
|
516
|
+
return a.className="qunit-assert-list",o.appendChild(a),r.appendChild(o),o}}function O(e){return 0===e.length?"":["<br /><a href='"+dt(S({testId:e}))+"'>",1===e.length?"Rerun 1 failed test":"Rerun "+e.length+" failed tests","</a>"].join("")}function _(e,t){var n=""
|
|
517
|
+
return t&&(n="<span class='module-name'>"+dt(t)+"</span>: "),n+"<span class='test-name'>"+dt(e)+"</span>"}function L(e){return[e.completed," / ",e.defined," tests completed.<br />"].join("")}function P(e){return e.replace(/<\/?[^>]+(>|$)/g,"").replace(/"/g,"").replace(/\s+/g,"")}}(),rt.diff=function(){function e(){}var t=-1,n=Object.prototype.hasOwnProperty
|
|
518
|
+
return e.prototype.DiffMain=function(e,t,n){var r=Date.now()+1e3
|
|
519
|
+
if(null===e||null===t)throw new Error("Cannot diff null input.")
|
|
520
|
+
if(e===t)return e?[[0,e]]:[]
|
|
521
|
+
void 0===n&&(n=!0)
|
|
522
|
+
var i=this.diffCommonPrefix(e,t),o=e.substring(0,i)
|
|
523
|
+
e=e.substring(i),t=t.substring(i),i=this.diffCommonSuffix(e,t)
|
|
524
|
+
var s=e.substring(e.length-i)
|
|
525
|
+
e=e.substring(0,e.length-i),t=t.substring(0,t.length-i)
|
|
526
|
+
var a=this.diffCompute(e,t,n,r)
|
|
527
|
+
return o&&a.unshift([0,o]),s&&a.push([0,s]),this.diffCleanupMerge(a),a},e.prototype.diffCleanupEfficiency=function(e){var n,r,i,o,s,a,u,l,c
|
|
524
528
|
for(n=!1,r=[],i=0,o=null,s=0,a=!1,u=!1,l=!1,c=!1;s<e.length;)0===e[s][0]?(e[s][1].length<4&&(l||c)?(r[i++]=s,a=l,u=c,o=e[s][1]):(i=0,o=null),l=c=!1):(e[s][0]===t?c=!0:l=!0,o&&(a&&u&&l&&c||o.length<2&&a+u+l+c===3)&&(e.splice(r[i-1],0,[t,o]),e[r[i-1]+1][0]=1,i--,o=null,a&&u?(l=c=!0,i=0):(s=--i>0?r[i-1]:-1,l=c=!1),n=!0)),s++
|
|
525
529
|
n&&this.diffCleanupMerge(e)},e.prototype.diffPrettyHtml=function(e){for(var n=[],r=0;r<e.length;r++){var i=e[r][0],o=e[r][1]
|
|
526
|
-
switch(i){case 1:n[r]="<ins>"+
|
|
530
|
+
switch(i){case 1:n[r]="<ins>"+dt(o)+"</ins>"
|
|
527
531
|
break
|
|
528
|
-
case t:n[r]="<del>"+
|
|
532
|
+
case t:n[r]="<del>"+dt(o)+"</del>"
|
|
529
533
|
break
|
|
530
|
-
case 0:n[r]="<span>"+
|
|
534
|
+
case 0:n[r]="<span>"+dt(o)+"</span>"}}return n.join("")},e.prototype.diffCommonPrefix=function(e,t){var n,r,i,o
|
|
531
535
|
if(!e||!t||e.charAt(0)!==t.charAt(0))return 0
|
|
532
536
|
for(i=0,n=r=Math.min(e.length,t.length),o=0;i<n;)e.substring(o,n)===t.substring(o,n)?o=i=n:r=n,n=Math.floor((r-i)/2+i)
|
|
533
537
|
return n},e.prototype.diffCommonSuffix=function(e,t){var n,r,i,o
|
|
@@ -544,31 +548,36 @@ break
|
|
|
544
548
|
case t:l++,f+=o[a][1]
|
|
545
549
|
break
|
|
546
550
|
case 0:if(l>=1&&u>=1){for(o.splice(a-l-u,l+u),a=a-l-u,d=(i=this.DiffMain(f,c,!1,r)).length-1;d>=0;d--)o.splice(a,0,i[d])
|
|
547
|
-
a+=i.length}u=0,l=0,f="",c=""}a++}return o.pop(),o},e.prototype.diffBisect=function(e,n,r){var i,o,s,a,u,l,c,f,d,h,p,g,m,v,b,y,k,w,x,E,T,
|
|
551
|
+
a+=i.length}u=0,l=0,f="",c=""}a++}return o.pop(),o},e.prototype.diffBisect=function(e,n,r){var i,o,s,a,u,l,c,f,d,h,p,g,m,v,b,y,k,w,x,E,C,T,N
|
|
548
552
|
for(i=e.length,o=n.length,a=s=Math.ceil((i+o)/2),u=2*s,l=new Array(u),c=new Array(u),f=0;f<u;f++)l[f]=-1,c[f]=-1
|
|
549
|
-
for(l[a+1]=0,c[a+1]=0,h=(d=i-o)%2!=0,p=0,g=0,m=0,v=0,
|
|
553
|
+
for(l[a+1]=0,c[a+1]=0,h=(d=i-o)%2!=0,p=0,g=0,m=0,v=0,C=0;C<s&&!(Date.now()>r);C++){for(T=-C+p;T<=C-g;T+=2){for(y=a+T,x=(k=T===-C||T!==C&&l[y-1]<l[y+1]?l[y+1]:l[y-1]+1)-T;k<i&&x<o&&e.charAt(k)===n.charAt(x);)k++,x++
|
|
550
554
|
if(l[y]=k,k>i)g+=2
|
|
551
555
|
else if(x>o)p+=2
|
|
552
|
-
else if(h&&(b=a+d-
|
|
556
|
+
else if(h&&(b=a+d-T)>=0&&b<u&&-1!==c[b]&&k>=(w=i-c[b]))return this.diffBisectSplit(e,n,k,x,r)}for(N=-C+m;N<=C-v;N+=2){for(b=a+N,E=(w=N===-C||N!==C&&c[b-1]<c[b+1]?c[b+1]:c[b-1]+1)-N;w<i&&E<o&&e.charAt(i-w-1)===n.charAt(o-E-1);)w++,E++
|
|
553
557
|
if(c[b]=w,w>i)v+=2
|
|
554
558
|
else if(E>o)m+=2
|
|
555
|
-
else if(!h&&(y=a+d-
|
|
556
|
-
return o=e.substring(0,n),a=t.substring(0,r),s=e.substring(n),u=t.substring(r),l=this.DiffMain(o,a,!1,i),c=this.DiffMain(s,u,!1,i),l.concat(c)},e.prototype.diffCleanupSemantic=function(e){var n,r,i,o,s,a,u,l,c,f,d,h,p
|
|
557
|
-
for(
|
|
558
|
-
|
|
559
|
-
|
|
560
|
-
|
|
561
|
-
|
|
562
|
-
s
|
|
559
|
+
else if(!h&&(y=a+d-N)>=0&&y<u&&-1!==l[y]&&(x=a+(k=l[y])-y,k>=(w=i-w)))return this.diffBisectSplit(e,n,k,x,r)}}return[[t,e],[1,n]]},e.prototype.diffBisectSplit=function(e,t,n,r,i){var o,s,a,u,l,c
|
|
560
|
+
return o=e.substring(0,n),a=t.substring(0,r),s=e.substring(n),u=t.substring(r),l=this.DiffMain(o,a,!1,i),c=this.DiffMain(s,u,!1,i),l.concat(c)},e.prototype.diffCleanupSemantic=function(e){for(var n,r,i,o,s=!1,a=[],u=0,l=null,c=0,f=0,d=0,h=0,p=0;c<e.length;)0===e[c][0]?(a[u++]=c,f=h,d=p,h=0,p=0,l=e[c][1]):(1===e[c][0]?h+=e[c][1].length:p+=e[c][1].length,l&&l.length<=Math.max(f,d)&&l.length<=Math.max(h,p)&&(e.splice(a[u-1],0,[t,l]),e[a[u-1]+1][0]=1,u--,c=--u>0?a[u-1]:-1,f=0,d=0,h=0,p=0,l=null,s=!0)),c++
|
|
561
|
+
for(s&&this.diffCleanupMerge(e),c=1;c<e.length;)e[c-1][0]===t&&1===e[c][0]&&(n=e[c-1][1],r=e[c][1],(i=this.diffCommonOverlap(n,r))>=(o=this.diffCommonOverlap(r,n))?(i>=n.length/2||i>=r.length/2)&&(e.splice(c,0,[0,r.substring(0,i)]),e[c-1][1]=n.substring(0,n.length-i),e[c+1][1]=r.substring(i),c++):(o>=n.length/2||o>=r.length/2)&&(e.splice(c,0,[0,n.substring(0,o)]),e[c-1][0]=1,e[c-1][1]=r.substring(0,r.length-o),e[c+1][0]=t,e[c+1][1]=n.substring(o),c++),c++),c++},e.prototype.diffCommonOverlap=function(e,t){var n=e.length,r=t.length
|
|
562
|
+
if(0===n||0===r)return 0
|
|
563
|
+
n>r?e=e.substring(n-r):n<r&&(t=t.substring(0,n))
|
|
564
|
+
var i=Math.min(n,r)
|
|
565
|
+
if(e===t)return i
|
|
566
|
+
for(var o=0,s=1;;){var a=e.substring(i-s),u=t.indexOf(a)
|
|
567
|
+
if(-1===u)return o
|
|
568
|
+
s+=u,0!==u&&e.substring(i-s)!==t.substring(0,s)||(o=s,s++)}},e.prototype.diffLinesToChars=function(e,t){var r=[],i={}
|
|
563
569
|
function o(e){for(var t="",o=0,s=-1,a=r.length;s<e.length-1;){-1===(s=e.indexOf("\n",o))&&(s=e.length-1)
|
|
564
570
|
var u=e.substring(o,s+1)
|
|
565
|
-
o=s+1,n.call(i,u)?t+=String.fromCharCode(i[u]):(t+=String.fromCharCode(a),i[u]=a,r[a++]=u)}return t}return
|
|
566
|
-
|
|
567
|
-
|
|
568
|
-
for(e.push([0,""]),n=0,r=0,i=0,s="",o="";n<e.length;)switch(e[n][0]){case 1:i++,o+=e[n][1],n++
|
|
571
|
+
o=s+1,n.call(i,u)?t+=String.fromCharCode(i[u]):(t+=String.fromCharCode(a),i[u]=a,r[a++]=u)}return t}return r[0]="",{chars1:o(e),chars2:o(t),lineArray:r}},e.prototype.diffCharsToLines=function(e,t){for(var n=0;n<e.length;n++){for(var r=e[n][1],i=[],o=0;o<r.length;o++)i[o]=t[r.charCodeAt(o)]
|
|
572
|
+
e[n][1]=i.join("")}},e.prototype.diffCleanupMerge=function(e){e.push([0,""])
|
|
573
|
+
for(var n=0,r=0,i=0,o="",s="";n<e.length;)switch(e[n][0]){case 1:i++,s+=e[n][1],n++
|
|
569
574
|
break
|
|
570
|
-
case t:r++,
|
|
575
|
+
case t:r++,o+=e[n][1],n++
|
|
571
576
|
break
|
|
572
|
-
case 0:r+i>1
|
|
573
|
-
|
|
577
|
+
case 0:if(r+i>1){if(0!==r&&0!==i){var a=this.diffCommonPrefix(s,o)
|
|
578
|
+
0!==a&&(n-r-i>0&&0===e[n-r-i-1][0]?e[n-r-i-1][1]+=s.substring(0,a):(e.splice(0,0,[0,s.substring(0,a)]),n++),s=s.substring(a),o=o.substring(a)),0!==(a=this.diffCommonSuffix(s,o))&&(e[n][1]=s.substring(s.length-a)+e[n][1],s=s.substring(0,s.length-a),o=o.substring(0,o.length-a))}0===r?e.splice(n-i,r+i,[1,s]):0===i?e.splice(n-r,r+i,[t,o]):e.splice(n-r-i,r+i,[t,o],[1,s]),n=n-r-i+(r?1:0)+(i?1:0)+1}else 0!==n&&0===e[n-1][0]?(e[n-1][1]+=e[n][1],e.splice(n,1)):n++
|
|
579
|
+
i=0,r=0,o="",s=""}""===e[e.length-1][1]&&e.pop()
|
|
580
|
+
var u=!1
|
|
581
|
+
for(n=1;n<e.length-1;){if(0===e[n-1][0]&&0===e[n+1][0]){var l=e[n][1]
|
|
582
|
+
l.substring(l.length-e[n-1][1].length)===e[n-1][1]?(e[n][1]=e[n-1][1]+e[n][1].substring(0,e[n][1].length-e[n-1][1].length),e[n+1][1]=e[n-1][1]+e[n+1][1],e.splice(n-1,1),u=!0):l.substring(0,e[n+1][1].length)===e[n+1][1]&&(e[n-1][1]+=e[n+1][1],e[n][1]=e[n][1].substring(e[n+1][1].length)+e[n+1][1],e.splice(n+1,1),u=!0)}n++}u&&this.diffCleanupMerge(e)},function(t,n){var r,i
|
|
574
583
|
return i=(r=new e).DiffMain(t,n),r.diffCleanupEfficiency(i),r.diffPrettyHtml(i)}}()}()}}])
|