v8/test/intl/locale/locale-numberingSystems.js
Frank Tang 0690a6bda7 Call uloc_toUnicodeLocaleType to convert key
Add tests for Intl Locale Info API to ensure the return items fit the
type definition in UTS35

Bug: v8:11887
Change-Id: Ie92d80518909df9472ffd887800832a656807b5c
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2964597
Reviewed-by: Jakob Kummerow <jkummerow@chromium.org>
Commit-Queue: Frank Tang <ftang@chromium.org>
Cr-Commit-Position: refs/heads/master@{#75190}
2021-06-16 16:05:50 +00:00

21 lines
764 B
JavaScript

// Copyright 2021 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_intl_locale_info
// Test the return items of numberingSystems fit 'type'
let a_to_z = "abcdefghijklmnopqrstuvwxyz";
let regex = /^[a-zA-Z0-9]{3,8}(-[a-zA-Z0-9]{3,8})*$/;
for (var i = 0; i < a_to_z.length; i++) {
for (var j = 0; j < a_to_z.length; j++) {
let l = a_to_z[i] + a_to_z[j];
let locale = new Intl.Locale(l);
locale.numberingSystems.forEach(function(tokens) {
assertTrue(regex.test(tokens),
locale + ".numberingSystems [" + locale.numberingSystems +
"] does not meet 'type: alphanum{3,8}(sep alphanum{3,8})*'");
});
}
}