OLD | NEW |
---|---|
1 // Copyright 2008 the V8 project authors. All rights reserved. | 1 // Copyright 2008 the V8 project authors. All rights reserved. |
2 // Redistribution and use in source and binary forms, with or without | 2 // Redistribution and use in source and binary forms, with or without |
3 // modification, are permitted provided that the following conditions are | 3 // modification, are permitted provided that the following conditions are |
4 // met: | 4 // met: |
5 // | 5 // |
6 // * Redistributions of source code must retain the above copyright | 6 // * Redistributions of source code must retain the above copyright |
7 // notice, this list of conditions and the following disclaimer. | 7 // notice, this list of conditions and the following disclaimer. |
8 // * Redistributions in binary form must reproduce the above | 8 // * Redistributions in binary form must reproduce the above |
9 // copyright notice, this list of conditions and the following | 9 // copyright notice, this list of conditions and the following |
10 // disclaimer in the documentation and/or other materials provided | 10 // disclaimer in the documentation and/or other materials provided |
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
46 var s7 = String.fromCharCode(cc7); | 46 var s7 = String.fromCharCode(cc7); |
47 var cc8_1 = 0xD800; | 47 var cc8_1 = 0xD800; |
48 var cc8_2 = 0xDC00; | 48 var cc8_2 = 0xDC00; |
49 var s8 = String.fromCharCode(cc8_1)+String.fromCharCode(cc8_2); | 49 var s8 = String.fromCharCode(cc8_1)+String.fromCharCode(cc8_2); |
50 var cc9_1 = 0xDBFF; | 50 var cc9_1 = 0xDBFF; |
51 var cc9_2 = 0xDFFF; | 51 var cc9_2 = 0xDFFF; |
52 var s9 = String.fromCharCode(cc9_1)+String.fromCharCode(cc9_2); | 52 var s9 = String.fromCharCode(cc9_1)+String.fromCharCode(cc9_2); |
53 var cc10 = 0xE000; | 53 var cc10 = 0xE000; |
54 var s10 = String.fromCharCode(cc10); | 54 var s10 = String.fromCharCode(cc10); |
55 | 55 |
56 assertEquals('%7D', encodeURI(s1)); | 56 assertEquals('%7D', encodeURI(s1)); // } |
Yang
2016/05/12 07:39:21
We usually use two whitespaces before a comment.
Franzi
2016/05/13 09:42:03
Done.
| |
57 assertEquals('%00', encodeURI(s2)); | 57 assertEquals('%00', encodeURI(s2)); // 0 |
58 assertEquals('%C2%80', encodeURI(s3)); | 58 assertEquals('%C2%80', encodeURI(s3)); // Padding character |
59 assertEquals('%D5%95', encodeURI(s4)); | 59 assertEquals('%D5%95', encodeURI(s4)); |
60 assertEquals('%DF%BF', encodeURI(s5)); | 60 assertEquals('%DF%BF', encodeURI(s5)); |
61 assertEquals('%E0%A0%80', encodeURI(s6)); | 61 assertEquals('%E0%A0%80', encodeURI(s6)); |
62 assertEquals('%EA%BB%AE', encodeURI(s7)); | 62 assertEquals('%EA%BB%AE', encodeURI(s7)); |
63 assertEquals('%F0%90%80%80', encodeURI(s8)); | 63 assertEquals('%F0%90%80%80', encodeURI(s8)); |
64 assertEquals('%F4%8F%BF%BF', encodeURI(s9)); | 64 assertEquals('%F4%8F%BF%BF', encodeURI(s9)); |
65 assertEquals('%EE%80%80', encodeURI(s10)); | 65 assertEquals('%EE%80%80', encodeURI(s10)); |
66 | 66 |
67 assertEquals('Hello%20World!', encodeURI("Hello World!")); | |
68 | |
69 | |
67 assertEquals(cc1, decodeURI(encodeURI(s1)).charCodeAt(0)); | 70 assertEquals(cc1, decodeURI(encodeURI(s1)).charCodeAt(0)); |
68 assertEquals(cc2, decodeURI(encodeURI(s2)).charCodeAt(0)); | 71 assertEquals(cc2, decodeURI(encodeURI(s2)).charCodeAt(0)); |
69 assertEquals(cc3, decodeURI(encodeURI(s3)).charCodeAt(0)); | 72 assertEquals(cc3, decodeURI(encodeURI(s3)).charCodeAt(0)); |
70 assertEquals(cc4, decodeURI(encodeURI(s4)).charCodeAt(0)); | 73 assertEquals(cc4, decodeURI(encodeURI(s4)).charCodeAt(0)); |
71 assertEquals(cc5, decodeURI(encodeURI(s5)).charCodeAt(0)); | 74 assertEquals(cc5, decodeURI(encodeURI(s5)).charCodeAt(0)); |
72 assertEquals(cc6, decodeURI(encodeURI(s6)).charCodeAt(0)); | 75 assertEquals(cc6, decodeURI(encodeURI(s6)).charCodeAt(0)); |
73 assertEquals(cc7, decodeURI(encodeURI(s7)).charCodeAt(0)); | 76 assertEquals(cc7, decodeURI(encodeURI(s7)).charCodeAt(0)); |
74 assertEquals(cc8_1, decodeURI(encodeURI(s8)).charCodeAt(0)); | 77 assertEquals(cc8_1, decodeURI(encodeURI(s8)).charCodeAt(0)); |
75 assertEquals(cc8_2, decodeURI(encodeURI(s8)).charCodeAt(1)); | 78 assertEquals(cc8_2, decodeURI(encodeURI(s8)).charCodeAt(1)); |
76 assertEquals(cc9_1, decodeURI(encodeURI(s9)).charCodeAt(0)); | 79 assertEquals(cc9_1, decodeURI(encodeURI(s9)).charCodeAt(0)); |
77 assertEquals(cc9_2, decodeURI(encodeURI(s9)).charCodeAt(1)); | 80 assertEquals(cc9_2, decodeURI(encodeURI(s9)).charCodeAt(1)); |
78 assertEquals(cc10, decodeURI(encodeURI(s10)).charCodeAt(0)); | 81 assertEquals(cc10, decodeURI(encodeURI(s10)).charCodeAt(0)); |
79 | 82 |
80 assertEquals("", decodeURI("")); | 83 assertEquals("", decodeURI("")); |
81 assertEquals("", encodeURI("")); | 84 assertEquals("", encodeURI("")); |
82 | 85 |
83 function test(string) { | 86 function testIdempotent(string) { |
84 assertEquals(string, decodeURI(encodeURI(string))); | 87 assertEquals(string, decodeURI(encodeURI(string))); |
85 } | 88 } |
86 | 89 |
87 test("\u1234\u0123\uabcd"); | 90 testIdempotent("\u1234\u0123\uabcd"); |
88 test("abcd"); | 91 testIdempotent("abcd"); |
89 test("ab<\u1234\u0123"); | 92 testIdempotent("ab<\u1234\u0123"); |
90 test("ab\u1234<\u0123"); | 93 testIdempotent("ab\u1234<\u0123"); |
91 | 94 |
92 | 95 |
93 (function TestDeleteCharCodeAt() { | 96 (function TestDeleteCharCodeAt() { |
94 assertEquals('abc', encodeURI('abc')); | 97 assertEquals('abc', encodeURI('abc')); |
95 assertEquals('abc', decodeURI('abc')); | 98 assertEquals('abc', decodeURI('abc')); |
96 assertTrue(delete String.prototype.charCodeAt); | 99 assertTrue(delete String.prototype.charCodeAt); |
97 assertTrue(delete String.prototype.charAt); | 100 assertTrue(delete String.prototype.charAt); |
98 assertEquals('abc', encodeURI('abc')); | 101 assertEquals('abc', encodeURI('abc')); |
99 assertEquals('abc', decodeURI('abc')); | 102 assertEquals('abc', decodeURI('abc')); |
100 })(); | 103 })(); |
OLD | NEW |