[browser][non-icu] `HybridGlobalization` calendar data (#89255)
authorIlona Tomkowicz <32700855+ilonatommy@users.noreply.github.com>
Mon, 7 Aug 2023 20:51:42 +0000 (22:51 +0200)
committerGitHub <noreply@github.com>
Mon, 7 Aug 2023 20:51:42 +0000 (22:51 +0200)
commita9363bf0b8844f8ce34018c3c53ebb0b3096a3dc
tree87116713971a95616c1731c40cbe9d68f541e3fe
parent6029c304dbce7565575d1f02b295b2a0664fafaa
[browser][non-icu] `HybridGlobalization` calendar data (#89255)

* Calendar WIP.

* Genitive months.

* Short pattern.

* NativeCalendarName does not exist on WebAPI - use EnglishCalendarName.

* Fix failures in Locales caused by calendars data removal.

* Fix to previous commit.

* Whitespace.

* Implemented Eras.

* Populate NativeName with EnglishName.

* Fix tests.

* Typos + comments removal + block failing test.

* AM/PM designators are not in ICU anymore.

* ShortTimePattern is ready.

* Fix some failing tests.

* LongTimePatterns is ready.

* Ask about all culture info from JS at once.

* Fix remaining tests.

* Calendar Globalization tests fixed.

* Adding test files to projects.

* Build fix.

* Fix the fix.

* .

* Fix tests.

* Load locale info on request + fix Browser scenario tests.

* Fix test on v8.

* Forgotten clean-up.

* Small cleanup in ts.

* V8 11 is behaves more like browser.

* Fixed skipped failing tests.

* Syntax

* V8 returns the same as Browser.

* This API is not affected, no need to test. + Add documentation.

* Revert unintentional change.

* Feedback.

* @radical's feedback + fix after removing unnecessary set.

* Fix.

* Feedback.

* Fix tests.
45 files changed:
docs/design/features/globalization-hybrid-mode.md
src/libraries/Common/src/Interop/Browser/Interop.Calendar.cs [new file with mode: 0644]
src/libraries/Common/src/Interop/Browser/Interop.Locale.cs [new file with mode: 0644]
src/libraries/Common/tests/TestUtilities/System/PlatformDetection.cs
src/libraries/System.Globalization.Calendars/tests/Hybrid/System.Globalization.Calendars.Hybrid.WASM.Tests.csproj [new file with mode: 0644]
src/libraries/System.Globalization.Calendars/tests/System/Globalization/CalendarTestBase.cs
src/libraries/System.Globalization/tests/CultureInfo/CultureInfoCtor.cs
src/libraries/System.Globalization/tests/DateTimeFormatInfo/DateTimeFormatInfoAMDesignator.cs
src/libraries/System.Globalization/tests/DateTimeFormatInfo/DateTimeFormatInfoAbbreviatedDayNames.cs
src/libraries/System.Globalization/tests/DateTimeFormatInfo/DateTimeFormatInfoAbbreviatedMonthGenitiveNames.cs
src/libraries/System.Globalization/tests/DateTimeFormatInfo/DateTimeFormatInfoAbbreviatedMonthNames.cs
src/libraries/System.Globalization/tests/DateTimeFormatInfo/DateTimeFormatInfoCalendarWeekRule.cs
src/libraries/System.Globalization/tests/DateTimeFormatInfo/DateTimeFormatInfoDayNames.cs
src/libraries/System.Globalization/tests/DateTimeFormatInfo/DateTimeFormatInfoFirstDayOfWeek.cs
src/libraries/System.Globalization/tests/DateTimeFormatInfo/DateTimeFormatInfoFullDateTimePattern.cs
src/libraries/System.Globalization/tests/DateTimeFormatInfo/DateTimeFormatInfoGetAbbreviatedEraName.cs
src/libraries/System.Globalization/tests/DateTimeFormatInfo/DateTimeFormatInfoGetEraName.cs
src/libraries/System.Globalization/tests/DateTimeFormatInfo/DateTimeFormatInfoLongDatePattern.cs
src/libraries/System.Globalization/tests/DateTimeFormatInfo/DateTimeFormatInfoLongTimePattern.cs
src/libraries/System.Globalization/tests/DateTimeFormatInfo/DateTimeFormatInfoMonthDayPattern.cs
src/libraries/System.Globalization/tests/DateTimeFormatInfo/DateTimeFormatInfoMonthGenitiveNames.cs
src/libraries/System.Globalization/tests/DateTimeFormatInfo/DateTimeFormatInfoMonthNames.cs
src/libraries/System.Globalization/tests/DateTimeFormatInfo/DateTimeFormatInfoNativeCalendarName.cs [new file with mode: 0644]
src/libraries/System.Globalization/tests/DateTimeFormatInfo/DateTimeFormatInfoPMDesignator.cs
src/libraries/System.Globalization/tests/DateTimeFormatInfo/DateTimeFormatInfoShortDatePattern.cs
src/libraries/System.Globalization/tests/DateTimeFormatInfo/DateTimeFormatInfoShortTimePattern.cs
src/libraries/System.Globalization/tests/DateTimeFormatInfo/DateTimeFormatInfoShortestDayNames.cs
src/libraries/System.Globalization/tests/DateTimeFormatInfo/DateTimeFormatInfoTests.cs
src/libraries/System.Globalization/tests/DateTimeFormatInfo/DateTimeFormatInfoYearMonthPattern.cs
src/libraries/System.Globalization/tests/Hybrid/System.Globalization.Hybrid.WASM.Tests.csproj
src/libraries/System.Private.CoreLib/src/System.Private.CoreLib.Shared.projitems
src/libraries/System.Private.CoreLib/src/System/Globalization/CalendarData.Browser.cs [new file with mode: 0644]
src/libraries/System.Private.CoreLib/src/System/Globalization/CalendarData.Icu.cs
src/libraries/System.Private.CoreLib/src/System/Globalization/CalendarData.Unix.cs
src/libraries/System.Private.CoreLib/src/System/Globalization/CalendarData.cs
src/libraries/System.Private.CoreLib/src/System/Globalization/CultureData.Browser.cs [new file with mode: 0644]
src/libraries/System.Private.CoreLib/src/System/Globalization/CultureData.cs
src/libraries/System.Private.CoreLib/src/System/Globalization/DateTimeParse.cs
src/mono/wasm/runtime/corebindings.c
src/mono/wasm/runtime/es6/dotnet.es6.lib.js
src/mono/wasm/runtime/exports-linker.ts
src/mono/wasm/runtime/hybrid-globalization/calendar.ts [new file with mode: 0644]
src/mono/wasm/runtime/hybrid-globalization/culture-info.ts [new file with mode: 0644]
src/mono/wasm/runtime/hybrid-globalization/helpers.ts [new file with mode: 0644]
src/mono/wasm/runtime/hybrid-globalization/locales.ts [new file with mode: 0644]