OLD | NEW |
1 // Copyright 2009 the V8 project authors. All rights reserved. | 1 // Copyright 2009 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 20 matching lines...) Expand all Loading... |
31 assertEquals(null, eval("null")); | 31 assertEquals(null, eval("null")); |
32 | 32 |
33 assertEquals("abc", eval("'abc'")); | 33 assertEquals("abc", eval("'abc'")); |
34 | 34 |
35 assertEquals(8, eval("6;'abc';8")); | 35 assertEquals(8, eval("6;'abc';8")); |
36 | 36 |
37 // Characters just outside the ranges of hex-escapes. | 37 // Characters just outside the ranges of hex-escapes. |
38 // "/" comes just before "0". | 38 // "/" comes just before "0". |
39 assertThrows('"\\x1/"'); | 39 assertThrows('"\\x1/"'); |
40 assertThrows('"\\u111/"'); | 40 assertThrows('"\\u111/"'); |
41 assertEquals("\\x1/", RegExp("\\x1/").source); | 41 assertEquals("\\x1\\/", RegExp("\\x1/").source); |
42 assertEquals("\\u111/", RegExp("\\u111/").source); | 42 assertEquals("\\u111\\/", RegExp("\\u111/").source); |
43 | 43 |
44 // ":" comes just after "9". | 44 // ":" comes just after "9". |
45 assertThrows('"\\x1:"'); | 45 assertThrows('"\\x1:"'); |
46 assertThrows('"\\u111:"'); | 46 assertThrows('"\\u111:"'); |
47 assertEquals("\\x1:", /\x1:/.source); | 47 assertEquals("\\x1:", /\x1:/.source); |
48 assertEquals("\\u111:", /\u111:/.source); | 48 assertEquals("\\u111:", /\u111:/.source); |
49 | 49 |
50 // "`" comes just before "a". | 50 // "`" comes just before "a". |
51 assertThrows('"\\x1`"'); | 51 assertThrows('"\\x1`"'); |
52 assertThrows('"\\u111`"'); | 52 assertThrows('"\\u111`"'); |
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
84 assertEquals([2,4,6,8], eval(s)); | 84 assertEquals([2,4,6,8], eval(s)); |
85 | 85 |
86 // Test array literals in effect context. | 86 // Test array literals in effect context. |
87 assertEquals(17, eval('[1,2,3,4]; 17')); | 87 assertEquals(17, eval('[1,2,3,4]; 17')); |
88 assertEquals(19, eval('var a=1, b=2; [a,b,3,4]; 19')); | 88 assertEquals(19, eval('var a=1, b=2; [a,b,3,4]; 19')); |
89 assertEquals(23, eval('var a=1, b=2; c=23; [a,b,3,4]; c')); | 89 assertEquals(23, eval('var a=1, b=2; c=23; [a,b,3,4]; c')); |
90 | 90 |
91 // Test that literals work for non-smi indices. | 91 // Test that literals work for non-smi indices. |
92 // Ensure hash-map collision if using value as hash. | 92 // Ensure hash-map collision if using value as hash. |
93 var o = {"2345678901" : 42, "2345678901" : 30}; | 93 var o = {"2345678901" : 42, "2345678901" : 30}; |
OLD | NEW |