diff options
| author | Jackson Moore <jacksonmoore@tuta.io> | 2026-09-03 16:41:35 +0200 |
|---|---|---|
| committer | Jackson Moore <jacksonmoore@tuta.io> | 2026-09-03 16:41:35 +0200 |
| commit | 6782384df0a9580b26e9418f0693ac3321dbf6f4 (patch) | |
| tree | 5e148d9cb7424277e221d169e041e66ea381c6b1 /conformance/fixtures/transition-fixtures.json | |
Adds conformance ledger and fixtures
Diffstat (limited to 'conformance/fixtures/transition-fixtures.json')
| -rw-r--r-- | conformance/fixtures/transition-fixtures.json | 3214 |
1 files changed, 3214 insertions, 0 deletions
diff --git a/conformance/fixtures/transition-fixtures.json b/conformance/fixtures/transition-fixtures.json new file mode 100644 index 0000000..98d639a --- /dev/null +++ b/conformance/fixtures/transition-fixtures.json @@ -0,0 +1,3214 @@ +{ + "format_version": 1, + "scenarios": [ + { + "id": "SCN-0702-TEMP-SUCCESS", + "title": "Successful acquisition releases all temporary feedback", + "source_refs": [ + "7.2", + "12.3", + "12.4" + ], + "requirements": [ + "CF-0505-002", + "CF-0507-002", + "CF-0507-006", + "CF-0702-001", + "CF-0702-002", + "CF-0702-004", + "CF-0702-005", + "CF-0702-006", + "CF-0602-006", + "CF-0702-008", + "CF-0702-011", + "CF-0702-012", + "CF-0702-013", + "CF-1203-001", + "CF-1203-002", + "CF-1203-003", + "CF-1204-011" + ], + "given": { + "buffer": { + "lines": [ + "aha" + ] + }, + "effective_encoding": "utf-8", + "cursor": { + "line": 1, + "byte_column": 1 + }, + "mode": "n", + "selection": { + "active": false, + "kind": "none", + "anchor": null, + "focus": null, + "option": "inclusive" + }, + "pending_operator": null, + "count": null, + "configuration": { + "mark_char": false, + "mark_cursor": true, + "mark_direct": true, + "show_prompt": true, + "highlight_timeout_ms": 0, + "hide_cursor_on_cmdline": true + }, + "input_packets": [ + { + "kind": "text", + "text": "h" + } + ], + "time_values_ms": [], + "events": [], + "state": { + "contexts": {}, + "last_input_context": null, + "moved_forward": false, + "moved_forward_initialized": false, + "migemo_cache": [], + "repeat_timestamp_ms": 0, + "highlight_timer": null, + "target_overlays": [], + "temporary_overlays": [], + "finalizers": [] + }, + "host": { + "macro_register": null, + "fold_open_policy": [], + "closed_fold_levels": 0, + "timer_support": true, + "cmdline_cursor_support": true + } + }, + "steps": [ + { + "operation": "action", + "action": "StartFindForward", + "input_packet_indexes": [ + 0 + ] + } + ], + "expect": { + "action_outcomes": [ + { + "after_step": 0, + "kind": "movement", + "position": { + "line": 1, + "byte_column": 2 + }, + "complete": true, + "successful_steps": 1, + "effective_descriptor": "f" + } + ], + "final_buffer": [ + "aha" + ], + "final_position": { + "line": 1, + "byte_column": 2 + }, + "final_selection": { + "active": false, + "kind": "none", + "anchor": null, + "focus": null, + "option": "inclusive" + }, + "state_snapshots": [ + { + "after_step": 0, + "state": { + "temporary_overlays": [] + }, + "retained_fields": [], + "cleared_fields": [] + } + ], + "overlay_plans": [ + { + "after_step": 0, + "operation": "create", + "group": "CleverFCursor", + "identity": "cursor-1", + "window": "window-1", + "positions": [ + { + "line": 1, + "byte_column": 1 + } + ], + "priority": "high" + }, + { + "after_step": 0, + "operation": "create", + "group": "CleverFDirect", + "identity": "direct-1", + "window": "window-1", + "positions": [ + { + "line": 1, + "byte_column": 2 + }, + { + "line": 1, + "byte_column": 3 + } + ], + "priority": "ordinary" + }, + { + "after_step": 0, + "operation": "remove", + "group": "CleverFCursor", + "identity": "cursor-1", + "window": "window-1" + }, + { + "after_step": 0, + "operation": "remove", + "group": "CleverFDirect", + "identity": "direct-1", + "window": "window-1" + } + ], + "timer_operations": [], + "prompts": [ + "clever-f: " + ], + "redraws": [ + { + "after_step": 0, + "kind": "screen" + }, + { + "after_step": 0, + "kind": "screen" + }, + { + "after_step": 0, + "kind": "full" + } + ], + "diagnostics": [], + "host_operations": [ + { + "after_step": 0, + "operation": "hide_cursor_presentation" + }, + { + "after_step": 0, + "operation": "read_input" + }, + { + "after_step": 0, + "operation": "apply_cursor", + "position": { + "line": 1, + "byte_column": 2 + } + }, + { + "after_step": 0, + "operation": "restore_cursor_presentation" + } + ] + } + }, + { + "id": "SCN-0702-TEMP-CANCEL", + "title": "Escape releases all temporary feedback", + "source_refs": [ + "7.2", + "7.5", + "12.3", + "12.4" + ], + "requirements": [ + "CF-0702-012", + "CF-0702-013", + "CF-1204-011", + "CF-0702-007", + "CF-0705-001", + "CF-0705-002", + "CF-1203-003" + ], + "given": { + "buffer": { + "lines": [ + "aha" + ] + }, + "effective_encoding": "utf-8", + "cursor": { + "line": 1, + "byte_column": 1 + }, + "mode": "n", + "selection": { + "active": false, + "kind": "none", + "anchor": null, + "focus": null, + "option": "inclusive" + }, + "pending_operator": null, + "count": null, + "configuration": { + "mark_char": false, + "mark_cursor": true, + "mark_direct": true, + "show_prompt": true, + "highlight_timeout_ms": 0, + "hide_cursor_on_cmdline": true + }, + "input_packets": [ + { + "kind": "special_key", + "name": "Escape", + "bytes": [ + 27 + ] + } + ], + "time_values_ms": [], + "events": [], + "state": { + "contexts": {}, + "last_input_context": null, + "moved_forward": false, + "moved_forward_initialized": false, + "migemo_cache": [], + "repeat_timestamp_ms": 0, + "highlight_timer": null, + "target_overlays": [], + "temporary_overlays": [], + "finalizers": [] + }, + "host": { + "macro_register": null, + "fold_open_policy": [], + "closed_fold_levels": 0, + "timer_support": true, + "cmdline_cursor_support": true + } + }, + "steps": [ + { + "operation": "action", + "action": "StartFindForward", + "input_packet_indexes": [ + 0 + ] + } + ], + "expect": { + "action_outcomes": [ + { + "after_step": 0, + "kind": "escape", + "position": { + "line": 1, + "byte_column": 1 + }, + "complete": null, + "successful_steps": 0, + "effective_descriptor": null + } + ], + "final_buffer": [ + "aha" + ], + "final_position": { + "line": 1, + "byte_column": 1 + }, + "final_selection": { + "active": false, + "kind": "none", + "anchor": null, + "focus": null, + "option": "inclusive" + }, + "state_snapshots": [ + { + "after_step": 0, + "state": { + "contexts": { + "n": { + "previous_descriptor": "f", + "previous_landing": null, + "first_move": true, + "previous_target": null + } + }, + "temporary_overlays": [] + }, + "retained_fields": [ + "previous_descriptor", + "first_move" + ], + "cleared_fields": [] + } + ], + "overlay_plans": [ + { + "after_step": 0, + "operation": "create", + "group": "CleverFCursor", + "identity": "cursor-1", + "window": "window-1", + "positions": [ + { + "line": 1, + "byte_column": 1 + } + ], + "priority": "high" + }, + { + "after_step": 0, + "operation": "create", + "group": "CleverFDirect", + "identity": "direct-1", + "window": "window-1", + "positions": [ + { + "line": 1, + "byte_column": 2 + }, + { + "line": 1, + "byte_column": 3 + } + ], + "priority": "ordinary" + }, + { + "after_step": 0, + "operation": "remove", + "group": "CleverFCursor", + "identity": "cursor-1", + "window": "window-1" + }, + { + "after_step": 0, + "operation": "remove", + "group": "CleverFDirect", + "identity": "direct-1", + "window": "window-1" + } + ], + "timer_operations": [], + "prompts": [ + "clever-f: " + ], + "redraws": [ + { + "after_step": 0, + "kind": "screen" + }, + { + "after_step": 0, + "kind": "screen" + } + ], + "diagnostics": [], + "host_operations": [ + { + "after_step": 0, + "operation": "hide_cursor_presentation" + }, + { + "after_step": 0, + "operation": "read_input" + }, + { + "after_step": 0, + "operation": "restore_cursor_presentation" + } + ] + } + }, + { + "id": "SCN-0702-TEMP-INPUT-ERROR", + "title": "Input error releases all temporary feedback", + "source_refs": [ + "7.2", + "7.5", + "12.3", + "12.4" + ], + "requirements": [ + "CF-0702-012", + "CF-0702-013", + "CF-1204-011", + "CF-0507-006" + ], + "given": { + "buffer": { + "lines": [ + "aha" + ] + }, + "effective_encoding": "utf-8", + "cursor": { + "line": 1, + "byte_column": 1 + }, + "mode": "n", + "selection": { + "active": false, + "kind": "none", + "anchor": null, + "focus": null, + "option": "inclusive" + }, + "pending_operator": null, + "count": null, + "configuration": { + "mark_char": false, + "mark_cursor": true, + "mark_direct": true, + "show_prompt": true, + "highlight_timeout_ms": 0, + "hide_cursor_on_cmdline": true + }, + "input_packets": [ + { + "kind": "error", + "message": "input failed" + } + ], + "time_values_ms": [], + "events": [], + "state": { + "contexts": {}, + "last_input_context": null, + "moved_forward": false, + "moved_forward_initialized": false, + "migemo_cache": [], + "repeat_timestamp_ms": 0, + "highlight_timer": null, + "target_overlays": [], + "temporary_overlays": [], + "finalizers": [] + }, + "host": { + "macro_register": null, + "fold_open_policy": [], + "closed_fold_levels": 0, + "timer_support": true, + "cmdline_cursor_support": true + } + }, + "steps": [ + { + "operation": "action", + "action": "StartFindForward", + "input_packet_indexes": [ + 0 + ] + } + ], + "expect": { + "action_outcomes": [ + { + "after_step": 0, + "kind": "error", + "position": { + "line": 1, + "byte_column": 1 + }, + "complete": null, + "successful_steps": 0, + "effective_descriptor": null + } + ], + "final_buffer": [ + "aha" + ], + "final_position": { + "line": 1, + "byte_column": 1 + }, + "final_selection": { + "active": false, + "kind": "none", + "anchor": null, + "focus": null, + "option": "inclusive" + }, + "state_snapshots": [ + { + "after_step": 0, + "state": { + "contexts": { + "n": { + "previous_descriptor": "f", + "previous_landing": null, + "first_move": true, + "previous_target": null + } + }, + "temporary_overlays": [] + }, + "retained_fields": [ + "previous_descriptor", + "first_move" + ], + "cleared_fields": [] + } + ], + "overlay_plans": [ + { + "after_step": 0, + "operation": "create", + "group": "CleverFCursor", + "identity": "cursor-1", + "window": "window-1", + "positions": [ + { + "line": 1, + "byte_column": 1 + } + ], + "priority": "high" + }, + { + "after_step": 0, + "operation": "create", + "group": "CleverFDirect", + "identity": "direct-1", + "window": "window-1", + "positions": [ + { + "line": 1, + "byte_column": 2 + }, + { + "line": 1, + "byte_column": 3 + } + ], + "priority": "ordinary" + }, + { + "after_step": 0, + "operation": "remove", + "group": "CleverFCursor", + "identity": "cursor-1", + "window": "window-1" + }, + { + "after_step": 0, + "operation": "remove", + "group": "CleverFDirect", + "identity": "direct-1", + "window": "window-1" + } + ], + "timer_operations": [], + "prompts": [ + "clever-f: " + ], + "redraws": [ + { + "after_step": 0, + "kind": "screen" + }, + { + "after_step": 0, + "kind": "screen" + } + ], + "diagnostics": [ + { + "after_step": 0, + "level": "error", + "text": "input failed" + } + ], + "host_operations": [ + { + "after_step": 0, + "operation": "hide_cursor_presentation" + }, + { + "after_step": 0, + "operation": "read_input" + }, + { + "after_step": 0, + "operation": "restore_cursor_presentation" + } + ] + } + }, + { + "id": "SCN-0702-TEMP-UNMATCHED", + "title": "Unmatched target releases temporary feedback and retains persistent feedback", + "source_refs": [ + "7.2", + "12.3", + "14.4" + ], + "requirements": [ + "CF-0702-012", + "CF-0702-013", + "CF-1203-003", + "CF-1404-003" + ], + "given": { + "buffer": { + "lines": [ + "abc" + ] + }, + "effective_encoding": "utf-8", + "cursor": { + "line": 1, + "byte_column": 1 + }, + "mode": "n", + "selection": { + "active": false, + "kind": "none", + "anchor": null, + "focus": null, + "option": "inclusive" + }, + "pending_operator": null, + "count": null, + "configuration": { + "mark_char": true, + "mark_cursor": true, + "mark_direct": true, + "show_prompt": true, + "highlight_timeout_ms": 0, + "hide_cursor_on_cmdline": true + }, + "input_packets": [ + { + "kind": "text", + "text": "z" + } + ], + "time_values_ms": [], + "events": [], + "state": { + "contexts": {}, + "last_input_context": null, + "moved_forward": false, + "moved_forward_initialized": false, + "migemo_cache": [], + "repeat_timestamp_ms": 0, + "highlight_timer": null, + "target_overlays": [], + "temporary_overlays": [], + "finalizers": [] + }, + "host": { + "macro_register": null, + "fold_open_policy": [], + "closed_fold_levels": 0, + "timer_support": true, + "cmdline_cursor_support": true + } + }, + "steps": [ + { + "operation": "action", + "action": "StartFindForward", + "input_packet_indexes": [ + 0 + ] + } + ], + "expect": { + "action_outcomes": [ + { + "after_step": 0, + "kind": "failed_search", + "position": { + "line": 1, + "byte_column": 1 + }, + "complete": false, + "successful_steps": 0, + "effective_descriptor": "f" + } + ], + "final_buffer": [ + "abc" + ], + "final_position": { + "line": 1, + "byte_column": 1 + }, + "final_selection": { + "active": false, + "kind": "none", + "anchor": null, + "focus": null, + "option": "inclusive" + }, + "state_snapshots": [ + { + "after_step": 0, + "state": { + "contexts": { + "n": { + "previous_descriptor": "f", + "previous_landing": null, + "first_move": true, + "previous_target": { + "kind": "character", + "value": "z", + "first_code": 122 + } + } + }, + "last_input_context": "n", + "temporary_overlays": [], + "target_overlays": [ + "char-1" + ], + "finalizers": [ + "finalizer-1" + ] + }, + "retained_fields": [ + "previous_landing", + "first_move", + "target_overlays", + "finalizers" + ], + "cleared_fields": [] + } + ], + "overlay_plans": [ + { + "after_step": 0, + "operation": "create", + "group": "CleverFCursor", + "identity": "cursor-1", + "window": "window-1", + "positions": [ + { + "line": 1, + "byte_column": 1 + } + ], + "priority": "high" + }, + { + "after_step": 0, + "operation": "create", + "group": "CleverFDirect", + "identity": "direct-1", + "window": "window-1", + "positions": [ + { + "line": 1, + "byte_column": 2 + }, + { + "line": 1, + "byte_column": 3 + } + ], + "priority": "ordinary" + }, + { + "after_step": 0, + "operation": "create", + "group": "CleverFChar", + "identity": "char-1", + "window": "window-1", + "anchor_line": 1, + "priority": "high", + "descriptor": "f", + "target_plan": "literal-sensitive-z" + }, + { + "after_step": 0, + "operation": "remove", + "group": "CleverFCursor", + "identity": "cursor-1", + "window": "window-1" + }, + { + "after_step": 0, + "operation": "remove", + "group": "CleverFDirect", + "identity": "direct-1", + "window": "window-1" + } + ], + "timer_operations": [], + "prompts": [ + "clever-f: " + ], + "redraws": [ + { + "after_step": 0, + "kind": "screen" + }, + { + "after_step": 0, + "kind": "screen" + }, + { + "after_step": 0, + "kind": "full" + } + ], + "diagnostics": [], + "host_operations": [ + { + "after_step": 0, + "operation": "hide_cursor_presentation" + }, + { + "after_step": 0, + "operation": "read_input" + }, + { + "after_step": 0, + "operation": "register_finalizer", + "identity": "finalizer-1" + }, + { + "after_step": 0, + "operation": "restore_cursor_presentation" + } + ] + } + }, + { + "id": "SCN-0702-TEMP-SEARCH-ERROR", + "title": "Target-plan error releases all temporary feedback", + "source_refs": [ + "7.2", + "12.3", + "14.4" + ], + "requirements": [ + "CF-0702-012", + "CF-0702-013", + "CF-1203-003", + "CF-1404-003" + ], + "given": { + "buffer": { + "lines": [ + "abc" + ] + }, + "effective_encoding": "latin1", + "cursor": { + "line": 1, + "byte_column": 1 + }, + "mode": "n", + "selection": { + "active": false, + "kind": "none", + "anchor": null, + "focus": null, + "option": "inclusive" + }, + "pending_operator": null, + "count": null, + "configuration": { + "mark_char": false, + "mark_cursor": true, + "mark_direct": true, + "show_prompt": true, + "highlight_timeout_ms": 0, + "hide_cursor_on_cmdline": true, + "use_migemo": true + }, + "input_packets": [ + { + "kind": "text", + "text": "a" + } + ], + "time_values_ms": [], + "events": [], + "state": { + "contexts": {}, + "last_input_context": null, + "moved_forward": false, + "moved_forward_initialized": false, + "migemo_cache": [], + "repeat_timestamp_ms": 0, + "highlight_timer": null, + "target_overlays": [], + "temporary_overlays": [], + "finalizers": [] + }, + "host": { + "macro_register": null, + "fold_open_policy": [], + "closed_fold_levels": 0, + "timer_support": true, + "cmdline_cursor_support": true + } + }, + "steps": [ + { + "operation": "action", + "action": "StartFindForward", + "input_packet_indexes": [ + 0 + ] + } + ], + "expect": { + "action_outcomes": [ + { + "after_step": 0, + "kind": "error", + "position": { + "line": 1, + "byte_column": 1 + }, + "complete": null, + "successful_steps": 0, + "effective_descriptor": null + } + ], + "final_buffer": [ + "abc" + ], + "final_position": { + "line": 1, + "byte_column": 1 + }, + "final_selection": { + "active": false, + "kind": "none", + "anchor": null, + "focus": null, + "option": "inclusive" + }, + "state_snapshots": [ + { + "after_step": 0, + "state": { + "contexts": { + "n": { + "previous_descriptor": "f", + "previous_landing": null, + "first_move": true, + "previous_target": { + "kind": "character", + "value": "a", + "first_code": 97 + } + } + }, + "last_input_context": "n", + "temporary_overlays": [] + }, + "retained_fields": [], + "cleared_fields": [] + } + ], + "overlay_plans": [ + { + "after_step": 0, + "operation": "create", + "group": "CleverFCursor", + "identity": "cursor-1", + "window": "window-1", + "positions": [ + { + "line": 1, + "byte_column": 1 + } + ], + "priority": "high" + }, + { + "after_step": 0, + "operation": "create", + "group": "CleverFDirect", + "identity": "direct-1", + "window": "window-1", + "positions": [ + { + "line": 1, + "byte_column": 2 + }, + { + "line": 1, + "byte_column": 3 + } + ], + "priority": "ordinary" + }, + { + "after_step": 0, + "operation": "remove", + "group": "CleverFCursor", + "identity": "cursor-1", + "window": "window-1" + }, + { + "after_step": 0, + "operation": "remove", + "group": "CleverFDirect", + "identity": "direct-1", + "window": "window-1" + } + ], + "timer_operations": [], + "prompts": [ + "clever-f: " + ], + "redraws": [ + { + "after_step": 0, + "kind": "screen" + }, + { + "after_step": 0, + "kind": "screen" + } + ], + "diagnostics": [ + { + "after_step": 0, + "level": "error", + "text": "clever-f: Encoding 'latin1' is not supported. Migemo is disabled" + } + ], + "host_operations": [ + { + "after_step": 0, + "operation": "hide_cursor_presentation" + }, + { + "after_step": 0, + "operation": "read_input" + }, + { + "after_step": 0, + "operation": "restore_cursor_presentation" + } + ] + } + }, + { + "id": "SCN-0704-MISSING-PREVIOUS", + "title": "Missing previous input preserves cursor and reports the exact error", + "source_refs": [ + "7.4" + ], + "requirements": [ + "CF-0704-003" + ], + "given": { + "buffer": { + "lines": [ + "aha" + ] + }, + "effective_encoding": "utf-8", + "cursor": { + "line": 1, + "byte_column": 1 + }, + "mode": "n", + "selection": { + "active": false, + "kind": "none", + "anchor": null, + "focus": null, + "option": "inclusive" + }, + "pending_operator": null, + "count": null, + "configuration": { + "mark_char": false, + "mark_cursor": false, + "mark_direct": false, + "show_prompt": false, + "highlight_timeout_ms": 0 + }, + "input_packets": [ + { + "kind": "text", + "text": "\r" + } + ], + "time_values_ms": [], + "events": [], + "state": { + "contexts": {}, + "last_input_context": null, + "moved_forward": false, + "moved_forward_initialized": false, + "migemo_cache": [], + "repeat_timestamp_ms": 0, + "highlight_timer": null, + "target_overlays": [], + "temporary_overlays": [], + "finalizers": [] + }, + "host": { + "macro_register": null, + "fold_open_policy": [], + "closed_fold_levels": 0, + "timer_support": true, + "cmdline_cursor_support": true + } + }, + "steps": [ + { + "operation": "action", + "action": "StartFindForward", + "input_packet_indexes": [ + 0 + ] + } + ], + "expect": { + "action_outcomes": [ + { + "after_step": 0, + "kind": "empty", + "position": { + "line": 1, + "byte_column": 1 + }, + "complete": null, + "successful_steps": 0, + "effective_descriptor": null + } + ], + "final_buffer": [ + "aha" + ], + "final_position": { + "line": 1, + "byte_column": 1 + }, + "final_selection": { + "active": false, + "kind": "none", + "anchor": null, + "focus": null, + "option": "inclusive" + }, + "state_snapshots": [ + { + "after_step": 0, + "state": { + "contexts": { + "n": { + "previous_descriptor": "f", + "previous_landing": null, + "first_move": true, + "previous_target": null + } + }, + "last_input_context": null + }, + "retained_fields": [], + "cleared_fields": [] + } + ], + "overlay_plans": [], + "timer_operations": [], + "prompts": [], + "redraws": [], + "diagnostics": [ + { + "after_step": 0, + "level": "error", + "text": "Previous input not found." + } + ], + "host_operations": [] + } + }, + { + "id": "SCN-1004-PARTIAL-FAILURE", + "title": "Sequential count failure applies partial endpoint without history commit", + "source_refs": [ + "10.4", + "11.2", + "14.4" + ], + "requirements": [ + "CF-0601-002", + "CF-1004-003", + "CF-1102-003", + "CF-1102-004", + "CF-1404-002" + ], + "given": { + "buffer": { + "lines": [ + "ababa" + ] + }, + "effective_encoding": "utf-8", + "cursor": { + "line": 1, + "byte_column": 1 + }, + "mode": "n", + "selection": { + "active": false, + "kind": "none", + "anchor": null, + "focus": null, + "option": "inclusive" + }, + "pending_operator": null, + "count": 3, + "configuration": { + "mark_char": false, + "mark_cursor": false, + "mark_direct": false, + "show_prompt": false, + "highlight_timeout_ms": 0 + }, + "input_packets": [ + { + "kind": "text", + "text": "a" + } + ], + "time_values_ms": [], + "events": [], + "state": { + "contexts": {}, + "last_input_context": null, + "moved_forward": false, + "moved_forward_initialized": false, + "migemo_cache": [], + "repeat_timestamp_ms": 0, + "highlight_timer": null, + "target_overlays": [], + "temporary_overlays": [], + "finalizers": [] + }, + "host": { + "macro_register": null, + "fold_open_policy": [], + "closed_fold_levels": 0, + "timer_support": true, + "cmdline_cursor_support": true + } + }, + "steps": [ + { + "operation": "action", + "action": "StartFindForward", + "input_packet_indexes": [ + 0 + ], + "count": 3 + } + ], + "expect": { + "action_outcomes": [ + { + "after_step": 0, + "kind": "failed_search", + "position": { + "line": 1, + "byte_column": 5 + }, + "complete": false, + "successful_steps": 2, + "effective_descriptor": "f" + } + ], + "final_buffer": [ + "ababa" + ], + "final_position": { + "line": 1, + "byte_column": 5 + }, + "final_selection": { + "active": false, + "kind": "none", + "anchor": null, + "focus": null, + "option": "inclusive" + }, + "state_snapshots": [ + { + "after_step": 0, + "state": { + "contexts": { + "n": { + "previous_descriptor": "f", + "previous_landing": null, + "first_move": true, + "previous_target": { + "kind": "character", + "value": "a", + "first_code": 97 + } + } + }, + "last_input_context": "n" + }, + "retained_fields": [ + "previous_landing", + "first_move" + ], + "cleared_fields": [] + } + ], + "overlay_plans": [], + "timer_operations": [], + "prompts": [], + "redraws": [], + "diagnostics": [], + "host_operations": [ + { + "after_step": 0, + "operation": "apply_cursor", + "position": { + "line": 1, + "byte_column": 5 + } + } + ] + } + }, + { + "id": "SCN-1207-CURSOR-FINALIZE", + "title": "Unrelated CursorMoved performs full finalization", + "source_refs": [ + "12.7" + ], + "requirements": [ + "CF-1207-003", + "CF-1207-005", + "CF-1207-006", + "CF-1510-003", + "CF-0803-005", + "CF-1207-007" + ], + "given": { + "buffer": { + "lines": [ + "aha", + "xxx" + ] + }, + "effective_encoding": "utf-8", + "cursor": { + "line": 1, + "byte_column": 2 + }, + "mode": "n", + "selection": { + "active": false, + "kind": "none", + "anchor": null, + "focus": null, + "option": "inclusive" + }, + "pending_operator": null, + "count": null, + "configuration": { + "mark_char": false, + "mark_cursor": false, + "mark_direct": false, + "show_prompt": false, + "highlight_timeout_ms": 0 + }, + "input_packets": [], + "time_values_ms": [], + "events": [ + { + "name": "CursorMoved", + "cursor": { + "line": 1, + "byte_column": 1 + } + } + ], + "state": { + "contexts": { + "n": { + "previous_descriptor": "f", + "previous_landing": { + "line": 1, + "byte_column": 2 + }, + "first_move": false, + "previous_target": { + "kind": "character", + "value": "h", + "first_code": 104 + } + }, + "v": { + "previous_descriptor": "t", + "previous_landing": { + "line": 2, + "byte_column": 3 + }, + "first_move": true, + "previous_target": { + "kind": "character", + "value": "x", + "first_code": 120 + } + } + }, + "last_input_context": "n", + "moved_forward": true, + "moved_forward_initialized": true, + "migemo_cache": [ + "utf-8" + ], + "repeat_timestamp_ms": 77, + "highlight_timer": "timer-1", + "target_overlays": [ + "char-1" + ], + "temporary_overlays": [], + "finalizers": [ + "finalizer-1" + ] + }, + "host": { + "macro_register": null, + "fold_open_policy": [], + "closed_fold_levels": 0, + "timer_support": true, + "cmdline_cursor_support": true + } + }, + "steps": [ + { + "operation": "event", + "event_index": 0 + } + ], + "expect": { + "action_outcomes": [], + "final_buffer": [ + "aha", + "xxx" + ], + "final_position": { + "line": 1, + "byte_column": 1 + }, + "final_selection": { + "active": false, + "kind": "none", + "anchor": null, + "focus": null, + "option": "inclusive" + }, + "state_snapshots": [ + { + "after_step": 0, + "state": { + "contexts": { + "n": { + "previous_descriptor": "f", + "previous_landing": null, + "first_move": false, + "previous_target": { + "kind": "character", + "value": "h", + "first_code": 104 + } + }, + "v": { + "previous_descriptor": "t", + "previous_landing": null, + "first_move": true, + "previous_target": { + "kind": "character", + "value": "x", + "first_code": 120 + } + } + }, + "last_input_context": "n", + "moved_forward": false, + "moved_forward_initialized": true, + "migemo_cache": [ + "utf-8" + ], + "repeat_timestamp_ms": 77, + "highlight_timer": null, + "target_overlays": [], + "temporary_overlays": [], + "finalizers": [] + }, + "retained_fields": [ + "previous_descriptor", + "previous_target", + "first_move", + "last_input_context", + "migemo_cache", + "repeat_timestamp_ms", + "moved_forward_initialized" + ], + "cleared_fields": [ + "previous_landing", + "highlight_timer", + "target_overlays", + "finalizers", + "moved_forward" + ] + } + ], + "overlay_plans": [ + { + "after_step": 0, + "operation": "remove", + "group": "CleverFChar", + "identity": "char-1", + "window": "window-1" + } + ], + "timer_operations": [ + { + "after_step": 0, + "operation": "stop", + "identity": "timer-1" + } + ], + "prompts": [], + "redraws": [], + "diagnostics": [], + "host_operations": [ + { + "after_step": 0, + "operation": "remove_finalizer", + "identity": "finalizer-1" + } + ] + } + }, + { + "id": "SCN-1207-INSERT-FINALIZE", + "title": "InsertEnter performs full finalization", + "source_refs": [ + "12.7" + ], + "requirements": [ + "CF-1207-004", + "CF-1207-005", + "CF-1207-006", + "CF-1510-003" + ], + "given": { + "buffer": { + "lines": [ + "aha", + "xxx" + ] + }, + "effective_encoding": "utf-8", + "cursor": { + "line": 1, + "byte_column": 2 + }, + "mode": "n", + "selection": { + "active": false, + "kind": "none", + "anchor": null, + "focus": null, + "option": "inclusive" + }, + "pending_operator": null, + "count": null, + "configuration": { + "mark_char": false, + "mark_cursor": false, + "mark_direct": false, + "show_prompt": false, + "highlight_timeout_ms": 0 + }, + "input_packets": [], + "time_values_ms": [], + "events": [ + { + "name": "InsertEnter" + } + ], + "state": { + "contexts": { + "n": { + "previous_descriptor": "f", + "previous_landing": { + "line": 1, + "byte_column": 2 + }, + "first_move": false, + "previous_target": { + "kind": "character", + "value": "h", + "first_code": 104 + } + }, + "v": { + "previous_descriptor": "t", + "previous_landing": { + "line": 2, + "byte_column": 3 + }, + "first_move": true, + "previous_target": { + "kind": "character", + "value": "x", + "first_code": 120 + } + } + }, + "last_input_context": "n", + "moved_forward": true, + "moved_forward_initialized": true, + "migemo_cache": [ + "utf-8" + ], + "repeat_timestamp_ms": 77, + "highlight_timer": "timer-1", + "target_overlays": [ + "char-1" + ], + "temporary_overlays": [], + "finalizers": [ + "finalizer-1" + ] + }, + "host": { + "macro_register": null, + "fold_open_policy": [], + "closed_fold_levels": 0, + "timer_support": true, + "cmdline_cursor_support": true + } + }, + "steps": [ + { + "operation": "event", + "event_index": 0 + } + ], + "expect": { + "action_outcomes": [], + "final_buffer": [ + "aha", + "xxx" + ], + "final_position": { + "line": 1, + "byte_column": 2 + }, + "final_selection": { + "active": false, + "kind": "none", + "anchor": null, + "focus": null, + "option": "inclusive" + }, + "state_snapshots": [ + { + "after_step": 0, + "state": { + "contexts": { + "n": { + "previous_descriptor": "f", + "previous_landing": null, + "first_move": false, + "previous_target": { + "kind": "character", + "value": "h", + "first_code": 104 + } + }, + "v": { + "previous_descriptor": "t", + "previous_landing": null, + "first_move": true, + "previous_target": { + "kind": "character", + "value": "x", + "first_code": 120 + } + } + }, + "last_input_context": "n", + "moved_forward": false, + "moved_forward_initialized": true, + "migemo_cache": [ + "utf-8" + ], + "repeat_timestamp_ms": 77, + "highlight_timer": null, + "target_overlays": [], + "temporary_overlays": [], + "finalizers": [] + }, + "retained_fields": [ + "previous_descriptor", + "previous_target", + "first_move", + "last_input_context", + "migemo_cache", + "repeat_timestamp_ms", + "moved_forward_initialized" + ], + "cleared_fields": [ + "previous_landing", + "highlight_timer", + "target_overlays", + "finalizers", + "moved_forward" + ] + } + ], + "overlay_plans": [ + { + "after_step": 0, + "operation": "remove", + "group": "CleverFChar", + "identity": "char-1", + "window": "window-1" + } + ], + "timer_operations": [ + { + "after_step": 0, + "operation": "stop", + "identity": "timer-1" + } + ], + "prompts": [], + "redraws": [], + "diagnostics": [], + "host_operations": [ + { + "after_step": 0, + "operation": "remove_finalizer", + "identity": "finalizer-1" + } + ] + } + }, + { + "id": "SCN-1207-TEXT-FINALIZE", + "title": "TextChanged performs full finalization", + "source_refs": [ + "12.7" + ], + "requirements": [ + "CF-1207-004", + "CF-1207-005", + "CF-1207-006", + "CF-1510-003" + ], + "given": { + "buffer": { + "lines": [ + "aha", + "xxx" + ] + }, + "effective_encoding": "utf-8", + "cursor": { + "line": 1, + "byte_column": 2 + }, + "mode": "n", + "selection": { + "active": false, + "kind": "none", + "anchor": null, + "focus": null, + "option": "inclusive" + }, + "pending_operator": null, + "count": null, + "configuration": { + "mark_char": false, + "mark_cursor": false, + "mark_direct": false, + "show_prompt": false, + "highlight_timeout_ms": 0 + }, + "input_packets": [], + "time_values_ms": [], + "events": [ + { + "name": "TextChanged", + "buffer_lines": [ + "ahz", + "xxx" + ] + } + ], + "state": { + "contexts": { + "n": { + "previous_descriptor": "f", + "previous_landing": { + "line": 1, + "byte_column": 2 + }, + "first_move": false, + "previous_target": { + "kind": "character", + "value": "h", + "first_code": 104 + } + }, + "v": { + "previous_descriptor": "t", + "previous_landing": { + "line": 2, + "byte_column": 3 + }, + "first_move": true, + "previous_target": { + "kind": "character", + "value": "x", + "first_code": 120 + } + } + }, + "last_input_context": "n", + "moved_forward": true, + "moved_forward_initialized": true, + "migemo_cache": [ + "utf-8" + ], + "repeat_timestamp_ms": 77, + "highlight_timer": "timer-1", + "target_overlays": [ + "char-1" + ], + "temporary_overlays": [], + "finalizers": [ + "finalizer-1" + ] + }, + "host": { + "macro_register": null, + "fold_open_policy": [], + "closed_fold_levels": 0, + "timer_support": true, + "cmdline_cursor_support": true + } + }, + "steps": [ + { + "operation": "event", + "event_index": 0 + } + ], + "expect": { + "action_outcomes": [], + "final_buffer": [ + "ahz", + "xxx" + ], + "final_position": { + "line": 1, + "byte_column": 2 + }, + "final_selection": { + "active": false, + "kind": "none", + "anchor": null, + "focus": null, + "option": "inclusive" + }, + "state_snapshots": [ + { + "after_step": 0, + "state": { + "contexts": { + "n": { + "previous_descriptor": "f", + "previous_landing": null, + "first_move": false, + "previous_target": { + "kind": "character", + "value": "h", + "first_code": 104 + } + }, + "v": { + "previous_descriptor": "t", + "previous_landing": null, + "first_move": true, + "previous_target": { + "kind": "character", + "value": "x", + "first_code": 120 + } + } + }, + "last_input_context": "n", + "moved_forward": false, + "moved_forward_initialized": true, + "migemo_cache": [ + "utf-8" + ], + "repeat_timestamp_ms": 77, + "highlight_timer": null, + "target_overlays": [], + "temporary_overlays": [], + "finalizers": [] + }, + "retained_fields": [ + "previous_descriptor", + "previous_target", + "first_move", + "last_input_context", + "migemo_cache", + "repeat_timestamp_ms", + "moved_forward_initialized" + ], + "cleared_fields": [ + "previous_landing", + "highlight_timer", + "target_overlays", + "finalizers", + "moved_forward" + ] + } + ], + "overlay_plans": [ + { + "after_step": 0, + "operation": "remove", + "group": "CleverFChar", + "identity": "char-1", + "window": "window-1" + } + ], + "timer_operations": [ + { + "after_step": 0, + "operation": "stop", + "identity": "timer-1" + } + ], + "prompts": [], + "redraws": [], + "diagnostics": [], + "host_operations": [ + { + "after_step": 0, + "operation": "remove_finalizer", + "identity": "finalizer-1" + } + ] + } + }, + { + "id": "SCN-1207-EAGER-WINDOWS", + "title": "Each eager window event removes feedback and preserves history", + "source_refs": [ + "12.7" + ], + "requirements": [ + "CF-0512-002", + "CF-0512-003", + "CF-1207-008", + "CF-1207-009" + ], + "given": { + "buffer": { + "lines": [ + "aha", + "xxx" + ] + }, + "effective_encoding": "utf-8", + "cursor": { + "line": 1, + "byte_column": 2 + }, + "mode": "n", + "selection": { + "active": false, + "kind": "none", + "anchor": null, + "focus": null, + "option": "inclusive" + }, + "pending_operator": null, + "count": null, + "configuration": { + "mark_char": true, + "mark_cursor": false, + "mark_direct": false, + "show_prompt": false, + "highlight_timeout_ms": 0, + "clean_labels_eagerly": true + }, + "input_packets": [], + "time_values_ms": [], + "events": [ + { + "name": "WinEnter" + }, + { + "name": "WinLeave" + }, + { + "name": "CmdwinLeave" + } + ], + "state": { + "contexts": { + "n": { + "previous_descriptor": "f", + "previous_landing": { + "line": 1, + "byte_column": 2 + }, + "first_move": false, + "previous_target": { + "kind": "character", + "value": "h", + "first_code": 104 + } + }, + "v": { + "previous_descriptor": "t", + "previous_landing": { + "line": 2, + "byte_column": 3 + }, + "first_move": true, + "previous_target": { + "kind": "character", + "value": "x", + "first_code": 120 + } + } + }, + "last_input_context": "n", + "moved_forward": true, + "moved_forward_initialized": true, + "migemo_cache": [ + "utf-8" + ], + "repeat_timestamp_ms": 77, + "highlight_timer": "timer-1", + "target_overlays": [ + "char-1" + ], + "temporary_overlays": [], + "finalizers": [ + "finalizer-1" + ] + }, + "host": { + "macro_register": null, + "fold_open_policy": [], + "closed_fold_levels": 0, + "timer_support": true, + "cmdline_cursor_support": true + } + }, + "steps": [ + { + "operation": "event", + "event_index": 0 + }, + { + "operation": "set_state", + "state": { + "contexts": { + "n": { + "previous_descriptor": "f", + "previous_landing": { + "line": 1, + "byte_column": 2 + }, + "first_move": false, + "previous_target": { + "kind": "character", + "value": "h", + "first_code": 104 + } + }, + "v": { + "previous_descriptor": "t", + "previous_landing": { + "line": 2, + "byte_column": 3 + }, + "first_move": true, + "previous_target": { + "kind": "character", + "value": "x", + "first_code": 120 + } + } + }, + "last_input_context": "n", + "moved_forward": true, + "moved_forward_initialized": true, + "migemo_cache": [ + "utf-8" + ], + "repeat_timestamp_ms": 77, + "highlight_timer": "timer-2", + "target_overlays": [ + "char-2" + ], + "temporary_overlays": [], + "finalizers": [ + "finalizer-1" + ] + } + }, + { + "operation": "event", + "event_index": 1 + }, + { + "operation": "set_state", + "state": { + "contexts": { + "n": { + "previous_descriptor": "f", + "previous_landing": { + "line": 1, + "byte_column": 2 + }, + "first_move": false, + "previous_target": { + "kind": "character", + "value": "h", + "first_code": 104 + } + }, + "v": { + "previous_descriptor": "t", + "previous_landing": { + "line": 2, + "byte_column": 3 + }, + "first_move": true, + "previous_target": { + "kind": "character", + "value": "x", + "first_code": 120 + } + } + }, + "last_input_context": "n", + "moved_forward": true, + "moved_forward_initialized": true, + "migemo_cache": [ + "utf-8" + ], + "repeat_timestamp_ms": 77, + "highlight_timer": "timer-3", + "target_overlays": [ + "char-3" + ], + "temporary_overlays": [], + "finalizers": [ + "finalizer-1" + ] + } + }, + { + "operation": "event", + "event_index": 2 + } + ], + "expect": { + "action_outcomes": [], + "final_buffer": [ + "aha", + "xxx" + ], + "final_position": { + "line": 1, + "byte_column": 2 + }, + "final_selection": { + "active": false, + "kind": "none", + "anchor": null, + "focus": null, + "option": "inclusive" + }, + "state_snapshots": [ + { + "after_step": 0, + "state": { + "contexts": { + "n": { + "previous_descriptor": "f", + "previous_landing": { + "line": 1, + "byte_column": 2 + }, + "first_move": false, + "previous_target": { + "kind": "character", + "value": "h", + "first_code": 104 + } + }, + "v": { + "previous_descriptor": "t", + "previous_landing": { + "line": 2, + "byte_column": 3 + }, + "first_move": true, + "previous_target": { + "kind": "character", + "value": "x", + "first_code": 120 + } + } + }, + "last_input_context": "n", + "moved_forward": true, + "migemo_cache": [ + "utf-8" + ], + "highlight_timer": null, + "target_overlays": [], + "finalizers": [ + "finalizer-1" + ] + }, + "retained_fields": [ + "previous_descriptor", + "previous_target", + "previous_landing", + "first_move", + "last_input_context", + "moved_forward", + "migemo_cache", + "finalizers" + ], + "cleared_fields": [ + "highlight_timer", + "target_overlays" + ] + }, + { + "after_step": 2, + "state": { + "contexts": { + "n": { + "previous_descriptor": "f", + "previous_landing": { + "line": 1, + "byte_column": 2 + }, + "first_move": false, + "previous_target": { + "kind": "character", + "value": "h", + "first_code": 104 + } + }, + "v": { + "previous_descriptor": "t", + "previous_landing": { + "line": 2, + "byte_column": 3 + }, + "first_move": true, + "previous_target": { + "kind": "character", + "value": "x", + "first_code": 120 + } + } + }, + "last_input_context": "n", + "moved_forward": true, + "migemo_cache": [ + "utf-8" + ], + "highlight_timer": null, + "target_overlays": [], + "finalizers": [ + "finalizer-1" + ] + }, + "retained_fields": [ + "previous_descriptor", + "previous_target", + "previous_landing", + "first_move", + "last_input_context", + "moved_forward", + "migemo_cache", + "finalizers" + ], + "cleared_fields": [ + "highlight_timer", + "target_overlays" + ] + }, + { + "after_step": 4, + "state": { + "contexts": { + "n": { + "previous_descriptor": "f", + "previous_landing": { + "line": 1, + "byte_column": 2 + }, + "first_move": false, + "previous_target": { + "kind": "character", + "value": "h", + "first_code": 104 + } + }, + "v": { + "previous_descriptor": "t", + "previous_landing": { + "line": 2, + "byte_column": 3 + }, + "first_move": true, + "previous_target": { + "kind": "character", + "value": "x", + "first_code": 120 + } + } + }, + "last_input_context": "n", + "moved_forward": true, + "migemo_cache": [ + "utf-8" + ], + "highlight_timer": null, + "target_overlays": [], + "finalizers": [ + "finalizer-1" + ] + }, + "retained_fields": [ + "previous_descriptor", + "previous_target", + "previous_landing", + "first_move", + "last_input_context", + "moved_forward", + "migemo_cache", + "finalizers" + ], + "cleared_fields": [ + "highlight_timer", + "target_overlays" + ] + } + ], + "overlay_plans": [ + { + "after_step": 0, + "operation": "remove", + "group": "CleverFChar", + "identity": "char-1", + "window": "window-1" + }, + { + "after_step": 2, + "operation": "remove", + "group": "CleverFChar", + "identity": "char-2", + "window": "window-1" + }, + { + "after_step": 4, + "operation": "remove", + "group": "CleverFChar", + "identity": "char-3", + "window": "window-1" + } + ], + "timer_operations": [ + { + "after_step": 0, + "operation": "stop", + "identity": "timer-1" + }, + { + "after_step": 2, + "operation": "stop", + "identity": "timer-2" + }, + { + "after_step": 4, + "operation": "stop", + "identity": "timer-3" + } + ], + "prompts": [], + "redraws": [], + "diagnostics": [], + "host_operations": [] + } + }, + { + "id": "SCN-1208-TIMER-IDENTITY", + "title": "Only the current replacement timer can remove feedback", + "source_refs": [ + "12.8" + ], + "requirements": [ + "CF-0602-005", + "CF-1208-002", + "CF-1208-003", + "CF-1208-006" + ], + "given": { + "buffer": { + "lines": [ + "aaaaa" + ] + }, + "effective_encoding": "utf-8", + "cursor": { + "line": 1, + "byte_column": 2 + }, + "mode": "n", + "selection": { + "active": false, + "kind": "none", + "anchor": null, + "focus": null, + "option": "inclusive" + }, + "pending_operator": null, + "count": null, + "configuration": { + "mark_char": true, + "mark_cursor": false, + "mark_direct": false, + "show_prompt": false, + "highlight_timeout_ms": 50 + }, + "input_packets": [], + "time_values_ms": [], + "events": [], + "state": { + "contexts": { + "n": { + "previous_descriptor": "f", + "previous_landing": { + "line": 1, + "byte_column": 2 + }, + "first_move": false, + "previous_target": { + "kind": "character", + "value": "a", + "first_code": 97 + } + } + }, + "last_input_context": "n", + "moved_forward": true, + "moved_forward_initialized": true, + "migemo_cache": [], + "repeat_timestamp_ms": 0, + "highlight_timer": "timer-1", + "target_overlays": [ + "char-1" + ], + "temporary_overlays": [], + "finalizers": [ + "finalizer-1" + ] + }, + "host": { + "macro_register": null, + "fold_open_policy": [], + "closed_fold_levels": 0, + "timer_support": true, + "cmdline_cursor_support": true + } + }, + "steps": [ + { + "operation": "action", + "action": "StartFindForward" + }, + { + "operation": "timer_callback", + "timer_identity": "timer-1" + }, + { + "operation": "timer_callback", + "timer_identity": "timer-2" + } + ], + "expect": { + "action_outcomes": [ + { + "after_step": 0, + "kind": "movement", + "position": { + "line": 1, + "byte_column": 3 + }, + "complete": true, + "successful_steps": 1, + "effective_descriptor": "f" + } + ], + "final_buffer": [ + "aaaaa" + ], + "final_position": { + "line": 1, + "byte_column": 3 + }, + "final_selection": { + "active": false, + "kind": "none", + "anchor": null, + "focus": null, + "option": "inclusive" + }, + "state_snapshots": [ + { + "after_step": 1, + "state": { + "highlight_timer": "timer-2", + "target_overlays": [ + "char-1" + ] + }, + "retained_fields": [ + "highlight_timer", + "target_overlays" + ], + "cleared_fields": [] + }, + { + "after_step": 2, + "state": { + "contexts": { + "n": { + "previous_descriptor": "f", + "previous_landing": { + "line": 1, + "byte_column": 3 + }, + "first_move": false, + "previous_target": { + "kind": "character", + "value": "a", + "first_code": 97 + } + } + }, + "highlight_timer": null, + "target_overlays": [] + }, + "retained_fields": [ + "previous_descriptor", + "previous_target", + "previous_landing", + "first_move" + ], + "cleared_fields": [ + "highlight_timer", + "target_overlays" + ] + } + ], + "overlay_plans": [ + { + "after_step": 0, + "operation": "preserve", + "group": "CleverFChar", + "identity": "char-1", + "window": "window-1", + "anchor_line": 1 + }, + { + "after_step": 2, + "operation": "remove", + "group": "CleverFChar", + "identity": "char-1", + "window": "window-1" + } + ], + "timer_operations": [ + { + "after_step": 0, + "operation": "stop", + "identity": "timer-1" + }, + { + "after_step": 0, + "operation": "start", + "identity": "timer-2", + "delay_ms": 50 + }, + { + "after_step": 1, + "operation": "fire", + "identity": "timer-1" + }, + { + "after_step": 1, + "operation": "ignore", + "identity": "timer-1" + }, + { + "after_step": 2, + "operation": "fire", + "identity": "timer-2" + }, + { + "after_step": 2, + "operation": "set_inactive", + "identity": "timer-2" + } + ], + "prompts": [], + "redraws": [], + "diagnostics": [], + "host_operations": [] + } + }, + { + "id": "SCN-1401-PUBLIC-RESET", + "title": "Public Reset clears and retains the exact field sets", + "source_refs": [ + "7.4", + "13.3", + "14.1" + ], + "requirements": [ + "CF-0400-003", + "CF-0601-005", + "CF-0704-004", + "CF-0803-007", + "CF-1303-005", + "CF-1401-001", + "CF-1401-002", + "CF-1401-003", + "CF-1401-004", + "CF-1401-005", + "CF-1401-006" + ], + "given": { + "buffer": { + "lines": [ + "ahaha" + ] + }, + "effective_encoding": "utf-8", + "cursor": { + "line": 1, + "byte_column": 2 + }, + "mode": "n", + "selection": { + "active": false, + "kind": "none", + "anchor": null, + "focus": null, + "option": "inclusive" + }, + "pending_operator": null, + "count": null, + "configuration": { + "mark_char": false, + "mark_cursor": false, + "mark_direct": false, + "show_prompt": false, + "highlight_timeout_ms": 0 + }, + "input_packets": [ + { + "kind": "text", + "text": "\r" + } + ], + "time_values_ms": [], + "events": [], + "state": { + "contexts": { + "n": { + "previous_descriptor": "f", + "previous_landing": { + "line": 1, + "byte_column": 2 + }, + "first_move": false, + "previous_target": { + "kind": "character", + "value": "h", + "first_code": 104 + } + }, + "v": { + "previous_descriptor": "t", + "previous_landing": { + "line": 2, + "byte_column": 3 + }, + "first_move": true, + "previous_target": { + "kind": "character", + "value": "x", + "first_code": 120 + } + } + }, + "last_input_context": "n", + "moved_forward": true, + "moved_forward_initialized": true, + "migemo_cache": [ + "utf-8" + ], + "repeat_timestamp_ms": 77, + "highlight_timer": "timer-1", + "target_overlays": [ + "char-1" + ], + "temporary_overlays": [], + "finalizers": [ + "finalizer-1" + ] + }, + "host": { + "macro_register": null, + "fold_open_policy": [], + "closed_fold_levels": 0, + "timer_support": true, + "cmdline_cursor_support": true + } + }, + "steps": [ + { + "operation": "action", + "action": "Reset" + }, + { + "operation": "action", + "action": "RepeatSameDirection" + }, + { + "operation": "action", + "action": "StartFindForward", + "input_packet_indexes": [ + 0 + ] + } + ], + "expect": { + "action_outcomes": [ + { + "after_step": 0, + "kind": "neutral", + "position": { + "line": 1, + "byte_column": 2 + }, + "complete": null, + "successful_steps": 0, + "effective_descriptor": null + }, + { + "after_step": 1, + "kind": "empty", + "position": { + "line": 1, + "byte_column": 2 + }, + "complete": null, + "successful_steps": 0, + "effective_descriptor": null + }, + { + "after_step": 2, + "kind": "movement", + "position": { + "line": 1, + "byte_column": 4 + }, + "complete": true, + "successful_steps": 1, + "effective_descriptor": "f" + } + ], + "final_buffer": [ + "ahaha" + ], + "final_position": { + "line": 1, + "byte_column": 4 + }, + "final_selection": { + "active": false, + "kind": "none", + "anchor": null, + "focus": null, + "option": "inclusive" + }, + "state_snapshots": [ + { + "after_step": 0, + "state": { + "contexts": { + "n": { + "previous_descriptor": null, + "previous_landing": null, + "first_move": null, + "previous_target": { + "kind": "character", + "value": "h", + "first_code": 104 + } + }, + "v": { + "previous_descriptor": null, + "previous_landing": null, + "first_move": null, + "previous_target": { + "kind": "character", + "value": "x", + "first_code": 120 + } + } + }, + "last_input_context": "n", + "moved_forward": true, + "moved_forward_initialized": true, + "migemo_cache": [], + "repeat_timestamp_ms": 0, + "highlight_timer": null, + "target_overlays": [], + "finalizers": [ + "finalizer-1" + ] + }, + "retained_fields": [ + "previous_target", + "last_input_context", + "moved_forward", + "moved_forward_initialized", + "finalizers" + ], + "cleared_fields": [ + "previous_descriptor", + "previous_landing", + "first_move", + "migemo_cache", + "repeat_timestamp_ms", + "highlight_timer", + "target_overlays" + ] + }, + { + "after_step": 2, + "state": { + "contexts": { + "n": { + "previous_descriptor": "f", + "previous_landing": { + "line": 1, + "byte_column": 4 + }, + "first_move": false, + "previous_target": { + "kind": "character", + "value": "h", + "first_code": 104 + } + }, + "v": { + "previous_descriptor": null, + "previous_landing": null, + "first_move": null, + "previous_target": { + "kind": "character", + "value": "x", + "first_code": 120 + } + } + }, + "last_input_context": "n", + "finalizers": [ + "finalizer-1" + ] + }, + "retained_fields": [], + "cleared_fields": [] + } + ], + "overlay_plans": [ + { + "after_step": 0, + "operation": "remove", + "group": "CleverFChar", + "identity": "char-1", + "window": "window-1" + } + ], + "timer_operations": [ + { + "after_step": 0, + "operation": "stop", + "identity": "timer-1" + } + ], + "prompts": [], + "redraws": [], + "diagnostics": [], + "host_operations": [ + { + "after_step": 2, + "operation": "read_input" + } + ] + } + }, + { + "id": "SCN-1402-DIAGNOSTIC-RESET", + "title": "Diagnostic full reset clears all public and diagnostic fields", + "source_refs": [ + "14.2" + ], + "requirements": [ + "CF-1402-001", + "CF-1402-002" + ], + "given": { + "buffer": { + "lines": [ + "aha", + "xxx" + ] + }, + "effective_encoding": "utf-8", + "cursor": { + "line": 1, + "byte_column": 2 + }, + "mode": "n", + "selection": { + "active": false, + "kind": "none", + "anchor": null, + "focus": null, + "option": "inclusive" + }, + "pending_operator": null, + "count": null, + "configuration": { + "mark_char": false, + "mark_cursor": false, + "mark_direct": false, + "show_prompt": false, + "highlight_timeout_ms": 0 + }, + "input_packets": [], + "time_values_ms": [], + "events": [], + "state": { + "contexts": { + "n": { + "previous_descriptor": "f", + "previous_landing": { + "line": 1, + "byte_column": 2 + }, + "first_move": false, + "previous_target": { + "kind": "character", + "value": "h", + "first_code": 104 + } + }, + "v": { + "previous_descriptor": "t", + "previous_landing": { + "line": 2, + "byte_column": 3 + }, + "first_move": true, + "previous_target": { + "kind": "character", + "value": "x", + "first_code": 120 + } + } + }, + "last_input_context": "n", + "moved_forward": true, + "moved_forward_initialized": true, + "migemo_cache": [ + "utf-8" + ], + "repeat_timestamp_ms": 77, + "highlight_timer": "timer-1", + "target_overlays": [ + "char-1" + ], + "temporary_overlays": [], + "finalizers": [ + "finalizer-1" + ] + }, + "host": { + "macro_register": null, + "fold_open_policy": [], + "closed_fold_levels": 0, + "timer_support": true, + "cmdline_cursor_support": true + } + }, + "steps": [ + { + "operation": "action", + "action": "DiagnosticFullReset" + } + ], + "expect": { + "action_outcomes": [ + { + "after_step": 0, + "kind": "neutral", + "position": { + "line": 1, + "byte_column": 2 + }, + "complete": null, + "successful_steps": 0, + "effective_descriptor": null + } + ], + "final_buffer": [ + "aha", + "xxx" + ], + "final_position": { + "line": 1, + "byte_column": 2 + }, + "final_selection": { + "active": false, + "kind": "none", + "anchor": null, + "focus": null, + "option": "inclusive" + }, + "state_snapshots": [ + { + "after_step": 0, + "state": { + "contexts": { + "n": { + "previous_descriptor": null, + "previous_landing": null, + "first_move": null, + "previous_target": null + }, + "v": { + "previous_descriptor": null, + "previous_landing": null, + "first_move": null, + "previous_target": null + } + }, + "last_input_context": null, + "moved_forward": false, + "moved_forward_initialized": false, + "migemo_cache": [], + "repeat_timestamp_ms": 0, + "highlight_timer": null, + "target_overlays": [], + "temporary_overlays": [], + "finalizers": [] + }, + "retained_fields": [], + "cleared_fields": [ + "previous_descriptor", + "previous_landing", + "first_move", + "previous_target", + "last_input_context", + "moved_forward", + "moved_forward_initialized", + "migemo_cache", + "repeat_timestamp_ms", + "highlight_timer", + "target_overlays", + "temporary_overlays", + "finalizers" + ] + } + ], + "overlay_plans": [ + { + "after_step": 0, + "operation": "remove", + "group": "CleverFChar", + "identity": "char-1", + "window": "window-1" + } + ], + "timer_operations": [ + { + "after_step": 0, + "operation": "stop", + "identity": "timer-1" + } + ], + "prompts": [], + "redraws": [], + "diagnostics": [], + "host_operations": [ + { + "after_step": 0, + "operation": "remove_finalizer", + "identity": "finalizer-1" + } + ] + } + } + ] +} |
