make date format supports locale (#6306)

* add --locale flag to make output support locale

* implement again based on nu-utils get_system_locale_string

* add comment
This commit is contained in:
WindSoilder
2022-08-14 21:07:04 +08:00
committed by GitHub
parent 6145f734b7
commit 21770367e2
5 changed files with 82 additions and 6 deletions

View File

@ -12,3 +12,66 @@ fn formatter_not_valid() {
assert!(actual.err.contains("invalid format"));
}
#[test]
fn locale_format_respect_different_locale() {
let actual = nu!(
locale: "en_US",
pipeline(
r#"
"2021-10-22 20:00:12 +01:00" | date format "%c"
"#
)
);
assert!(actual.out.contains("Fri 22 Oct 2021 08:00:12 PM +01:00"));
let actual = nu!(
locale: "en_GB",
pipeline(
r#"
"2021-10-22 20:00:12 +01:00" | date format "%c"
"#
)
);
assert!(actual.out.contains("Fri 22 Oct 2021 20:00:12 +01:00"));
let actual = nu!(
locale: "de_DE",
pipeline(
r#"
"2021-10-22 20:00:12 +01:00" | date format "%c"
"#
)
);
assert!(actual.out.contains("Fr 22 Okt 2021 20:00:12 +01:00"));
let actual = nu!(
locale: "zh_CN",
pipeline(
r#"
"2021-10-22 20:00:12 +01:00" | date format "%c"
"#
)
);
assert!(actual.out.contains("2021年10月22日 星期五 20时00分12秒"));
let actual = nu!(
locale: "ja_JP",
pipeline(
r#"
"2021-10-22 20:00:12 +01:00" | date format "%c"
"#
)
);
assert!(actual.out.contains("2021年10月22日 20時00分12秒"));
let actual = nu!(
locale: "fr_FR",
pipeline(
r#"
"2021-10-22 20:00:12 +01:00" | date format "%c"
"#
)
);
assert!(actual.out.contains("ven. 22 oct. 2021 20:00:12 +01:00"));
}