]> git.saurik.com Git - apple/javascriptcore.git/blobdiff - tests/stress/new-array-with-size-throw-exception-and-tear-off-arguments.js
JavaScriptCore-7600.1.4.9.tar.gz
[apple/javascriptcore.git] / tests / stress / new-array-with-size-throw-exception-and-tear-off-arguments.js
diff --git a/tests/stress/new-array-with-size-throw-exception-and-tear-off-arguments.js b/tests/stress/new-array-with-size-throw-exception-and-tear-off-arguments.js
new file mode 100644 (file)
index 0000000..8908bce
--- /dev/null
@@ -0,0 +1,26 @@
+function foo() {
+    var a = arguments;
+    return new Array(a[0]);
+}
+
+function bar(x) {
+    return foo(x);
+}
+
+noInline(bar);
+
+for (var i = 0; i < 10000; ++i) {
+    var result = bar(42);
+    if (result.length != 42)
+        throw "Error: bad result length: " + result;
+}
+
+var didThrow = false;
+try {
+    bar(-1);
+} catch (e) {
+    didThrow = e;
+}
+
+if (("" + didThrow).indexOf("RangeError") != 0)
+    throw "Error: did not throw right exception: " + didThrow;