OLD | NEW |
1 <!DOCTYPE html> | 1 <!DOCTYPE html> |
2 <html> | 2 <html> |
3 <head> | 3 <head> |
4 <link rel="help" href="http://www.w3.org/TR/2012/WD-dom-20121206/#interface-char
acterdata" /> | 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> | 5 <script src="../js/resources/js-test-pre.js"></script> |
6 </head> | 6 </head> |
7 <body> | 7 <body> |
8 <script> | 8 <script> |
9 description("Tests that the CharacterData API arguments are correctly validated.
"); | 9 description("Tests that the CharacterData API arguments are correctly validated.
"); |
10 | 10 |
(...skipping 10 matching lines...) Expand all Loading... |
21 // insertData() | 21 // insertData() |
22 text.data = "efg"; | 22 text.data = "efg"; |
23 shouldNotThrow("text.insertData(0, 'abcd')"); | 23 shouldNotThrow("text.insertData(0, 'abcd')"); |
24 shouldBeEqualToString("text.data", "abcdefg"); | 24 shouldBeEqualToString("text.data", "abcdefg"); |
25 shouldThrow("text.insertData()", "'TypeError: Not enough arguments'"); | 25 shouldThrow("text.insertData()", "'TypeError: Not enough arguments'"); |
26 shouldBeEqualToString("text.data", "abcdefg"); | 26 shouldBeEqualToString("text.data", "abcdefg"); |
27 shouldThrow("text.insertData(0)", "'TypeError: Not enough arguments'"); | 27 shouldThrow("text.insertData(0)", "'TypeError: Not enough arguments'"); |
28 shouldBeEqualToString("text.data", "abcdefg"); | 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. | 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"); | 30 shouldBeEqualToString("text.data", "abcdefg"); |
31 shouldNotThrow("text.insertData(-4294967294, 'test')"); | 31 shouldNotThrow("text.insertData(-4294967294, 'test')"); // Wraps to 2, which is
a valid offset. |
32 shouldBeEqualToString("text.data", "abtestcdefg"); | 32 shouldBeEqualToString("text.data", "abtestcdefg"); |
33 | 33 |
34 // deleteData() | 34 // deleteData() |
35 text.data = "abcdefg"; | 35 text.data = "abcdefg"; |
36 shouldNotThrow("text.deleteData(4, 3)"); | 36 shouldNotThrow("text.deleteData(4, 3)"); |
37 shouldBeEqualToString("text.data", "abcd"); | 37 shouldBeEqualToString("text.data", "abcd"); |
38 shouldThrow("text.deleteData()", "'TypeError: Not enough arguments'"); | 38 shouldThrow("text.deleteData()", "'TypeError: Not enough arguments'"); |
39 shouldBeEqualToString("text.data", "abcd"); | 39 shouldBeEqualToString("text.data", "abcd"); |
40 shouldThrow("text.deleteData(0)", "'TypeError: Not enough arguments'"); | 40 shouldThrow("text.deleteData(0)", "'TypeError: Not enough arguments'"); |
41 shouldBeEqualToString("text.data", "abcd"); | 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. | 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"); | 43 shouldBeEqualToString("text.data", "abcd"); |
44 shouldNotThrow("text.deleteData(-4294967294, 2)"); | 44 shouldThrow("text.deleteData(-1, 3)", "'IndexSizeError: Index or size was negati
ve, or greater than the allowed value.'"); // Wraps to 4294967295 which is great
er than the data length |
| 45 shouldBeEqualToString("text.data", "abcd"); |
| 46 shouldNotThrow("text.deleteData(-4294967294, 2)"); // Wraps to 2, which is a val
id offset. |
45 shouldBeEqualToString("text.data", "ab"); | 47 shouldBeEqualToString("text.data", "ab"); |
46 shouldNotThrow("text.deleteData(1, 999)"); // Length argument is too large, shou
ld be adjusted. | 48 shouldNotThrow("text.deleteData(1, 999)"); // Length argument is too large, shou
ld be adjusted. |
47 shouldBeEqualToString("text.data", "a"); | 49 shouldBeEqualToString("text.data", "a"); |
48 | 50 |
49 // ReplaceData() | 51 // ReplaceData() |
50 text.data = "efg"; | 52 text.data = "efg"; |
51 shouldNotThrow("text.replaceData(0, 0, 'abcd')"); | 53 shouldNotThrow("text.replaceData(0, 0, 'abcd')"); |
52 shouldBeEqualToString("text.data", "abcdefg"); | 54 shouldBeEqualToString("text.data", "abcdefg"); |
53 shouldThrow("text.replaceData()", "'TypeError: Not enough arguments'"); | 55 shouldThrow("text.replaceData()", "'TypeError: Not enough arguments'"); |
54 shouldBeEqualToString("text.data", "abcdefg"); | 56 shouldBeEqualToString("text.data", "abcdefg"); |
55 shouldThrow("text.replaceData(0)", "'TypeError: Not enough arguments'"); | 57 shouldThrow("text.replaceData(0)", "'TypeError: Not enough arguments'"); |
56 shouldBeEqualToString("text.data", "abcdefg"); | 58 shouldBeEqualToString("text.data", "abcdefg"); |
57 shouldThrow("text.replaceData(0, 0)", "'TypeError: Not enough arguments'"); | 59 shouldThrow("text.replaceData(0, 0)", "'TypeError: Not enough arguments'"); |
58 shouldBeEqualToString("text.data", "abcdefg"); | 60 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. | 61 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"); | 62 shouldBeEqualToString("text.data", "abcdefg"); |
61 shouldNotThrow("text.replaceData(-4294967294, 0, 'test')"); | 63 shouldThrow("text.replaceData(-1, 3, 'test')", "'IndexSizeError: Index or size w
as negative, or greater than the allowed value.'"); // Wraps to 4294967295 which
is greater than the data length |
| 64 shouldBeEqualToString("text.data", "abcdefg"); |
| 65 shouldNotThrow("text.replaceData(-4294967294, 0, 'test')"); // Wraps to 2, which
is a valid offset. |
62 shouldBeEqualToString("text.data", "abtestcdefg"); | 66 shouldBeEqualToString("text.data", "abtestcdefg"); |
63 shouldNotThrow("text.replaceData(1, 999, 'aaa')"); // Length argument is too lar
ge, should be adjusted. | 67 shouldNotThrow("text.replaceData(1, 999, 'aaa')"); // Length argument is too lar
ge, should be adjusted. |
64 shouldBeEqualToString("text.data", "aaaa"); | 68 shouldBeEqualToString("text.data", "aaaa"); |
| 69 |
| 70 // substringData() |
| 71 text.data = "abcdefg"; |
| 72 shouldBeEqualToString("text.substringData(4, 3)", "efg"); |
| 73 shouldBeEqualToString("text.substringData(4, 999)", "efg"); // Length argument i
s too large, should be adjusted. |
| 74 shouldThrow("text.substringData(-1, 2)", "'IndexSizeError: Index or size was neg
ative, or greater than the allowed value.'"); // Wraps to 4294967295 which is gr
eater than the data length |
| 75 shouldBeEqualToString("text.substringData(-4294967294, 3)", "cde"); // Wraps to
2, which is a valid offset. |
| 76 |
65 </script> | 77 </script> |
66 <script src="../js/resources/js-test-post.js"></script> | 78 <script src="../js/resources/js-test-post.js"></script> |
67 </body> | 79 </body> |
68 </html> | 80 </html> |
OLD | NEW |