| // Test IC for getters backed by a JSNative. |
| function test1() { |
| for (var i = 0; i < 60; i++) { |
| assertEq(it.customNative, undefined); |
| } |
| |
| var res = 0; |
| for (var i = 0; i < 60; i++) { |
| it.customNative = i; |
| res += it.customNative; |
| } |
| |
| assertEq(res, 1770); |
| } |
| function test2() { |
| function getValue() { |
| return it.customNative; |
| } |
| |
| for (var i = 0; i < 60; i++) { |
| it.customNative = i; |
| assertEq(getValue(), i); |
| } |
| |
| for (var i = 0; i < 60; i++) { |
| it.customNative = null; |
| assertEq(getValue(), null); |
| |
| delete it["customNativ" + "e"]; |
| assertEq(getValue(), undefined); |
| assertEq(it.customNative, undefined); |
| } |
| } |
| if ("it" in this) { |
| test1(); |
| test2(); |
| } |