[browser][non-icu] HybridGlobalization calendar data#89255
[browser][non-icu] HybridGlobalization calendar data#89255ilonatommy merged 41 commits intodotnet:mainfrom
HybridGlobalization calendar data#89255Conversation
|
Tagging subscribers to 'arch-wasm': @lewing Issue DetailsContributes to #79989. This PR adds ~7k tests to ToDo:
Public APIs aftected by the change:
cc @SamMonoRT
|
|
Any suggestions for reviewing this? Anything to look for, or what kinda things might break? |
src/libraries/System.Globalization/tests/DateTimeFormatInfo/DateTimeFormatInfoAMDesignator.cs
Show resolved
Hide resolved
src/libraries/System.Globalization/tests/DateTimeFormatInfo/DateTimeFormatInfoAMDesignator.cs
Outdated
Show resolved
Hide resolved
...ies/System.Globalization/tests/DateTimeFormatInfo/DateTimeFormatInfoAbbreviatedMonthNames.cs
Outdated
Show resolved
Hide resolved
src/libraries/System.Private.CoreLib/src/System.Private.CoreLib.Shared.projitems
Show resolved
Hide resolved
radical
left a comment
There was a problem hiding this comment.
Big patch!! Great work!
I don't know anything about globalization, so I didn't really review the juicy details of the implementation. I reviewed what I could.
How is the hybrid case being tested? Is that enabled by default? Don't we need two separate test runs with hybrid on, and off?
src/libraries/Common/tests/TestUtilities/System/PlatformDetection.cs
Outdated
Show resolved
Hide resolved
src/libraries/System.Globalization.Calendars/tests/System/Globalization/CalendarTestBase.cs
Outdated
Show resolved
Hide resolved
src/libraries/System.Globalization/tests/DateTimeFormatInfo/DateTimeFormatInfoAMDesignator.cs
Show resolved
Hide resolved
...aries/System.Globalization/tests/DateTimeFormatInfo/DateTimeFormatInfoAbbreviatedDayNames.cs
Outdated
Show resolved
Hide resolved
...em.Globalization/tests/DateTimeFormatInfo/DateTimeFormatInfoAbbreviatedMonthGenitiveNames.cs
Show resolved
Hide resolved
src/libraries/System.Private.CoreLib/src/System/Globalization/CultureData.Browser.cs
Show resolved
Hide resolved
src/libraries/System.Private.CoreLib/src/System/Globalization/DateTimeParse.cs
Outdated
Show resolved
Hide resolved
src/libraries/System.Private.CoreLib/src/System/Globalization/DateTimeParse.cs
Outdated
Show resolved
Hide resolved
There are two test projects: for non-Hybrid:
and for Hybrid:
|
src/libraries/System.Private.CoreLib/src/System/Globalization/DateTimeParse.cs
Outdated
Show resolved
Hide resolved
src/libraries/System.Private.CoreLib/src/System/Globalization/CalendarData.Windows.cs
Outdated
Show resolved
Hide resolved
|
How much larger is dotnet.runtime.js ? |
~8,7kB |
I guess we should make it possible to link it out. Because that cost (not just this PR but all JS in the hybrid) is paid by everybody, not just somebody who enabled hybrid. |

Contributes to #79989.
This PR adds ~6k tests to
System.Globalization.Hybrid.WASM.Tests.csproj.Size of icu_hybrid.dat without the calendar data:
with the calendar data but without collations (hybrid state before this PR):
while the original non-hybrid file is:
The size saving using Hybrid mode will be ~60% after merging this PR (and a corresponding one in icu repo that reduces icudt_hybrid.dat file size).
Public APIs aftected by the change:
cc @SamMonoRT