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: * If NewExpression or MemberExpression does not implement internal [[Construct]] method, throw TypeError michael@0: * michael@0: * @path ch11/11.2/11.2.2/S11.2.2_A4_T1.js michael@0: * @description Checking Boolean object case michael@0: */ michael@0: michael@0: //CHECK#1 michael@0: try { michael@0: new new Boolean(true); michael@0: $ERROR('#1: new new Boolean(true) throw TypeError'); michael@0: } michael@0: catch (e) { michael@0: if ((e instanceof TypeError) !== true) { michael@0: $ERROR('#1: new new Boolean(true) throw TypeError'); michael@0: } michael@0: } michael@0: michael@0: //CHECK#2 michael@0: try { michael@0: var x = new Boolean(true); michael@0: new x; michael@0: $ERROR('#2: var x = new Boolean(true); new x throw TypeError'); michael@0: } michael@0: catch (e) { michael@0: if ((e instanceof TypeError) !== true) { michael@0: $ERROR('#2: var x = new Boolean(true); new x throw TypeError'); michael@0: } michael@0: } michael@0: michael@0: //CHECK#3 michael@0: try { michael@0: var x = new Boolean(true); michael@0: new x(); michael@0: $ERROR('#3: var x = new Boolean(true); new x() throw TypeError'); michael@0: } michael@0: catch (e) { michael@0: if ((e instanceof TypeError) !== true) { michael@0: $ERROR('#3: var x = new Boolean(true); new x() throw TypeError'); michael@0: } michael@0: } michael@0: michael@0: