blob: 9ba4ba9adf7abb97c4377a81f01cbf3375744c92 [file] [log] [blame]
//-------------------------------------------------------------------------------------------------------
// Copyright (C) Microsoft. All rights reserved.
// Licensed under the MIT license. See LICENSE.txt file in the project root for full license information.
//-------------------------------------------------------------------------------------------------------
function test0(x) {
with (x)
{
z =
function handlerFactory() {
return { test:
function () { return "4"; } };
},
z2 =
function handlerFactory2() {
return {
test:
function a() { return "5"; }
};
}
};;
var handlerFactory = handlerFactory || undefined;
var handlerFactory2 = handlerFactory2 || undefined;
return { x: x, handlerFactory: handlerFactory, handlerFactory2: handlerFactory2 };
};
var p={o:1, z:2, z2:3};
WScript.Echo("p = " + JSON.stringify(p));
var testOut=test0(p);
var k = testOut.x;
WScript.Echo("k = " + JSON.stringify(k));
WScript.Echo("k.z = " + k.z);
WScript.Echo("k.z() = " + k.z());
WScript.Echo("k.z().test() = " + JSON.stringify(k.z().test()));
WScript.Echo("k.z().test()+1 = " + JSON.stringify(k.z().test()+1));
WScript.Echo();
WScript.Echo("sibling with block");
WScript.Echo("k.z2 = " + k.z2);
WScript.Echo("k.z2() = " + k.z2());
WScript.Echo("k.z2().test() = " + JSON.stringify(k.z2().test()));
WScript.Echo("k.z2().test()+1 = " + JSON.stringify(k.z2().test() + 1));
WScript.Echo();
WScript.Echo("compat mode specifics as !== undefined (if present) - version:2 specifics");
if (testOut.handlerFactory !== undefined) {
WScript.Echo("testOut.handlerFactory().test() = " + JSON.stringify(testOut.handlerFactory().test()) + " (as json)");
WScript.Echo("testOut.handlerFactory().test()+1 = " + testOut.handlerFactory().test() + 1);
}
if (testOut.handlerFactory2 !== undefined) {
WScript.Echo("testOut.handlerFactory2().test() = " + JSON.stringify(testOut.handlerFactory2().test()) + " (as json)");
WScript.Echo("testOut.handlerFactory2().test()+1 = " + testOut.handlerFactory2().test() + 1);
}