summaryrefslogtreecommitdiff
path: root/conformance/fixtures/transition-fixtures.json
diff options
context:
space:
mode:
Diffstat (limited to 'conformance/fixtures/transition-fixtures.json')
-rw-r--r--conformance/fixtures/transition-fixtures.json3214
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"
+ }
+ ]
+ }
+ }
+ ]
+}