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 Type(NewExpression) or Type(MemberExpression) is not Object, throw TypeError michael@0: * michael@0: * @path ch11/11.2/11.2.2/S11.2.2_A3_T3.js michael@0: * @description Checking "string primitive" case michael@0: */ michael@0: michael@0: //CHECK#1 michael@0: try { michael@0: new 1; michael@0: $ERROR('#1: new "1" throw TypeError'); michael@0: } michael@0: catch (e) { michael@0: if ((e instanceof TypeError) !== true) { michael@0: $ERROR('#1: new "1" throw TypeError'); michael@0: } michael@0: } michael@0: michael@0: //CHECK#2 michael@0: try { michael@0: var x = "1"; michael@0: new x; michael@0: $ERROR('#2: var x = "1"; new x throw TypeError'); michael@0: } michael@0: catch (e) { michael@0: if ((e instanceof TypeError) !== true) { michael@0: $ERROR('#2: var x = "1"; new x throw TypeError'); michael@0: } michael@0: } michael@0: michael@0: //CHECK#3 michael@0: try { michael@0: var x = "1"; michael@0: new x(); michael@0: $ERROR('#3: var x = "1"; new x() throw TypeError'); michael@0: } michael@0: catch (e) { michael@0: if ((e instanceof TypeError) !== true) { michael@0: $ERROR('#3: var x = "1"; new x() throw TypeError'); michael@0: } michael@0: } michael@0: