Wed, 31 Dec 2014 07:53:36 +0100
Correct small whitespace inconsistency, lost while renaming variables.
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 * Operator uses ToNumber
6 *
7 * @path ch09/9.7/S9.7_A3.1_T4.js
8 * @description Type(x) is Object
9 */
11 //CHECK#1
12 var object = {valueOf: function() {return 1}};
13 if (String.fromCharCode(object).charCodeAt(0) !== 1) {
14 $ERROR('#1: var object = {valueOf: function() {return 1}}; String.fromCharCode(object).charCodeAt(0) === 1. Actual: ' + (String.fromCharCode(object).charCodeAt(0)));
15 }
17 //CHECK#2
18 var object = {valueOf: function() {return 1}, toString: function() {return 0}};
19 if (String.fromCharCode(object).charCodeAt(0) !== 1) {
20 $ERROR('#2: var object = {valueOf: function() {return 1}, toString: function() {return 0}}; String.fromCharCode(object).charCodeAt(0) === 1. Actual: ' + (String.fromCharCode(object).charCodeAt(0)));
21 }
23 //CHECK#3
24 var object = {valueOf: function() {return 1}, toString: function() {return {}}};
25 if (String.fromCharCode(object).charCodeAt(0) !== 1) {
26 $ERROR('#3: var object = {valueOf: function() {return 1}, toString: function() {return {}}}; String.fromCharCode(object).charCodeAt(0) === 1. Actual: ' + (String.fromCharCode(object).charCodeAt(0)));
27 }
29 //CHECK#4
30 try {
31 var object = {valueOf: function() {return 1}, toString: function() {throw "error"}};
32 if (String.fromCharCode(object).charCodeAt(0) !== 1) {
33 $ERROR('#4.1: var object = {valueOf: function() {return 1}, toString: function() {throw "error"}}; String.fromCharCode(object).charCodeAt(0) === 1. Actual: ' + (String.fromCharCode(object).charCodeAt(0)));
34 }
35 }
36 catch (e) {
37 if (e === "error") {
38 $ERROR('#4.2: var object = {valueOf: function() {return 1}, toString: function() {throw "error"}}; object not throw "error"');
39 } else {
40 $ERROR('#4.3: var object = {valueOf: function() {return 1}, toString: function() {throw "error"}}; object not throw Error. Actual: ' + (e));
41 }
42 }
44 //CHECK#5
45 var object = {toString: function() {return 1}};
46 if (String.fromCharCode(object).charCodeAt(0) !== 1) {
47 $ERROR('#5: var object = {toString: function() {return 1}}; String.fromCharCode(object).charCodeAt(0) === 1. Actual: ' + (String.fromCharCode(object).charCodeAt(0)));
48 }
50 //CHECK#6
51 var object = {valueOf: function() {return {}}, toString: function() {return 1}}
52 if (String.fromCharCode(object).charCodeAt(0) !== 1) {
53 $ERROR('#6: var object = {valueOf: function() {return {}}, toString: function() {return 1}}; String.fromCharCode(object).charCodeAt(0) === 1. Actual: ' + (String.fromCharCode(object).charCodeAt(0)));
54 }
56 //CHECK#7
57 try {
58 var object = {valueOf: function() {throw "error"}, toString: function() {return 1}};
59 object >>> 0;
60 $ERROR('#7.1: var object = {valueOf: function() {throw "error"}, toString: function() {return 1}}; object throw "error". Actual: ' + (object >>> 0));
61 }
62 catch (e) {
63 if (e !== "error") {
64 $ERROR('#7.2: var object = {valueOf: function() {throw "error"}, toString: function() {return 1}}; object throw "error". Actual: ' + (e));
65 }
66 }
68 //CHECK#8
69 try {
70 var object = {valueOf: function() {return {}}, toString: function() {return {}}};
71 object >>> 0;
72 $ERROR('#8.1: var object = {valueOf: function() {return {}}, toString: function() {return {}}}; object throw TypeError. Actual: ' + (object >>> 0));
73 }
74 catch (e) {
75 if ((e instanceof TypeError) !== true) {
76 $ERROR('#8.2: var object = {valueOf: function() {return {}}, toString: function() {return {}}}; object throw TypeError. Actual: ' + (e));
77 }
78 }