Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

tests depends on specific pre-ICU72 format pattern need to be changed #3711

Open
FrankYFTang opened this issue Nov 3, 2022 · 6 comments
Open

Comments

@FrankYFTang
Copy link
Contributor

FrankYFTang commented Nov 3, 2022

I am trying to update the chromium implementation from ICU71 to ICU72 and got the following errors while running test262 test. This is mainly because in ICU72 (due to change in CLDR), the SPACE before AM/PM is changed from ASCII SPACE (U+0020) to THIN SPACE (U+202F)

Just 12 tests, not too bad. but maybe we should change the test to not test against a specific format pattern since CLDR never guarantee those pattern will never change.

  'intl402/DateTimeFormat/prototype/formatRange/en-US': [FAIL],
  'intl402/DateTimeFormat/prototype/formatRange/fractionalSecondDigits': [FAIL],
  'intl402/DateTimeFormat/prototype/formatRange/temporal-objects-resolved-time-zone': [FAIL],
  'intl402/DateTimeFormat/prototype/formatRangeToParts/en-US': [FAIL],
  'intl402/DateTimeFormat/prototype/formatRangeToParts/fractionalSecondDigits': [FAIL],
  'intl402/DateTimeFormat/prototype/formatRangeToParts/temporal-objects-resolved-time-zone': [FAIL],
  'intl402/DateTimeFormat/prototype/format/temporal-objects-resolved-time-zone': [FAIL],
  'intl402/DateTimeFormat/prototype/format/timedatestyle-en': [FAIL],
  'intl402/DateTimeFormat/prototype/formatToParts/temporal-objects-resolved-time-zone': [FAIL],
  'intl402/Temporal/PlainDateTime/prototype/toLocaleString/resolved-time-zone': [FAIL],
  'intl402/Temporal/PlainTime/prototype/toLocaleString/resolved-time-zone': [FAIL],
  'staging/Intl402/Temporal/old/time-toLocaleString': [FAIL],

>>> Running tests for x64.release
>>> Running with test processors
=== test262/intl402/DateTimeFormat/prototype/format/temporal-objects-resolved-time-zone ===
/usr/local/google/home/ftang/v8/v8/test/test262/data/harness/assert.js:49: Test262Error: plain datetime close to beginning of day Expected SameValue(«8/4/2021, 12:30:45 AM», «8/4/2021, 12:30:45 AM») to be true
  throw new Test262Error(message);
  ^
Command: out/x64.release/d8 --test test/test262/data/harness/sta.js test/test262/data/harness/assert.js test/test262/harness-adapt.js test/test262/data/test/intl402/DateTimeFormat/prototype/format/temporal-objects-resolved-time-zone.js --random-seed=-857848418 --nohard-abort --testing-d8-test-runner --ignore-unhandled-promises --harmony-temporal --no-arguments
--- FAILED ---
=== test262/intl402/DateTimeFormat/prototype/format/timedatestyle-en ===      
/usr/local/google/home/ftang/v8/v8/test/test262/data/harness/assert.js:49: Test262Error: Result for full with {} Expected SameValue(«2:12:47 PM Coordinated Universal Time», «2:12:47 PM Coordinated Universal Time») to be true
  throw new Test262Error(message);
  ^
Command: out/x64.release/d8 --test test/test262/data/harness/sta.js test/test262/data/harness/assert.js test/test262/harness-adapt.js test/test262/data/test/intl402/DateTimeFormat/prototype/format/timedatestyle-en.js --random-seed=-857848418 --nohard-abort --testing-d8-test-runner --ignore-unhandled-promises --no-arguments
--- FAILED ---
=== test262/intl402/DateTimeFormat/prototype/formatRange/en-US ===            
/usr/local/google/home/ftang/v8/v8/test/test262/data/harness/assert.js:49: Test262Error: Expected SameValue(«1/3/2019 – 1/5/2019», «1/3/2019 – 1/5/2019») to be true
  throw new Test262Error(message);
  ^
