OLD | NEW |
1 // Copyright 2014 the V8 project authors. All rights reserved. | 1 // Copyright 2014 the V8 project authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 // Flags: --allow-natives-syntax | 5 // Flags: --allow-natives-syntax |
6 | 6 |
7 function MyWrapper(v) { | 7 function MyWrapper(v) { |
8 return { valueOf: function() { return v } }; | 8 return { valueOf: function() { return v } }; |
9 } | 9 } |
10 | 10 |
11 function f() { | 11 function f() { |
12 assertEquals("truex", true + "x"); | 12 assertTrue("a" < "x"); |
13 assertEquals("truey", true + new String("y")); | 13 assertTrue("a" < new String("y")); |
14 assertEquals("truez", true + new MyWrapper("z")); | 14 assertTrue("a" < new MyWrapper("z")); |
15 | 15 |
16 assertEquals("xtrue", "x" + true); | 16 assertFalse("a" > "x"); |
17 assertEquals("ytrue", new String("y") + true); | 17 assertFalse("a" > new String("y")); |
18 assertEquals("ztrue", new MyWrapper("z") + true); | 18 assertFalse("a" > new MyWrapper("z")); |
19 } | 19 } |
20 | 20 |
21 f(); | 21 f(); |
22 f(); | 22 f(); |
23 %OptimizeFunctionOnNextCall(f); | 23 %OptimizeFunctionOnNextCall(f); |
24 f(); | 24 f(); |
OLD | NEW |