From a89e744ed0e8c759caf041a580112365bbfe4303 Mon Sep 17 00:00:00 2001 From: radiohotline Date: Tue, 25 Aug 2026 16:33:56 +0300 Subject: escoria update --- .../fixtures/background_duplicate_suppression.esc | 3 +++ .../fixtures/background_duplicate_suppression.esc.uid | 1 + .../fixtures/block_scope_restores_after_break.esc | 8 ++++++++ .../fixtures/block_scope_restores_after_break.esc.uid | 1 + .../fixtures/break_two_exits_two_dialog_levels.esc | 14 ++++++++++++++ .../fixtures/break_two_exits_two_dialog_levels.esc.uid | 1 + .../fixtures/channel_interrupt_clears_queue.esc | 7 +++++++ .../fixtures/channel_interrupt_clears_queue.esc.uid | 1 + .../fixtures/channel_interrupt_isolation.esc | 9 +++++++++ .../fixtures/channel_interrupt_isolation.esc.uid | 1 + .../fixtures/channel_queue_progress_isolated.esc | 12 ++++++++++++ .../fixtures/channel_queue_progress_isolated.esc.uid | 1 + .../fixtures/concurrent_new_global_visibility.esc | 7 +++++++ .../fixtures/concurrent_new_global_visibility.esc.uid | 1 + .../fixtures/delayed_command_in_dialog_option.esc | 7 +++++++ .../fixtures/delayed_command_in_dialog_option.esc.uid | 1 + .../interpreter/fixtures/delayed_command_in_loop.esc | 7 +++++++ .../fixtures/delayed_command_in_loop.esc.uid | 1 + .../interpreter/fixtures/delayed_command_interrupt.esc | 5 +++++ .../fixtures/delayed_command_interrupt.esc.uid | 0 .../fixtures/delayed_command_interrupt_in_dialog.esc | 7 +++++++ .../delayed_command_interrupt_in_dialog.esc.uid | 0 .../delayed_command_interrupt_in_multi_loop.esc | 8 ++++++++ .../delayed_command_interrupt_in_multi_loop.esc.uid | 0 .../interpreter/fixtures/delayed_command_ordering.esc | 4 ++++ .../fixtures/delayed_command_ordering.esc.uid | 1 + .../fixtures/dialog_exhausted_options_runs_followup.esc | 14 ++++++++++++++ .../dialog_exhausted_options_runs_followup.esc.uid | 1 + .../fixtures/dialog_option_translation_key.esc | 6 ++++++ .../fixtures/dialog_option_translation_key.esc.uid | 1 + ...ialog_option_translation_key_beats_legacy_prefix.esc | 4 ++++ ...g_option_translation_key_beats_legacy_prefix.esc.uid | 1 + .../dialog_option_translation_key_with_condition.esc | 7 +++++++ ...dialog_option_translation_key_with_condition.esc.uid | 1 + .../dialog_option_translation_key_with_expression.esc | 5 +++++ ...ialog_option_translation_key_with_expression.esc.uid | 1 + .../interpreter/fixtures/dialog_scope_shadowing.esc | 9 +++++++++ .../interpreter/fixtures/dialog_scope_shadowing.esc.uid | 0 .../fixtures/dialog_start_args_reach_runtime.esc | 6 ++++++ .../fixtures/dialog_start_args_reach_runtime.esc.uid | 1 + .../fixtures/dialog_start_invalid_avatar_type.esc | 4 ++++ .../fixtures/dialog_start_invalid_avatar_type.esc.uid | 1 + .../dialog_start_invalid_timeout_option_negative.esc | 4 ++++ ...dialog_start_invalid_timeout_option_negative.esc.uid | 1 + .../dialog_start_invalid_timeout_option_type.esc | 4 ++++ .../dialog_start_invalid_timeout_option_type.esc.uid | 1 + .../fixtures/dialog_start_invalid_timeout_type.esc | 4 ++++ .../fixtures/dialog_start_invalid_timeout_type.esc.uid | 1 + ..._timeout_hidden_authored_default_after_filtering.esc | 10 ++++++++++ ...timeout_visible_authored_default_after_filtering.esc | 10 ++++++++++ .../fixtures/done_exits_entire_nested_dialog.esc | 11 +++++++++++ .../fixtures/done_exits_entire_nested_dialog.esc.uid | 1 + .../fixtures/done_nested_block_in_dialog.esc | 7 +++++++ .../fixtures/done_nested_block_in_dialog.esc.uid | 1 + .../duplicate_exact_target_event_overwrites.esc | 5 +++++ .../duplicate_exact_target_event_overwrites.esc.uid | 1 + .../fixtures/global_interrupt_clears_all_channels.esc | 15 +++++++++++++++ .../global_interrupt_clears_all_channels.esc.uid | 1 + .../fixtures/global_interrupt_preserves_exceptions.esc | 17 +++++++++++++++++ .../global_interrupt_preserves_exceptions.esc.uid | 1 + .../interpreter/fixtures/immediate_command_ordering.esc | 4 ++++ .../fixtures/immediate_command_ordering.esc.uid | 1 + ...nterpreter_runtime_state_persists_between_events.esc | 11 +++++++++++ ...preter_runtime_state_persists_between_events.esc.uid | 1 + .../fixtures/invalid_command_does_not_continue.esc | 4 ++++ .../fixtures/invalid_command_does_not_continue.esc.uid | 0 .../fixtures/invalid_command_in_dialog_stops_event.esc | 6 ++++++ .../invalid_command_in_dialog_stops_event.esc.uid | 1 + .../fixtures/invalid_command_in_loop_stops_event.esc | 7 +++++++ .../invalid_command_in_loop_stops_event.esc.uid | 1 + .../interpreter/fixtures/invalid_numeric_comparison.esc | 3 +++ .../fixtures/invalid_numeric_comparison.esc.uid | 1 + .../interpreter/fixtures/multi_target_use_events.esc | 8 ++++++++ .../fixtures/multi_target_use_events.esc.uid | 1 + .../interpreter/fixtures/nested_dialog_break_one.esc | 11 +++++++++++ .../fixtures/nested_dialog_break_one.esc.uid | 1 + .../ashes/interpreter/fixtures/print_two_args.esc | 2 ++ .../ashes/interpreter/fixtures/print_two_args.esc.uid | 1 + .../ashes/interpreter/fixtures/print_zero_args.esc | 2 ++ .../ashes/interpreter/fixtures/print_zero_args.esc.uid | 1 + ...e_event_block_waits_for_correct_background_event.esc | 10 ++++++++++ ...ent_block_waits_for_correct_background_event.esc.uid | 1 + .../queue_event_block_waits_for_correct_front_event.esc | 10 ++++++++++ ...ue_event_block_waits_for_correct_front_event.esc.uid | 1 + .../scheduled_event_interrupted_before_dispatch.esc | 7 +++++++ .../scheduled_event_interrupted_before_dispatch.esc.uid | 1 + .../scheduled_front_event_with_busy_background.esc | 12 ++++++++++++ .../scheduled_front_event_with_busy_background.esc.uid | 1 + .../interpreter/fixtures/stop_in_dialog_option.esc | 6 ++++++ .../interpreter/fixtures/stop_in_dialog_option.esc.uid | 1 + .../ashes/interpreter/fixtures/stop_nested_block.esc | 5 +++++ .../interpreter/fixtures/stop_nested_block.esc.uid | 1 + .../fixtures/trigger_targeted_events_use_object_id.esc | 11 +++++++++++ .../trigger_targeted_events_use_object_id.esc.uid | 1 + 94 files changed, 400 insertions(+) create mode 100644 addons/escoria-core/testing/ashes/interpreter/fixtures/background_duplicate_suppression.esc create mode 100644 addons/escoria-core/testing/ashes/interpreter/fixtures/background_duplicate_suppression.esc.uid create mode 100644 addons/escoria-core/testing/ashes/interpreter/fixtures/block_scope_restores_after_break.esc create mode 100644 addons/escoria-core/testing/ashes/interpreter/fixtures/block_scope_restores_after_break.esc.uid create mode 100644 addons/escoria-core/testing/ashes/interpreter/fixtures/break_two_exits_two_dialog_levels.esc create mode 100644 addons/escoria-core/testing/ashes/interpreter/fixtures/break_two_exits_two_dialog_levels.esc.uid create mode 100644 addons/escoria-core/testing/ashes/interpreter/fixtures/channel_interrupt_clears_queue.esc create mode 100644 addons/escoria-core/testing/ashes/interpreter/fixtures/channel_interrupt_clears_queue.esc.uid create mode 100644 addons/escoria-core/testing/ashes/interpreter/fixtures/channel_interrupt_isolation.esc create mode 100644 addons/escoria-core/testing/ashes/interpreter/fixtures/channel_interrupt_isolation.esc.uid create mode 100644 addons/escoria-core/testing/ashes/interpreter/fixtures/channel_queue_progress_isolated.esc create mode 100644 addons/escoria-core/testing/ashes/interpreter/fixtures/channel_queue_progress_isolated.esc.uid create mode 100644 addons/escoria-core/testing/ashes/interpreter/fixtures/concurrent_new_global_visibility.esc create mode 100644 addons/escoria-core/testing/ashes/interpreter/fixtures/concurrent_new_global_visibility.esc.uid create mode 100644 addons/escoria-core/testing/ashes/interpreter/fixtures/delayed_command_in_dialog_option.esc create mode 100644 addons/escoria-core/testing/ashes/interpreter/fixtures/delayed_command_in_dialog_option.esc.uid create mode 100644 addons/escoria-core/testing/ashes/interpreter/fixtures/delayed_command_in_loop.esc create mode 100644 addons/escoria-core/testing/ashes/interpreter/fixtures/delayed_command_in_loop.esc.uid create mode 100644 addons/escoria-core/testing/ashes/interpreter/fixtures/delayed_command_interrupt.esc create mode 100644 addons/escoria-core/testing/ashes/interpreter/fixtures/delayed_command_interrupt.esc.uid create mode 100644 addons/escoria-core/testing/ashes/interpreter/fixtures/delayed_command_interrupt_in_dialog.esc create mode 100644 addons/escoria-core/testing/ashes/interpreter/fixtures/delayed_command_interrupt_in_dialog.esc.uid create mode 100644 addons/escoria-core/testing/ashes/interpreter/fixtures/delayed_command_interrupt_in_multi_loop.esc create mode 100644 addons/escoria-core/testing/ashes/interpreter/fixtures/delayed_command_interrupt_in_multi_loop.esc.uid create mode 100644 addons/escoria-core/testing/ashes/interpreter/fixtures/delayed_command_ordering.esc create mode 100644 addons/escoria-core/testing/ashes/interpreter/fixtures/delayed_command_ordering.esc.uid create mode 100644 addons/escoria-core/testing/ashes/interpreter/fixtures/dialog_exhausted_options_runs_followup.esc create mode 100644 addons/escoria-core/testing/ashes/interpreter/fixtures/dialog_exhausted_options_runs_followup.esc.uid create mode 100644 addons/escoria-core/testing/ashes/interpreter/fixtures/dialog_option_translation_key.esc create mode 100644 addons/escoria-core/testing/ashes/interpreter/fixtures/dialog_option_translation_key.esc.uid create mode 100644 addons/escoria-core/testing/ashes/interpreter/fixtures/dialog_option_translation_key_beats_legacy_prefix.esc create mode 100644 addons/escoria-core/testing/ashes/interpreter/fixtures/dialog_option_translation_key_beats_legacy_prefix.esc.uid create mode 100644 addons/escoria-core/testing/ashes/interpreter/fixtures/dialog_option_translation_key_with_condition.esc create mode 100644 addons/escoria-core/testing/ashes/interpreter/fixtures/dialog_option_translation_key_with_condition.esc.uid create mode 100644 addons/escoria-core/testing/ashes/interpreter/fixtures/dialog_option_translation_key_with_expression.esc create mode 100644 addons/escoria-core/testing/ashes/interpreter/fixtures/dialog_option_translation_key_with_expression.esc.uid create mode 100644 addons/escoria-core/testing/ashes/interpreter/fixtures/dialog_scope_shadowing.esc create mode 100644 addons/escoria-core/testing/ashes/interpreter/fixtures/dialog_scope_shadowing.esc.uid create mode 100644 addons/escoria-core/testing/ashes/interpreter/fixtures/dialog_start_args_reach_runtime.esc create mode 100644 addons/escoria-core/testing/ashes/interpreter/fixtures/dialog_start_args_reach_runtime.esc.uid create mode 100644 addons/escoria-core/testing/ashes/interpreter/fixtures/dialog_start_invalid_avatar_type.esc create mode 100644 addons/escoria-core/testing/ashes/interpreter/fixtures/dialog_start_invalid_avatar_type.esc.uid create mode 100644 addons/escoria-core/testing/ashes/interpreter/fixtures/dialog_start_invalid_timeout_option_negative.esc create mode 100644 addons/escoria-core/testing/ashes/interpreter/fixtures/dialog_start_invalid_timeout_option_negative.esc.uid create mode 100644 addons/escoria-core/testing/ashes/interpreter/fixtures/dialog_start_invalid_timeout_option_type.esc create mode 100644 addons/escoria-core/testing/ashes/interpreter/fixtures/dialog_start_invalid_timeout_option_type.esc.uid create mode 100644 addons/escoria-core/testing/ashes/interpreter/fixtures/dialog_start_invalid_timeout_type.esc create mode 100644 addons/escoria-core/testing/ashes/interpreter/fixtures/dialog_start_invalid_timeout_type.esc.uid create mode 100644 addons/escoria-core/testing/ashes/interpreter/fixtures/dialog_timeout_hidden_authored_default_after_filtering.esc create mode 100644 addons/escoria-core/testing/ashes/interpreter/fixtures/dialog_timeout_visible_authored_default_after_filtering.esc create mode 100644 addons/escoria-core/testing/ashes/interpreter/fixtures/done_exits_entire_nested_dialog.esc create mode 100644 addons/escoria-core/testing/ashes/interpreter/fixtures/done_exits_entire_nested_dialog.esc.uid create mode 100644 addons/escoria-core/testing/ashes/interpreter/fixtures/done_nested_block_in_dialog.esc create mode 100644 addons/escoria-core/testing/ashes/interpreter/fixtures/done_nested_block_in_dialog.esc.uid create mode 100644 addons/escoria-core/testing/ashes/interpreter/fixtures/duplicate_exact_target_event_overwrites.esc create mode 100644 addons/escoria-core/testing/ashes/interpreter/fixtures/duplicate_exact_target_event_overwrites.esc.uid create mode 100644 addons/escoria-core/testing/ashes/interpreter/fixtures/global_interrupt_clears_all_channels.esc create mode 100644 addons/escoria-core/testing/ashes/interpreter/fixtures/global_interrupt_clears_all_channels.esc.uid create mode 100644 addons/escoria-core/testing/ashes/interpreter/fixtures/global_interrupt_preserves_exceptions.esc create mode 100644 addons/escoria-core/testing/ashes/interpreter/fixtures/global_interrupt_preserves_exceptions.esc.uid create mode 100644 addons/escoria-core/testing/ashes/interpreter/fixtures/immediate_command_ordering.esc create mode 100644 addons/escoria-core/testing/ashes/interpreter/fixtures/immediate_command_ordering.esc.uid create mode 100644 addons/escoria-core/testing/ashes/interpreter/fixtures/interpreter_runtime_state_persists_between_events.esc create mode 100644 addons/escoria-core/testing/ashes/interpreter/fixtures/interpreter_runtime_state_persists_between_events.esc.uid create mode 100644 addons/escoria-core/testing/ashes/interpreter/fixtures/invalid_command_does_not_continue.esc create mode 100644 addons/escoria-core/testing/ashes/interpreter/fixtures/invalid_command_does_not_continue.esc.uid create mode 100644 addons/escoria-core/testing/ashes/interpreter/fixtures/invalid_command_in_dialog_stops_event.esc create mode 100644 addons/escoria-core/testing/ashes/interpreter/fixtures/invalid_command_in_dialog_stops_event.esc.uid create mode 100644 addons/escoria-core/testing/ashes/interpreter/fixtures/invalid_command_in_loop_stops_event.esc create mode 100644 addons/escoria-core/testing/ashes/interpreter/fixtures/invalid_command_in_loop_stops_event.esc.uid create mode 100644 addons/escoria-core/testing/ashes/interpreter/fixtures/invalid_numeric_comparison.esc create mode 100644 addons/escoria-core/testing/ashes/interpreter/fixtures/invalid_numeric_comparison.esc.uid create mode 100644 addons/escoria-core/testing/ashes/interpreter/fixtures/multi_target_use_events.esc create mode 100644 addons/escoria-core/testing/ashes/interpreter/fixtures/multi_target_use_events.esc.uid create mode 100644 addons/escoria-core/testing/ashes/interpreter/fixtures/nested_dialog_break_one.esc create mode 100644 addons/escoria-core/testing/ashes/interpreter/fixtures/nested_dialog_break_one.esc.uid create mode 100644 addons/escoria-core/testing/ashes/interpreter/fixtures/print_two_args.esc create mode 100644 addons/escoria-core/testing/ashes/interpreter/fixtures/print_two_args.esc.uid create mode 100644 addons/escoria-core/testing/ashes/interpreter/fixtures/print_zero_args.esc create mode 100644 addons/escoria-core/testing/ashes/interpreter/fixtures/print_zero_args.esc.uid create mode 100644 addons/escoria-core/testing/ashes/interpreter/fixtures/queue_event_block_waits_for_correct_background_event.esc create mode 100644 addons/escoria-core/testing/ashes/interpreter/fixtures/queue_event_block_waits_for_correct_background_event.esc.uid create mode 100644 addons/escoria-core/testing/ashes/interpreter/fixtures/queue_event_block_waits_for_correct_front_event.esc create mode 100644 addons/escoria-core/testing/ashes/interpreter/fixtures/queue_event_block_waits_for_correct_front_event.esc.uid create mode 100644 addons/escoria-core/testing/ashes/interpreter/fixtures/scheduled_event_interrupted_before_dispatch.esc create mode 100644 addons/escoria-core/testing/ashes/interpreter/fixtures/scheduled_event_interrupted_before_dispatch.esc.uid create mode 100644 addons/escoria-core/testing/ashes/interpreter/fixtures/scheduled_front_event_with_busy_background.esc create mode 100644 addons/escoria-core/testing/ashes/interpreter/fixtures/scheduled_front_event_with_busy_background.esc.uid create mode 100644 addons/escoria-core/testing/ashes/interpreter/fixtures/stop_in_dialog_option.esc create mode 100644 addons/escoria-core/testing/ashes/interpreter/fixtures/stop_in_dialog_option.esc.uid create mode 100644 addons/escoria-core/testing/ashes/interpreter/fixtures/stop_nested_block.esc create mode 100644 addons/escoria-core/testing/ashes/interpreter/fixtures/stop_nested_block.esc.uid create mode 100644 addons/escoria-core/testing/ashes/interpreter/fixtures/trigger_targeted_events_use_object_id.esc create mode 100644 addons/escoria-core/testing/ashes/interpreter/fixtures/trigger_targeted_events_use_object_id.esc.uid (limited to 'addons/escoria-core/testing/ashes/interpreter/fixtures') diff --git a/addons/escoria-core/testing/ashes/interpreter/fixtures/background_duplicate_suppression.esc b/addons/escoria-core/testing/ashes/interpreter/fixtures/background_duplicate_suppression.esc new file mode 100644 index 0000000..6ab1752 --- /dev/null +++ b/addons/escoria-core/testing/ashes/interpreter/fixtures/background_duplicate_suppression.esc @@ -0,0 +1,3 @@ +:repeat_event + test_delayed_set_global("background_duplicate_last", "tick", 0.05) + inc_global("background_duplicate_count") diff --git a/addons/escoria-core/testing/ashes/interpreter/fixtures/background_duplicate_suppression.esc.uid b/addons/escoria-core/testing/ashes/interpreter/fixtures/background_duplicate_suppression.esc.uid new file mode 100644 index 0000000..eeed814 --- /dev/null +++ b/addons/escoria-core/testing/ashes/interpreter/fixtures/background_duplicate_suppression.esc.uid @@ -0,0 +1 @@ +uid://c5o8v1l4n3xmd diff --git a/addons/escoria-core/testing/ashes/interpreter/fixtures/block_scope_restores_after_break.esc b/addons/escoria-core/testing/ashes/interpreter/fixtures/block_scope_restores_after_break.esc new file mode 100644 index 0000000..e4c2d34 --- /dev/null +++ b/addons/escoria-core/testing/ashes/interpreter/fixtures/block_scope_restores_after_break.esc @@ -0,0 +1,8 @@ +:test + global result = 0 + var x = 1 + while true: + if true: + var x = 2 + break + result = x diff --git a/addons/escoria-core/testing/ashes/interpreter/fixtures/block_scope_restores_after_break.esc.uid b/addons/escoria-core/testing/ashes/interpreter/fixtures/block_scope_restores_after_break.esc.uid new file mode 100644 index 0000000..1060cfd --- /dev/null +++ b/addons/escoria-core/testing/ashes/interpreter/fixtures/block_scope_restores_after_break.esc.uid @@ -0,0 +1 @@ +uid://ccf4pbps7lq2k diff --git a/addons/escoria-core/testing/ashes/interpreter/fixtures/break_two_exits_two_dialog_levels.esc b/addons/escoria-core/testing/ashes/interpreter/fixtures/break_two_exits_two_dialog_levels.esc new file mode 100644 index 0000000..cb170eb --- /dev/null +++ b/addons/escoria-core/testing/ashes/interpreter/fixtures/break_two_exits_two_dialog_levels.esc @@ -0,0 +1,14 @@ +:test + global result = "start" + ?! + - "Outer" + ?! + - "Middle" + ?! + - "Break out" + break 2 + result = "after_inner" + result = "after_middle" + - "Exit outer" + break + result = result + "-done" diff --git a/addons/escoria-core/testing/ashes/interpreter/fixtures/break_two_exits_two_dialog_levels.esc.uid b/addons/escoria-core/testing/ashes/interpreter/fixtures/break_two_exits_two_dialog_levels.esc.uid new file mode 100644 index 0000000..31dc1f6 --- /dev/null +++ b/addons/escoria-core/testing/ashes/interpreter/fixtures/break_two_exits_two_dialog_levels.esc.uid @@ -0,0 +1 @@ +uid://dorj4y3h76w2j diff --git a/addons/escoria-core/testing/ashes/interpreter/fixtures/channel_interrupt_clears_queue.esc b/addons/escoria-core/testing/ashes/interpreter/fixtures/channel_interrupt_clears_queue.esc new file mode 100644 index 0000000..4e9f649 --- /dev/null +++ b/addons/escoria-core/testing/ashes/interpreter/fixtures/channel_interrupt_clears_queue.esc @@ -0,0 +1,7 @@ +:first + global bg_queue_result = "first" + test_interruptible_set_global("bg_queue_result", "running", "bg_queue_interrupted", 0.2) + bg_queue_result = bg_queue_result + "-after" + +:second + bg_queue_result = "second" diff --git a/addons/escoria-core/testing/ashes/interpreter/fixtures/channel_interrupt_clears_queue.esc.uid b/addons/escoria-core/testing/ashes/interpreter/fixtures/channel_interrupt_clears_queue.esc.uid new file mode 100644 index 0000000..45a95b6 --- /dev/null +++ b/addons/escoria-core/testing/ashes/interpreter/fixtures/channel_interrupt_clears_queue.esc.uid @@ -0,0 +1 @@ +uid://dp5nx4h5bqgu1 diff --git a/addons/escoria-core/testing/ashes/interpreter/fixtures/channel_interrupt_isolation.esc b/addons/escoria-core/testing/ashes/interpreter/fixtures/channel_interrupt_isolation.esc new file mode 100644 index 0000000..e3130d4 --- /dev/null +++ b/addons/escoria-core/testing/ashes/interpreter/fixtures/channel_interrupt_isolation.esc @@ -0,0 +1,9 @@ +:front_event + global channel_front_result = "start" + test_interruptible_set_global("channel_front_result", "front-cmd", "channel_front_was_interrupted", 0.2) + channel_front_result = channel_front_result + "-after" + +:background_event + global channel_background_result = "start" + test_interruptible_set_global("channel_background_result", "bg-cmd", "channel_background_was_interrupted", 0.2) + channel_background_result = channel_background_result + "-after" diff --git a/addons/escoria-core/testing/ashes/interpreter/fixtures/channel_interrupt_isolation.esc.uid b/addons/escoria-core/testing/ashes/interpreter/fixtures/channel_interrupt_isolation.esc.uid new file mode 100644 index 0000000..5e3ad25 --- /dev/null +++ b/addons/escoria-core/testing/ashes/interpreter/fixtures/channel_interrupt_isolation.esc.uid @@ -0,0 +1 @@ +uid://cx76t0u0r5f4f diff --git a/addons/escoria-core/testing/ashes/interpreter/fixtures/channel_queue_progress_isolated.esc b/addons/escoria-core/testing/ashes/interpreter/fixtures/channel_queue_progress_isolated.esc new file mode 100644 index 0000000..31098f8 --- /dev/null +++ b/addons/escoria-core/testing/ashes/interpreter/fixtures/channel_queue_progress_isolated.esc @@ -0,0 +1,12 @@ +:front_event + global isolated_front_result = "start" + test_interruptible_set_global("isolated_front_result", "front-cmd", "isolated_front_interrupted", 0.2) + isolated_front_result = isolated_front_result + "-after" + +:background_first + global isolated_background_result = "start" + test_interruptible_set_global("isolated_background_result", "first-cmd", "isolated_background_interrupted", 0.2) + isolated_background_result = isolated_background_result + "-after-first" + +:background_second + isolated_background_result = isolated_background_result + "-second" diff --git a/addons/escoria-core/testing/ashes/interpreter/fixtures/channel_queue_progress_isolated.esc.uid b/addons/escoria-core/testing/ashes/interpreter/fixtures/channel_queue_progress_isolated.esc.uid new file mode 100644 index 0000000..7961883 --- /dev/null +++ b/addons/escoria-core/testing/ashes/interpreter/fixtures/channel_queue_progress_isolated.esc.uid @@ -0,0 +1 @@ +uid://dzq6qk1ufhcv0 diff --git a/addons/escoria-core/testing/ashes/interpreter/fixtures/concurrent_new_global_visibility.esc b/addons/escoria-core/testing/ashes/interpreter/fixtures/concurrent_new_global_visibility.esc new file mode 100644 index 0000000..3df3b97 --- /dev/null +++ b/addons/escoria-core/testing/ashes/interpreter/fixtures/concurrent_new_global_visibility.esc @@ -0,0 +1,7 @@ +:front_waits_for_new_global + global concurrent_visibility_result = "start" + test_delayed_set_global("concurrent_visibility_progress", "waiting", 0.2) + concurrent_visibility_result = shared_runtime_global + +:background_declares_new_global + global shared_runtime_global = "from-background" diff --git a/addons/escoria-core/testing/ashes/interpreter/fixtures/concurrent_new_global_visibility.esc.uid b/addons/escoria-core/testing/ashes/interpreter/fixtures/concurrent_new_global_visibility.esc.uid new file mode 100644 index 0000000..f19670e --- /dev/null +++ b/addons/escoria-core/testing/ashes/interpreter/fixtures/concurrent_new_global_visibility.esc.uid @@ -0,0 +1 @@ +uid://a226b7bb41b142b5812d0d3dbd389a31 diff --git a/addons/escoria-core/testing/ashes/interpreter/fixtures/delayed_command_in_dialog_option.esc b/addons/escoria-core/testing/ashes/interpreter/fixtures/delayed_command_in_dialog_option.esc new file mode 100644 index 0000000..2ae480f --- /dev/null +++ b/addons/escoria-core/testing/ashes/interpreter/fixtures/delayed_command_in_dialog_option.esc @@ -0,0 +1,7 @@ +:test + global result = "unset" + ?! + - "Run delayed" + test_delayed_set_global("result", "cmd", 0.01) + break + result = result + "-after" diff --git a/addons/escoria-core/testing/ashes/interpreter/fixtures/delayed_command_in_dialog_option.esc.uid b/addons/escoria-core/testing/ashes/interpreter/fixtures/delayed_command_in_dialog_option.esc.uid new file mode 100644 index 0000000..d89858e --- /dev/null +++ b/addons/escoria-core/testing/ashes/interpreter/fixtures/delayed_command_in_dialog_option.esc.uid @@ -0,0 +1 @@ +uid://e0743a93c87c4db4af251658723ed469 diff --git a/addons/escoria-core/testing/ashes/interpreter/fixtures/delayed_command_in_loop.esc b/addons/escoria-core/testing/ashes/interpreter/fixtures/delayed_command_in_loop.esc new file mode 100644 index 0000000..e55b9a6 --- /dev/null +++ b/addons/escoria-core/testing/ashes/interpreter/fixtures/delayed_command_in_loop.esc @@ -0,0 +1,7 @@ +:test + global result = "start" + global count = 0 + while count < 1: + test_delayed_set_global("result", "cmd", 0.01) + count = count + 1 + result = result + "-after" diff --git a/addons/escoria-core/testing/ashes/interpreter/fixtures/delayed_command_in_loop.esc.uid b/addons/escoria-core/testing/ashes/interpreter/fixtures/delayed_command_in_loop.esc.uid new file mode 100644 index 0000000..e832298 --- /dev/null +++ b/addons/escoria-core/testing/ashes/interpreter/fixtures/delayed_command_in_loop.esc.uid @@ -0,0 +1 @@ +uid://c08224d490434f5dbe8529aa021c6041 diff --git a/addons/escoria-core/testing/ashes/interpreter/fixtures/delayed_command_interrupt.esc b/addons/escoria-core/testing/ashes/interpreter/fixtures/delayed_command_interrupt.esc new file mode 100644 index 0000000..5aa9aed --- /dev/null +++ b/addons/escoria-core/testing/ashes/interpreter/fixtures/delayed_command_interrupt.esc @@ -0,0 +1,5 @@ +:test + global result = "start" + global was_interrupted = false + test_interruptible_set_global("result", "cmd", "was_interrupted", 0.2) + result = result + "-after" diff --git a/addons/escoria-core/testing/ashes/interpreter/fixtures/delayed_command_interrupt.esc.uid b/addons/escoria-core/testing/ashes/interpreter/fixtures/delayed_command_interrupt.esc.uid new file mode 100644 index 0000000..e69de29 diff --git a/addons/escoria-core/testing/ashes/interpreter/fixtures/delayed_command_interrupt_in_dialog.esc b/addons/escoria-core/testing/ashes/interpreter/fixtures/delayed_command_interrupt_in_dialog.esc new file mode 100644 index 0000000..e9187b1 --- /dev/null +++ b/addons/escoria-core/testing/ashes/interpreter/fixtures/delayed_command_interrupt_in_dialog.esc @@ -0,0 +1,7 @@ +:test + global result = "start" + global was_interrupted = false + ?! + - "Wait" + test_interruptible_set_global("result", "cmd", "was_interrupted", 0.2) + result = result + "-after" diff --git a/addons/escoria-core/testing/ashes/interpreter/fixtures/delayed_command_interrupt_in_dialog.esc.uid b/addons/escoria-core/testing/ashes/interpreter/fixtures/delayed_command_interrupt_in_dialog.esc.uid new file mode 100644 index 0000000..e69de29 diff --git a/addons/escoria-core/testing/ashes/interpreter/fixtures/delayed_command_interrupt_in_multi_loop.esc b/addons/escoria-core/testing/ashes/interpreter/fixtures/delayed_command_interrupt_in_multi_loop.esc new file mode 100644 index 0000000..fc19824 --- /dev/null +++ b/addons/escoria-core/testing/ashes/interpreter/fixtures/delayed_command_interrupt_in_multi_loop.esc @@ -0,0 +1,8 @@ +:test + global result = "start" + global was_interrupted = false + global count = 0 + while count < 3: + test_interruptible_set_global("result", "cmd", "was_interrupted", 0.2) + count = count + 1 + result = result + "-after" diff --git a/addons/escoria-core/testing/ashes/interpreter/fixtures/delayed_command_interrupt_in_multi_loop.esc.uid b/addons/escoria-core/testing/ashes/interpreter/fixtures/delayed_command_interrupt_in_multi_loop.esc.uid new file mode 100644 index 0000000..e69de29 diff --git a/addons/escoria-core/testing/ashes/interpreter/fixtures/delayed_command_ordering.esc b/addons/escoria-core/testing/ashes/interpreter/fixtures/delayed_command_ordering.esc new file mode 100644 index 0000000..52ef2a4 --- /dev/null +++ b/addons/escoria-core/testing/ashes/interpreter/fixtures/delayed_command_ordering.esc @@ -0,0 +1,4 @@ +:test + global result = "unset" + test_delayed_set_global("result", "cmd", 0.01) + result = result + "-after" diff --git a/addons/escoria-core/testing/ashes/interpreter/fixtures/delayed_command_ordering.esc.uid b/addons/escoria-core/testing/ashes/interpreter/fixtures/delayed_command_ordering.esc.uid new file mode 100644 index 0000000..a014454 --- /dev/null +++ b/addons/escoria-core/testing/ashes/interpreter/fixtures/delayed_command_ordering.esc.uid @@ -0,0 +1 @@ +uid://bl7s16m8hlyj1 diff --git a/addons/escoria-core/testing/ashes/interpreter/fixtures/dialog_exhausted_options_runs_followup.esc b/addons/escoria-core/testing/ashes/interpreter/fixtures/dialog_exhausted_options_runs_followup.esc new file mode 100644 index 0000000..eaf762e --- /dev/null +++ b/addons/escoria-core/testing/ashes/interpreter/fixtures/dialog_exhausted_options_runs_followup.esc @@ -0,0 +1,14 @@ +:talk + global result = "start" + global option1_is_valid = true + global option2_is_valid = true + + ?! + - "option1" [option1_is_valid] + result = result + "-say1" + option1_is_valid = false + - "option2" [option2_is_valid] + result = result + "-say2" + option2_is_valid = false + + result = result + "-finished" diff --git a/addons/escoria-core/testing/ashes/interpreter/fixtures/dialog_exhausted_options_runs_followup.esc.uid b/addons/escoria-core/testing/ashes/interpreter/fixtures/dialog_exhausted_options_runs_followup.esc.uid new file mode 100644 index 0000000..fac2cb3 --- /dev/null +++ b/addons/escoria-core/testing/ashes/interpreter/fixtures/dialog_exhausted_options_runs_followup.esc.uid @@ -0,0 +1 @@ +uid://cn1f4l17yg4x8 diff --git a/addons/escoria-core/testing/ashes/interpreter/fixtures/dialog_option_translation_key.esc b/addons/escoria-core/testing/ashes/interpreter/fixtures/dialog_option_translation_key.esc new file mode 100644 index 0000000..69f88db --- /dev/null +++ b/addons/escoria-core/testing/ashes/interpreter/fixtures/dialog_option_translation_key.esc @@ -0,0 +1,6 @@ +:talk + ?! + - UNCLE_SVEN:"Uncle Sven sends regards." + break + - "Fallback" + break diff --git a/addons/escoria-core/testing/ashes/interpreter/fixtures/dialog_option_translation_key.esc.uid b/addons/escoria-core/testing/ashes/interpreter/fixtures/dialog_option_translation_key.esc.uid new file mode 100644 index 0000000..d371627 --- /dev/null +++ b/addons/escoria-core/testing/ashes/interpreter/fixtures/dialog_option_translation_key.esc.uid @@ -0,0 +1 @@ +uid://dcjcq0w2qj1h2 diff --git a/addons/escoria-core/testing/ashes/interpreter/fixtures/dialog_option_translation_key_beats_legacy_prefix.esc b/addons/escoria-core/testing/ashes/interpreter/fixtures/dialog_option_translation_key_beats_legacy_prefix.esc new file mode 100644 index 0000000..1be9d33 --- /dev/null +++ b/addons/escoria-core/testing/ashes/interpreter/fixtures/dialog_option_translation_key_beats_legacy_prefix.esc @@ -0,0 +1,4 @@ +:talk + ?! + - OUTER_KEY:"INNER_KEY:Fallback text" + break diff --git a/addons/escoria-core/testing/ashes/interpreter/fixtures/dialog_option_translation_key_beats_legacy_prefix.esc.uid b/addons/escoria-core/testing/ashes/interpreter/fixtures/dialog_option_translation_key_beats_legacy_prefix.esc.uid new file mode 100644 index 0000000..aff1543 --- /dev/null +++ b/addons/escoria-core/testing/ashes/interpreter/fixtures/dialog_option_translation_key_beats_legacy_prefix.esc.uid @@ -0,0 +1 @@ +uid://cb71rbl5a7hlj diff --git a/addons/escoria-core/testing/ashes/interpreter/fixtures/dialog_option_translation_key_with_condition.esc b/addons/escoria-core/testing/ashes/interpreter/fixtures/dialog_option_translation_key_with_condition.esc new file mode 100644 index 0000000..718a5fc --- /dev/null +++ b/addons/escoria-core/testing/ashes/interpreter/fixtures/dialog_option_translation_key_with_condition.esc @@ -0,0 +1,7 @@ +:talk + global show_first = true + ?! + - CONDITIONAL_KEY:"Conditional option" [show_first] + break + - HIDDEN_KEY:"Hidden option" [false] + break diff --git a/addons/escoria-core/testing/ashes/interpreter/fixtures/dialog_option_translation_key_with_condition.esc.uid b/addons/escoria-core/testing/ashes/interpreter/fixtures/dialog_option_translation_key_with_condition.esc.uid new file mode 100644 index 0000000..4f944b1 --- /dev/null +++ b/addons/escoria-core/testing/ashes/interpreter/fixtures/dialog_option_translation_key_with_condition.esc.uid @@ -0,0 +1 @@ +uid://bnep8t7ivgu7f diff --git a/addons/escoria-core/testing/ashes/interpreter/fixtures/dialog_option_translation_key_with_expression.esc b/addons/escoria-core/testing/ashes/interpreter/fixtures/dialog_option_translation_key_with_expression.esc new file mode 100644 index 0000000..587bd39 --- /dev/null +++ b/addons/escoria-core/testing/ashes/interpreter/fixtures/dialog_option_translation_key_with_expression.esc @@ -0,0 +1,5 @@ +:talk + var option_text = "Dynamic option" + ?! + - DYNAMIC_KEY:option_text + break diff --git a/addons/escoria-core/testing/ashes/interpreter/fixtures/dialog_option_translation_key_with_expression.esc.uid b/addons/escoria-core/testing/ashes/interpreter/fixtures/dialog_option_translation_key_with_expression.esc.uid new file mode 100644 index 0000000..56eee44 --- /dev/null +++ b/addons/escoria-core/testing/ashes/interpreter/fixtures/dialog_option_translation_key_with_expression.esc.uid @@ -0,0 +1 @@ +uid://bf67f4h73tba2 diff --git a/addons/escoria-core/testing/ashes/interpreter/fixtures/dialog_scope_shadowing.esc b/addons/escoria-core/testing/ashes/interpreter/fixtures/dialog_scope_shadowing.esc new file mode 100644 index 0000000..924cf52 --- /dev/null +++ b/addons/escoria-core/testing/ashes/interpreter/fixtures/dialog_scope_shadowing.esc @@ -0,0 +1,9 @@ +:test + global result = "start" + var x = "outer" + ?! + - "Use inner" + var x = "inner" + result = x + break + result = result + ":" + x diff --git a/addons/escoria-core/testing/ashes/interpreter/fixtures/dialog_scope_shadowing.esc.uid b/addons/escoria-core/testing/ashes/interpreter/fixtures/dialog_scope_shadowing.esc.uid new file mode 100644 index 0000000..e69de29 diff --git a/addons/escoria-core/testing/ashes/interpreter/fixtures/dialog_start_args_reach_runtime.esc b/addons/escoria-core/testing/ashes/interpreter/fixtures/dialog_start_args_reach_runtime.esc new file mode 100644 index 0000000..aab29c6 --- /dev/null +++ b/addons/escoria-core/testing/ashes/interpreter/fixtures/dialog_start_args_reach_runtime.esc @@ -0,0 +1,6 @@ +:talk + ?! "res://game/dialog_avatars/player.tres" 5 2 + - "First option" + pass + - "Second option" + break diff --git a/addons/escoria-core/testing/ashes/interpreter/fixtures/dialog_start_args_reach_runtime.esc.uid b/addons/escoria-core/testing/ashes/interpreter/fixtures/dialog_start_args_reach_runtime.esc.uid new file mode 100644 index 0000000..8a474a9 --- /dev/null +++ b/addons/escoria-core/testing/ashes/interpreter/fixtures/dialog_start_args_reach_runtime.esc.uid @@ -0,0 +1 @@ +uid://b3a4m3l6nr6m7 diff --git a/addons/escoria-core/testing/ashes/interpreter/fixtures/dialog_start_invalid_avatar_type.esc b/addons/escoria-core/testing/ashes/interpreter/fixtures/dialog_start_invalid_avatar_type.esc new file mode 100644 index 0000000..368ef0b --- /dev/null +++ b/addons/escoria-core/testing/ashes/interpreter/fixtures/dialog_start_invalid_avatar_type.esc @@ -0,0 +1,4 @@ +:talk + ?! 123 5 2 + - "Only option" + break diff --git a/addons/escoria-core/testing/ashes/interpreter/fixtures/dialog_start_invalid_avatar_type.esc.uid b/addons/escoria-core/testing/ashes/interpreter/fixtures/dialog_start_invalid_avatar_type.esc.uid new file mode 100644 index 0000000..5708f33 --- /dev/null +++ b/addons/escoria-core/testing/ashes/interpreter/fixtures/dialog_start_invalid_avatar_type.esc.uid @@ -0,0 +1 @@ +uid://chev11x0d0lg0 diff --git a/addons/escoria-core/testing/ashes/interpreter/fixtures/dialog_start_invalid_timeout_option_negative.esc b/addons/escoria-core/testing/ashes/interpreter/fixtures/dialog_start_invalid_timeout_option_negative.esc new file mode 100644 index 0000000..06cab55 --- /dev/null +++ b/addons/escoria-core/testing/ashes/interpreter/fixtures/dialog_start_invalid_timeout_option_negative.esc @@ -0,0 +1,4 @@ +:talk + ?! "res://game/dialog_avatars/player.tres" 5 0 - 1 + - "Only option" + break diff --git a/addons/escoria-core/testing/ashes/interpreter/fixtures/dialog_start_invalid_timeout_option_negative.esc.uid b/addons/escoria-core/testing/ashes/interpreter/fixtures/dialog_start_invalid_timeout_option_negative.esc.uid new file mode 100644 index 0000000..a7cf6b8 --- /dev/null +++ b/addons/escoria-core/testing/ashes/interpreter/fixtures/dialog_start_invalid_timeout_option_negative.esc.uid @@ -0,0 +1 @@ +uid://db2w5uh1qvqst diff --git a/addons/escoria-core/testing/ashes/interpreter/fixtures/dialog_start_invalid_timeout_option_type.esc b/addons/escoria-core/testing/ashes/interpreter/fixtures/dialog_start_invalid_timeout_option_type.esc new file mode 100644 index 0000000..bc71bc7 --- /dev/null +++ b/addons/escoria-core/testing/ashes/interpreter/fixtures/dialog_start_invalid_timeout_option_type.esc @@ -0,0 +1,4 @@ +:talk + ?! "res://game/dialog_avatars/player.tres" 5 "two" + - "Only option" + break diff --git a/addons/escoria-core/testing/ashes/interpreter/fixtures/dialog_start_invalid_timeout_option_type.esc.uid b/addons/escoria-core/testing/ashes/interpreter/fixtures/dialog_start_invalid_timeout_option_type.esc.uid new file mode 100644 index 0000000..deb663d --- /dev/null +++ b/addons/escoria-core/testing/ashes/interpreter/fixtures/dialog_start_invalid_timeout_option_type.esc.uid @@ -0,0 +1 @@ +uid://b5fstn4fo0igo diff --git a/addons/escoria-core/testing/ashes/interpreter/fixtures/dialog_start_invalid_timeout_type.esc b/addons/escoria-core/testing/ashes/interpreter/fixtures/dialog_start_invalid_timeout_type.esc new file mode 100644 index 0000000..351be56 --- /dev/null +++ b/addons/escoria-core/testing/ashes/interpreter/fixtures/dialog_start_invalid_timeout_type.esc @@ -0,0 +1,4 @@ +:talk + ?! "res://game/dialog_avatars/player.tres" "five" 2 + - "Only option" + break diff --git a/addons/escoria-core/testing/ashes/interpreter/fixtures/dialog_start_invalid_timeout_type.esc.uid b/addons/escoria-core/testing/ashes/interpreter/fixtures/dialog_start_invalid_timeout_type.esc.uid new file mode 100644 index 0000000..db53e65 --- /dev/null +++ b/addons/escoria-core/testing/ashes/interpreter/fixtures/dialog_start_invalid_timeout_type.esc.uid @@ -0,0 +1 @@ +uid://cy8r7l4o3dmn0 diff --git a/addons/escoria-core/testing/ashes/interpreter/fixtures/dialog_timeout_hidden_authored_default_after_filtering.esc b/addons/escoria-core/testing/ashes/interpreter/fixtures/dialog_timeout_hidden_authored_default_after_filtering.esc new file mode 100644 index 0000000..80f8ef7 --- /dev/null +++ b/addons/escoria-core/testing/ashes/interpreter/fixtures/dialog_timeout_hidden_authored_default_after_filtering.esc @@ -0,0 +1,10 @@ +:talk + global show_first = false + + ?! "-" 5 1 + - "First option" [show_first] + break + - "Second option" + break + - "Third option" + break diff --git a/addons/escoria-core/testing/ashes/interpreter/fixtures/dialog_timeout_visible_authored_default_after_filtering.esc b/addons/escoria-core/testing/ashes/interpreter/fixtures/dialog_timeout_visible_authored_default_after_filtering.esc new file mode 100644 index 0000000..0067327 --- /dev/null +++ b/addons/escoria-core/testing/ashes/interpreter/fixtures/dialog_timeout_visible_authored_default_after_filtering.esc @@ -0,0 +1,10 @@ +:talk + global show_first = false + + ?! "-" 5 3 + - "First option" [show_first] + break + - "Second option" + break + - "Third option" + break diff --git a/addons/escoria-core/testing/ashes/interpreter/fixtures/done_exits_entire_nested_dialog.esc b/addons/escoria-core/testing/ashes/interpreter/fixtures/done_exits_entire_nested_dialog.esc new file mode 100644 index 0000000..770224a --- /dev/null +++ b/addons/escoria-core/testing/ashes/interpreter/fixtures/done_exits_entire_nested_dialog.esc @@ -0,0 +1,11 @@ +:test + global result = "start" + ?! + - "Outer" + ?! + - "Done" + done + result = "after_nested" + - "Exit outer" + break + result = result + "-done" diff --git a/addons/escoria-core/testing/ashes/interpreter/fixtures/done_exits_entire_nested_dialog.esc.uid b/addons/escoria-core/testing/ashes/interpreter/fixtures/done_exits_entire_nested_dialog.esc.uid new file mode 100644 index 0000000..9b3eaf5 --- /dev/null +++ b/addons/escoria-core/testing/ashes/interpreter/fixtures/done_exits_entire_nested_dialog.esc.uid @@ -0,0 +1 @@ +uid://catfpqk5u8vj0 diff --git a/addons/escoria-core/testing/ashes/interpreter/fixtures/done_nested_block_in_dialog.esc b/addons/escoria-core/testing/ashes/interpreter/fixtures/done_nested_block_in_dialog.esc new file mode 100644 index 0000000..a37b050 --- /dev/null +++ b/addons/escoria-core/testing/ashes/interpreter/fixtures/done_nested_block_in_dialog.esc @@ -0,0 +1,7 @@ +:test + global result = 0 + ?! + - "Outer" + if true: + done + result = 1 diff --git a/addons/escoria-core/testing/ashes/interpreter/fixtures/done_nested_block_in_dialog.esc.uid b/addons/escoria-core/testing/ashes/interpreter/fixtures/done_nested_block_in_dialog.esc.uid new file mode 100644 index 0000000..8e5c281 --- /dev/null +++ b/addons/escoria-core/testing/ashes/interpreter/fixtures/done_nested_block_in_dialog.esc.uid @@ -0,0 +1 @@ +uid://bgxmdpje356jd diff --git a/addons/escoria-core/testing/ashes/interpreter/fixtures/duplicate_exact_target_event_overwrites.esc b/addons/escoria-core/testing/ashes/interpreter/fixtures/duplicate_exact_target_event_overwrites.esc new file mode 100644 index 0000000..8461cff --- /dev/null +++ b/addons/escoria-core/testing/ashes/interpreter/fixtures/duplicate_exact_target_event_overwrites.esc @@ -0,0 +1,5 @@ +:use "wrench" + test_set_global("result", "first") + +:use "wrench" + test_set_global("result", "second") diff --git a/addons/escoria-core/testing/ashes/interpreter/fixtures/duplicate_exact_target_event_overwrites.esc.uid b/addons/escoria-core/testing/ashes/interpreter/fixtures/duplicate_exact_target_event_overwrites.esc.uid new file mode 100644 index 0000000..600a3bf --- /dev/null +++ b/addons/escoria-core/testing/ashes/interpreter/fixtures/duplicate_exact_target_event_overwrites.esc.uid @@ -0,0 +1 @@ +uid://cfpnxq6v1bg1t diff --git a/addons/escoria-core/testing/ashes/interpreter/fixtures/global_interrupt_clears_all_channels.esc b/addons/escoria-core/testing/ashes/interpreter/fixtures/global_interrupt_clears_all_channels.esc new file mode 100644 index 0000000..e11c818 --- /dev/null +++ b/addons/escoria-core/testing/ashes/interpreter/fixtures/global_interrupt_clears_all_channels.esc @@ -0,0 +1,15 @@ +:front_running + global global_interrupt_front_result = "start" + test_interruptible_set_global("global_interrupt_front_result", "front-cmd", "global_interrupt_front_was_interrupted", 0.2) + global_interrupt_front_result = global_interrupt_front_result + "-after" + +:front_queued + global_interrupt_front_result = "front-queued" + +:background_running + global global_interrupt_background_result = "start" + test_interruptible_set_global("global_interrupt_background_result", "bg-cmd", "global_interrupt_background_was_interrupted", 0.2) + global_interrupt_background_result = global_interrupt_background_result + "-after" + +:background_queued + global_interrupt_background_result = "bg-queued" diff --git a/addons/escoria-core/testing/ashes/interpreter/fixtures/global_interrupt_clears_all_channels.esc.uid b/addons/escoria-core/testing/ashes/interpreter/fixtures/global_interrupt_clears_all_channels.esc.uid new file mode 100644 index 0000000..5547f25 --- /dev/null +++ b/addons/escoria-core/testing/ashes/interpreter/fixtures/global_interrupt_clears_all_channels.esc.uid @@ -0,0 +1 @@ +uid://cje3uy4r8lh1x diff --git a/addons/escoria-core/testing/ashes/interpreter/fixtures/global_interrupt_preserves_exceptions.esc b/addons/escoria-core/testing/ashes/interpreter/fixtures/global_interrupt_preserves_exceptions.esc new file mode 100644 index 0000000..a9ffa26 --- /dev/null +++ b/addons/escoria-core/testing/ashes/interpreter/fixtures/global_interrupt_preserves_exceptions.esc @@ -0,0 +1,17 @@ +:front_keep + global interrupt_except_front_result = "start" + test_interruptible_set_global("interrupt_except_front_result", "front-cmd", "interrupt_except_front_interrupted", 0.2) + interrupt_except_front_result = interrupt_except_front_result + "-after" + +:front_drop + interrupt_except_front_result = "front-drop" + +:background_drop + global interrupt_except_background_result = "start" + test_interruptible_set_global("interrupt_except_background_result", "bg-drop", "interrupt_except_background_interrupted", 0.2) + interrupt_except_background_result = interrupt_except_background_result + "-after" + +:background_keep + global interrupt_except_background_keep_result = "start" + test_delayed_set_global("interrupt_except_background_keep_result", "bg-keep", 0.01) + interrupt_except_background_keep_result = interrupt_except_background_keep_result + "-after" diff --git a/addons/escoria-core/testing/ashes/interpreter/fixtures/global_interrupt_preserves_exceptions.esc.uid b/addons/escoria-core/testing/ashes/interpreter/fixtures/global_interrupt_preserves_exceptions.esc.uid new file mode 100644 index 0000000..dc38433 --- /dev/null +++ b/addons/escoria-core/testing/ashes/interpreter/fixtures/global_interrupt_preserves_exceptions.esc.uid @@ -0,0 +1 @@ +uid://ceu2x1lbwfxby diff --git a/addons/escoria-core/testing/ashes/interpreter/fixtures/immediate_command_ordering.esc b/addons/escoria-core/testing/ashes/interpreter/fixtures/immediate_command_ordering.esc new file mode 100644 index 0000000..7d39c5f --- /dev/null +++ b/addons/escoria-core/testing/ashes/interpreter/fixtures/immediate_command_ordering.esc @@ -0,0 +1,4 @@ +:test + global result = "unset" + test_set_global("result", "cmd") + result = result + "-after" diff --git a/addons/escoria-core/testing/ashes/interpreter/fixtures/immediate_command_ordering.esc.uid b/addons/escoria-core/testing/ashes/interpreter/fixtures/immediate_command_ordering.esc.uid new file mode 100644 index 0000000..16cf665 --- /dev/null +++ b/addons/escoria-core/testing/ashes/interpreter/fixtures/immediate_command_ordering.esc.uid @@ -0,0 +1 @@ +uid://dmf5wqf50nfnr diff --git a/addons/escoria-core/testing/ashes/interpreter/fixtures/interpreter_runtime_state_persists_between_events.esc b/addons/escoria-core/testing/ashes/interpreter/fixtures/interpreter_runtime_state_persists_between_events.esc new file mode 100644 index 0000000..fd1ba03 --- /dev/null +++ b/addons/escoria-core/testing/ashes/interpreter/fixtures/interpreter_runtime_state_persists_between_events.esc @@ -0,0 +1,11 @@ +:first + global interpreter_runtime_result = "first" + +:second + interpreter_runtime_result = interpreter_runtime_result + "-second" + +:background_seed + global interpreter_runtime_background_result = "first" + +:background_after + interpreter_runtime_background_result = interpreter_runtime_background_result + "-background" diff --git a/addons/escoria-core/testing/ashes/interpreter/fixtures/interpreter_runtime_state_persists_between_events.esc.uid b/addons/escoria-core/testing/ashes/interpreter/fixtures/interpreter_runtime_state_persists_between_events.esc.uid new file mode 100644 index 0000000..cafce06 --- /dev/null +++ b/addons/escoria-core/testing/ashes/interpreter/fixtures/interpreter_runtime_state_persists_between_events.esc.uid @@ -0,0 +1 @@ +uid://clqs3e5r4yem1 diff --git a/addons/escoria-core/testing/ashes/interpreter/fixtures/invalid_command_does_not_continue.esc b/addons/escoria-core/testing/ashes/interpreter/fixtures/invalid_command_does_not_continue.esc new file mode 100644 index 0000000..4d92d26 --- /dev/null +++ b/addons/escoria-core/testing/ashes/interpreter/fixtures/invalid_command_does_not_continue.esc @@ -0,0 +1,4 @@ +:test + global result = "start" + missing_test_command() + result = result + "-after" diff --git a/addons/escoria-core/testing/ashes/interpreter/fixtures/invalid_command_does_not_continue.esc.uid b/addons/escoria-core/testing/ashes/interpreter/fixtures/invalid_command_does_not_continue.esc.uid new file mode 100644 index 0000000..e69de29 diff --git a/addons/escoria-core/testing/ashes/interpreter/fixtures/invalid_command_in_dialog_stops_event.esc b/addons/escoria-core/testing/ashes/interpreter/fixtures/invalid_command_in_dialog_stops_event.esc new file mode 100644 index 0000000..2d59fb8 --- /dev/null +++ b/addons/escoria-core/testing/ashes/interpreter/fixtures/invalid_command_in_dialog_stops_event.esc @@ -0,0 +1,6 @@ +:test + global result = "start" + ?! + - "Break it" + missing_command() + result = result + "-after" diff --git a/addons/escoria-core/testing/ashes/interpreter/fixtures/invalid_command_in_dialog_stops_event.esc.uid b/addons/escoria-core/testing/ashes/interpreter/fixtures/invalid_command_in_dialog_stops_event.esc.uid new file mode 100644 index 0000000..77a66d7 --- /dev/null +++ b/addons/escoria-core/testing/ashes/interpreter/fixtures/invalid_command_in_dialog_stops_event.esc.uid @@ -0,0 +1 @@ +uid://d4esrhlw7qhri diff --git a/addons/escoria-core/testing/ashes/interpreter/fixtures/invalid_command_in_loop_stops_event.esc b/addons/escoria-core/testing/ashes/interpreter/fixtures/invalid_command_in_loop_stops_event.esc new file mode 100644 index 0000000..4ecf824 --- /dev/null +++ b/addons/escoria-core/testing/ashes/interpreter/fixtures/invalid_command_in_loop_stops_event.esc @@ -0,0 +1,7 @@ +:test + global result = "start" + global count = 0 + while count < 1: + missing_command() + count = count + 1 + result = result + "-after" diff --git a/addons/escoria-core/testing/ashes/interpreter/fixtures/invalid_command_in_loop_stops_event.esc.uid b/addons/escoria-core/testing/ashes/interpreter/fixtures/invalid_command_in_loop_stops_event.esc.uid new file mode 100644 index 0000000..ec48741 --- /dev/null +++ b/addons/escoria-core/testing/ashes/interpreter/fixtures/invalid_command_in_loop_stops_event.esc.uid @@ -0,0 +1 @@ +uid://ci5h4hpy7mjav diff --git a/addons/escoria-core/testing/ashes/interpreter/fixtures/invalid_numeric_comparison.esc b/addons/escoria-core/testing/ashes/interpreter/fixtures/invalid_numeric_comparison.esc new file mode 100644 index 0000000..a81c4c0 --- /dev/null +++ b/addons/escoria-core/testing/ashes/interpreter/fixtures/invalid_numeric_comparison.esc @@ -0,0 +1,3 @@ +:test + global result = "unset" + result = "a" > 1 diff --git a/addons/escoria-core/testing/ashes/interpreter/fixtures/invalid_numeric_comparison.esc.uid b/addons/escoria-core/testing/ashes/interpreter/fixtures/invalid_numeric_comparison.esc.uid new file mode 100644 index 0000000..67b9e76 --- /dev/null +++ b/addons/escoria-core/testing/ashes/interpreter/fixtures/invalid_numeric_comparison.esc.uid @@ -0,0 +1 @@ +uid://bo4clnuxdy778 diff --git a/addons/escoria-core/testing/ashes/interpreter/fixtures/multi_target_use_events.esc b/addons/escoria-core/testing/ashes/interpreter/fixtures/multi_target_use_events.esc new file mode 100644 index 0000000..10b036b --- /dev/null +++ b/addons/escoria-core/testing/ashes/interpreter/fixtures/multi_target_use_events.esc @@ -0,0 +1,8 @@ +:look + say("player", "It's a leaking pipe.") + +:use "r5_wrench" + say("player", "The leak's now fixed.") + +:use "r5_pen" + say("player", "I don't see how I can fix the pipe with a pen.") diff --git a/addons/escoria-core/testing/ashes/interpreter/fixtures/multi_target_use_events.esc.uid b/addons/escoria-core/testing/ashes/interpreter/fixtures/multi_target_use_events.esc.uid new file mode 100644 index 0000000..f77b460 --- /dev/null +++ b/addons/escoria-core/testing/ashes/interpreter/fixtures/multi_target_use_events.esc.uid @@ -0,0 +1 @@ +uid://cpdc2ha8v6svh diff --git a/addons/escoria-core/testing/ashes/interpreter/fixtures/nested_dialog_break_one.esc b/addons/escoria-core/testing/ashes/interpreter/fixtures/nested_dialog_break_one.esc new file mode 100644 index 0000000..82d638d --- /dev/null +++ b/addons/escoria-core/testing/ashes/interpreter/fixtures/nested_dialog_break_one.esc @@ -0,0 +1,11 @@ +:test + global result = "start" + ?! + - "Outer" + ?! + - "Break nested" + break 1 + result = "after_nested" + - "Exit outer" + break + result = result + "-done" diff --git a/addons/escoria-core/testing/ashes/interpreter/fixtures/nested_dialog_break_one.esc.uid b/addons/escoria-core/testing/ashes/interpreter/fixtures/nested_dialog_break_one.esc.uid new file mode 100644 index 0000000..8d392b8 --- /dev/null +++ b/addons/escoria-core/testing/ashes/interpreter/fixtures/nested_dialog_break_one.esc.uid @@ -0,0 +1 @@ +uid://bfwg7dby8q4g3 diff --git a/addons/escoria-core/testing/ashes/interpreter/fixtures/print_two_args.esc b/addons/escoria-core/testing/ashes/interpreter/fixtures/print_two_args.esc new file mode 100644 index 0000000..07b5ccd --- /dev/null +++ b/addons/escoria-core/testing/ashes/interpreter/fixtures/print_two_args.esc @@ -0,0 +1,2 @@ +:test + print("a", "b") diff --git a/addons/escoria-core/testing/ashes/interpreter/fixtures/print_two_args.esc.uid b/addons/escoria-core/testing/ashes/interpreter/fixtures/print_two_args.esc.uid new file mode 100644 index 0000000..cd16f5f --- /dev/null +++ b/addons/escoria-core/testing/ashes/interpreter/fixtures/print_two_args.esc.uid @@ -0,0 +1 @@ +uid://d0cv0a5fo7hdh diff --git a/addons/escoria-core/testing/ashes/interpreter/fixtures/print_zero_args.esc b/addons/escoria-core/testing/ashes/interpreter/fixtures/print_zero_args.esc new file mode 100644 index 0000000..3ff88bf --- /dev/null +++ b/addons/escoria-core/testing/ashes/interpreter/fixtures/print_zero_args.esc @@ -0,0 +1,2 @@ +:test + print() diff --git a/addons/escoria-core/testing/ashes/interpreter/fixtures/print_zero_args.esc.uid b/addons/escoria-core/testing/ashes/interpreter/fixtures/print_zero_args.esc.uid new file mode 100644 index 0000000..8dd21c3 --- /dev/null +++ b/addons/escoria-core/testing/ashes/interpreter/fixtures/print_zero_args.esc.uid @@ -0,0 +1 @@ +uid://cc274jba2egui diff --git a/addons/escoria-core/testing/ashes/interpreter/fixtures/queue_event_block_waits_for_correct_background_event.esc b/addons/escoria-core/testing/ashes/interpreter/fixtures/queue_event_block_waits_for_correct_background_event.esc new file mode 100644 index 0000000..853a985 --- /dev/null +++ b/addons/escoria-core/testing/ashes/interpreter/fixtures/queue_event_block_waits_for_correct_background_event.esc @@ -0,0 +1,10 @@ +:background_first + global block_wait_result = "start" + test_delayed_set_global("block_wait_result", "first", 0.05) + +:background_target + test_delayed_set_global("block_wait_result", "first-target", 0.2) + +:front_event + global block_wait_front_result = "start" + test_delayed_set_global("block_wait_front_result", "front", 0.01) diff --git a/addons/escoria-core/testing/ashes/interpreter/fixtures/queue_event_block_waits_for_correct_background_event.esc.uid b/addons/escoria-core/testing/ashes/interpreter/fixtures/queue_event_block_waits_for_correct_background_event.esc.uid new file mode 100644 index 0000000..928dcef --- /dev/null +++ b/addons/escoria-core/testing/ashes/interpreter/fixtures/queue_event_block_waits_for_correct_background_event.esc.uid @@ -0,0 +1 @@ +uid://4g0g2m5j3ve7u diff --git a/addons/escoria-core/testing/ashes/interpreter/fixtures/queue_event_block_waits_for_correct_front_event.esc b/addons/escoria-core/testing/ashes/interpreter/fixtures/queue_event_block_waits_for_correct_front_event.esc new file mode 100644 index 0000000..9ea46b0 --- /dev/null +++ b/addons/escoria-core/testing/ashes/interpreter/fixtures/queue_event_block_waits_for_correct_front_event.esc @@ -0,0 +1,10 @@ +:front_first + global front_block_wait_result = "start" + test_delayed_set_global("front_block_wait_result", "first", 0.05) + +:front_target + test_delayed_set_global("front_block_wait_result", "first-target", 0.2) + +:background_event + global front_block_wait_background_result = "start" + test_delayed_set_global("front_block_wait_background_result", "background", 0.01) diff --git a/addons/escoria-core/testing/ashes/interpreter/fixtures/queue_event_block_waits_for_correct_front_event.esc.uid b/addons/escoria-core/testing/ashes/interpreter/fixtures/queue_event_block_waits_for_correct_front_event.esc.uid new file mode 100644 index 0000000..b725b6c --- /dev/null +++ b/addons/escoria-core/testing/ashes/interpreter/fixtures/queue_event_block_waits_for_correct_front_event.esc.uid @@ -0,0 +1 @@ +uid://c5q5hi1sp5u4h diff --git a/addons/escoria-core/testing/ashes/interpreter/fixtures/scheduled_event_interrupted_before_dispatch.esc b/addons/escoria-core/testing/ashes/interpreter/fixtures/scheduled_event_interrupted_before_dispatch.esc new file mode 100644 index 0000000..475c523 --- /dev/null +++ b/addons/escoria-core/testing/ashes/interpreter/fixtures/scheduled_event_interrupted_before_dispatch.esc @@ -0,0 +1,7 @@ +:front_running + global scheduled_interrupt_result = "start" + test_interruptible_set_global("scheduled_interrupt_result", "front-running", "scheduled_interrupt_was_interrupted", 0.2) + scheduled_interrupt_result = scheduled_interrupt_result + "-after" + +:scheduled_front + scheduled_interrupt_result = scheduled_interrupt_result + "-scheduled" diff --git a/addons/escoria-core/testing/ashes/interpreter/fixtures/scheduled_event_interrupted_before_dispatch.esc.uid b/addons/escoria-core/testing/ashes/interpreter/fixtures/scheduled_event_interrupted_before_dispatch.esc.uid new file mode 100644 index 0000000..1ca4eb5 --- /dev/null +++ b/addons/escoria-core/testing/ashes/interpreter/fixtures/scheduled_event_interrupted_before_dispatch.esc.uid @@ -0,0 +1 @@ +uid://dd1tktxwp4t0s diff --git a/addons/escoria-core/testing/ashes/interpreter/fixtures/scheduled_front_event_with_busy_background.esc b/addons/escoria-core/testing/ashes/interpreter/fixtures/scheduled_front_event_with_busy_background.esc new file mode 100644 index 0000000..1f88f71 --- /dev/null +++ b/addons/escoria-core/testing/ashes/interpreter/fixtures/scheduled_front_event_with_busy_background.esc @@ -0,0 +1,12 @@ +:front_running + global scheduled_front_result = "start" + test_interruptible_set_global("scheduled_front_result", "front-running", "scheduled_front_interrupted", 0.2) + scheduled_front_result = scheduled_front_result + "-after" + +:scheduled_front + scheduled_front_result = scheduled_front_result + "-scheduled" + +:background_running + global scheduled_background_result = "start" + test_interruptible_set_global("scheduled_background_result", "background-running", "scheduled_background_interrupted", 0.2) + scheduled_background_result = scheduled_background_result + "-after" diff --git a/addons/escoria-core/testing/ashes/interpreter/fixtures/scheduled_front_event_with_busy_background.esc.uid b/addons/escoria-core/testing/ashes/interpreter/fixtures/scheduled_front_event_with_busy_background.esc.uid new file mode 100644 index 0000000..235d8c4 --- /dev/null +++ b/addons/escoria-core/testing/ashes/interpreter/fixtures/scheduled_front_event_with_busy_background.esc.uid @@ -0,0 +1 @@ +uid://cqt1mxg5k7q6m diff --git a/addons/escoria-core/testing/ashes/interpreter/fixtures/stop_in_dialog_option.esc b/addons/escoria-core/testing/ashes/interpreter/fixtures/stop_in_dialog_option.esc new file mode 100644 index 0000000..7be3f85 --- /dev/null +++ b/addons/escoria-core/testing/ashes/interpreter/fixtures/stop_in_dialog_option.esc @@ -0,0 +1,6 @@ +:test + global result = 0 + ?! + - "Stop" + stop + result = 1 diff --git a/addons/escoria-core/testing/ashes/interpreter/fixtures/stop_in_dialog_option.esc.uid b/addons/escoria-core/testing/ashes/interpreter/fixtures/stop_in_dialog_option.esc.uid new file mode 100644 index 0000000..d979742 --- /dev/null +++ b/addons/escoria-core/testing/ashes/interpreter/fixtures/stop_in_dialog_option.esc.uid @@ -0,0 +1 @@ +uid://148e3f0660144f8a9e00065bdde07cde diff --git a/addons/escoria-core/testing/ashes/interpreter/fixtures/stop_nested_block.esc b/addons/escoria-core/testing/ashes/interpreter/fixtures/stop_nested_block.esc new file mode 100644 index 0000000..52ea799 --- /dev/null +++ b/addons/escoria-core/testing/ashes/interpreter/fixtures/stop_nested_block.esc @@ -0,0 +1,5 @@ +:test + global result = 0 + if true: + stop + result = 1 diff --git a/addons/escoria-core/testing/ashes/interpreter/fixtures/stop_nested_block.esc.uid b/addons/escoria-core/testing/ashes/interpreter/fixtures/stop_nested_block.esc.uid new file mode 100644 index 0000000..f005816 --- /dev/null +++ b/addons/escoria-core/testing/ashes/interpreter/fixtures/stop_nested_block.esc.uid @@ -0,0 +1 @@ +uid://ccw3t8r0s6n6r diff --git a/addons/escoria-core/testing/ashes/interpreter/fixtures/trigger_targeted_events_use_object_id.esc b/addons/escoria-core/testing/ashes/interpreter/fixtures/trigger_targeted_events_use_object_id.esc new file mode 100644 index 0000000..728ca59 --- /dev/null +++ b/addons/escoria-core/testing/ashes/interpreter/fixtures/trigger_targeted_events_use_object_id.esc @@ -0,0 +1,11 @@ +:trigger_in "player" + test_set_global("trigger_in_result", "player-in") + +:trigger_in + test_set_global("trigger_in_result", "fallback-in") + +:trigger_out "player" + test_set_global("trigger_out_result", "player-out") + +:trigger_out + test_set_global("trigger_out_result", "fallback-out") diff --git a/addons/escoria-core/testing/ashes/interpreter/fixtures/trigger_targeted_events_use_object_id.esc.uid b/addons/escoria-core/testing/ashes/interpreter/fixtures/trigger_targeted_events_use_object_id.esc.uid new file mode 100644 index 0000000..46d6dcb --- /dev/null +++ b/addons/escoria-core/testing/ashes/interpreter/fixtures/trigger_targeted_events_use_object_id.esc.uid @@ -0,0 +1 @@ +uid://ciepdqqwhcgtf -- cgit v1.3