UPDATE: Dump of initial files
This commit is contained in:
50
base/src/test/test_today.rs
Normal file
50
base/src/test/test_today.rs
Normal file
@@ -0,0 +1,50 @@
|
||||
#![allow(clippy::unwrap_used)]
|
||||
|
||||
use crate::mock_time;
|
||||
use crate::model::Model;
|
||||
use crate::test::util::new_empty_model;
|
||||
|
||||
// 14:44 20 Mar 2023 Berlin
|
||||
const TIMESTAMP_2023: i64 = 1679319865208;
|
||||
|
||||
#[test]
|
||||
fn today_basic() {
|
||||
let mut model = new_empty_model();
|
||||
model._set("A1", "=TODAY()");
|
||||
model._set("A2", "=TEXT(A1, \"yyyy/m/d\")");
|
||||
model.evaluate();
|
||||
|
||||
assert_eq!(model._get_text("A1"), *"08/11/2022");
|
||||
assert_eq!(model._get_text("A2"), *"2022/11/8");
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn today_with_wrong_tz() {
|
||||
let model = Model::new_empty("model", "en", "Wrong Timezone");
|
||||
assert!(model.is_err());
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn now_basic_utc() {
|
||||
mock_time::set_mock_time(TIMESTAMP_2023);
|
||||
let mut model = Model::new_empty("model", "en", "UTC").unwrap();
|
||||
model._set("A1", "=TODAY()");
|
||||
model._set("A2", "=NOW()");
|
||||
model.evaluate();
|
||||
|
||||
assert_eq!(model._get_text("A1"), *"20/03/2023");
|
||||
assert_eq!(model._get_text("A2"), *"45005.572511574");
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn now_basic_europe_berlin() {
|
||||
mock_time::set_mock_time(TIMESTAMP_2023);
|
||||
let mut model = Model::new_empty("model", "en", "Europe/Berlin").unwrap();
|
||||
model._set("A1", "=TODAY()");
|
||||
model._set("A2", "=NOW()");
|
||||
model.evaluate();
|
||||
|
||||
assert_eq!(model._get_text("A1"), *"20/03/2023");
|
||||
// This is UTC + 1 hour: 45005.572511574 + 1/24
|
||||
assert_eq!(model._get_text("A2"), *"45005.614178241");
|
||||
}
|
||||
Reference in New Issue
Block a user