0690a6bda7
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}
21 lines
764 B
JavaScript
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})*'");
|
|
});
|
|
}
|
|
}
|