Upstream version 5.34.98.0
[platform/framework/web/crosswalk.git] / src / third_party / WebKit / LayoutTests / crash / array-splice.html
1 <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
2 <script src="../resources/js-test.js"></script>
3 <script>
4 description(
5 "This tests array.splice behavior."
6 );
7
8 var arr = ['a','b','c','d'];
9 shouldBe("arr", "['a','b','c','d']");
10 shouldBe("arr.splice(2)", "['c','d']");
11 shouldBe("arr", "['a','b']");
12 shouldBe("arr.splice(0)", "['a','b']");
13 shouldBe("arr", "[]")
14
15 arr = ['a','b','c','d'];
16 shouldBe("arr.splice()", "[]")
17 shouldBe("arr", "['a','b','c','d']");
18 shouldBe("arr.splice(undefined)", "['a','b','c','d']")
19 shouldBe("arr", "[]");
20
21 arr = ['a','b','c','d'];
22 shouldBe("arr.splice(null)", "['a','b','c','d']")
23 shouldBe("arr", "[]");
24
25 arr = ['a','b','c','d'];
26 shouldBe("arr.splice(100)", "[]")
27 shouldBe("arr", "['a','b','c','d']");
28 shouldBe("arr.splice(-1)", "['d']")
29 shouldBe("arr", "['a','b','c']");
30
31 shouldBe("arr.splice(2, undefined)", "[]")
32 shouldBe("arr.splice(2, null)", "[]")
33 shouldBe("arr.splice(2, -1)", "[]")
34 shouldBe("arr", "['a','b','c']");
35 shouldBe("arr.splice(2, 100)", "['c']")
36 shouldBe("arr", "['a','b']");
37
38 // Check this doesn't crash.
39 try {
40     String(Array(0xFFFFFFFD).splice(0));
41 } catch (e) { }
42 </script>