|
@@ -14,7 +14,7 @@ mod tests {
|
|
|
|
|
|
#[test]
|
|
#[test]
|
|
fn date_type_option_date_format_test() {
|
|
fn date_type_option_date_format_test() {
|
|
- let mut type_option = DateTypeOption::new(FieldType::DateTime);
|
|
|
|
|
|
+ let mut type_option = DateTypeOption::test();
|
|
let field = FieldBuilder::from_field_type(FieldType::DateTime).build();
|
|
let field = FieldBuilder::from_field_type(FieldType::DateTime).build();
|
|
for date_format in DateFormat::iter() {
|
|
for date_format in DateFormat::iter() {
|
|
type_option.date_format = date_format;
|
|
type_option.date_format = date_format;
|
|
@@ -27,7 +27,6 @@ mod tests {
|
|
date: Some("1647251762".to_owned()),
|
|
date: Some("1647251762".to_owned()),
|
|
time: None,
|
|
time: None,
|
|
include_time: None,
|
|
include_time: None,
|
|
- timezone_id: None,
|
|
|
|
},
|
|
},
|
|
None,
|
|
None,
|
|
"Mar 14, 2022",
|
|
"Mar 14, 2022",
|
|
@@ -41,7 +40,6 @@ mod tests {
|
|
date: Some("1647251762".to_owned()),
|
|
date: Some("1647251762".to_owned()),
|
|
time: None,
|
|
time: None,
|
|
include_time: None,
|
|
include_time: None,
|
|
- timezone_id: None,
|
|
|
|
},
|
|
},
|
|
None,
|
|
None,
|
|
"2022/03/14",
|
|
"2022/03/14",
|
|
@@ -55,7 +53,6 @@ mod tests {
|
|
date: Some("1647251762".to_owned()),
|
|
date: Some("1647251762".to_owned()),
|
|
time: None,
|
|
time: None,
|
|
include_time: None,
|
|
include_time: None,
|
|
- timezone_id: None,
|
|
|
|
},
|
|
},
|
|
None,
|
|
None,
|
|
"2022-03-14",
|
|
"2022-03-14",
|
|
@@ -69,7 +66,6 @@ mod tests {
|
|
date: Some("1647251762".to_owned()),
|
|
date: Some("1647251762".to_owned()),
|
|
time: None,
|
|
time: None,
|
|
include_time: None,
|
|
include_time: None,
|
|
- timezone_id: None,
|
|
|
|
},
|
|
},
|
|
None,
|
|
None,
|
|
"03/14/2022",
|
|
"03/14/2022",
|
|
@@ -83,7 +79,6 @@ mod tests {
|
|
date: Some("1647251762".to_owned()),
|
|
date: Some("1647251762".to_owned()),
|
|
time: None,
|
|
time: None,
|
|
include_time: None,
|
|
include_time: None,
|
|
- timezone_id: None,
|
|
|
|
},
|
|
},
|
|
None,
|
|
None,
|
|
"14/03/2022",
|
|
"14/03/2022",
|
|
@@ -95,7 +90,7 @@ mod tests {
|
|
|
|
|
|
#[test]
|
|
#[test]
|
|
fn date_type_option_different_time_format_test() {
|
|
fn date_type_option_different_time_format_test() {
|
|
- let mut type_option = DateTypeOption::new(FieldType::DateTime);
|
|
|
|
|
|
+ let mut type_option = DateTypeOption::test();
|
|
let field = FieldBuilder::from_field_type(FieldType::DateTime).build();
|
|
let field = FieldBuilder::from_field_type(FieldType::DateTime).build();
|
|
|
|
|
|
for time_format in TimeFormat::iter() {
|
|
for time_format in TimeFormat::iter() {
|
|
@@ -109,7 +104,6 @@ mod tests {
|
|
date: Some("1653609600".to_owned()),
|
|
date: Some("1653609600".to_owned()),
|
|
time: None,
|
|
time: None,
|
|
include_time: Some(true),
|
|
include_time: Some(true),
|
|
- timezone_id: Some("Etc/UTC".to_owned()),
|
|
|
|
},
|
|
},
|
|
None,
|
|
None,
|
|
"May 27, 2022 00:00",
|
|
"May 27, 2022 00:00",
|
|
@@ -121,7 +115,6 @@ mod tests {
|
|
date: Some("1653609600".to_owned()),
|
|
date: Some("1653609600".to_owned()),
|
|
time: Some("9:00".to_owned()),
|
|
time: Some("9:00".to_owned()),
|
|
include_time: Some(true),
|
|
include_time: Some(true),
|
|
- timezone_id: Some("Etc/UTC".to_owned()),
|
|
|
|
},
|
|
},
|
|
None,
|
|
None,
|
|
"May 27, 2022 09:00",
|
|
"May 27, 2022 09:00",
|
|
@@ -133,7 +126,6 @@ mod tests {
|
|
date: Some("1653609600".to_owned()),
|
|
date: Some("1653609600".to_owned()),
|
|
time: Some("23:00".to_owned()),
|
|
time: Some("23:00".to_owned()),
|
|
include_time: Some(true),
|
|
include_time: Some(true),
|
|
- timezone_id: Some("Etc/UTC".to_owned()),
|
|
|
|
},
|
|
},
|
|
None,
|
|
None,
|
|
"May 27, 2022 23:00",
|
|
"May 27, 2022 23:00",
|
|
@@ -147,7 +139,6 @@ mod tests {
|
|
date: Some("1653609600".to_owned()),
|
|
date: Some("1653609600".to_owned()),
|
|
time: None,
|
|
time: None,
|
|
include_time: Some(true),
|
|
include_time: Some(true),
|
|
- timezone_id: Some("Etc/UTC".to_owned()),
|
|
|
|
},
|
|
},
|
|
None,
|
|
None,
|
|
"May 27, 2022 12:00 AM",
|
|
"May 27, 2022 12:00 AM",
|
|
@@ -159,7 +150,6 @@ mod tests {
|
|
date: Some("1653609600".to_owned()),
|
|
date: Some("1653609600".to_owned()),
|
|
time: Some("9:00 AM".to_owned()),
|
|
time: Some("9:00 AM".to_owned()),
|
|
include_time: Some(true),
|
|
include_time: Some(true),
|
|
- timezone_id: Some("Etc/UTC".to_owned()),
|
|
|
|
},
|
|
},
|
|
None,
|
|
None,
|
|
"May 27, 2022 09:00 AM",
|
|
"May 27, 2022 09:00 AM",
|
|
@@ -171,7 +161,6 @@ mod tests {
|
|
date: Some("1653609600".to_owned()),
|
|
date: Some("1653609600".to_owned()),
|
|
time: Some("11:23 pm".to_owned()),
|
|
time: Some("11:23 pm".to_owned()),
|
|
include_time: Some(true),
|
|
include_time: Some(true),
|
|
- timezone_id: Some(chrono_tz::Tz::Etc__UTC.to_string()),
|
|
|
|
},
|
|
},
|
|
None,
|
|
None,
|
|
"May 27, 2022 11:23 PM",
|
|
"May 27, 2022 11:23 PM",
|
|
@@ -184,7 +173,7 @@ mod tests {
|
|
#[test]
|
|
#[test]
|
|
fn date_type_option_invalid_date_str_test() {
|
|
fn date_type_option_invalid_date_str_test() {
|
|
let field_type = FieldType::DateTime;
|
|
let field_type = FieldType::DateTime;
|
|
- let type_option = DateTypeOption::new(field_type.clone());
|
|
|
|
|
|
+ let type_option = DateTypeOption::test();
|
|
let field = FieldBuilder::from_field_type(field_type).build();
|
|
let field = FieldBuilder::from_field_type(field_type).build();
|
|
assert_date(
|
|
assert_date(
|
|
&type_option,
|
|
&type_option,
|
|
@@ -193,7 +182,6 @@ mod tests {
|
|
date: Some("abc".to_owned()),
|
|
date: Some("abc".to_owned()),
|
|
time: None,
|
|
time: None,
|
|
include_time: None,
|
|
include_time: None,
|
|
- timezone_id: None,
|
|
|
|
},
|
|
},
|
|
None,
|
|
None,
|
|
"",
|
|
"",
|
|
@@ -204,7 +192,7 @@ mod tests {
|
|
#[should_panic]
|
|
#[should_panic]
|
|
fn date_type_option_invalid_include_time_str_test() {
|
|
fn date_type_option_invalid_include_time_str_test() {
|
|
let field_type = FieldType::DateTime;
|
|
let field_type = FieldType::DateTime;
|
|
- let type_option = DateTypeOption::new(field_type.clone());
|
|
|
|
|
|
+ let type_option = DateTypeOption::test();
|
|
let field = FieldBuilder::from_field_type(field_type).build();
|
|
let field = FieldBuilder::from_field_type(field_type).build();
|
|
|
|
|
|
assert_date(
|
|
assert_date(
|
|
@@ -214,7 +202,6 @@ mod tests {
|
|
date: Some("1653609600".to_owned()),
|
|
date: Some("1653609600".to_owned()),
|
|
time: Some("1:".to_owned()),
|
|
time: Some("1:".to_owned()),
|
|
include_time: Some(true),
|
|
include_time: Some(true),
|
|
- timezone_id: Some("Etc/UTC".to_owned()),
|
|
|
|
},
|
|
},
|
|
None,
|
|
None,
|
|
"May 27, 2022 01:00",
|
|
"May 27, 2022 01:00",
|
|
@@ -225,7 +212,7 @@ mod tests {
|
|
#[should_panic]
|
|
#[should_panic]
|
|
fn date_type_option_empty_include_time_str_test() {
|
|
fn date_type_option_empty_include_time_str_test() {
|
|
let field_type = FieldType::DateTime;
|
|
let field_type = FieldType::DateTime;
|
|
- let type_option = DateTypeOption::new(field_type.clone());
|
|
|
|
|
|
+ let type_option = DateTypeOption::test();
|
|
let field = FieldBuilder::from_field_type(field_type).build();
|
|
let field = FieldBuilder::from_field_type(field_type).build();
|
|
|
|
|
|
assert_date(
|
|
assert_date(
|
|
@@ -235,7 +222,6 @@ mod tests {
|
|
date: Some("1653609600".to_owned()),
|
|
date: Some("1653609600".to_owned()),
|
|
time: Some("".to_owned()),
|
|
time: Some("".to_owned()),
|
|
include_time: Some(true),
|
|
include_time: Some(true),
|
|
- timezone_id: None,
|
|
|
|
},
|
|
},
|
|
None,
|
|
None,
|
|
"May 27, 2022 01:00",
|
|
"May 27, 2022 01:00",
|
|
@@ -245,7 +231,7 @@ mod tests {
|
|
#[test]
|
|
#[test]
|
|
fn date_type_midnight_include_time_str_test() {
|
|
fn date_type_midnight_include_time_str_test() {
|
|
let field_type = FieldType::DateTime;
|
|
let field_type = FieldType::DateTime;
|
|
- let type_option = DateTypeOption::new(field_type.clone());
|
|
|
|
|
|
+ let type_option = DateTypeOption::test();
|
|
let field = FieldBuilder::from_field_type(field_type).build();
|
|
let field = FieldBuilder::from_field_type(field_type).build();
|
|
assert_date(
|
|
assert_date(
|
|
&type_option,
|
|
&type_option,
|
|
@@ -254,7 +240,6 @@ mod tests {
|
|
date: Some("1653609600".to_owned()),
|
|
date: Some("1653609600".to_owned()),
|
|
time: Some("00:00".to_owned()),
|
|
time: Some("00:00".to_owned()),
|
|
include_time: Some(true),
|
|
include_time: Some(true),
|
|
- timezone_id: Some("Etc/UTC".to_owned()),
|
|
|
|
},
|
|
},
|
|
None,
|
|
None,
|
|
"May 27, 2022 00:00",
|
|
"May 27, 2022 00:00",
|
|
@@ -266,7 +251,7 @@ mod tests {
|
|
#[test]
|
|
#[test]
|
|
#[should_panic]
|
|
#[should_panic]
|
|
fn date_type_option_twelve_hours_include_time_str_in_twenty_four_hours_format() {
|
|
fn date_type_option_twelve_hours_include_time_str_in_twenty_four_hours_format() {
|
|
- let type_option = DateTypeOption::new(FieldType::DateTime);
|
|
|
|
|
|
+ let type_option = DateTypeOption::test();
|
|
let field = FieldBuilder::from_field_type(FieldType::DateTime).build();
|
|
let field = FieldBuilder::from_field_type(FieldType::DateTime).build();
|
|
assert_date(
|
|
assert_date(
|
|
&type_option,
|
|
&type_option,
|
|
@@ -275,7 +260,6 @@ mod tests {
|
|
date: Some("1653609600".to_owned()),
|
|
date: Some("1653609600".to_owned()),
|
|
time: Some("1:00 am".to_owned()),
|
|
time: Some("1:00 am".to_owned()),
|
|
include_time: Some(true),
|
|
include_time: Some(true),
|
|
- timezone_id: Some("Etc/UTC".to_owned()),
|
|
|
|
},
|
|
},
|
|
None,
|
|
None,
|
|
"May 27, 2022 01:00 AM",
|
|
"May 27, 2022 01:00 AM",
|
|
@@ -288,7 +272,7 @@ mod tests {
|
|
#[should_panic]
|
|
#[should_panic]
|
|
fn date_type_option_twenty_four_hours_include_time_str_in_twelve_hours_format() {
|
|
fn date_type_option_twenty_four_hours_include_time_str_in_twelve_hours_format() {
|
|
let field_type = FieldType::DateTime;
|
|
let field_type = FieldType::DateTime;
|
|
- let mut type_option = DateTypeOption::new(field_type.clone());
|
|
|
|
|
|
+ let mut type_option = DateTypeOption::test();
|
|
type_option.time_format = TimeFormat::TwelveHour;
|
|
type_option.time_format = TimeFormat::TwelveHour;
|
|
let field = FieldBuilder::from_field_type(field_type).build();
|
|
let field = FieldBuilder::from_field_type(field_type).build();
|
|
|
|
|
|
@@ -299,7 +283,6 @@ mod tests {
|
|
date: Some("1653609600".to_owned()),
|
|
date: Some("1653609600".to_owned()),
|
|
time: Some("20:00".to_owned()),
|
|
time: Some("20:00".to_owned()),
|
|
include_time: Some(true),
|
|
include_time: Some(true),
|
|
- timezone_id: None,
|
|
|
|
},
|
|
},
|
|
None,
|
|
None,
|
|
"May 27, 2022 08:00 PM",
|
|
"May 27, 2022 08:00 PM",
|
|
@@ -338,7 +321,7 @@ mod tests {
|
|
#[test]
|
|
#[test]
|
|
#[should_panic]
|
|
#[should_panic]
|
|
fn update_date_keep_time() {
|
|
fn update_date_keep_time() {
|
|
- let type_option = DateTypeOption::new(FieldType::DateTime);
|
|
|
|
|
|
+ let type_option = DateTypeOption::test();
|
|
let field = FieldBuilder::from_field_type(FieldType::DateTime).build();
|
|
let field = FieldBuilder::from_field_type(FieldType::DateTime).build();
|
|
|
|
|
|
let old_cell_data = initialize_date_cell(
|
|
let old_cell_data = initialize_date_cell(
|
|
@@ -347,7 +330,6 @@ mod tests {
|
|
date: Some("1700006400".to_owned()),
|
|
date: Some("1700006400".to_owned()),
|
|
time: Some("08:00".to_owned()),
|
|
time: Some("08:00".to_owned()),
|
|
include_time: Some(true),
|
|
include_time: Some(true),
|
|
- timezone_id: Some("Etc/UTC".to_owned()),
|
|
|
|
},
|
|
},
|
|
);
|
|
);
|
|
assert_date(
|
|
assert_date(
|
|
@@ -357,7 +339,6 @@ mod tests {
|
|
date: Some("1701302400".to_owned()),
|
|
date: Some("1701302400".to_owned()),
|
|
time: None,
|
|
time: None,
|
|
include_time: None,
|
|
include_time: None,
|
|
- timezone_id: None,
|
|
|
|
},
|
|
},
|
|
Some(old_cell_data),
|
|
Some(old_cell_data),
|
|
"Nov 30, 2023 08:00",
|
|
"Nov 30, 2023 08:00",
|
|
@@ -366,7 +347,7 @@ mod tests {
|
|
|
|
|
|
#[test]
|
|
#[test]
|
|
fn update_time_keep_date() {
|
|
fn update_time_keep_date() {
|
|
- let type_option = DateTypeOption::new(FieldType::DateTime);
|
|
|
|
|
|
+ let type_option = DateTypeOption::test();
|
|
let field = FieldBuilder::from_field_type(FieldType::DateTime).build();
|
|
let field = FieldBuilder::from_field_type(FieldType::DateTime).build();
|
|
|
|
|
|
let old_cell_data = initialize_date_cell(
|
|
let old_cell_data = initialize_date_cell(
|
|
@@ -375,7 +356,6 @@ mod tests {
|
|
date: Some("1700006400".to_owned()),
|
|
date: Some("1700006400".to_owned()),
|
|
time: Some("08:00".to_owned()),
|
|
time: Some("08:00".to_owned()),
|
|
include_time: Some(true),
|
|
include_time: Some(true),
|
|
- timezone_id: Some("Etc/UTC".to_owned()),
|
|
|
|
},
|
|
},
|
|
);
|
|
);
|
|
assert_date(
|
|
assert_date(
|
|
@@ -385,103 +365,12 @@ mod tests {
|
|
date: None,
|
|
date: None,
|
|
time: Some("14:00".to_owned()),
|
|
time: Some("14:00".to_owned()),
|
|
include_time: None,
|
|
include_time: None,
|
|
- timezone_id: Some("Etc/UTC".to_owned()),
|
|
|
|
},
|
|
},
|
|
Some(old_cell_data),
|
|
Some(old_cell_data),
|
|
"Nov 15, 2023 14:00",
|
|
"Nov 15, 2023 14:00",
|
|
);
|
|
);
|
|
}
|
|
}
|
|
|
|
|
|
- #[test]
|
|
|
|
- fn timezone_no_daylight_saving_time() {
|
|
|
|
- let type_option = DateTypeOption::new(FieldType::DateTime);
|
|
|
|
- let field = FieldBuilder::from_field_type(FieldType::DateTime).build();
|
|
|
|
-
|
|
|
|
- assert_date(
|
|
|
|
- &type_option,
|
|
|
|
- &field,
|
|
|
|
- DateCellChangeset {
|
|
|
|
- date: Some("1672963200".to_owned()),
|
|
|
|
- time: None,
|
|
|
|
- include_time: Some(true),
|
|
|
|
- timezone_id: Some("Asia/Tokyo".to_owned()),
|
|
|
|
- },
|
|
|
|
- None,
|
|
|
|
- "Jan 06, 2023 09:00",
|
|
|
|
- );
|
|
|
|
- assert_date(
|
|
|
|
- &type_option,
|
|
|
|
- &field,
|
|
|
|
- DateCellChangeset {
|
|
|
|
- date: Some("1685404800".to_owned()),
|
|
|
|
- time: None,
|
|
|
|
- include_time: Some(true),
|
|
|
|
- timezone_id: Some("Asia/Tokyo".to_owned()),
|
|
|
|
- },
|
|
|
|
- None,
|
|
|
|
- "May 30, 2023 09:00",
|
|
|
|
- );
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- #[test]
|
|
|
|
- fn timezone_with_daylight_saving_time() {
|
|
|
|
- let type_option = DateTypeOption::new(FieldType::DateTime);
|
|
|
|
- let field = FieldBuilder::from_field_type(FieldType::DateTime).build();
|
|
|
|
-
|
|
|
|
- assert_date(
|
|
|
|
- &type_option,
|
|
|
|
- &field,
|
|
|
|
- DateCellChangeset {
|
|
|
|
- date: Some("1672963200".to_owned()),
|
|
|
|
- time: None,
|
|
|
|
- include_time: Some(true),
|
|
|
|
- timezone_id: Some("Europe/Paris".to_owned()),
|
|
|
|
- },
|
|
|
|
- None,
|
|
|
|
- "Jan 06, 2023 01:00",
|
|
|
|
- );
|
|
|
|
- assert_date(
|
|
|
|
- &type_option,
|
|
|
|
- &field,
|
|
|
|
- DateCellChangeset {
|
|
|
|
- date: Some("1685404800".to_owned()),
|
|
|
|
- time: None,
|
|
|
|
- include_time: Some(true),
|
|
|
|
- timezone_id: Some("Europe/Paris".to_owned()),
|
|
|
|
- },
|
|
|
|
- None,
|
|
|
|
- "May 30, 2023 02:00",
|
|
|
|
- );
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- #[test]
|
|
|
|
- fn change_timezone() {
|
|
|
|
- let type_option = DateTypeOption::new(FieldType::DateTime);
|
|
|
|
- let field = FieldBuilder::from_field_type(FieldType::DateTime).build();
|
|
|
|
-
|
|
|
|
- let old_cell_data = initialize_date_cell(
|
|
|
|
- &type_option,
|
|
|
|
- DateCellChangeset {
|
|
|
|
- date: Some("1672963200".to_owned()),
|
|
|
|
- time: None,
|
|
|
|
- include_time: Some(true),
|
|
|
|
- timezone_id: Some("Asia/China".to_owned()),
|
|
|
|
- },
|
|
|
|
- );
|
|
|
|
- assert_date(
|
|
|
|
- &type_option,
|
|
|
|
- &field,
|
|
|
|
- DateCellChangeset {
|
|
|
|
- date: None,
|
|
|
|
- time: None,
|
|
|
|
- include_time: None,
|
|
|
|
- timezone_id: Some("America/Los_Angeles".to_owned()),
|
|
|
|
- },
|
|
|
|
- Some(old_cell_data),
|
|
|
|
- "Jan 05, 2023 16:00",
|
|
|
|
- );
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
fn assert_date(
|
|
fn assert_date(
|
|
type_option: &DateTypeOption,
|
|
type_option: &DateTypeOption,
|
|
field: &Field,
|
|
field: &Field,
|