chai 4.1.1 → 4.1.2
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/LICENSE +1 -1
- package/chai.js +19 -416
- package/lib/chai/utils/addProperty.js +1 -1
- package/lib/chai.js +1 -1
- package/package.json +2 -2
package/LICENSE
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
MIT License
|
|
2
2
|
|
|
3
|
-
Copyright (c)
|
|
3
|
+
Copyright (c) 2017 Chai.js Assertion Library
|
|
4
4
|
|
|
5
5
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
6
|
of this software and associated documentation files (the "Software"), to deal
|
package/chai.js
CHANGED
|
@@ -14,7 +14,7 @@ var used = [];
|
|
|
14
14
|
* Chai version
|
|
15
15
|
*/
|
|
16
16
|
|
|
17
|
-
exports.version = '4.1.
|
|
17
|
+
exports.version = '4.1.2';
|
|
18
18
|
|
|
19
19
|
/*!
|
|
20
20
|
* Assertion Error
|
|
@@ -7758,7 +7758,7 @@ var transferFlags = require('./transferFlags');
|
|
|
7758
7758
|
*/
|
|
7759
7759
|
|
|
7760
7760
|
module.exports = function addProperty(ctx, name, getter) {
|
|
7761
|
-
getter = getter === undefined ?
|
|
7761
|
+
getter = getter === undefined ? function () {} : getter;
|
|
7762
7762
|
|
|
7763
7763
|
Object.defineProperty(ctx, name,
|
|
7764
7764
|
{ get: function propertyGetter() {
|
|
@@ -7879,7 +7879,7 @@ module.exports = function expectTypes(obj, types) {
|
|
|
7879
7879
|
}
|
|
7880
7880
|
};
|
|
7881
7881
|
|
|
7882
|
-
},{"./flag":15,"assertion-error":33,"type-detect":
|
|
7882
|
+
},{"./flag":15,"assertion-error":33,"type-detect":38}],15:[function(require,module,exports){
|
|
7883
7883
|
/*!
|
|
7884
7884
|
* Chai - flag utility
|
|
7885
7885
|
* Copyright(c) 2012-2014 Jake Luer <jake@alogicalparadox.com>
|
|
@@ -8289,7 +8289,7 @@ exports.isProxyEnabled = require('./isProxyEnabled');
|
|
|
8289
8289
|
|
|
8290
8290
|
exports.isNaN = require('./isNaN');
|
|
8291
8291
|
|
|
8292
|
-
},{"./addChainableMethod":9,"./addLengthGuard":10,"./addMethod":11,"./addProperty":12,"./compareByInspect":13,"./expectTypes":14,"./flag":15,"./getActual":16,"./getMessage":18,"./getOwnEnumerableProperties":19,"./getOwnEnumerablePropertySymbols":20,"./inspect":23,"./isNaN":24,"./isProxyEnabled":25,"./objDisplay":26,"./overwriteChainableMethod":27,"./overwriteMethod":28,"./overwriteProperty":29,"./proxify":30,"./test":31,"./transferFlags":32,"check-error":34,"deep-eql":35,"get-func-name":
|
|
8292
|
+
},{"./addChainableMethod":9,"./addLengthGuard":10,"./addMethod":11,"./addProperty":12,"./compareByInspect":13,"./expectTypes":14,"./flag":15,"./getActual":16,"./getMessage":18,"./getOwnEnumerableProperties":19,"./getOwnEnumerablePropertySymbols":20,"./inspect":23,"./isNaN":24,"./isProxyEnabled":25,"./objDisplay":26,"./overwriteChainableMethod":27,"./overwriteMethod":28,"./overwriteProperty":29,"./proxify":30,"./test":31,"./transferFlags":32,"check-error":34,"deep-eql":35,"get-func-name":36,"pathval":37,"type-detect":38}],23:[function(require,module,exports){
|
|
8293
8293
|
// This is (almost) directly from Node.js utils
|
|
8294
8294
|
// https://github.com/joyent/node/blob/f8c335d0caf47f16d31413f89aa28eda3878e3aa/lib/util.js
|
|
8295
8295
|
|
|
@@ -8674,7 +8674,7 @@ function objectToString(o) {
|
|
|
8674
8674
|
return Object.prototype.toString.call(o);
|
|
8675
8675
|
}
|
|
8676
8676
|
|
|
8677
|
-
},{"../config":4,"./getEnumerableProperties":17,"./getProperties":21,"get-func-name":
|
|
8677
|
+
},{"../config":4,"./getEnumerableProperties":17,"./getProperties":21,"get-func-name":36}],24:[function(require,module,exports){
|
|
8678
8678
|
/*!
|
|
8679
8679
|
* Chai - isNaN utility
|
|
8680
8680
|
* Copyright(c) 2012-2015 Sakthipriyan Vairamani <thechargingvolcano@gmail.com>
|
|
@@ -9537,57 +9537,33 @@ module.exports = {
|
|
|
9537
9537
|
|
|
9538
9538
|
},{}],35:[function(require,module,exports){
|
|
9539
9539
|
'use strict';
|
|
9540
|
-
/* globals Symbol:
|
|
9540
|
+
/* globals Symbol: false, Uint8Array: false, WeakMap: false */
|
|
9541
9541
|
/*!
|
|
9542
9542
|
* deep-eql
|
|
9543
9543
|
* Copyright(c) 2013 Jake Luer <jake@alogicalparadox.com>
|
|
9544
9544
|
* MIT Licensed
|
|
9545
9545
|
*/
|
|
9546
9546
|
|
|
9547
|
-
/*!
|
|
9548
|
-
* Module dependencies
|
|
9549
|
-
*/
|
|
9550
|
-
|
|
9551
9547
|
var type = require('type-detect');
|
|
9552
9548
|
function FakeMap() {
|
|
9553
|
-
this.
|
|
9549
|
+
this._key = 'chai/deep-eql__' + Math.random() + Date.now();
|
|
9554
9550
|
}
|
|
9551
|
+
|
|
9555
9552
|
FakeMap.prototype = {
|
|
9556
|
-
clear: function clearMap() {
|
|
9557
|
-
this.keys = [];
|
|
9558
|
-
this.values = [];
|
|
9559
|
-
return this;
|
|
9560
|
-
},
|
|
9561
|
-
set: function setMap(key, value) {
|
|
9562
|
-
var index = this.keys.indexOf(key);
|
|
9563
|
-
if (index >= 0) {
|
|
9564
|
-
this.values[index] = value;
|
|
9565
|
-
} else {
|
|
9566
|
-
this.keys.push(key);
|
|
9567
|
-
this.values.push(value);
|
|
9568
|
-
}
|
|
9569
|
-
return this;
|
|
9570
|
-
},
|
|
9571
9553
|
get: function getMap(key) {
|
|
9572
|
-
return
|
|
9554
|
+
return key[this._key];
|
|
9573
9555
|
},
|
|
9574
|
-
|
|
9575
|
-
|
|
9576
|
-
|
|
9577
|
-
|
|
9578
|
-
|
|
9556
|
+
set: function setMap(key, value) {
|
|
9557
|
+
if (!Object.isFrozen(key)) {
|
|
9558
|
+
Object.defineProperty(key, this._key, {
|
|
9559
|
+
value: value,
|
|
9560
|
+
configurable: true,
|
|
9561
|
+
});
|
|
9579
9562
|
}
|
|
9580
|
-
return this;
|
|
9581
9563
|
},
|
|
9582
9564
|
};
|
|
9583
9565
|
|
|
9584
|
-
var MemoizeMap =
|
|
9585
|
-
if (typeof WeakMap === 'function') {
|
|
9586
|
-
MemoizeMap = WeakMap;
|
|
9587
|
-
} else {
|
|
9588
|
-
MemoizeMap = FakeMap;
|
|
9589
|
-
}
|
|
9590
|
-
|
|
9566
|
+
var MemoizeMap = typeof WeakMap === 'function' ? WeakMap : FakeMap;
|
|
9591
9567
|
/*!
|
|
9592
9568
|
* Check to see if the MemoizeMap has recorded a result of the two operands
|
|
9593
9569
|
*
|
|
@@ -10016,380 +9992,7 @@ function isPrimitive(value) {
|
|
|
10016
9992
|
return value === null || typeof value !== 'object';
|
|
10017
9993
|
}
|
|
10018
9994
|
|
|
10019
|
-
},{"type-detect":
|
|
10020
|
-
'use strict';
|
|
10021
|
-
/* !
|
|
10022
|
-
* type-detect
|
|
10023
|
-
* Copyright(c) 2013 jake luer <jake@alogicalparadox.com>
|
|
10024
|
-
* MIT Licensed
|
|
10025
|
-
*/
|
|
10026
|
-
var getPrototypeOfExists = typeof Object.getPrototypeOf === 'function';
|
|
10027
|
-
var promiseExists = typeof Promise === 'function';
|
|
10028
|
-
var globalObject = typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : self; // eslint-disable-line
|
|
10029
|
-
var isDom = 'location' in globalObject && 'document' in globalObject;
|
|
10030
|
-
var htmlElementExists = typeof HTMLElement !== 'undefined';
|
|
10031
|
-
var isArrayExists = typeof Array.isArray === 'function';
|
|
10032
|
-
var symbolExists = typeof Symbol !== 'undefined';
|
|
10033
|
-
var mapExists = typeof Map !== 'undefined';
|
|
10034
|
-
var setExists = typeof Set !== 'undefined';
|
|
10035
|
-
var weakMapExists = typeof WeakMap !== 'undefined';
|
|
10036
|
-
var weakSetExists = typeof WeakSet !== 'undefined';
|
|
10037
|
-
var dataViewExists = typeof DataView !== 'undefined';
|
|
10038
|
-
var symbolIteratorExists = symbolExists && typeof Symbol.iterator !== 'undefined';
|
|
10039
|
-
var symbolToStringTagExists = symbolExists && typeof Symbol.toStringTag !== 'undefined';
|
|
10040
|
-
var setEntriesExists = setExists && typeof Set.prototype.entries === 'function';
|
|
10041
|
-
var mapEntriesExists = mapExists && typeof Map.prototype.entries === 'function';
|
|
10042
|
-
var setIteratorPrototype = getPrototypeOfExists && setEntriesExists && Object.getPrototypeOf(new Set().entries());
|
|
10043
|
-
var mapIteratorPrototype = getPrototypeOfExists && mapEntriesExists && Object.getPrototypeOf(new Map().entries());
|
|
10044
|
-
var arrayIteratorExists = symbolIteratorExists && typeof Array.prototype[Symbol.iterator] === 'function';
|
|
10045
|
-
var arrayIteratorPrototype = arrayIteratorExists && Object.getPrototypeOf([][Symbol.iterator]());
|
|
10046
|
-
var stringIteratorExists = symbolIteratorExists && typeof Array.prototype[Symbol.iterator] === 'function';
|
|
10047
|
-
var stringIteratorPrototype = stringIteratorExists && Object.getPrototypeOf(''[Symbol.iterator]());
|
|
10048
|
-
var toStringLeftSliceLength = 8;
|
|
10049
|
-
var toStringRightSliceLength = -1;
|
|
10050
|
-
/**
|
|
10051
|
-
* ### typeOf (obj)
|
|
10052
|
-
*
|
|
10053
|
-
* Uses `Object.prototype.toString` to determine the type of an object,
|
|
10054
|
-
* normalising behaviour across engine versions & well optimised.
|
|
10055
|
-
*
|
|
10056
|
-
* @param {Mixed} object
|
|
10057
|
-
* @return {String} object type
|
|
10058
|
-
* @api public
|
|
10059
|
-
*/
|
|
10060
|
-
module.exports = function typeDetect(obj) {
|
|
10061
|
-
/* ! Speed optimisation
|
|
10062
|
-
* Pre:
|
|
10063
|
-
* string literal x 3,039,035 ops/sec ±1.62% (78 runs sampled)
|
|
10064
|
-
* boolean literal x 1,424,138 ops/sec ±4.54% (75 runs sampled)
|
|
10065
|
-
* number literal x 1,653,153 ops/sec ±1.91% (82 runs sampled)
|
|
10066
|
-
* undefined x 9,978,660 ops/sec ±1.92% (75 runs sampled)
|
|
10067
|
-
* function x 2,556,769 ops/sec ±1.73% (77 runs sampled)
|
|
10068
|
-
* Post:
|
|
10069
|
-
* string literal x 38,564,796 ops/sec ±1.15% (79 runs sampled)
|
|
10070
|
-
* boolean literal x 31,148,940 ops/sec ±1.10% (79 runs sampled)
|
|
10071
|
-
* number literal x 32,679,330 ops/sec ±1.90% (78 runs sampled)
|
|
10072
|
-
* undefined x 32,363,368 ops/sec ±1.07% (82 runs sampled)
|
|
10073
|
-
* function x 31,296,870 ops/sec ±0.96% (83 runs sampled)
|
|
10074
|
-
*/
|
|
10075
|
-
var typeofObj = typeof obj;
|
|
10076
|
-
if (typeofObj !== 'object') {
|
|
10077
|
-
return typeofObj;
|
|
10078
|
-
}
|
|
10079
|
-
|
|
10080
|
-
/* ! Speed optimisation
|
|
10081
|
-
* Pre:
|
|
10082
|
-
* null x 28,645,765 ops/sec ±1.17% (82 runs sampled)
|
|
10083
|
-
* Post:
|
|
10084
|
-
* null x 36,428,962 ops/sec ±1.37% (84 runs sampled)
|
|
10085
|
-
*/
|
|
10086
|
-
if (obj === null) {
|
|
10087
|
-
return 'null';
|
|
10088
|
-
}
|
|
10089
|
-
|
|
10090
|
-
/* ! Spec Conformance
|
|
10091
|
-
* Test: `Object.prototype.toString.call(window)``
|
|
10092
|
-
* - Node === "[object global]"
|
|
10093
|
-
* - Chrome === "[object global]"
|
|
10094
|
-
* - Firefox === "[object Window]"
|
|
10095
|
-
* - PhantomJS === "[object Window]"
|
|
10096
|
-
* - Safari === "[object Window]"
|
|
10097
|
-
* - IE 11 === "[object Window]"
|
|
10098
|
-
* - IE Edge === "[object Window]"
|
|
10099
|
-
* Test: `Object.prototype.toString.call(this)``
|
|
10100
|
-
* - Chrome Worker === "[object global]"
|
|
10101
|
-
* - Firefox Worker === "[object DedicatedWorkerGlobalScope]"
|
|
10102
|
-
* - Safari Worker === "[object DedicatedWorkerGlobalScope]"
|
|
10103
|
-
* - IE 11 Worker === "[object WorkerGlobalScope]"
|
|
10104
|
-
* - IE Edge Worker === "[object WorkerGlobalScope]"
|
|
10105
|
-
*/
|
|
10106
|
-
if (obj === globalObject) {
|
|
10107
|
-
return 'global';
|
|
10108
|
-
}
|
|
10109
|
-
|
|
10110
|
-
/* ! Speed optimisation
|
|
10111
|
-
* Pre:
|
|
10112
|
-
* array literal x 2,888,352 ops/sec ±0.67% (82 runs sampled)
|
|
10113
|
-
* Post:
|
|
10114
|
-
* array literal x 22,479,650 ops/sec ±0.96% (81 runs sampled)
|
|
10115
|
-
*/
|
|
10116
|
-
if (isArrayExists && Array.isArray(obj)) {
|
|
10117
|
-
return 'Array';
|
|
10118
|
-
}
|
|
10119
|
-
|
|
10120
|
-
if (isDom) {
|
|
10121
|
-
/* ! Spec Conformance
|
|
10122
|
-
* (https://html.spec.whatwg.org/multipage/browsers.html#location)
|
|
10123
|
-
* WhatWG HTML$7.7.3 - The `Location` interface
|
|
10124
|
-
* Test: `Object.prototype.toString.call(window.location)``
|
|
10125
|
-
* - IE <=11 === "[object Object]"
|
|
10126
|
-
* - IE Edge <=13 === "[object Object]"
|
|
10127
|
-
*/
|
|
10128
|
-
if (obj === globalObject.location) {
|
|
10129
|
-
return 'Location';
|
|
10130
|
-
}
|
|
10131
|
-
|
|
10132
|
-
/* ! Spec Conformance
|
|
10133
|
-
* (https://html.spec.whatwg.org/#document)
|
|
10134
|
-
* WhatWG HTML$3.1.1 - The `Document` object
|
|
10135
|
-
* Note: Most browsers currently adher to the W3C DOM Level 2 spec
|
|
10136
|
-
* (https://www.w3.org/TR/DOM-Level-2-HTML/html.html#ID-26809268)
|
|
10137
|
-
* which suggests that browsers should use HTMLTableCellElement for
|
|
10138
|
-
* both TD and TH elements. WhatWG separates these.
|
|
10139
|
-
* WhatWG HTML states:
|
|
10140
|
-
* > For historical reasons, Window objects must also have a
|
|
10141
|
-
* > writable, configurable, non-enumerable property named
|
|
10142
|
-
* > HTMLDocument whose value is the Document interface object.
|
|
10143
|
-
* Test: `Object.prototype.toString.call(document)``
|
|
10144
|
-
* - Chrome === "[object HTMLDocument]"
|
|
10145
|
-
* - Firefox === "[object HTMLDocument]"
|
|
10146
|
-
* - Safari === "[object HTMLDocument]"
|
|
10147
|
-
* - IE <=10 === "[object Document]"
|
|
10148
|
-
* - IE 11 === "[object HTMLDocument]"
|
|
10149
|
-
* - IE Edge <=13 === "[object HTMLDocument]"
|
|
10150
|
-
*/
|
|
10151
|
-
if (obj === globalObject.document) {
|
|
10152
|
-
return 'Document';
|
|
10153
|
-
}
|
|
10154
|
-
|
|
10155
|
-
/* ! Spec Conformance
|
|
10156
|
-
* (https://html.spec.whatwg.org/multipage/webappapis.html#mimetypearray)
|
|
10157
|
-
* WhatWG HTML$8.6.1.5 - Plugins - Interface MimeTypeArray
|
|
10158
|
-
* Test: `Object.prototype.toString.call(navigator.mimeTypes)``
|
|
10159
|
-
* - IE <=10 === "[object MSMimeTypesCollection]"
|
|
10160
|
-
*/
|
|
10161
|
-
if (obj === (globalObject.navigator || {}).mimeTypes) {
|
|
10162
|
-
return 'MimeTypeArray';
|
|
10163
|
-
}
|
|
10164
|
-
|
|
10165
|
-
/* ! Spec Conformance
|
|
10166
|
-
* (https://html.spec.whatwg.org/multipage/webappapis.html#pluginarray)
|
|
10167
|
-
* WhatWG HTML$8.6.1.5 - Plugins - Interface PluginArray
|
|
10168
|
-
* Test: `Object.prototype.toString.call(navigator.plugins)``
|
|
10169
|
-
* - IE <=10 === "[object MSPluginsCollection]"
|
|
10170
|
-
*/
|
|
10171
|
-
if (obj === (globalObject.navigator || {}).plugins) {
|
|
10172
|
-
return 'PluginArray';
|
|
10173
|
-
}
|
|
10174
|
-
|
|
10175
|
-
/* ! Spec Conformance
|
|
10176
|
-
* (https://html.spec.whatwg.org/multipage/webappapis.html#pluginarray)
|
|
10177
|
-
* WhatWG HTML$4.4.4 - The `blockquote` element - Interface `HTMLQuoteElement`
|
|
10178
|
-
* Test: `Object.prototype.toString.call(document.createElement('blockquote'))``
|
|
10179
|
-
* - IE <=10 === "[object HTMLBlockElement]"
|
|
10180
|
-
*/
|
|
10181
|
-
if (htmlElementExists && obj instanceof HTMLElement && obj.tagName === 'BLOCKQUOTE') {
|
|
10182
|
-
return 'HTMLQuoteElement';
|
|
10183
|
-
}
|
|
10184
|
-
|
|
10185
|
-
/* ! Spec Conformance
|
|
10186
|
-
* (https://html.spec.whatwg.org/#htmltabledatacellelement)
|
|
10187
|
-
* WhatWG HTML$4.9.9 - The `td` element - Interface `HTMLTableDataCellElement`
|
|
10188
|
-
* Note: Most browsers currently adher to the W3C DOM Level 2 spec
|
|
10189
|
-
* (https://www.w3.org/TR/DOM-Level-2-HTML/html.html#ID-82915075)
|
|
10190
|
-
* which suggests that browsers should use HTMLTableCellElement for
|
|
10191
|
-
* both TD and TH elements. WhatWG separates these.
|
|
10192
|
-
* Test: Object.prototype.toString.call(document.createElement('td'))
|
|
10193
|
-
* - Chrome === "[object HTMLTableCellElement]"
|
|
10194
|
-
* - Firefox === "[object HTMLTableCellElement]"
|
|
10195
|
-
* - Safari === "[object HTMLTableCellElement]"
|
|
10196
|
-
*/
|
|
10197
|
-
if (htmlElementExists && obj instanceof HTMLElement && obj.tagName === 'TD') {
|
|
10198
|
-
return 'HTMLTableDataCellElement';
|
|
10199
|
-
}
|
|
10200
|
-
|
|
10201
|
-
/* ! Spec Conformance
|
|
10202
|
-
* (https://html.spec.whatwg.org/#htmltableheadercellelement)
|
|
10203
|
-
* WhatWG HTML$4.9.9 - The `td` element - Interface `HTMLTableHeaderCellElement`
|
|
10204
|
-
* Note: Most browsers currently adher to the W3C DOM Level 2 spec
|
|
10205
|
-
* (https://www.w3.org/TR/DOM-Level-2-HTML/html.html#ID-82915075)
|
|
10206
|
-
* which suggests that browsers should use HTMLTableCellElement for
|
|
10207
|
-
* both TD and TH elements. WhatWG separates these.
|
|
10208
|
-
* Test: Object.prototype.toString.call(document.createElement('th'))
|
|
10209
|
-
* - Chrome === "[object HTMLTableCellElement]"
|
|
10210
|
-
* - Firefox === "[object HTMLTableCellElement]"
|
|
10211
|
-
* - Safari === "[object HTMLTableCellElement]"
|
|
10212
|
-
*/
|
|
10213
|
-
if (htmlElementExists && obj instanceof HTMLElement && obj.tagName === 'TH') {
|
|
10214
|
-
return 'HTMLTableHeaderCellElement';
|
|
10215
|
-
}
|
|
10216
|
-
}
|
|
10217
|
-
|
|
10218
|
-
/* ! Speed optimisation
|
|
10219
|
-
* Pre:
|
|
10220
|
-
* Float64Array x 625,644 ops/sec ±1.58% (80 runs sampled)
|
|
10221
|
-
* Float32Array x 1,279,852 ops/sec ±2.91% (77 runs sampled)
|
|
10222
|
-
* Uint32Array x 1,178,185 ops/sec ±1.95% (83 runs sampled)
|
|
10223
|
-
* Uint16Array x 1,008,380 ops/sec ±2.25% (80 runs sampled)
|
|
10224
|
-
* Uint8Array x 1,128,040 ops/sec ±2.11% (81 runs sampled)
|
|
10225
|
-
* Int32Array x 1,170,119 ops/sec ±2.88% (80 runs sampled)
|
|
10226
|
-
* Int16Array x 1,176,348 ops/sec ±5.79% (86 runs sampled)
|
|
10227
|
-
* Int8Array x 1,058,707 ops/sec ±4.94% (77 runs sampled)
|
|
10228
|
-
* Uint8ClampedArray x 1,110,633 ops/sec ±4.20% (80 runs sampled)
|
|
10229
|
-
* Post:
|
|
10230
|
-
* Float64Array x 7,105,671 ops/sec ±13.47% (64 runs sampled)
|
|
10231
|
-
* Float32Array x 5,887,912 ops/sec ±1.46% (82 runs sampled)
|
|
10232
|
-
* Uint32Array x 6,491,661 ops/sec ±1.76% (79 runs sampled)
|
|
10233
|
-
* Uint16Array x 6,559,795 ops/sec ±1.67% (82 runs sampled)
|
|
10234
|
-
* Uint8Array x 6,463,966 ops/sec ±1.43% (85 runs sampled)
|
|
10235
|
-
* Int32Array x 5,641,841 ops/sec ±3.49% (81 runs sampled)
|
|
10236
|
-
* Int16Array x 6,583,511 ops/sec ±1.98% (80 runs sampled)
|
|
10237
|
-
* Int8Array x 6,606,078 ops/sec ±1.74% (81 runs sampled)
|
|
10238
|
-
* Uint8ClampedArray x 6,602,224 ops/sec ±1.77% (83 runs sampled)
|
|
10239
|
-
*/
|
|
10240
|
-
var stringTag = (symbolToStringTagExists && obj[Symbol.toStringTag]);
|
|
10241
|
-
if (typeof stringTag === 'string') {
|
|
10242
|
-
return stringTag;
|
|
10243
|
-
}
|
|
10244
|
-
|
|
10245
|
-
if (getPrototypeOfExists) {
|
|
10246
|
-
var objPrototype = Object.getPrototypeOf(obj);
|
|
10247
|
-
/* ! Speed optimisation
|
|
10248
|
-
* Pre:
|
|
10249
|
-
* regex literal x 1,772,385 ops/sec ±1.85% (77 runs sampled)
|
|
10250
|
-
* regex constructor x 2,143,634 ops/sec ±2.46% (78 runs sampled)
|
|
10251
|
-
* Post:
|
|
10252
|
-
* regex literal x 3,928,009 ops/sec ±0.65% (78 runs sampled)
|
|
10253
|
-
* regex constructor x 3,931,108 ops/sec ±0.58% (84 runs sampled)
|
|
10254
|
-
*/
|
|
10255
|
-
if (objPrototype === RegExp.prototype) {
|
|
10256
|
-
return 'RegExp';
|
|
10257
|
-
}
|
|
10258
|
-
|
|
10259
|
-
/* ! Speed optimisation
|
|
10260
|
-
* Pre:
|
|
10261
|
-
* date x 2,130,074 ops/sec ±4.42% (68 runs sampled)
|
|
10262
|
-
* Post:
|
|
10263
|
-
* date x 3,953,779 ops/sec ±1.35% (77 runs sampled)
|
|
10264
|
-
*/
|
|
10265
|
-
if (objPrototype === Date.prototype) {
|
|
10266
|
-
return 'Date';
|
|
10267
|
-
}
|
|
10268
|
-
|
|
10269
|
-
/* ! Spec Conformance
|
|
10270
|
-
* (http://www.ecma-international.org/ecma-262/6.0/index.html#sec-promise.prototype-@@tostringtag)
|
|
10271
|
-
* ES6$25.4.5.4 - Promise.prototype[@@toStringTag] should be "Promise":
|
|
10272
|
-
* Test: `Object.prototype.toString.call(Promise.resolve())``
|
|
10273
|
-
* - Chrome <=47 === "[object Object]"
|
|
10274
|
-
* - Edge <=20 === "[object Object]"
|
|
10275
|
-
* - Firefox 29-Latest === "[object Promise]"
|
|
10276
|
-
* - Safari 7.1-Latest === "[object Promise]"
|
|
10277
|
-
*/
|
|
10278
|
-
if (promiseExists && objPrototype === Promise.prototype) {
|
|
10279
|
-
return 'Promise';
|
|
10280
|
-
}
|
|
10281
|
-
|
|
10282
|
-
/* ! Speed optimisation
|
|
10283
|
-
* Pre:
|
|
10284
|
-
* set x 2,222,186 ops/sec ±1.31% (82 runs sampled)
|
|
10285
|
-
* Post:
|
|
10286
|
-
* set x 4,545,879 ops/sec ±1.13% (83 runs sampled)
|
|
10287
|
-
*/
|
|
10288
|
-
if (setExists && objPrototype === Set.prototype) {
|
|
10289
|
-
return 'Set';
|
|
10290
|
-
}
|
|
10291
|
-
|
|
10292
|
-
/* ! Speed optimisation
|
|
10293
|
-
* Pre:
|
|
10294
|
-
* map x 2,396,842 ops/sec ±1.59% (81 runs sampled)
|
|
10295
|
-
* Post:
|
|
10296
|
-
* map x 4,183,945 ops/sec ±6.59% (82 runs sampled)
|
|
10297
|
-
*/
|
|
10298
|
-
if (mapExists && objPrototype === Map.prototype) {
|
|
10299
|
-
return 'Map';
|
|
10300
|
-
}
|
|
10301
|
-
|
|
10302
|
-
/* ! Speed optimisation
|
|
10303
|
-
* Pre:
|
|
10304
|
-
* weakset x 1,323,220 ops/sec ±2.17% (76 runs sampled)
|
|
10305
|
-
* Post:
|
|
10306
|
-
* weakset x 4,237,510 ops/sec ±2.01% (77 runs sampled)
|
|
10307
|
-
*/
|
|
10308
|
-
if (weakSetExists && objPrototype === WeakSet.prototype) {
|
|
10309
|
-
return 'WeakSet';
|
|
10310
|
-
}
|
|
10311
|
-
|
|
10312
|
-
/* ! Speed optimisation
|
|
10313
|
-
* Pre:
|
|
10314
|
-
* weakmap x 1,500,260 ops/sec ±2.02% (78 runs sampled)
|
|
10315
|
-
* Post:
|
|
10316
|
-
* weakmap x 3,881,384 ops/sec ±1.45% (82 runs sampled)
|
|
10317
|
-
*/
|
|
10318
|
-
if (weakMapExists && objPrototype === WeakMap.prototype) {
|
|
10319
|
-
return 'WeakMap';
|
|
10320
|
-
}
|
|
10321
|
-
|
|
10322
|
-
/* ! Spec Conformance
|
|
10323
|
-
* (http://www.ecma-international.org/ecma-262/6.0/index.html#sec-dataview.prototype-@@tostringtag)
|
|
10324
|
-
* ES6$24.2.4.21 - DataView.prototype[@@toStringTag] should be "DataView":
|
|
10325
|
-
* Test: `Object.prototype.toString.call(new DataView(new ArrayBuffer(1)))``
|
|
10326
|
-
* - Edge <=13 === "[object Object]"
|
|
10327
|
-
*/
|
|
10328
|
-
if (dataViewExists && objPrototype === DataView.prototype) {
|
|
10329
|
-
return 'DataView';
|
|
10330
|
-
}
|
|
10331
|
-
|
|
10332
|
-
/* ! Spec Conformance
|
|
10333
|
-
* (http://www.ecma-international.org/ecma-262/6.0/index.html#sec-%mapiteratorprototype%-@@tostringtag)
|
|
10334
|
-
* ES6$23.1.5.2.2 - %MapIteratorPrototype%[@@toStringTag] should be "Map Iterator":
|
|
10335
|
-
* Test: `Object.prototype.toString.call(new Map().entries())``
|
|
10336
|
-
* - Edge <=13 === "[object Object]"
|
|
10337
|
-
*/
|
|
10338
|
-
if (mapExists && objPrototype === mapIteratorPrototype) {
|
|
10339
|
-
return 'Map Iterator';
|
|
10340
|
-
}
|
|
10341
|
-
|
|
10342
|
-
/* ! Spec Conformance
|
|
10343
|
-
* (http://www.ecma-international.org/ecma-262/6.0/index.html#sec-%setiteratorprototype%-@@tostringtag)
|
|
10344
|
-
* ES6$23.2.5.2.2 - %SetIteratorPrototype%[@@toStringTag] should be "Set Iterator":
|
|
10345
|
-
* Test: `Object.prototype.toString.call(new Set().entries())``
|
|
10346
|
-
* - Edge <=13 === "[object Object]"
|
|
10347
|
-
*/
|
|
10348
|
-
if (setExists && objPrototype === setIteratorPrototype) {
|
|
10349
|
-
return 'Set Iterator';
|
|
10350
|
-
}
|
|
10351
|
-
|
|
10352
|
-
/* ! Spec Conformance
|
|
10353
|
-
* (http://www.ecma-international.org/ecma-262/6.0/index.html#sec-%arrayiteratorprototype%-@@tostringtag)
|
|
10354
|
-
* ES6$22.1.5.2.2 - %ArrayIteratorPrototype%[@@toStringTag] should be "Array Iterator":
|
|
10355
|
-
* Test: `Object.prototype.toString.call([][Symbol.iterator]())``
|
|
10356
|
-
* - Edge <=13 === "[object Object]"
|
|
10357
|
-
*/
|
|
10358
|
-
if (arrayIteratorExists && objPrototype === arrayIteratorPrototype) {
|
|
10359
|
-
return 'Array Iterator';
|
|
10360
|
-
}
|
|
10361
|
-
|
|
10362
|
-
/* ! Spec Conformance
|
|
10363
|
-
* (http://www.ecma-international.org/ecma-262/6.0/index.html#sec-%stringiteratorprototype%-@@tostringtag)
|
|
10364
|
-
* ES6$21.1.5.2.2 - %StringIteratorPrototype%[@@toStringTag] should be "String Iterator":
|
|
10365
|
-
* Test: `Object.prototype.toString.call(''[Symbol.iterator]())``
|
|
10366
|
-
* - Edge <=13 === "[object Object]"
|
|
10367
|
-
*/
|
|
10368
|
-
if (stringIteratorExists && objPrototype === stringIteratorPrototype) {
|
|
10369
|
-
return 'String Iterator';
|
|
10370
|
-
}
|
|
10371
|
-
|
|
10372
|
-
/* ! Speed optimisation
|
|
10373
|
-
* Pre:
|
|
10374
|
-
* object from null x 2,424,320 ops/sec ±1.67% (76 runs sampled)
|
|
10375
|
-
* Post:
|
|
10376
|
-
* object from null x 5,838,000 ops/sec ±0.99% (84 runs sampled)
|
|
10377
|
-
*/
|
|
10378
|
-
if (objPrototype === null) {
|
|
10379
|
-
return 'Object';
|
|
10380
|
-
}
|
|
10381
|
-
}
|
|
10382
|
-
|
|
10383
|
-
return Object
|
|
10384
|
-
.prototype
|
|
10385
|
-
.toString
|
|
10386
|
-
.call(obj)
|
|
10387
|
-
.slice(toStringLeftSliceLength, toStringRightSliceLength);
|
|
10388
|
-
};
|
|
10389
|
-
|
|
10390
|
-
module.exports.typeDetect = module.exports;
|
|
10391
|
-
|
|
10392
|
-
},{}],37:[function(require,module,exports){
|
|
9995
|
+
},{"type-detect":38}],36:[function(require,module,exports){
|
|
10393
9996
|
'use strict';
|
|
10394
9997
|
|
|
10395
9998
|
/* !
|
|
@@ -10435,7 +10038,7 @@ function getFuncName(aFunc) {
|
|
|
10435
10038
|
|
|
10436
10039
|
module.exports = getFuncName;
|
|
10437
10040
|
|
|
10438
|
-
},{}],
|
|
10041
|
+
},{}],37:[function(require,module,exports){
|
|
10439
10042
|
'use strict';
|
|
10440
10043
|
|
|
10441
10044
|
/* !
|
|
@@ -10728,7 +10331,7 @@ module.exports = {
|
|
|
10728
10331
|
setPathValue: setPathValue,
|
|
10729
10332
|
};
|
|
10730
10333
|
|
|
10731
|
-
},{}],
|
|
10334
|
+
},{}],38:[function(require,module,exports){
|
|
10732
10335
|
'use strict';
|
|
10733
10336
|
|
|
10734
10337
|
/* !
|
|
@@ -36,7 +36,7 @@ var transferFlags = require('./transferFlags');
|
|
|
36
36
|
*/
|
|
37
37
|
|
|
38
38
|
module.exports = function addProperty(ctx, name, getter) {
|
|
39
|
-
getter = getter === undefined ?
|
|
39
|
+
getter = getter === undefined ? function () {} : getter;
|
|
40
40
|
|
|
41
41
|
Object.defineProperty(ctx, name,
|
|
42
42
|
{ get: function propertyGetter() {
|
package/lib/chai.js
CHANGED
package/package.json
CHANGED
|
@@ -17,7 +17,7 @@
|
|
|
17
17
|
"Veselin Todorov <hi@vesln.com>",
|
|
18
18
|
"John Firebaugh <john.firebaugh@gmail.com>"
|
|
19
19
|
],
|
|
20
|
-
"version": "4.1.
|
|
20
|
+
"version": "4.1.2",
|
|
21
21
|
"repository": {
|
|
22
22
|
"type": "git",
|
|
23
23
|
"url": "https://github.com/chaijs/chai"
|
|
@@ -35,7 +35,7 @@
|
|
|
35
35
|
"dependencies": {
|
|
36
36
|
"assertion-error": "^1.0.1",
|
|
37
37
|
"check-error": "^1.0.1",
|
|
38
|
-
"deep-eql": "^
|
|
38
|
+
"deep-eql": "^3.0.0",
|
|
39
39
|
"get-func-name": "^2.0.0",
|
|
40
40
|
"pathval": "^1.0.0",
|
|
41
41
|
"type-detect": "^4.0.0"
|