Command: out/x64.release/d8 --test test/test262/data/harness/sta.js test/test262/data/harness/assert.js test/test262/harness-adapt.js test/test262/data/test/intl402/DateTimeFormat/prototype/formatRange/en-US.js --random-seed=-857848418 --nohard-abort --testing-d8-test-runner --ignore-unhandled-promises --no-arguments
--- FAILED ---
=== test262/intl402/DateTimeFormat/prototype/formatRange/fractionalSecondDigits ===
/usr/local/google/home/ftang/v8/v8/test/test262/data/harness/assert.js:49: Test262Error: no fractionalSecondDigits Expected SameValue(«02:03 – 02:13», «02:03 – 02:13») to be true
  throw new Test262Error(message);
  ^
Command: out/x64.release/d8 --test test/test262/data/harness/sta.js test/test262/data/harness/assert.js test/test262/harness-adapt.js test/test262/data/test/intl402/DateTimeFormat/prototype/formatRange/fractionalSecondDigits.js --random-seed=-857848418 --nohard-abort --testing-d8-test-runner --ignore-unhandled-promises --no-arguments
--- FAILED ---
=== test262/intl402/DateTimeFormat/prototype/formatRange/temporal-objects-resolved-time-zone ===
/usr/local/google/home/ftang/v8/v8/test/test262/data/harness/assert.js:49: Test262Error: plain dates Expected SameValue(«8/4/2021 – 8/5/2021», «8/4/2021 – 8/5/2021») to be true
  throw new Test262Error(message);
  ^
Command: out/x64.release/d8 --test test/test262/data/harness/sta.js test/test262/data/harness/assert.js test/test262/harness-adapt.js test/test262/data/test/intl402/DateTimeFormat/prototype/formatRange/temporal-objects-resolved-time-zone.js --random-seed=-857848418 --nohard-abort --testing-d8-test-runner --ignore-unhandled-promises --harmony-temporal --no-arguments
--- FAILED ---
=== test262/intl402/DateTimeFormat/prototype/format/timedatestyle-en ===      
/usr/local/google/home/ftang/v8/v8/test/test262/data/harness/assert.js:49: Test262Error: Result for full with {} Expected SameValue(«2:12:47 PM Coordinated Universal Time», «2:12:47 PM Coordinated Universal Time») to be true
  throw new Test262Error(message);
  ^
Command: out/x64.release/d8 --test test/test262/data/harness/sta.js test/test262/data/harness/assert.js test/test262/harness-adapt.js test/test262/data/test/intl402/DateTimeFormat/prototype/format/timedatestyle-en.js --random-seed=-857848418 --nohard-abort --testing-d8-test-runner --use-strict --ignore-unhandled-promises --no-arguments
--- FAILED ---
=== test262/intl402/DateTimeFormat/prototype/format/temporal-objects-resolved-time-zone ===
/usr/local/google/home/ftang/v8/v8/test/test262/data/harness/assert.js:49: Test262Error: plain datetime close to beginning of day Expected SameValue(«8/4/2021, 12:30:45 AM», «8/4/2021, 12:30:45 AM») to be true
  throw new Test262Error(message);
  ^
Command: out/x64.release/d8 --test test/test262/data/harness/sta.js test/test262/data/harness/assert.js test/test262/harness-adapt.js test/test262/data/test/intl402/DateTimeFormat/prototype/format/temporal-objects-resolved-time-zone.js --random-seed=-857848418 --nohard-abort --testing-d8-test-runner --use-strict --ignore-unhandled-promises --harmony-temporal --no-arguments
--- FAILED ---
=== test262/intl402/DateTimeFormat/prototype/formatRangeToParts/fractionalSecondDigits ===
/usr/local/google/home/ftang/v8/v8/test/test262/data/harness/assert.js:49: Test262Error: value for entry 3 Expected SameValue(« – », « – ») to be true
  throw new Test262Error(message);
  ^
