UPDATE: Dump of initial files

This commit is contained in:
Nicolás Hatcher
2023-11-18 21:26:18 +01:00
commit c5b8efd83d
279 changed files with 42654 additions and 0 deletions

View File

@@ -0,0 +1,146 @@
#![allow(clippy::unwrap_used)]
use crate::test::util::new_empty_model;
#[test]
fn test_quote_prefix_formula() {
let mut model = new_empty_model();
model._set("A1", "'= 1 + 3");
model.evaluate();
assert_eq!(model._get_text("A1"), *"= 1 + 3");
assert!(!model._has_formula("A1"));
}
#[test]
fn test_quote_prefix_number() {
let mut model = new_empty_model();
model._set("A1", "'13");
model._set("A2", "=ISNUMBER(A1)");
model._set("A3", "=A1+1");
model._set("A4", "=ISNUMBER(A3)");
model.evaluate();
assert_eq!(model._get_text("A1"), *"13");
assert!(!model._has_formula("A1"));
assert_eq!(model._get_text("A2"), *"FALSE");
assert_eq!(model._get_text("A3"), *"14");
assert_eq!(model._get_text("A4"), *"TRUE");
}
#[test]
fn test_quote_prefix_error() {
let mut model = new_empty_model();
model._set("A1", "'#N/A");
model._set("A2", "=ISERROR(A1)");
model.evaluate();
assert_eq!(model._get_text("A1"), *"#N/A");
assert_eq!(model._get_text("A2"), *"FALSE");
}
#[test]
fn test_quote_prefix_boolean() {
let mut model = new_empty_model();
model._set("A1", "'FALSE");
model._set("A2", "=ISTEXT(A1)");
model.evaluate();
assert_eq!(model._get_text("A1"), *"FALSE");
assert_eq!(model._get_text("A2"), *"TRUE");
}
#[test]
fn test_quote_prefix_enter() {
let mut model = new_empty_model();
model._set("A1", "'123");
model._set("A2", "=ISTEXT(A1)");
model.evaluate();
// We introduce a value with a "quote prefix" index
model.set_user_input(0, 1, 3, "'=A1".to_string());
model.evaluate();
assert_eq!(model._get_text("C1"), *"=A1");
// But if we enter with a quote_prefix but without the "'" it won't be quote_prefix
model.set_user_input(0, 1, 4, "=A1".to_string());
model.evaluate();
assert_eq!(model._get_text("D1"), *"123");
}
#[test]
fn test_quote_prefix_reenter() {
let mut model = new_empty_model();
model._set("A1", "'123");
model._set("A2", "=ISTEXT(A1)");
model.evaluate();
assert_eq!(model._get_text("A2"), *"TRUE");
// We introduce a value with a "quote prefix" index
model.set_user_input(0, 1, 1, "123".to_string());
model.evaluate();
assert_eq!(model._get_text("A2"), *"FALSE");
}
#[test]
fn test_update_cell_quote() {
let mut model = new_empty_model();
model.update_cell_with_text(0, 1, 1, "= 1 + 3");
model.evaluate();
assert_eq!(model._get_text("A1"), *"= 1 + 3");
assert!(!model._has_formula("A1"));
}
#[test]
fn test_update_quote_prefix_reenter() {
let mut model = new_empty_model();
model.update_cell_with_text(0, 1, 1, "123");
model._set("A2", "=ISTEXT(A1)");
model.evaluate();
assert_eq!(model._get_text("A2"), *"TRUE");
// We reenter as a number
model.update_cell_with_number(0, 1, 1, 123.0);
model.evaluate();
assert_eq!(model._get_text("A2"), *"FALSE");
}
#[test]
fn test_update_quote_prefix_reenter_bool() {
let mut model = new_empty_model();
model.update_cell_with_text(0, 1, 1, "TRUE");
model._set("A2", "=ISTEXT(A1)");
model.evaluate();
assert_eq!(model._get_text("A2"), *"TRUE");
// We enter a bool
model.update_cell_with_bool(0, 1, 1, true);
model.evaluate();
assert_eq!(model._get_text("A2"), *"FALSE");
}
#[test]
fn test_update_quote_prefix_reenter_text() {
let mut model = new_empty_model();
model.update_cell_with_text(0, 1, 1, "123");
model._set("A2", "=ISTEXT(A1)");
model.evaluate();
assert_eq!(model._get_text("A2"), *"TRUE");
assert!(model.get_style_for_cell(0, 1, 1).quote_prefix);
// We enter a string
model.update_cell_with_text(0, 1, 1, "Hello");
model.evaluate();
assert_eq!(model._get_text("A2"), *"TRUE");
assert!(!model.get_style_for_cell(0, 1, 1).quote_prefix);
}
#[test]
fn test_update_quote_prefix_reenter_text_2() {
let mut model = new_empty_model();
model.update_cell_with_text(0, 1, 1, "123");
model._set("A2", "=ISTEXT(A1)");
model.evaluate();
assert_eq!(model._get_text("A2"), *"TRUE");
assert!(model.get_style_for_cell(0, 1, 1).quote_prefix);
// We enter another number
model.update_cell_with_text(0, 1, 1, "42");
model.evaluate();
assert_eq!(model._get_text("A2"), *"TRUE");
assert!(model.get_style_for_cell(0, 1, 1).quote_prefix);
}