// Copyright 2018 the V8 project authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. // Throws only once during construction. // Check for all getters to prevent regression. // Preserve the order of getter initialization. let getCount = 0; let weekday = new Array(); let year = new Array(); let month = new Array(); let day = new Array(); let hour = new Array(); let minute = new Array(); let second = new Array(); let localeMatcher = new Array(); let hour12 = new Array(); let hourCycle = new Array(); let timeZone = new Array(); let era = new Array(); let timeZoneName = new Array(); let formatMatcher = new Array(); new Intl.DateTimeFormat(['en-US'], { get weekday() { weekday.push(++getCount); }, get year() { year.push(++getCount); }, get month() { month.push(++getCount); }, get day() { day.push(++getCount); }, get hour() { hour.push(++getCount); }, get minute() { minute.push(++getCount); }, get second() { second.push(++getCount); }, get localeMatcher() { localeMatcher.push(++getCount); }, get hour12() { hour12.push(++getCount); }, get hourCycle() { hourCycle.push(++getCount); }, get timeZone() { timeZone.push(++getCount); }, get era() { era.push(++getCount); }, get timeZoneName() { timeZoneName.push(++getCount); }, get formatMatcher() { formatMatcher.push(++getCount); } }); assertEquals(2, weekday.length); assertEquals(1, weekday[0]); assertEquals(1, year.length); assertEquals(2, year[0]); assertEquals(1, month.length); assertEquals(3, month[0]); assertEquals(1, day.length); assertEquals(4, day[0]); assertEquals(2, hour.length); assertEquals(5, hour[0]); assertEquals(2, minute.length); assertEquals(6, minute[0]); assertEquals(2, second.length); assertEquals(7, second[0]); assertEquals(1, localeMatcher.length); assertEquals(8, localeMatcher[0]); assertEquals(1, hour12.length); assertEquals(9, hour12[0]); assertEquals(1, hourCycle.length); assertEquals(10, hourCycle[0]); assertEquals(1, timeZone.length); assertEquals(11, timeZone[0]); assertEquals(12, weekday[1]); assertEquals(1, era.length); assertEquals(13, era[0]); assertEquals(14, hour[1]); assertEquals(15, minute[1]); assertEquals(16, second[1]); assertEquals(1, timeZoneName.length); assertEquals(17, timeZoneName[0]); assertEquals(1, formatMatcher.length); assertEquals(18, formatMatcher[0]);