| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960 |
- // //-------------------------------------------------------------------------------------------------------
- // // Copyright (C) Microsoft. All rights reserved.
- // // Licensed under the MIT license. See LICENSE.txt file in the project root for full license information.
- // //-------------------------------------------------------------------------------------------------------
- WScript.LoadScriptFile("..\\UnitTestFramework\\UnitTestFramework.js");
- var tests = [
- {
- name: "plain recursive call with modified arguments",
- body: function () {
- function recursive(a) {
- recursive(a + 1);
- }
- try {
- recursive(42);
- assert(false); // should never reach this line
- }
- catch (e) {
- assert.areNotEqual(-1, e.message.indexOf("Out of stack space"), "Should be SO exception");
- }
- }
- },
- {
- name: "plain recursive call with no arguments",
- body: function () {
- function recursive() {
- recursive();
- }
- try {
- recursive();
- assert(false); // should never reach this line
- }
- catch (e) {
- assert.areNotEqual(-1, e.message.indexOf("Out of stack space"), "Should be SO exception");
- }
- }
- },
- {
- name: "recursive call to getter via proxy",
- body: function () {
- var obj = {};
- var handler = {
- get: function () {
- return obj.x;
- }
- };
- obj = new Proxy(obj, handler);
- try {
- var y = obj.x;
- assert(false); // should never reach this line
- }
- catch (e) {
- assert.areNotEqual(-1, e.message.indexOf("Out of stack space"), "Should be SO exception");
- }
- }
- },
- ];
-
- testRunner.runTests(tests, { verbose: false /*so no need to provide baseline*/ });
|