Thu, 22 Jan 2015 13:21:57 +0100
Incorporate requested changes from Mozilla in review:
https://bugzilla.mozilla.org/show_bug.cgi?id=1123480#c6
1 // Copyright 2009 the Sputnik authors. All rights reserved.
2 // This code is governed by the BSD license found in the LICENSE file.
4 /**
5 * If Type(NewExpression) or Type(MemberExpression) is not Object, throw TypeError
6 *
7 * @path ch11/11.2/11.2.2/S11.2.2_A3_T3.js
8 * @description Checking "string primitive" case
9 */
11 //CHECK#1
12 try {
13 new 1;
14 $ERROR('#1: new "1" throw TypeError');
15 }
16 catch (e) {
17 if ((e instanceof TypeError) !== true) {
18 $ERROR('#1: new "1" throw TypeError');
19 }
20 }
22 //CHECK#2
23 try {
24 var x = "1";
25 new x;
26 $ERROR('#2: var x = "1"; new x throw TypeError');
27 }
28 catch (e) {
29 if ((e instanceof TypeError) !== true) {
30 $ERROR('#2: var x = "1"; new x throw TypeError');
31 }
32 }
34 //CHECK#3
35 try {
36 var x = "1";
37 new x();
38 $ERROR('#3: var x = "1"; new x() throw TypeError');
39 }
40 catch (e) {
41 if ((e instanceof TypeError) !== true) {
42 $ERROR('#3: var x = "1"; new x() throw TypeError');
43 }
44 }