nodejs/deps/v8/test/mjsunit/regress/regress-crbug-1414292.js
Michaël Zasso 1d5058d4bb
deps: V8: cherry-pick 90be99fab31c
Original commit message:

    [intl] Revert date formatting behavior change from ICU 72

    Replace U+202F with U+0020 after formatting date. This lets websites
    continue to work without any changes.

    This matches Firefox behavior, according to
    https://bugzilla.mozilla.org/show_bug.cgi?id=1806042#c17.

    Bug: chromium:1414292, chromium:1401829, chromium:1392814
    Change-Id: I7c2b58414d0890f8705e737f903403dc54e5fe57
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/4237675
    Commit-Queue: Adam Klein <adamk@chromium.org>
    Reviewed-by: Shu-yu Guo <syg@chromium.org>
    Cr-Commit-Position: refs/heads/main@{#85757}

Refs: 90be99fab3
PR-URL: https://github.com/nodejs/node/pull/46646
Refs: https://github.com/nodejs/node/issues/46123
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Richard Lau <rlau@redhat.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
2023-02-20 12:10:28 +00:00

18 lines
815 B
JavaScript

// Copyright 2023 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.
const date = new Date("Wed Feb 15 2023 00:00:00 GMT+0100");
const localeString = date.toLocaleString("en-US");
// No narrow-width space should be found
assertEquals(-1, localeString.search('\u202f'));
// Regular space should match the character between time and AM/PM.
assertMatches(/:\d\d:\d\d [AP]M$/, localeString);
const formatter = new Intl.DateTimeFormat('en', {timeStyle: "long"})
const formattedString = formatter.format(date)
// No narrow-width space should be found
assertEquals(-1, formattedString.search('\u202f'));
// Regular space should match the character between time and AM/PM.
assertMatches(/:\d\d:\d\d [AP]M$/, localeString);