Some checks failed
makepad-table / model (push) Has been cancelled
makepad-table / widget (push) Has been cancelled
makepad-table / hygiene (push) Has been cancelled
PDF engine / engine (push) Has been cancelled
PDF engine / makepad-integration (push) Has been cancelled
PDF engine / fuzz (push) Has been cancelled
Payment domain, storage, platform and UI / isolated-payment-tests (push) Has been cancelled
Payment domain, storage, platform and UI / payment-ui-tests (push) Has been cancelled
repo hygiene / hygiene (push) Has been cancelled
doc-engine / engine (push) Has been cancelled
doc-engine / coverage (push) Has been cancelled
doc-engine / consumer (push) Has been cancelled
email / gates (push) Has been cancelled
email / email-domain (push) Has been cancelled
email / nigig-email (push) Has been cancelled
email / supply-chain (push) Has been cancelled
nigig-build (CAD) / supply-chain (push) Has been cancelled
nigig-build (CAD) / cad-module (push) Has been cancelled
nigig-build (CAD) / full-crate-check (push) Has been cancelled
nigig-build (CAD) / cad-engine-coverage (push) Has been cancelled
nigig-build (CAD) / doc-workspace-coverage (push) Has been cancelled
nigig-build (CAD) / cad-widget-coverage (push) Has been cancelled
nigig-map / test (push) Has been cancelled
sms / gates (push) Has been cancelled
sms / robius-sms (push) Has been cancelled
sms / android (push) Has been cancelled
sms / nigig-sms (push) Has been cancelled
sms / supply-chain (push) Has been cancelled
spreadsheet / engine-coverage (push) Has been cancelled
spreadsheet / ui-controller-coverage (push) Has been cancelled
45 lines
1.4 KiB
Rust
45 lines
1.4 KiB
Rust
//! Integration test: import a real Excel (.xls) file into the spreadsheet engine.
|
|
|
|
use spreadsheet_engine::import_workbook_from_path;
|
|
|
|
/// This test reads the real "Old_Mutual_Finance_Budget_Tool.xls" file
|
|
/// from the repository's `ui/` directory and verifies that the import
|
|
/// produces sheets with cell data.
|
|
#[test]
|
|
fn import_old_mutual_budget_tool_xls() {
|
|
let path = std::path::Path::new(env!("CARGO_MANIFEST_DIR"))
|
|
.ancestors()
|
|
.nth(4)
|
|
.unwrap()
|
|
.join("ui/Old_Mutual_Finance_Budget_Tool.xls");
|
|
|
|
if !path.exists() {
|
|
eprintln!("Skipping: {} not found", path.display());
|
|
return;
|
|
}
|
|
|
|
let result = import_workbook_from_path(&path);
|
|
assert!(result.is_ok(), "Import should succeed: {:?}", result.err());
|
|
|
|
let (sheets, active) = result.unwrap();
|
|
assert!(!sheets.is_empty(), "Should have at least one sheet");
|
|
assert_eq!(active, 0, "Active sheet should be index 0");
|
|
|
|
// The first sheet should be named "monthly budget planner".
|
|
assert_eq!(sheets[0].name, "monthly budget planner");
|
|
|
|
// Verify there is at least some cell content.
|
|
let mut has_cells = false;
|
|
for sheet in &sheets {
|
|
for (_id, cell) in &sheet.data.cells {
|
|
if !cell.value.is_empty() {
|
|
has_cells = true;
|
|
break;
|
|
}
|
|
}
|
|
if has_cells {
|
|
break;
|
|
}
|
|
}
|
|
assert!(has_cells, "Imported workbook should have cell data");
|
|
}
|