mirror of
https://github.com/tc39/test262.git
synced 2025-10-20 07:14:01 +02:00
46 lines
1.2 KiB
JavaScript
46 lines
1.2 KiB
JavaScript
// Copyright 2009 the Sputnik authors. All rights reserved.
|
|
// This code is governed by the BSD license found in the LICENSE file.
|
|
|
|
/**
|
|
* @name: S14_A2;
|
|
* @section: 14;
|
|
* @assertion: FunctionDeclaration cannot be localed inside an Expression;
|
|
* @description: Declaring a function within an "if" Expression;
|
|
*/
|
|
|
|
|
|
// Converted for Test262 from original Sputnik source
|
|
|
|
ES5Harness.registerTest( {
|
|
id: "S14_A2",
|
|
|
|
path: "14",
|
|
|
|
description: "Declaring a function within an \"if\" Expression",
|
|
|
|
test: function testcase() {
|
|
//////////////////////////////////////////////////////////////////////////////
|
|
//CHECK#1
|
|
if (typeof S14_A2_f !== 'undefined') {
|
|
$ERROR('#1: typeof S14_A2_f === \'undefined\'. Actual: typeof S14_A2_f ===' + typeof S14_A2_f);
|
|
}
|
|
//
|
|
//////////////////////////////////////////////////////////////////////////////
|
|
|
|
//////////////////////////////////////////////////////////////////////////////
|
|
//CHECK#2
|
|
if (function S14_A2_f(arg) {
|
|
if (arg===0)
|
|
return 1;
|
|
else
|
|
return S14_A2_f(arg - 1) * arg;
|
|
}(3)!==6) {
|
|
$ERROR('#2: FunctionDeclaration cannot be localed inside an Expression');
|
|
};
|
|
//
|
|
//////////////////////////////////////////////////////////////////////////////
|
|
|
|
}
|
|
});
|
|
|