1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-26 03:57:44 +00:00

LibJS: Disallow calendar display names which contain an underscore

This is a normative change in the Intl spec. See:
2703d06
This commit is contained in:
Timothy Flynn 2022-03-28 08:48:18 -04:00 committed by Linus Groh
parent 7c41e6058a
commit f8e7701cf3
2 changed files with 10 additions and 2 deletions

View file

@ -150,8 +150,12 @@ ThrowCompletionOr<Value> canonical_code_for_display_names(GlobalObject& global_o
if (!Unicode::is_type_identifier(code))
return vm.throw_completion<RangeError>(global_object, ErrorType::OptionIsNotValidValue, code, "calendar"sv);
// b. Let code be the result of mapping code to lower case as described in 6.1.
// c. Return code.
// b. If code uses any of the backwards compatibility syntax described in Unicode Technical Standard #35 LDML § 3.3 BCP 47 Conformance, throw a RangeError exception.
if (code.contains('_'))
return vm.throw_completion<RangeError>(global_object, ErrorType::OptionIsNotValidValue, code, "calendar"sv);
// c. Let code be the result of mapping code to lower case as described in 6.1.
// d. Return code.
return js_string(vm, code.to_lowercase_string());
}