//! Run this test with: //! `env TZ="$(date +%z)" NOW="$(date +%s)" wasm-pack test --node -- --features wasmbind` //! //! The `TZ` and `NOW` variables are used to compare the results inside the WASM environment with //! the host system. //! The check will fail if the local timezone does not match one of the timezones defined below.
#[wasm_bindgen_test] fn now() { let utc: DateTime<Utc> = Utc::now(); let local: DateTime<Local> = Local::now();
// Ensure time set by the test script is correct let now = env!("NOW"); let actual = NaiveDateTime::parse_from_str(&now, "%s").unwrap().and_utc(); let diff = utc - actual;
assert!(
diff < chrono::TimeDelta::try_minutes(5).unwrap(), "expected {} - {} == {} < 5m (env var: {})",
utc,
actual,
diff,
now,
);
let tz = env!("TZ");
eprintln!("testing with tz={}", tz);
#[wasm_bindgen_test] fn from_is_exact() { let now = js_sys::Date::new_0();
let dt = DateTime::<Utc>::from(now.clone());
assert_eq!(now.get_time() as i64, dt.timestamp_millis());
}
#[wasm_bindgen_test] fn local_from_local_datetime() { let now = Local::now(); let ndt = now.naive_local(); let res = match Local.from_local_datetime(&ndt).single() {
Some(v) => v,
None => panic! {"Required for test!"},
};
assert_eq!(now, res);
}
#[wasm_bindgen_test] fn convert_all_parts_with_milliseconds() { let time: DateTime<Utc> = "2020-12-01T03:01:55.974Z".parse().unwrap(); let js_date = js_sys::Date::from(time);
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.