| 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 43 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 54 | 54 |
| 55 foo[0] = "f"; | 55 foo[0] = "f"; |
| 56 assertEquals("Foo", foo); | 56 assertEquals("Foo", foo); |
| 57 | 57 |
| 58 foo[3] = "t"; | 58 foo[3] = "t"; |
| 59 assertEquals("Foo", foo); | 59 assertEquals("Foo", foo); |
| 60 assertEquals("undefined", typeof(foo[3]), "out of range"); | 60 assertEquals("undefined", typeof(foo[3]), "out of range"); |
| 61 assertEquals("undefined", typeof(foo[-2]), "negative index"); | 61 assertEquals("undefined", typeof(foo[-2]), "negative index"); |
| 62 | 62 |
| 63 var S = new String("foo"); | 63 var S = new String("foo"); |
| 64 assertEquals("foo", S); | 64 assertEquals(Object("foo"), S); |
| 65 assertEquals("f", S[0], "string object"); | 65 assertEquals("f", S[0], "string object"); |
| 66 assertEquals("f", S["0"], "string object"); | 66 assertEquals("f", S["0"], "string object"); |
| 67 S[0] = 'bente'; | 67 S[0] = 'bente'; |
| 68 assertEquals("f", S[0], "string object"); | 68 assertEquals("f", S[0], "string object"); |
| 69 assertEquals("f", S["0"], "string object"); | 69 assertEquals("f", S["0"], "string object"); |
| 70 S[-2] = 'spider'; | 70 S[-2] = 'spider'; |
| 71 assertEquals('spider', S[-2]); | 71 assertEquals('spider', S[-2]); |
| 72 S[3] = 'monkey'; | 72 S[3] = 'monkey'; |
| 73 assertEquals('monkey', S[3]); | 73 assertEquals('monkey', S[3]); |
| 74 S['foo'] = 'Fu'; | 74 S['foo'] = 'Fu'; |
| (...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 124 //assertEquals(false, "-1" in "foo", '"-1" in'); | 124 //assertEquals(false, "-1" in "foo", '"-1" in'); |
| 125 //assertEquals(true, "2" in "foo", '"2" in'); | 125 //assertEquals(true, "2" in "foo", '"2" in'); |
| 126 //assertEquals(false, "3" in "foo", '"3" in'); | 126 //assertEquals(false, "3" in "foo", '"3" in'); |
| 127 | 127 |
| 128 delete S[3]; | 128 delete S[3]; |
| 129 assertEquals("undefined", typeof(S[3])); | 129 assertEquals("undefined", typeof(S[3])); |
| 130 assertEquals(false, 3 in S); | 130 assertEquals(false, 3 in S); |
| 131 assertEquals(false, "3" in S); | 131 assertEquals(false, "3" in S); |
| 132 | 132 |
| 133 var N = new Number(43); | 133 var N = new Number(43); |
| 134 assertEquals(43, N); | 134 assertEquals(Object(43), N); |
| 135 N[-2] = "Alpha"; | 135 N[-2] = "Alpha"; |
| 136 assertEquals("Alpha", N[-2]); | 136 assertEquals("Alpha", N[-2]); |
| 137 N[0] = "Zappa"; | 137 N[0] = "Zappa"; |
| 138 assertEquals("Zappa", N[0]); | 138 assertEquals("Zappa", N[0]); |
| 139 assertEquals("Zappa", N["0"]); | 139 assertEquals("Zappa", N["0"]); |
| 140 | 140 |
| 141 var A = ["V", "e", "t", "t", "e", "r"]; | 141 var A = ["V", "e", "t", "t", "e", "r"]; |
| 142 var A2 = (A[0] = "v"); | 142 var A2 = (A[0] = "v"); |
| 143 assertEquals('v', A[0]); | 143 assertEquals('v', A[0]); |
| 144 assertEquals('v', A2); | 144 assertEquals('v', A2); |
| (...skipping 105 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 250 assertEquals(expected, actual); | 250 assertEquals(expected, actual); |
| 251 } | 251 } |
| 252 | 252 |
| 253 // Test two byte string. | 253 // Test two byte string. |
| 254 var str = '\u0427', arr = ['\u0427']; | 254 var str = '\u0427', arr = ['\u0427']; |
| 255 for (var i = 0; i < 50; ++i) { | 255 for (var i = 0; i < 50; ++i) { |
| 256 var expected = arr[0]; | 256 var expected = arr[0]; |
| 257 var actual = str[0]; | 257 var actual = str[0]; |
| 258 assertEquals(expected, actual); | 258 assertEquals(expected, actual); |
| 259 } | 259 } |
| OLD | NEW |