25 lines
835 B
Rust
25 lines
835 B
Rust
use gridcraft_core::{CellError, CellRef, Value};
|
|
use gridcraft_engine::Session;
|
|
use serde_json::json;
|
|
|
|
#[test]
|
|
fn cell_set_offset_extreme_arguments_return_ref() {
|
|
let mut session = Session::new();
|
|
session.new_workbook();
|
|
for formula in [
|
|
"=OFFSET(B2,1E300,0)",
|
|
"=OFFSET(B2,0,1E300)",
|
|
"=OFFSET(B2,0,0,1E300,1)",
|
|
"=OFFSET(B2,0,0,1,1E300)",
|
|
"=OFFSET(B2,-1E300,0)",
|
|
"=OFFSET(B2,0,-1E300)",
|
|
"=OFFSET(B2,0,0,-1E300,1)",
|
|
"=OFFSET(B2,0,0,1,-1E300)",
|
|
"=OFFSET(B2,1E300,0,-1E300,1)",
|
|
"=OFFSET(B2,0,1E300,1,-1E300)",
|
|
] {
|
|
session.execute("cell.set", json!({"cell": "D1", "input": formula})).unwrap();
|
|
assert_eq!(session.doc().unwrap().wb.sheet(0).unwrap().value(CellRef::new(0, 3)), Value::Error(CellError::Ref), "{formula}");
|
|
}
|
|
}
|