From cf29e4feae47ae8f685216f4043a4e726aa1afcd Mon Sep 17 00:00:00 2001 From: Greg Tatum Date: Wed, 30 Jun 2021 15:46:35 -0500 Subject: [PATCH 01/17] Teach length::Bag how to switch hour cycles --- components/datetime/src/options/length.rs | 1 - .../datetime/src/options/preferences.rs | 8 +- components/datetime/src/pattern/mod.rs | 79 ++++++++++ components/datetime/src/provider/gregory.rs | 10 ++ components/datetime/src/provider/helpers.rs | 64 ++++++-- components/datetime/src/skeleton.rs | 112 +++++++++++++- components/datetime/tests/datetime.rs | 6 + .../tests/lengths_with_preferences.json | 138 ++++++++++++++++++ provider/cldr/src/transform/dates/patterns.rs | 73 ++++++++- .../json/date_patterns/gregory@1/ar-EG.json | 12 ++ .../data/json/date_patterns/gregory@1/ar.json | 12 ++ .../data/json/date_patterns/gregory@1/bn.json | 12 ++ .../json/date_patterns/gregory@1/ccp.json | 12 ++ .../json/date_patterns/gregory@1/en-001.json | 12 ++ .../json/date_patterns/gregory@1/en-ZA.json | 12 ++ .../data/json/date_patterns/gregory@1/en.json | 12 ++ .../json/date_patterns/gregory@1/es-AR.json | 12 ++ .../data/json/date_patterns/gregory@1/es.json | 12 ++ .../data/json/date_patterns/gregory@1/fr.json | 12 ++ .../data/json/date_patterns/gregory@1/ja.json | 12 ++ .../data/json/date_patterns/gregory@1/ru.json | 12 ++ .../json/date_patterns/gregory@1/sr-Cyrl.json | 12 ++ .../json/date_patterns/gregory@1/sr-Latn.json | 12 ++ .../data/json/date_patterns/gregory@1/sr.json | 12 ++ .../data/json/date_patterns/gregory@1/th.json | 12 ++ .../data/json/date_patterns/gregory@1/tr.json | 12 ++ .../json/date_patterns/gregory@1/und.json | 12 ++ 27 files changed, 683 insertions(+), 24 deletions(-) create mode 100644 components/datetime/tests/fixtures/tests/lengths_with_preferences.json diff --git a/components/datetime/src/options/length.rs b/components/datetime/src/options/length.rs index e6d34c01431..bb56709a206 100644 --- a/components/datetime/src/options/length.rs +++ b/components/datetime/src/options/length.rs @@ -82,7 +82,6 @@ use serde::{Deserialize, Serialize}; pub struct Bag { pub date: Option, pub time: Option