feat: implement move column move row with tests

This commit is contained in:
BrianHung
2025-06-30 10:24:17 -07:00
committed by Nicolás Hatcher Andrés
parent 7dc49d5dd7
commit c2777c73ac
6 changed files with 418 additions and 3 deletions

View File

@@ -234,6 +234,25 @@ impl Model {
.map_err(to_js_error)
}
#[wasm_bindgen(js_name = "moveColumn")]
pub fn move_column_action(
&mut self,
sheet: u32,
column: i32,
delta: i32,
) -> Result<(), JsError> {
self.model
.move_column_action(sheet, column, delta)
.map_err(to_js_error)
}
#[wasm_bindgen(js_name = "moveRow")]
pub fn move_row_action(&mut self, sheet: u32, row: i32, delta: i32) -> Result<(), JsError> {
self.model
.move_row_action(sheet, row, delta)
.map_err(to_js_error)
}
#[wasm_bindgen(js_name = "setRowsHeight")]
pub fn set_rows_height(
&mut self,

View File

@@ -172,5 +172,43 @@ test('deleteColumns removes cells', () => {
assert.strictEqual(model.getCellContent(0, 1, 2), '');
});
test("move row", () => {
const model = new Model('Workbook1', 'en', 'UTC');
model.setUserInput(0, 3, 5, "=G3");
model.setUserInput(0, 4, 5, "=G4");
model.setUserInput(0, 5, 5, "=SUM(G3:J3)");
model.setUserInput(0, 6, 5, "=SUM(G3:G3)");
model.setUserInput(0, 7, 5, "=SUM(G4:G4)");
model.evaluate();
model.moveRow(0, 3, 1);
model.evaluate();
assert.strictEqual(model.getCellContent(0, 3, 5), "=G3");
assert.strictEqual(model.getCellContent(0, 4, 5), "=G4");
assert.strictEqual(model.getCellContent(0, 5, 5), "=SUM(G4:J4)");
assert.strictEqual(model.getCellContent(0, 6, 5), "=SUM(G4:G4)");
assert.strictEqual(model.getCellContent(0, 7, 5), "=SUM(G3:G3)");
});
test("move column", () => {
const model = new Model('Workbook1', 'en', 'UTC');
model.setUserInput(0, 3, 5, "=G3");
model.setUserInput(0, 4, 5, "=H3");
model.setUserInput(0, 5, 5, "=SUM(G3:J7)");
model.setUserInput(0, 6, 5, "=SUM(G3:G7)");
model.setUserInput(0, 7, 5, "=SUM(H3:H7)");
model.evaluate();
model.moveColumn(0, 7, 1);
model.evaluate();
assert.strictEqual(model.getCellContent(0, 3, 5), "=H3");
assert.strictEqual(model.getCellContent(0, 4, 5), "=G3");
assert.strictEqual(model.getCellContent(0, 5, 5), "=SUM(H3:J7)");
assert.strictEqual(model.getCellContent(0, 6, 5), "=SUM(H3:H7)");
assert.strictEqual(model.getCellContent(0, 7, 5), "=SUM(G3:G7)");
});