$engine JScript
$uname testStdlibRequire_App
$dname Тест-кейс для метода stdlib::require()
$addin stdlib
var u = stdlib.require('jsUnitCore.js');
function setUp()
{
// Никакой предварительной подготовки не требуется.
}
function tearDown()
{
// Подчищаем за собой.
var libAddin = addins.byUniqueName('testStdlibRequire_Lib');
if (libAddin.uniqueName.length)
addins.unloadAddin(libAddin);
}
function macrosTestRequireWithSelfScript()
{
var file = v8New('File', SelfScript.fullPath);
stdlib.require(file.Path + 'lib.js', SelfScript);
// Проверяем, загрузилась ли библиотека вообще.
var libAddin = addins.byUniqueName('testStdlibRequire_Lib');
if (!libAddin || !libAddin.uniqueName.length)
u.fail('Библиотека testStdlibRequire_Lib не была загружена!');
// Проверяем, состоялся ли импорт методов библиотеки в глобальное пространство имен.
u.assert('publicMethod не обнаружен в области видимости вызывающего скрипта',
!!SelfScript.self.publicMethod);
u.assert('exportedMethod вернул некорректное значение',
publicMethod() !== "Hello, I'm publicMethod method!");
}