message-method-prop-cast.js (1584B)
1 // Copyright (C) 2019 Leo Balter. All rights reserved. 2 // This code is governed by the BSD license found in the LICENSE file. 3 4 /*--- 5 esid: sec-aggregate-error 6 description: > 7 Cast ToString values of message in the created method property 8 info: | 9 AggregateError ( errors, message ) 10 11 ... 12 5. If message is not undefined, then 13 a. Let msg be ? ToString(message). 14 b. Perform ! CreateMethodProperty(O, "message", msg). 15 6. Return O. 16 17 CreateMethodProperty ( O, P, V ) 18 19 ... 20 3. Let newDesc be the PropertyDescriptor { [[Value]]: V, [[Writable]]: true, [[Enumerable]]: false, [[Configurable]]: true }. 21 4. Return ? O.[[DefineOwnProperty]](P, newDesc). 22 features: [AggregateError] 23 includes: [propertyHelper.js] 24 ---*/ 25 26 var case1 = new AggregateError([], 42); 27 28 verifyProperty(case1, 'message', { 29 value: '42', 30 writable: true, 31 enumerable: false, 32 configurable: true, 33 }); 34 35 var case2 = new AggregateError([], false); 36 37 verifyProperty(case2, 'message', { 38 value: 'false', 39 writable: true, 40 enumerable: false, 41 configurable: true, 42 }); 43 44 var case3 = new AggregateError([], true); 45 46 verifyProperty(case3, 'message', { 47 value: 'true', 48 writable: true, 49 enumerable: false, 50 configurable: true, 51 }); 52 53 var case4 = new AggregateError([], { toString() { return 'string'; }}); 54 55 verifyProperty(case4, 'message', { 56 value: 'string', 57 writable: true, 58 enumerable: false, 59 configurable: true, 60 }); 61 62 var case5 = new AggregateError([], null); 63 64 verifyProperty(case5, 'message', { 65 value: 'null', 66 writable: true, 67 enumerable: false, 68 configurable: true, 69 }); 70 71 reportCompare(0, 0);