// 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. // Flags: --harmony-locale // Make sure that locale exposes all required properties. Those not specified // should have undefined value. let locale = new Intl.Locale('sr-cyrl-rs-t-ja-u-ca-islamic-x-whatever', { calendar: 'buddhist', caseFirst: 'true', collation: 'phonebk', hourCycle: 'h23', caseFirst: 'upper', numeric: 'true', numberingSystem: 'roman' }); assertEquals('sr', locale.language); assertEquals('Cyrl', locale.script); assertEquals('RS', locale.region); assertEquals('sr-Cyrl-RS', locale.baseName); assertEquals('buddhist', locale.calendar); assertEquals('phonebk', locale.collation); assertEquals('h23', locale.hourCycle); assertEquals('upper', locale.caseFirst); assertEquals(true, locale.numeric); assertEquals('roman', locale.numberingSystem); // Not defined, expected to undefined. assertEquals(undefined, locale.currency); assertEquals(undefined, locale.timeZone); // Test property defined in spec, but not specified in locale. let missing_property = new Intl.Locale('sr'); assertEquals(undefined, missing_property.script);