Command: out/x64.release/d8 --test test/test262/data/harness/sta.js test/test262/data/harness/assert.js test/test262/harness-adapt.js test/test262/data/test/intl402/DateTimeFormat/prototype/formatRangeToParts/fractionalSecondDigits.js --random-seed=-857848418 --nohard-abort --testing-d8-test-runner --ignore-unhandled-promises --no-arguments
--- FAILED ---
=== test262/intl402/DateTimeFormat/prototype/formatRangeToParts/en-US ===     
/usr/local/google/home/ftang/v8/v8/test/test262/data/harness/assert.js:49: Test262Error: value for entry 5 Expected SameValue(« – », « – ») to be true
  throw new Test262Error(message);
  ^
Command: out/x64.release/d8 --test test/test262/data/harness/sta.js test/test262/data/harness/assert.js test/test262/harness-adapt.js test/test262/data/test/intl402/DateTimeFormat/prototype/formatRangeToParts/en-US.js --random-seed=-857848418 --nohard-abort --testing-d8-test-runner --ignore-unhandled-promises --no-arguments
--- FAILED ---
=== test262/intl402/DateTimeFormat/prototype/formatRangeToParts/temporal-objects-resolved-time-zone ===
/usr/local/google/home/ftang/v8/v8/test/test262/data/harness/assert.js:18: Test262Error: Expected [Object { type: "month", value: "8", source: "startRange" }, Object { type: "literal", value: "/", source: "startRange" }, Object { type: "day", value: "4", source: "startRange" }, Object { type: "literal", value: "/", source: "startRange" }, Object { type: "year", value: "2021", source: "startRange" }, Object { type: "literal", value: " – ", source: "shared" }, Object { type: "month", value: "8", source: "endRange" }, Object { type: "literal", value: "/", source: "endRange" }, Object { type: "day", value: "5", source: "endRange" }, Object { type: "literal", value: "/", source: "endRange" }, Object { type: "year", value: "2021", source: "endRange" }] to be structurally equal to [Object { type: "month", value: "8", source: "startRange" }, Object { type: "literal", value: "/", source: "startRange" }, Object { type: "day", value: "4", source: "startRange" }, Object { type: "literal", value: "/", source: "startRange" }, Object { type: "year", value: "2021", source: "startRange" }, Object { type: "literal", value: " – ", source: "shared" }, Object { type: "month", value: "8", source: "endRange" }, Object { type: "literal", value: "/", source: "endRange" }, Object { type: "day", value: "5", source: "endRange" }, Object { type: "literal", value: "/", source: "endRange" }, Object { type: "year", value: "2021", source: "endRange" }]. plain dates
  throw new Test262Error(message);
  ^
Command: out/x64.release/d8 --test test/test262/data/harness/sta.js test/test262/data/harness/assert.js test/test262/harness-adapt.js test/test262/data/harness/deepEqual.js test/test262/data/test/intl402/DateTimeFormat/prototype/formatRangeToParts/temporal-objects-resolved-time-zone.js --random-seed=-857848418 --nohard-abort --testing-d8-test-runner --ignore-unhandled-promises --harmony-temporal --no-arguments
--- FAILED ---
=== test262/intl402/DateTimeFormat/prototype/formatRange/en-US ===            
/usr/local/google/home/ftang/v8/v8/test/test262/data/harness/assert.js:49: Test262Error: Expected SameValue(«1/3/2019 – 1/5/2019», «1/3/2019 – 1/5/2019») to be true
  throw new Test262Error(message);
  ^
Command: out/x64.release/d8 --test test/test262/data/harness/sta.js test/test262/data/harness/assert.js test/test262/harness-adapt.js test/test262/data/test/intl402/DateTimeFormat/prototype/formatRange/en-US.js --random-seed=-857848418 --nohard-abort --testing-d8-test-runner --use-strict --ignore-unhandled-promises --no-arguments
--- FAILED ---
=== test262/intl402/DateTimeFormat/prototype/formatToParts/temporal-objects-resolved-time-zone ===
/usr/local/google/home/ftang/v8/v8/test/test262/data/harness/assert.js:18: Test262Error: Expected [Object { type: "month", value: "8" }, Object { type: "literal", value: "/" }, Object { type: "day", value: "4" }, Object { type: "literal", value: "/" }, Object { type: "year", value: "2021" }, Object { type: "literal", value: ", " }, Object { type: "hour", value: "12" }, Object { type: "literal", value: ":" }, Object { type: "minute", value: "30" }, Object { type: "literal", value: ":" }, Object { type: "second", value: "45" }, Object { type: "literal", value: " " }, Object { type: "dayPeriod", value: "AM" }] to be structurally equal to [Object { type: "month", value: "8" }, Object { type: "literal", value: "/" }, Object { type: "day", value: "4" }, Object { type: "literal", value: "/" }, Object { type: "year", value: "2021" }, Object { type: "literal", value: ", " }, Object { type: "hour", value: "12" }, Object { type: "literal", value: ":" }, Object { type: "minute", value: "30" }, Object { type: "literal", value: ":" }, Object { type: "second", value: "45" }, Object { type: "literal", value: " " }, Object { type: "dayPeriod", value: "AM" }]. plain datetime close to beginning of day
  throw new Test262Error(message);
  ^
Command: out/x64.release/d8 --test test/test262/data/harness/sta.js test/test262/data/harness/assert.js test/test262/harness-adapt.js test/test262/data/harness/deepEqual.js test/test262/data/test/intl402/DateTimeFormat/prototype/formatToParts/temporal-objects-resolved-time-zone.js --random-seed=-857848418 --nohard-abort --testing-d8-test-runner --ignore-unhandled-promises --harmony-temporal --no-arguments
--- FAILED ---
=== test262/intl402/DateTimeFormat/prototype/formatRange/fractionalSecondDigits ===
/usr/local/google/home/ftang/v8/v8/test/test262/data/harness/assert.js:49: Test262Error: no fractionalSecondDigits Expected SameValue(«02:03 – 02:13», «02:03 – 02:13») to be true
  throw new Test262Error(message);
  ^
Command: out/x64.release/d8 --test test/test262/data/harness/sta.js test/test262/data/harness/assert.js test/test262/harness-adapt.js test/test262/data/test/intl402/DateTimeFormat/prototype/formatRange/fractionalSecondDigits.js --random-seed=-857848418 --nohard-abort --testing-d8-test-runner --use-strict --ignore-unhandled-promises --no-arguments
--- FAILED ---
=== test262/intl402/DateTimeFormat/prototype/formatRange/temporal-objects-resolved-time-zone ===
/usr/local/google/home/ftang/v8/v8/test/test262/data/harness/assert.js:49: Test262Error: plain dates Expected SameValue(«8/4/2021 – 8/5/2021», «8/4/2021 – 8/5/2021») to be true
  throw new Test262Error(message);
  ^
Command: out/x64.release/d8 --test test/test262/data/harness/sta.js test/test262/data/harness/assert.js test/test262/harness-adapt.js test/test262/data/test/intl402/DateTimeFormat/prototype/formatRange/temporal-objects-resolved-time-zone.js --random-seed=-857848418 --nohard-abort --testing-d8-test-runner --use-strict --ignore-unhandled-promises --harmony-temporal --no-arguments
--- FAILED ---
=== test262/intl402/DateTimeFormat/prototype/formatRangeToParts/fractionalSecondDigits ===
/usr/local/google/home/ftang/v8/v8/test/test262/data/harness/assert.js:49: Test262Error: value for entry 3 Expected SameValue(« – », « – ») to be true
  throw new Test262Error(message);
  ^
Command: out/x64.release/d8 --test test/test262/data/harness/sta.js test/test262/data/harness/assert.js test/test262/harness-adapt.js test/test262/data/test/intl402/DateTimeFormat/prototype/formatRangeToParts/fractionalSecondDigits.js --random-seed=-857848418 --nohard-abort --testing-d8-test-runner --use-strict --ignore-unhandled-promises --no-arguments
--- FAILED ---
=== test262/intl402/DateTimeFormat/prototype/formatRangeToParts/en-US ===     
/usr/local/google/home/ftang/v8/v8/test/test262/data/harness/assert.js:49: Test262Error: value for entry 5 Expected SameValue(« – », « – ») to be true
  throw new Test262Error(message);
  ^
Command: out/x64.release/d8 --test test/test262/data/harness/sta.js test/test262/data/harness/assert.js test/test262/harness-adapt.js test/test262/data/test/intl402/DateTimeFormat/prototype/formatRangeToParts/en-US.js --random-seed=-857848418 --nohard-abort --testing-d8-test-runner --use-strict --ignore-unhandled-promises --no-arguments
--- FAILED ---
=== test262/intl402/DateTimeFormat/prototype/formatRangeToParts/temporal-objects-resolved-time-zone ===
/usr/local/google/home/ftang/v8/v8/test/test262/data/harness/assert.js:18: Test262Error: Expected [Object { type: "month", value: "8", source: "startRange" }, Object { type: "literal", value: "/", source: "startRange" }, Object { type: "day", value: "4", source: "startRange" }, Object { type: "literal", value: "/", source: "startRange" }, Object { type: "year", value: "2021", source: "startRange" }, Object { type: "literal", value: " – ", source: "shared" }, Object { type: "month", value: "8", source: "endRange" }, Object { type: "literal", value: "/", source: "endRange" }, Object { type: "day", value: "5", source: "endRange" }, Object { type: "literal", value: "/", source: "endRange" }, Object { type: "year", value: "2021", source: "endRange" }] to be structurally equal to [Object { type: "month", value: "8", source: "startRange" }, Object { type: "literal", value: "/", source: "startRange" }, Object { type: "day", value: "4", source: "startRange" }, Object { type: "literal", value: "/", source: "startRange" }, Object { type: "year", value: "2021", source: "startRange" }, Object { type: "literal", value: " – ", source: "shared" }, Object { type: "month", value: "8", source: "endRange" }, Object { type: "literal", value: "/", source: "endRange" }, Object { type: "day", value: "5", source: "endRange" }, Object { type: "literal", value: "/", source: "endRange" }, Object { type: "year", value: "2021", source: "endRange" }]. plain dates
  throw new Test262Error(message);
  ^
Command: out/x64.release/d8 --test test/test262/data/harness/sta.js test/test262/data/harness/assert.js test/test262/harness-adapt.js test/test262/data/harness/deepEqual.js test/test262/data/test/intl402/DateTimeFormat/prototype/formatRangeToParts/temporal-objects-resolved-time-zone.js --random-seed=-857848418 --nohard-abort --testing-d8-test-runner --use-strict --ignore-unhandled-promises --harmony-temporal --no-arguments
--- FAILED ---
=== test262/intl402/DateTimeFormat/prototype/formatToParts/temporal-objects-resolved-time-zone ===
/usr/local/google/home/ftang/v8/v8/test/test262/data/harness/assert.js:18: Test262Error: Expected [Object { type: "month", value: "8" }, Object { type: "literal", value: "/" }, Object { type: "day", value: "4" }, Object { type: "literal", value: "/" }, Object { type: "year", value: "2021" }, Object { type: "literal", value: ", " }, Object { type: "hour", value: "12" }, Object { type: "literal", value: ":" }, Object { type: "minute", value: "30" }, Object { type: "literal", value: ":" }, Object { type: "second", value: "45" }, Object { type: "literal", value: " " }, Object { type: "dayPeriod", value: "AM" }] to be structurally equal to [Object { type: "month", value: "8" }, Object { type: "literal", value: "/" }, Object { type: "day", value: "4" }, Object { type: "literal", value: "/" }, Object { type: "year", value: "2021" }, Object { type: "literal", value: ", " }, Object { type: "hour", value: "12" }, Object { type: "literal", value: ":" }, Object { type: "minute", value: "30" }, Object { type: "literal", value: ":" }, Object { type: "second", value: "45" }, Object { type: "literal", value: " " }, Object { type: "dayPeriod", value: "AM" }]. plain datetime close to beginning of day
  throw new Test262Error(message);
  ^
Command: out/x64.release/d8 --test test/test262/data/harness/sta.js test/test262/data/harness/assert.js test/test262/harness-adapt.js test/test262/data/harness/deepEqual.js test/test262/data/test/intl402/DateTimeFormat/prototype/formatToParts/temporal-objects-resolved-time-zone.js --random-seed=-857848418 --nohard-abort --testing-d8-test-runner --use-strict --ignore-unhandled-promises --harmony-temporal --no-arguments
--- FAILED ---
=== test262/intl402/Temporal/PlainDateTime/prototype/toLocaleString/resolved-time-zone ===
/usr/local/google/home/ftang/v8/v8/test/test262/data/harness/assert.js:49: Test262Error: Expected SameValue(«8/4/2021, 12:30:45 AM», «8/4/2021, 12:30:45 AM») to be true
  throw new Test262Error(message);
  ^
Command: out/x64.release/d8 --test test/test262/data/harness/sta.js test/test262/data/harness/assert.js test/test262/harness-adapt.js test/test262/data/test/intl402/Temporal/PlainDateTime/prototype/toLocaleString/resolved-time-zone.js --random-seed=-857848418 --nohard-abort --testing-d8-test-runner --ignore-unhandled-promises --harmony-temporal --no-arguments
--- FAILED ---
=== test262/intl402/Temporal/PlainTime/prototype/toLocaleString/resolved-time-zone ===
/usr/local/google/home/ftang/v8/v8/test/test262/data/harness/assert.js:49: Test262Error: Expected SameValue(«12:30:45 AM», «12:30:45 AM») to be true
  throw new Test262Error(message);
  ^
Command: out/x64.release/d8 --test test/test262/data/harness/sta.js test/test262/data/harness/assert.js test/test262/harness-adapt.js test/test262/data/test/intl402/Temporal/PlainTime/prototype/toLocaleString/resolved-time-zone.js --random-seed=-857848418 --nohard-abort --testing-d8-test-runner --ignore-unhandled-promises --harmony-temporal --no-arguments
--- FAILED ---
=== test262/intl402/Temporal/PlainDateTime/prototype/toLocaleString/resolved-time-zone ===
/usr/local/google/home/ftang/v8/v8/test/test262/data/harness/assert.js:49: Test262Error: Expected SameValue(«8/4/2021, 12:30:45 AM», «8/4/2021, 12:30:45 AM») to be true
  throw new Test262Error(message);
  ^
Command: out/x64.release/d8 --test test/test262/data/harness/sta.js test/test262/data/harness/assert.js test/test262/harness-adapt.js test/test262/data/test/intl402/Temporal/PlainDateTime/prototype/toLocaleString/resolved-time-zone.js --random-seed=-857848418 --nohard-abort --testing-d8-test-runner --use-strict --ignore-unhandled-promises --harmony-temporal --no-arguments
--- FAILED ---
=== test262/intl402/Temporal/PlainTime/prototype/toLocaleString/resolved-time-zone ===
/usr/local/google/home/ftang/v8/v8/test/test262/data/harness/assert.js:49: Test262Error: Expected SameValue(«12:30:45 AM», «12:30:45 AM») to be true
  throw new Test262Error(message);
  ^
Command: out/x64.release/d8 --test test/test262/data/harness/sta.js test/test262/data/harness/assert.js test/test262/harness-adapt.js test/test262/data/test/intl402/Temporal/PlainTime/prototype/toLocaleString/resolved-time-zone.js --random-seed=-857848418 --nohard-abort --testing-d8-test-runner --use-strict --ignore-unhandled-promises --harmony-temporal --no-arguments
--- FAILED ---
=== test262/staging/Intl402/Temporal/old/time-toLocaleString ===              
/usr/local/google/home/ftang/v8/v8/test/test262/data/harness/assert.js:49: Test262Error: Expected SameValue(«3:23:30 PM», «3:23:30 PM») to be true
  throw new Test262Error(message);
  ^
Command: out/x64.release/d8 --test test/test262/data/harness/sta.js test/test262/data/harness/assert.js test/test262/harness-adapt.js test/test262/data/test/staging/Intl402/Temporal/old/time-toLocaleString.js --random-seed=-857848418 --nohard-abort --testing-d8-test-runner --ignore-unhandled-promises --harmony-temporal --no-arguments
--- FAILED ---
=== test262/staging/Intl402/Temporal/old/time-toLocaleString ===              
/usr/local/google/home/ftang/v8/v8/test/test262/data/harness/assert.js:49: Test262Error: Expected SameValue(«3:23:30 PM», «3:23:30 PM») to be true
  throw new Test262Error(message);
  ^
Command: out/x64.release/d8 --test test/test262/data/harness/sta.js test/test262/data/harness/assert.js test/test262/harness-adapt.js test/test262/data/test/staging/Intl402/Temporal/old/time-toLocaleString.js --random-seed=-857848418 --nohard-abort --testing-d8-test-runner --use-strict --ignore-unhandled-promises --harmony-temporal --no-arguments
--- FAILED ---
@anba
Copy link
Contributor

anba commented Nov 3, 2022

#3676 updates the non-Temporal tests.

@FrankYFTang
Copy link
Contributor Author

There are three major changes in ICU 72 impacting ECMA 402 API result

  1. The SPACE (u+0020) between the time and "AM" or "PM" is changed to U+202F (Narrow No-Break Space (NNBSP))
  2. The SPACE (u+0020) around the - in the date duration format pattern is changed to U+2009 (Thin Space)
  3. The Word segmentation in ICU72 change to treat @ as part of a word token so "@frank" will be treated as one word not two.

@FrankYFTang
Copy link
Contributor Author

See https://icu.unicode.org/download/72
Word segmentation: The CLDR committee decided that by default there should be a word break after a colon (:), and that a word break after a colon should be suppressed only for Finnish and Swedish. (CLDR-15910, cldr/pull/2254) Also, the committee decided that an at sign (@) should not cause word breaks, as in email addresses. (CLDR-15767, cldr/pull/2256) — (ICU-22112, icu/pull/2159)

In many formatting patterns, ASCII spaces are replaced with Unicode spaces (e.g., a "thin space").
Arabic number formatting patterns have been improved for more reliable bidirectional-text behavior.

@sffc
Copy link
Contributor

sffc commented Nov 3, 2022

@FrankYFTang
Copy link
Contributor Author

Notice the following also need to be changed but not covered by #3676 now

  'intl402/DateTimeFormat/prototype/formatRange/temporal-objects-resolved-time-zone': [FAIL],
  'intl402/DateTimeFormat/prototype/formatRangeToParts/temporal-objects-resolved-time-zone': [FAIL],
  'intl402/DateTimeFormat/prototype/format/temporal-objects-resolved-time-zone': [FAIL],
  'intl402/DateTimeFormat/prototype/formatToParts/temporal-objects-resolved-time-zone': [FAIL],
  'intl402/Temporal/PlainDateTime/prototype/toLocaleString/resolved-time-zone': [FAIL],
  'intl402/Temporal/PlainTime/prototype/toLocaleString/resolved-time-zone': [FAIL],
  'staging/Intl402/Temporal/old/time-toLocaleString': [FAIL],

@justingrant
Copy link
Contributor

justingrant commented Jan 10, 2023

Notice the following also need to be changed but not covered by #3676 now

With #3751 and #3762, those 7 tests should now pass in ICU 72 / CLDR 42.

In the future, please check with me and @ptomato before merging PRs like #3676 that match against static strings that vary based on CLDR version. This can be problematic for polyfills and other users of Test262 which have to run in both "old CLDR" and "new CLDR" environments. I'm in the process of making those at least some of those changes more resilient to CLDR version. @ptomato has more ideas (see #3762 (review)) that can improve resilience further.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants