length_string_object.js (632B)
1 //length, string, object 2 3 var expected = "3,6,4,3,6,4,3,6,4,3,6,4,"; 4 var actual = ''; 5 6 function f() { 7 var ss = [new String("abc"), new String("foobar"), new String("quux")]; 8 9 for (var i = 0; i < 12; ++i) { 10 actual += ss[i%3].length + ','; 11 } 12 } 13 14 f(); 15 16 assertEq(actual, expected); 17 18 19 function g(s) { 20 return new String(s).length; 21 } 22 23 assertEq(g("x"), 1); // Warm-up 24 assertEq(g("x"), 1); // Create IC 25 assertEq(g("x"), 1); // Test IC 26 27 function h(s) { 28 var x = new String(s); 29 for (var i = 0; i < 100; i++) 30 x[i] = i; 31 return x.length; 32 } 33 34 assertEq(h("x"), 1); 35 assertEq(h("x"), 1); 36 assertEq(h("x"), 1);