michael@0: // Copyright 2009 the Sputnik authors. All rights reserved. michael@0: // This code is governed by the BSD license found in the LICENSE file. michael@0: michael@0: /** michael@0: * When the [[Call]] property for a Function object is called, michael@0: * the body is evaluated and if evaluation result has type "return" its value is not defined, then "undefined" is returned michael@0: * michael@0: * @path ch13/13.2/S13.2.1_A9_T1.js michael@0: * @description Using "return" with no expression. Declaring a function with "function __func()" michael@0: */ michael@0: michael@0: var x; michael@0: michael@0: function __func(){ michael@0: x = 1; michael@0: return; michael@0: } michael@0: michael@0: ////////////////////////////////////////////////////////////////////////////// michael@0: //CHECK#1 michael@0: if (__func() !== undefined) { michael@0: $ERROR('#1: __func() === undefined. Actual: __func() ==='+__func()); michael@0: }; michael@0: // michael@0: ////////////////////////////////////////////////////////////////////////////// michael@0: michael@0: ////////////////////////////////////////////////////////////////////////////// michael@0: //CHECK#2 michael@0: if (x!==1) { michael@0: $ERROR('#2: x === 1. Actual: x === '+x); michael@0: } michael@0: // michael@0: ////////////////////////////////////////////////////////////////////////////// michael@0: