Wed, 31 Dec 2014 13:27:57 +0100
Ignore runtime configuration files generated during quality assurance.
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 --x uses [[Default Value]]
6 *
7 * @path ch11/11.4/11.4.5/S11.4.5_A2.2_T1.js
8 * @description If Type(value) is Object, evaluate ToPrimitive(value, Number)
9 */
11 //CHECK#1
12 var object = {valueOf: function() {return 1}};
13 if (--object !== 1 - 1) {
14 $ERROR('#1: var object = {valueOf: function() {return 1}}; --object === 1 - 1. Actual: ' + (--object));
15 } else {
16 if (object !== 1 - 1) {
17 $ERROR('#1: var object = {valueOf: function() {return 1}}; --object; object === 1 - 1. Actual: ' + (object));
18 }
19 }
21 //CHECK#2
22 var object = {valueOf: function() {return 1}, toString: function() {return 0}};
23 if (--object !== 1 - 1) {
24 $ERROR('#2: var object = {valueOf: function() {return 1}, toString: function() {return 0}}; --object === 1 - 1. Actual: ' + (--object));
25 } else {
26 if (object !== 1 - 1) {
27 $ERROR('#2: var object = {valueOf: function() {return 1}, toString: function() {return 0}}; --object; object === 1 - 1. Actual: ' + (object));
28 }
29 }
31 //CHECK#3
32 var object = {valueOf: function() {return 1}, toString: function() {return {}}};
33 if (--object !== 1 - 1) {
34 $ERROR('#3: var object = {valueOf: function() {return 1}, toString: function() {return {}}}; --object === 1 - 1. Actual: ' + (--object));
35 } else {
36 if (object !== 1 - 1) {
37 $ERROR('#3: var object = {valueOf: function() {return 1}, toString: function() {return {}}}; --object; object === 1 - 1. Actual: ' + (object));
38 }
39 }
41 //CHECK#4
42 try {
43 var object = {valueOf: function() {return 1}, toString: function() {throw "error"}};
44 if (--object !== 1 - 1) {
45 $ERROR('#4.1: var object = {valueOf: function() {return 1}, toString: function() {throw "error"}}; --object === 1 - 1. Actual: ' + (--object));
46 } else {
47 if (object !== 1 - 1) {
48 $ERROR('#4.1: var object = {valueOf: function() {return 1}, toString: function() {throw "error"}}; --object; object === 1 - 1. Actual: ' + (object));
49 }
50 }
51 }
52 catch (e) {
53 if (e === "error") {
54 $ERROR('#4.2: var object = {valueOf: function() {return 1}, toString: function() {throw "error"}}; --object not throw "error"');
55 } else {
56 $ERROR('#4.3: var object = {valueOf: function() {return 1}, toString: function() {throw "error"}}; --object not throw Error. Actual: ' + (e));
57 }
58 }
60 //CHECK#5
61 var object = {toString: function() {return 1}};
62 if (--object !== 1 - 1) {
63 $ERROR('#5.1: var object = {toString: function() {return 1}}; --object === 1 - 1. Actual: ' + (--object));
64 } else {
65 if (object !== 1 - 1) {
66 $ERROR('#5.2: var object = {toString: function() {return 1}}; --object; object === 1 - 1. Actual: ' + (object));
67 }
68 }
71 //CHECK#6
72 var object = {valueOf: function() {return {}}, toString: function() {return 1}}
73 if (--object !== 1 - 1) {
74 $ERROR('#6.1: var object = {valueOf: function() {return {}}, toString: function() {return 1}}; --object === 1 - 1. Actual: ' + (--object));
75 } else {
76 if (object !== 1 - 1) {
77 $ERROR('#6.2: var object = {valueOf: function() {return {}}, toString: function() {return 1}}; --object; object === 1 - 1. Actual: ' + (object));
78 }
79 }
81 //CHECK#7
82 try {
83 var object = {valueOf: function() {throw "error"}, toString: function() {return 1}};
84 --object;
85 $ERROR('#7.1: var object = {valueOf: function() {throw "error"}, toString: function() {return 1}}; --object throw "error". Actual: ' + (--object));
86 }
87 catch (e) {
88 if (e !== "error") {
89 $ERROR('#7.2: var object = {valueOf: function() {throw "error"}, toString: function() {return 1}}; --object throw "error". Actual: ' + (e));
90 }
91 }
93 //CHECK#8
94 try {
95 var object = {valueOf: function() {return {}}, toString: function() {return {}}};
96 --object;
97 $ERROR('#8.1: var object = {valueOf: function() {return {}}, toString: function() {return {}}}; --object throw TypeError. Actual: ' + (--object));
98 }
99 catch (e) {
100 if ((e instanceof TypeError) !== true) {
101 $ERROR('#8.2: var object = {valueOf: function() {return {}}, toString: function() {return {}}}; --object throw TypeError. Actual: ' + (e));
102 }
103 }