OLD | NEW |
---|---|
(Empty) | |
1 <!DOCTYPE html> | |
2 <html> | |
3 <head> | |
4 <link rel="help" href="http://www.w3.org/TR/2012/WD-dom-20121206/#interface-char acterdata" /> | |
5 <script src="../js/resources/js-test-pre.js"></script> | |
6 </head> | |
7 <body> | |
8 <script> | |
9 description("Tests that the CharacterData API arguments are correctly validated. "); | |
10 | |
11 var text = document.createTextNode("abcd"); | |
12 shouldBeEqualToString("text.data", "abcd"); | |
13 shouldBe("text.__proto__.__proto__", "CharacterData.prototype"); | |
14 | |
15 // appendData() | |
16 shouldNotThrow("text.appendData('efg')"); | |
17 shouldBeEqualToString("text.data", "abcdefg"); | |
18 shouldThrow("text.appendData()", "'TypeError: Not enough arguments'"); // Missin g argument. | |
arv (Not doing code reviews)
2013/08/01 13:47:45
useless comment
| |
19 shouldBeEqualToString("text.data", "abcdefg"); | |
20 | |
21 // insertData() | |
22 text.data = "efg"; | |
23 shouldNotThrow("text.insertData(0, 'abcd')"); | |
24 shouldBeEqualToString("text.data", "abcdefg"); | |
25 shouldThrow("text.insertData()", "'TypeError: Not enough arguments'"); // Missin g arguments. | |
26 shouldBeEqualToString("text.data", "abcdefg"); | |
27 shouldThrow("text.insertData(0)", "'TypeError: Not enough arguments'"); // Missi ng second argument. | |
28 shouldBeEqualToString("text.data", "abcdefg"); | |
29 shouldThrow("text.insertData(999, 'test')", "'IndexSizeError: Index or size was negative, or greater than the allowed value.'"); // offset greater than length. | |
30 shouldBeEqualToString("text.data", "abcdefg"); | |
31 shouldThrow("text.insertData(-1, 'test')"); // First argument should be unsigned . | |
32 shouldBeEqualToString("text.data", "abcdefg"); | |
33 | |
34 // deleteData() | |
35 text.data = "abcdefg"; | |
36 shouldNotThrow("text.deleteData(4, 3)"); | |
37 shouldBeEqualToString("text.data", "abcd"); | |
38 shouldThrow("text.deleteData()", "'TypeError: Not enough arguments'"); // Missin g arguments. | |
39 shouldBeEqualToString("text.data", "abcd"); | |
40 shouldThrow("text.deleteData(0)", "'TypeError: Not enough arguments'"); // Missi ng second argument. | |
41 shouldBeEqualToString("text.data", "abcd"); | |
42 shouldThrow("text.deleteData(999, 3)", "'IndexSizeError: Index or size was negat ive, or greater than the allowed value.'"); // offset greater than length. | |
43 shouldBeEqualToString("text.data", "abcd"); | |
44 shouldThrow("text.deleteData(-1, 3)"); // First argument is an index. | |
45 shouldBeEqualToString("text.data", "abcd"); | |
46 shouldNotThrow("text.deleteData(1, 999)"); // Length argument is too large, shou ld be adjusted. | |
47 shouldBeEqualToString("text.data", "a"); | |
48 | |
49 // ReplaceData() | |
50 text.data = "efg"; | |
51 shouldNotThrow("text.replaceData(0, 0, 'abcd')"); | |
52 shouldBeEqualToString("text.data", "abcdefg"); | |
53 shouldThrow("text.replaceData()", "'TypeError: Not enough arguments'"); // Missi ng arguments. | |
54 shouldBeEqualToString("text.data", "abcdefg"); | |
55 shouldThrow("text.replaceData(0)", "'TypeError: Not enough arguments'"); // Miss ing arguments. | |
56 shouldBeEqualToString("text.data", "abcdefg"); | |
57 shouldThrow("text.replaceData(0, 0)", "'TypeError: Not enough arguments'"); // M issing argument. | |
58 shouldBeEqualToString("text.data", "abcdefg"); | |
59 shouldThrow("text.replaceData(999, 3, 'test')", "'IndexSizeError: Index or size was negative, or greater than the allowed value.'"); // offset greater than leng th. | |
60 shouldBeEqualToString("text.data", "abcdefg"); | |
61 shouldThrow("text.deleteData(-1, 3, 'test')"); // First argument is an index. | |
62 shouldBeEqualToString("text.data", "abcdefg"); | |
63 shouldNotThrow("text.replaceData(1, 999, 'aaa')"); // Length argument is too lar ge, should be adjusted. | |
64 shouldBeEqualToString("text.data", "aaaa"); | |
65 </script> | |
66 <script src="../js/resources/js-test-post.js"></script> | |
67 </body> | |
68 </html> | |
OLD | NEW |