From 26a029d407be480d791972afb5975cf62c9360a6 Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Fri, 19 Apr 2024 02:47:55 +0200 Subject: Adding upstream version 124.0.1. Signed-off-by: Daniel Baumann --- .../tests/test262/built-ins/Number/S8.12.8_A3.js | 36 ++++++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 js/src/tests/test262/built-ins/Number/S8.12.8_A3.js (limited to 'js/src/tests/test262/built-ins/Number/S8.12.8_A3.js') diff --git a/js/src/tests/test262/built-ins/Number/S8.12.8_A3.js b/js/src/tests/test262/built-ins/Number/S8.12.8_A3.js new file mode 100644 index 0000000000..8026aeb04e --- /dev/null +++ b/js/src/tests/test262/built-ins/Number/S8.12.8_A3.js @@ -0,0 +1,36 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +info: | + We overload valueOf method so it return non Primitive value + Thus [[DefaultValue]] must return Object.toString() value +es5id: 8.12.8_A3 +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(); + } + } + + assert.sameValue( + Number(__obj), + 1, + 'Number("{toString: function() {return "1"}, valueOf: function() {return new Object();}}) must return 1' + ); +} +catch (e) +{ + throw new Test262Error('#1.2: var __obj = {toNumber: function() {return "1"}, valueOf: function() {return new Object();}}; Number(__obj) === 1. Actual: ' + (e)); +} + +reportCompare(0, 0); -- cgit v1.2.3