Skip to content

Instantly share code, notes, and snippets.

@jpham14

jpham14/test.js Secret

Last active March 16, 2018 03:21
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save jpham14/24c5772b69e72dafadd1fb126031a739 to your computer and use it in GitHub Desktop.
Save jpham14/24c5772b69e72dafadd1fb126031a739 to your computer and use it in GitHub Desktop.
test cases for Array.reverse()
// Copyright 2009 the Sputnik authors. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
//CHECK#1
var x = [];
x[0] = false;
x[1] = Infinity;
x[3] = undefined;
x[4] = "NaN";
x[6] = "-1";
var reverse = x.reverse();
if (reverse !== x) {
$ERROR('#1: x = []; x[0] = false; x[1] = Infinity; x[3] = undefined; x[4] = "NaN"; x[6] = "-1"; x.reverse() === x. Actual: ' + (reverse));
}
//CHECK#2
if (x[0] !== "-1") {
$ERROR('#2: x = []; x[0] = false; x[1] = Infinity; x[3] = undefined; x[4] = "NaN"; x[6] = "-1"; x[0] === "-1". Actual: ' + (x[0]));
}
//CHECK#3
if (x[1] !== undefined) {
$ERROR('#3: x = []; x[0] = false; x[1] = Infinity; x[3] = undefined; x[4] = "NaN"; x[6] = "-1"; x.reverse(); x[1] === undefined. Actual: ' + (x[1]));
}
//CHECK#5
if (x[3] !== undefined) {
$ERROR('#4: x = []; x[0] = false; x[1] = Infinity; x[3] = undefined; x[4] = "NaN"; x[6] = "-1"; x.reverse(); x[3] === undefined. Actual: ' + (x[3]));
}
//CHECK#6
if (x[4] !== undefined) {
$ERROR('#5: x = []; x[0] = false; x[1] = Infinity; x[3] = undefined; x[4] = "NaN"; x[6] = "-1"; x.reverse(); x.reverse(); x[4] === NaN. Actual: ' + (x[4]));
}
//CHECK#7
if (x[5] !== Infinity) {
$ERROR('#6: x = []; x[0] = false; x[1] = Infinity; x[3] = undefined; x[4] = "NaN"; x[6] = "-1"; x.reverse(); x.reverse(); x[5] === undefined. Actual: ' + (x[5]));
}
//CHECK#8
if (x[6] !== false) {
$ERROR('#7: x = []; x[0] = false; x[1] = Infinity; x[3] = undefined; x[4] = "NaN"; x[6] = "-1"; x[9] = "-1"; x.reverse(); x[6] === undefined. Actual: ' + (x[6]));
}
//CHECK#9
x = new Array(9,5,2,1,3);
var reverse = x.reverse();
if (reverse !== x) {
$ERROR('#8: x = new Array(9,5,2,1,3); x.reverse() === x. Actual: ' + (reverse));
}
//CHECK#10
var test = [5,1,2,4,"string",6,8];
var expectedLength, result;
expectedLength = test.length;
result = test.reverse();
assert.sameValue(result, test, "returns the same object");
assert.sameValue(test.length, expectedLength, "length is preserved");
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment