Merge PR #965: Tests: Ctrl+A in the slide sorter selects every slide (#936)

ROADMAP.md: kept both table lines.
This commit is contained in:
aiongg
2026-10-24 06:15:03 +00:00
2 changed files with 11 additions and 0 deletions
+1
View File
@@ -159,6 +159,7 @@ app's JSON control channel (`deckcraft --control PORT`).
| 2026-10-16 | Symbol-font characters: a run's U+F0xx symbol code (from `<a:sym typeface="Symbol"/>`) now draws from the installed Symbol face even when it has no private-use mapping — Apple's Symbol on macOS maps the glyphs to real Unicode, so the code is remapped to that character (the Adobe Symbol encoding) instead of falling to a look-alike. Bullets and metafile text take the same remap |
| 2026-10-15 | Native saves keep an imported chart's embedded workbook, drawings and relationships; headless PPTX → edit → native save/reopen → PPTX tests verify the payloads and stale-workbook rejection |
| 2026-10-20 | Tests: the Options dialog's Cancel, Esc and close button put the settings back the way they were (#878) |
| 2026-10-20 | Tests: Ctrl+A in the slide sorter selects every slide, as in PowerPoint (#936) |
| 2026-10-15 | PPTX trigger sequences keep separate On Click steps, including paragraph builds; synthetic import/edit/save/reopen and headless show regressions |
| 2026-10-16 | Export: PNG with a transparent background — the slide background is left out, only the slide's content is drawn (Export… dialog, File › Export, web download, `file.export`/`file.render` `transparentBackground`, `deckcraft-cli render --transparent`) (#784) |
| 2026-10-16 | Arrange ▸ Align: Align to Slide and Align Selected Objects, as in PowerPoint. One object aligns to the slide and several to each other until the other choice is ticked; the choice holds for that selection and also drives Distribute |
+10
View File
@@ -169,3 +169,13 @@ fn dragging_a_section_moves_it_and_keeps_it_collapsed() {
let (beta, alpha) = (h.get_by_label("Beta").rect(), h.get_by_label("Alpha").rect());
assert!(beta.top() < alpha.top());
}
#[test]
fn ctrl_a_selects_every_slide() {
let mut h = harness(false);
h.key_combination_modifiers(egui::Modifiers::COMMAND, &[egui::Key::A]);
h.run_steps(2);
let st = h.state().session.active().unwrap();
let all = st.doc.slides.len();
assert_eq!(st.selection.slides.len(), all, "Ctrl+A in the sorter selects every slide");
}