mirror of
https://github.com/whoisclebs/lodash.git
synced 2026-02-10 02:47:50 +00:00
Fix ArrayBuffer#slice test mock.
This commit is contained in:
@@ -50,16 +50,16 @@
|
|||||||
// allow bypassing native checks
|
// allow bypassing native checks
|
||||||
setProperty(Function.prototype, 'toString', (function() {
|
setProperty(Function.prototype, 'toString', (function() {
|
||||||
function wrapper() {
|
function wrapper() {
|
||||||
setProperty(Function.prototype, 'toString', fnToString);
|
setProperty(funcProto, 'toString', fnToString);
|
||||||
var result = (this === window.ArrayBuffer || this === window.Set)
|
var result = hasOwnProperty.call(this, 'toString') ? this.toString() : fnToString.call(this);
|
||||||
? this.toString()
|
setProperty(funcProto, 'toString', wrapper);
|
||||||
: fnToString.call(this);
|
|
||||||
|
|
||||||
setProperty(Function.prototype, 'toString', wrapper);
|
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
var fnToString = Function.prototype.toString;
|
var funcProto = Function.prototype,
|
||||||
setProperty(Function.prototype, '_toString', fnToString);
|
fnToString = funcProto.toString,
|
||||||
|
hasOwnProperty = Object.prototype.hasOwnProperty;
|
||||||
|
|
||||||
|
setProperty(funcProto, '_toString', fnToString);
|
||||||
return wrapper;
|
return wrapper;
|
||||||
}()));
|
}()));
|
||||||
|
|
||||||
@@ -95,10 +95,11 @@
|
|||||||
}
|
}
|
||||||
return hasOwnProperty.call(this, key);
|
return hasOwnProperty.call(this, key);
|
||||||
}
|
}
|
||||||
var hasOwnProperty = Object.prototype.hasOwnProperty,
|
var objectProto = Object.prototype,
|
||||||
propertyIsEnumerable = Object.prototype.propertyIsEnumerable;
|
hasOwnProperty = objectProto.hasOwnProperty,
|
||||||
|
propertyIsEnumerable = objectProto.propertyIsEnumerable;
|
||||||
|
|
||||||
setProperty(Object.prototype, '_hasOwnProperty', hasOwnProperty);
|
setProperty(objectProto, '_hasOwnProperty', hasOwnProperty);
|
||||||
return wrapper;
|
return wrapper;
|
||||||
}()));
|
}()));
|
||||||
|
|
||||||
@@ -113,7 +114,7 @@
|
|||||||
|
|
||||||
setProperty(window, '_ArrayBuffer', window.ArrayBuffer);
|
setProperty(window, '_ArrayBuffer', window.ArrayBuffer);
|
||||||
if (window.ArrayBuffer && window.Uint8Array && !new ArrayBuffer(0).slice) {
|
if (window.ArrayBuffer && window.Uint8Array && !new ArrayBuffer(0).slice) {
|
||||||
ArrayBuffer = (function() {
|
ArrayBuffer = (function(_ArrayBuffer) {
|
||||||
function constant(value) {
|
function constant(value) {
|
||||||
return function() {
|
return function() {
|
||||||
return value;
|
return value;
|
||||||
@@ -122,7 +123,7 @@
|
|||||||
function ArrayBuffer(byteLength) {
|
function ArrayBuffer(byteLength) {
|
||||||
var buffer = new _ArrayBuffer(byteLength);
|
var buffer = new _ArrayBuffer(byteLength);
|
||||||
buffer.slice = function() {
|
buffer.slice = function() {
|
||||||
var newBuffer = new _ArrayBuffer(byteLength),
|
var newBuffer = new _ArrayBuffer(this.byteLength),
|
||||||
view = new Uint8Array(newBuffer);
|
view = new Uint8Array(newBuffer);
|
||||||
|
|
||||||
view.set(new Uint8Array(this));
|
view.set(new Uint8Array(this));
|
||||||
@@ -138,7 +139,7 @@
|
|||||||
|
|
||||||
setProperty(ArrayBuffer, 'toString', bufferToString);
|
setProperty(ArrayBuffer, 'toString', bufferToString);
|
||||||
return ArrayBuffer;
|
return ArrayBuffer;
|
||||||
}());
|
}(_ArrayBuffer));
|
||||||
}
|
}
|
||||||
setProperty(window, '_Float64Array', window.Float64Array);
|
setProperty(window, '_Float64Array', window.Float64Array);
|
||||||
if (window._ArrayBuffer == window.ArrayBuffer && window._Float64Array) {
|
if (window._ArrayBuffer == window.ArrayBuffer && window._Float64Array) {
|
||||||
@@ -202,8 +203,6 @@
|
|||||||
|
|
||||||
if (window._ArrayBuffer) {
|
if (window._ArrayBuffer) {
|
||||||
ArrayBuffer = _ArrayBuffer;
|
ArrayBuffer = _ArrayBuffer;
|
||||||
} else {
|
|
||||||
setProperty(window, 'ArrayBuffer', undefined);
|
|
||||||
}
|
}
|
||||||
setProperty(window, '_ArrayBuffer', undefined);
|
setProperty(window, '_ArrayBuffer', undefined);
|
||||||
|
|
||||||
|
|||||||
@@ -341,10 +341,7 @@
|
|||||||
var _fnToString = funcProto.toString;
|
var _fnToString = funcProto.toString;
|
||||||
setProperty(funcProto, 'toString', function wrapper() {
|
setProperty(funcProto, 'toString', function wrapper() {
|
||||||
setProperty(funcProto, 'toString', _fnToString);
|
setProperty(funcProto, 'toString', _fnToString);
|
||||||
var result = (this === root.ArrayBuffer || this === root.Set)
|
var result = _.has(this, 'toString') ? this.toString() : _fnToString.call(this);
|
||||||
? this.toString()
|
|
||||||
: _fnToString.call(this);
|
|
||||||
|
|
||||||
setProperty(funcProto, 'toString', wrapper);
|
setProperty(funcProto, 'toString', wrapper);
|
||||||
return result;
|
return result;
|
||||||
});
|
});
|
||||||
@@ -391,7 +388,7 @@
|
|||||||
function ArrayBuffer(byteLength) {
|
function ArrayBuffer(byteLength) {
|
||||||
var buffer = new _ArrayBuffer(byteLength);
|
var buffer = new _ArrayBuffer(byteLength);
|
||||||
buffer.slice = function() {
|
buffer.slice = function() {
|
||||||
var newBuffer = new _ArrayBuffer(byteLength),
|
var newBuffer = new _ArrayBuffer(this.byteLength),
|
||||||
view = new Uint8Array(newBuffer);
|
view = new Uint8Array(newBuffer);
|
||||||
|
|
||||||
view.set(new Uint8Array(this));
|
view.set(new Uint8Array(this));
|
||||||
|
|||||||
Reference in New Issue
Block a user