[Intl] Fix special case timezone
Antarctica/DumontDUrville has special casing. Bug: chromium:928068 Change-Id: I8aea2fafc2c14d6fbfee8a95910df7e8d7d1ff37 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1507329 Reviewed-by: Sathya Gunasekaran <gsathya@chromium.org> Commit-Queue: Frank Tang <ftang@chromium.org> Cr-Commit-Position: refs/heads/master@{#60108}
This commit is contained in:
parent
6b0896abf7
commit
2cf79d12e8
@ -269,6 +269,7 @@ char LocaleIndependentAsciiToLower(char ch) {
|
||||
// or ho_cHi_minH -> Ho_Chi_Minh. It is locale-agnostic and only
|
||||
// deals with ASCII only characters.
|
||||
// 'of', 'au' and 'es' are special-cased and lowercased.
|
||||
// Also "Antarctica/DumontDUrville" is special case.
|
||||
// ICU's timezone parsing is case sensitive, but ECMAScript is case insensitive
|
||||
std::string ToTitleCaseTimezoneLocation(Isolate* isolate,
|
||||
const std::string& input) {
|
||||
@ -296,6 +297,10 @@ std::string ToTitleCaseTimezoneLocation(Isolate* isolate,
|
||||
return std::string();
|
||||
}
|
||||
}
|
||||
// Special case
|
||||
if (title_cased == "Antarctica/Dumontdurville") {
|
||||
return "Antarctica/DumontDUrville";
|
||||
}
|
||||
return title_cased;
|
||||
}
|
||||
|
||||
|
11
test/intl/regress-928068.js
Normal file
11
test/intl/regress-928068.js
Normal file
@ -0,0 +1,11 @@
|
||||
// Copyright 2019 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.
|
||||
|
||||
assertDoesNotThrow(
|
||||
()=>(new Date().toLocaleString(
|
||||
"en-US", {timeZone: "Antarctica/DumontDUrville"})));
|
||||
|
||||
assertDoesNotThrow(
|
||||
()=>(new Date().toLocaleString(
|
||||
"en-US", {timeZone: "antarctica/dumontdurville"})));
|
Loading…
Reference in New Issue
Block a user