| Index: test/mjsunit/third_party/array-splice-webkit.js
|
| diff --git a/test/mjsunit/third_party/object-keys.js b/test/mjsunit/third_party/array-splice-webkit.js
|
| similarity index 54%
|
| copy from test/mjsunit/third_party/object-keys.js
|
| copy to test/mjsunit/third_party/array-splice-webkit.js
|
| index d09265c6f738a3729bd8b75ad80a1b304408e6c9..974ac55e6b7992556e5a9222b54db2d18660b0de 100644
|
| --- a/test/mjsunit/third_party/object-keys.js
|
| +++ b/test/mjsunit/third_party/array-splice-webkit.js
|
| @@ -29,40 +29,34 @@
|
| // ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
|
| // OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
|
| -// Based on LayoutTests/fast/js/Object-keys.html
|
| +// Simple splice tests based on webkit layout tests.
|
| +var arr = ['a','b','c','d'];
|
| +assertArrayEquals(['a','b','c','d'], arr);
|
| +assertArrayEquals(['c','d'], arr.splice(2));
|
| +assertArrayEquals(['a','b'], arr);
|
| +assertArrayEquals(['a','b'], arr.splice(0));
|
| +assertArrayEquals([], arr)
|
|
|
| -assertThrows(function () { Object.keys(2) }, TypeError);
|
| -assertThrows(function () { Object.keys("foo") }, TypeError);
|
| -assertThrows(function () { Object.keys(null) }, TypeError);
|
| -assertThrows(function () { Object.keys(undefined) }, TypeError);
|
| +arr = ['a','b','c','d'];
|
| +assertEquals([], arr.splice())
|
| +assertArrayEquals(['a','b','c','d'], arr);
|
| +assertArrayEquals(['a','b','c','d'], arr.splice(undefined))
|
| +assertArrayEquals([], arr);
|
|
|
| -assertEquals(Object.keys({}), []);
|
| -assertEquals(Object.keys({a:null}), ['a']);
|
| -assertEquals(Object.keys({a:null, b:null}), ['a', 'b']);
|
| -assertEquals(Object.keys({b:null, a:null}), ['b', 'a']);
|
| -assertEquals(Object.keys([]), []);
|
| -assertEquals(Object.keys([null]), ['0']);
|
| -assertEquals(Object.keys([null,null]), ['0', '1']);
|
| -assertEquals(Object.keys([null,null,,,,null]), ['0', '1', '5']);
|
| -assertEquals(Object.keys({__proto__:{a:null}}), []);
|
| -assertEquals(Object.keys({__proto__:[1,2,3]}), []);
|
| -var x = [];
|
| -x.__proto__ = [1, 2, 3];
|
| -assertEquals(Object.keys(x), []);
|
| -assertEquals(Object.keys(function () {}), []);
|
| +arr = ['a','b','c','d'];
|
| +assertArrayEquals(['a','b','c','d'], arr.splice(null))
|
| +assertArrayEquals([], arr);
|
|
|
| -assertEquals('string', typeof(Object.keys([1])[0]));
|
| +arr = ['a','b','c','d'];
|
| +assertArrayEquals([], arr.splice(100))
|
| +assertArrayEquals(['a','b','c','d'], arr);
|
| +assertArrayEquals(['d'], arr.splice(-1))
|
| +assertArrayEquals(['a','b','c'], arr);
|
|
|
| -function argsTest(a, b, c) {
|
| - assertEquals(['0', '1', '2'], Object.keys(arguments));
|
| -}
|
| -
|
| -argsTest(1, 2, 3);
|
| -
|
| -var literal = {a: 1, b: 2, c: 3};
|
| -var keysBefore = Object.keys(literal);
|
| -assertEquals(['a', 'b', 'c'], keysBefore);
|
| -keysBefore[0] = 'x';
|
| -var keysAfter = Object.keys(literal);
|
| -assertEquals(['a', 'b', 'c'], keysAfter);
|
| -assertEquals(['x', 'b', 'c'], keysBefore);
|
| +assertArrayEquals([], arr.splice(2, undefined))
|
| +assertArrayEquals([], arr.splice(2, null))
|
| +assertArrayEquals([], arr.splice(2, -1))
|
| +assertArrayEquals([], arr.splice(2, 0))
|
| +assertArrayEquals(['a','b','c'], arr);
|
| +assertArrayEquals(['c'], arr.splice(2, 100))
|
| +assertArrayEquals(['a','b'], arr);
|
|
|