fields-missing-properties.js (1390B)
1 // |reftest| skip-if(!this.hasOwnProperty('Temporal')) -- Temporal is not enabled unconditionally 2 // Copyright (C) 2021 Igalia, S.L. All rights reserved. 3 // This code is governed by the BSD license found in the LICENSE file. 4 5 /*--- 6 esid: sec-temporal.plainmonthday.from 7 description: Basic tests for PlainMonthDay.from(object) with missing properties. 8 features: [Temporal] 9 ---*/ 10 11 assert.throws(TypeError, () => Temporal.PlainMonthDay.from({}), "No properties"); 12 assert.throws(TypeError, () => Temporal.PlainMonthDay.from({ day: 15 }), "Only day"); 13 assert.throws(TypeError, () => Temporal.PlainMonthDay.from({ month: 12 }), "day is required with month"); 14 assert.throws(TypeError, () => Temporal.PlainMonthDay.from({ monthCode: 'M12' }), "Only monthCode"); 15 assert.throws(TypeError, () => Temporal.PlainMonthDay.from({ monthCode: undefined, day: 15 }), "monthCode undefined"); 16 assert.throws(TypeError, () => Temporal.PlainMonthDay.from({ months: 12, day: 31 }), "months plural"); 17 assert.throws(TypeError, () => Temporal.PlainMonthDay.from({ year: 2021, month: 12 }), "day is required with year and month"); 18 assert.throws(TypeError, () => Temporal.PlainMonthDay.from({ year: 2021, monthCode: "M12" }), "day is required with year and monthCode"); 19 assert.throws(TypeError, () => Temporal.PlainMonthDay.from({ year: 2021, day: 17 }), "either month or monthCode is required"); 20 21 reportCompare(0, 0);