From 14057ca4ce8193283eec8e5a25d21605a83a05dc Mon Sep 17 00:00:00 2001 From: Hadrian Burkhardt Date: Sun, 18 Oct 2026 00:19:44 +0200 Subject: [PATCH] The device pass for M17-M20 says what it checked and what it owes Two of the four new milestones can only be checked on a device. The launcher routes are manifest and intent, so 'am start ... --es SHORTCUT images' was launched the way the launcher does it: it opened the Images library, and 'trash' opened the trash. That also showed M19's sentence - 'Deleted files are kept for 24 hours' - above 'Nothing in the trash'. The change mark and the compress dialog were not driven: the terminal here stopped capturing command output halfway through, so the driven pass stopped where the evidence stopped. Recorded as owed rather than done. --- docs/EDGE_CASE_TESTING.md | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/docs/EDGE_CASE_TESTING.md b/docs/EDGE_CASE_TESTING.md index 83f290d..856721b 100644 --- a/docs/EDGE_CASE_TESTING.md +++ b/docs/EDGE_CASE_TESTING.md @@ -307,6 +307,23 @@ Driven on the phone through the real UI (`adb` taps on `uiautomator` dumps), wit giving the picker the same label rule as the roots screen; the second pass reads *Internal storage / AADst*. This is the kind of thing only a device shows: the JVM tests use paths, not labels. +## The survey-gap session (M17–M20) + +Driven on the phone through the real UI, with `adb` taps on `uiautomator` dumps. + +- **Launcher shortcuts (M20).** The two routes that exist only in the manifest and the intent — no JVM test can + reach them — were launched the way the launcher does it: + `am start -a android.intent.action.VIEW -n de.softwareapp_hb.filemanager/.MainActivity --es + de.softwareapp_hb.filemanager.SHORTCUT images` opened the **Images** library directly, and `… trash` opened + the **Trash**. `recent` was not launched separately: same intent, one enum value, one code path. +- **The trash window (M19).** The trash screen read *Deleted files are kept for 24 hours* above *Nothing in + the trash* — the sentence and the empty state together, so the retention is stated rather than inferred. +- **Not driven on the device: the change mark (M17) and the compress dialog (M18).** Both are covered by + tests — the dot by three Compose tests (present, absent, and its content description) and the dialog's two + answers by view-model tests — but the *visual* check (a dot beside a freshly made archive, the switch in + the dialog) is still owed. The terminal lost command output halfway through this session, so the driven + pass stopped after the two checks above rather than being reported as complete. + ## Not verified, and why - **Long-press multi-select via adb: it works, but not every time.** `input swipe x y x y 900`