ok(r[1] === "2", "r[1] = " + r[1]);
ok(r[2] === "3", "r[1] = " + r[1]);
+r = "1,2,3".split(undefined);
+ok(typeof(r) === "object", "typeof(r) = " + typeof(r));
+ok(r.length === 1, "r.length = " + r.length);
+ok(r[0] === "1,2,3", "r[0] = " + r[0]);
+
+r = "1,undefined2undefined,3".split(undefined);
+ok(typeof(r) === "object", "typeof(r) = " + typeof(r));
+ok(r.length === 3, "r.length = " + r.length);
+ok(r[0] === "1,", "r[0] = " + r[0]);
+ok(r[1] === "2", "r[1] = " + r[1]);
+ok(r[2] === ",3", "r[2] = " + r[2]);
+
+r = "1,undefined2undefined,3".split();
+ok(typeof(r) === "object", "typeof(r) = " + typeof(r));
+ok(r.length === 1, "r.length = " + r.length);
+ok(r[0] === "1,undefined2undefined,3", "r[0] = " + r[0]);
+
+r = "".split();
+ok(typeof(r) === "object", "typeof(r) = " + typeof(r));
+ok(r.length === 1, "r.length = " + r.length);
+ok(r[0] === "", "r[0] = " + r[0]);
+
tmp = "abcd".indexOf("bc",0);
ok(tmp === 1, "indexOf = " + tmp);
tmp = "abcd".indexOf("bc",1);
ok(obj3.prop2 === "boolean", "obj3.prop2 is not \"boolean\"");
ok(obj3.constructor === Object, "unexpected obj3.constructor");
+if(invokeVersion >= 2) {
+ eval("tmp = {prop: 'value',}");
+ ok(tmp.prop === "value", "tmp.prop = " + tmp.prop);
+ eval("tmp = {prop: 'value',second:2,}");
+ ok(tmp.prop === "value", "tmp.prop = " + tmp.prop);
+}else {
+ try {
+ eval("tmp = {prop: 'value',}");
+ }catch(e) {
+ tmp = true;
+ }
+ ok(tmp === true, "exception not fired");
+}
+
{
var blockVar = 1;
blockVar = 2;
})();
expect(ret, "ret");
expect(x, "try,try2,finally2,finally,ret");
+
+ ret = (function() {
+ try {
+ return "try";
+ unreachable();
+ }catch(e) {
+ unreachable();
+ }finally {
+ new Object();
+ var tmp = (function() {
+ var s = new String();
+ try {
+ s.length;
+ }finally {
+ return 1;
+ }
+ })();
+ }
+ unreachable();
+ })();
+ expect(ret, "try");
})();
tmp = eval("1");
ok(x === undefined, "x = " + x);
})();
+var get, set;
+
/* NoNewline rule parser tests */
while(true) {
if(true) break