// 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. // Somehow only ar-SA fails on Android in regress-8413*.js. // Split it into this test just for ar-SA. // This is likely to be caused by an Android-specific ICU data trimming. let locales = [ "ar-SA" ]; // "Table 5: Components of date and time formats" as in // https://ecma-international.org/ecma-402/#sec-datetimeformat-abstracts let table5 = [ ["weekday", ["narrow", "short", "long"]], ["era", ["narrow", "short", "long"]], ["year", ["2-digit", "numeric"]], ["month", ["2-digit", "numeric", "narrow", "short", "long"]], ["day", ["2-digit", "numeric"]], ["hour", ["2-digit", "numeric"]], ["minute", ["2-digit", "numeric"]], ["second", ["2-digit", "numeric"]], ["timeZoneName", ["short", "long"]] ]; // Test each locale for (let loc of locales) { // Test each property in Table 5 for (let row of table5) { let prop = row[0]; let values = row[1]; // Test each value of the property for (let value of values) { let opt = {}; opt[prop] = value; let dft = new Intl.DateTimeFormat([loc], opt); let result = dft.resolvedOptions(); assertTrue(values.indexOf(result[prop]) >= 0, "Expect new Intl.DateTimeFormat([" + loc + "], {" + prop + ": '" + value + "'}).resolvedOptions()['" + prop + "'] to return one of [" + values + "] but got '" + result[prop] + "'"); } } }