//length, string, object var expected = "3,6,4,3,6,4,3,6,4,3,6,4,"; var actual = ''; function f() { var ss = [new String("abc"), new String("foobar"), new String("quux")]; for (var i = 0; i < 12; ++i) { actual += ss[i%3].length + ','; } } f(); assertEq(actual, expected); function g(s) { return new String(s).length; } assertEq(g("x"), 1); // Warm-up assertEq(g("x"), 1); // Create IC assertEq(g("x"), 1); // Test IC function h(s) { var x = new String(s); for (var i = 0; i < 100; i++) x[i] = i; return x.length; } assertEq(h("x"), 1); assertEq(h("x"), 1); assertEq(h("x"), 1);