//------------------------------------------------------------------------------------------------------- // Copyright (C) Microsoft. All rights reserved. // Licensed under the MIT license. See LICENSE.txt file in the project root for full license information. //------------------------------------------------------------------------------------------------------- var collatorExcludeList = []; var numberFormatExcludeList = []; var dateTimeFormatExcludeList = []; function testHiddenInternals(constructor, objType, excludeList) { var obj = new constructor(); var properties = Object.getOwnPropertyNames(obj); if (properties.length == 0) return; var extraProperties = false; properties.forEach(function (prop) { if (excludeList.indexOf(prop) !== -1) return; if (prop.indexOf("__", 0) === -1) { WScript.Echo("Detected additional property '" + prop + "' on '" + objType + "', if property is expected update this test's exclude lists."); extraProperties = true; } }); if (extraProperties) { WScript.Echo("Failed for '" + objType + "'!"); } } testHiddenInternals(Intl.Collator, "Collator", collatorExcludeList); testHiddenInternals(Intl.NumberFormat, "NumberFormat", numberFormatExcludeList); testHiddenInternals(Intl.DateTimeFormat, "DateTimeFormat", dateTimeFormatExcludeList); if(Intl.hasOwnProperty("EngineInterface") === true){ WScript.Echo("EngineInterface object is not hidden."); } WScript.Echo("Pass");