diff options
Diffstat (limited to 'js/src/tests/test262/ch08/8.12/8.12.8/S8.12.8_A3.js')
-rw-r--r-- | js/src/tests/test262/ch08/8.12/8.12.8/S8.12.8_A3.js | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/js/src/tests/test262/ch08/8.12/8.12.8/S8.12.8_A3.js b/js/src/tests/test262/ch08/8.12/8.12.8/S8.12.8_A3.js new file mode 100644 index 000000000..a54d3c2a8 --- /dev/null +++ b/js/src/tests/test262/ch08/8.12/8.12.8/S8.12.8_A3.js @@ -0,0 +1,28 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** + * We overload valueOf method so it return non Primitive value + * Thus [[DefaultValue]] must return Object.toString() value + * + * @path ch08/8.12/8.12.8/S8.12.8_A3.js + * @description Try to overload toString method, that returned Primitive, and valueOf method, that returned new Object + */ + +try +{ + var __obj = {toString: function() {return "1"}, valueOf: function() {return new Object();}} + if (Number(__obj) !== 1) { + $ERROR('#1.1: var __obj = {toNumber: function() {return "1"}, valueOf: function() {return new Object();}}; Number(__obj) === 1. Actual: ' + (Number(__obj))); + } +} +catch(e) +{ + $ERROR('#1.2: var __obj = {toNumber: function() {return "1"}, valueOf: function() {return new Object();}}; Number(__obj) === 1. Actual: ' + (e)); +} + + + + + + |