Add clone tests for array buffers.

This commit is contained in:
John-David Dalton
2014-05-30 15:24:36 -04:00
parent e259f300b1
commit 2f9ba719d4
2 changed files with 25 additions and 7 deletions

View File

@@ -1221,7 +1221,7 @@
}
switch (className) {
case arrayBufferClass:
return value.slice();
return value.slice(0);
case boolClass:
case dateClass:

View File

@@ -19,6 +19,7 @@
var phantom = root.phantom,
amd = root.define && define.amd,
argv = root.process && process.argv,
ArrayBuffer = root.ArrayBuffer,
document = !phantom && root.document,
body = root.document && root.document.body,
create = Object.create,
@@ -1284,16 +1285,33 @@
_.each(typedArrays, function(type) {
test('`_.' + methodName + '` should clone ' + type + ' arrays', 2, function() {
var Ctor = root[type] || Array,
buffer = Ctor == Array ? 4 : new ArrayBuffer(4),
array = new Ctor(buffer),
actual = func(array);
var Ctor = root[type];
if (Ctor) {
var array = new Ctor(new ArrayBuffer(4)),
actual = func(array);
deepEqual(actual, array);
notStrictEqual(actual, array);
deepEqual(actual, array);
notStrictEqual(actual, array);
}
else {
skipTest(2);
}
});
});
test('`_.' + methodName + '` should clone array buffers', 2, function() {
if (ArrayBuffer) {
var buffer = new ArrayBuffer(4),
actual = func(buffer);
strictEqual(actual.byteLength, buffer.byteLength);
notStrictEqual(actual, buffer);
}
else {
skipTest(2);
}
});
test('`_.' + methodName + '` should clone problem JScript properties (test in IE < 9)', 2, function() {
var actual = func(shadowedObject);
deepEqual(actual, shadowedObject);