summaryrefslogtreecommitdiff
path: root/addons/escoria-core/testing/ashes/parser/fixtures
diff options
context:
space:
mode:
authorradiohotline <radoihotline@disroot.rg>2026-08-25 16:33:56 +0300
committerradiohotline <radoihotline@disroot.rg>2026-08-25 16:33:56 +0300
commita89e744ed0e8c759caf041a580112365bbfe4303 (patch)
treedd61e320904176995727e86a857d00c90d4933ba /addons/escoria-core/testing/ashes/parser/fixtures
parent6d53d8cac78250dc888aa49d5f9d4175c6652feb (diff)
escoria updateHEADmain
Diffstat (limited to 'addons/escoria-core/testing/ashes/parser/fixtures')
-rw-r--r--addons/escoria-core/testing/ashes/parser/fixtures/blank_lines_before_dedent.esc9
-rw-r--r--addons/escoria-core/testing/ashes/parser/fixtures/blank_lines_before_dedent.esc.uid1
-rw-r--r--addons/escoria-core/testing/ashes/parser/fixtures/blank_lines_in_nested_blocks.esc11
-rw-r--r--addons/escoria-core/testing/ashes/parser/fixtures/blank_lines_in_nested_blocks.esc.uid1
-rw-r--r--addons/escoria-core/testing/ashes/parser/fixtures/dialog_error_then_top_level_done.esc10
-rw-r--r--addons/escoria-core/testing/ashes/parser/fixtures/dialog_error_then_top_level_done.esc.uid1
-rw-r--r--addons/escoria-core/testing/ashes/parser/fixtures/dialog_option_missing_indented_body.esc7
-rw-r--r--addons/escoria-core/testing/ashes/parser/fixtures/dialog_option_missing_indented_body.esc.uid1
-rw-r--r--addons/escoria-core/testing/ashes/parser/fixtures/dialog_option_missing_right_square.esc9
-rw-r--r--addons/escoria-core/testing/ashes/parser/fixtures/dialog_option_translation_key.esc6
-rw-r--r--addons/escoria-core/testing/ashes/parser/fixtures/dialog_option_translation_key.esc.uid1
-rw-r--r--addons/escoria-core/testing/ashes/parser/fixtures/dialog_start_args_with_parens.esc9
-rw-r--r--addons/escoria-core/testing/ashes/parser/fixtures/dialog_start_args_with_parens.esc.uid1
-rw-r--r--addons/escoria-core/testing/ashes/parser/fixtures/dialog_start_args_without_parens.esc9
-rw-r--r--addons/escoria-core/testing/ashes/parser/fixtures/dialog_start_args_without_parens.esc.uid1
-rw-r--r--addons/escoria-core/testing/ashes/parser/fixtures/done_partial_match.esc5
-rw-r--r--addons/escoria-core/testing/ashes/parser/fixtures/global_missing_newline.esc5
-rw-r--r--addons/escoria-core/testing/ashes/parser/fixtures/global_missing_newline.esc.uid1
-rw-r--r--addons/escoria-core/testing/ashes/parser/fixtures/grouping_missing_right_paren.esc5
-rw-r--r--addons/escoria-core/testing/ashes/parser/fixtures/grouping_missing_right_paren.esc.uid1
-rw-r--r--addons/escoria-core/testing/ashes/parser/fixtures/happy_path_full_language.esc41
-rw-r--r--addons/escoria-core/testing/ashes/parser/fixtures/happy_path_full_language.esc.uid1
-rw-r--r--addons/escoria-core/testing/ashes/parser/fixtures/hyphenated_global_identifier.esc2
-rw-r--r--addons/escoria-core/testing/ashes/parser/fixtures/hyphenated_global_identifier.esc.uid1
-rw-r--r--addons/escoria-core/testing/ashes/parser/fixtures/identifier_keyword_prefixes.esc6
-rw-r--r--addons/escoria-core/testing/ashes/parser/fixtures/identifier_keyword_prefixes.esc.uid1
-rw-r--r--addons/escoria-core/testing/ashes/parser/fixtures/synchronize_after_invalid_done.esc6
-rw-r--r--addons/escoria-core/testing/ashes/parser/fixtures/synchronize_after_invalid_if.esc7
-rw-r--r--addons/escoria-core/testing/ashes/parser/fixtures/var_grouping_missing_right_paren.esc5
-rw-r--r--addons/escoria-core/testing/ashes/parser/fixtures/var_grouping_missing_right_paren.esc.uid1
-rw-r--r--addons/escoria-core/testing/ashes/parser/fixtures/var_missing_newline.esc5
-rw-r--r--addons/escoria-core/testing/ashes/parser/fixtures/var_missing_newline.esc.uid1
-rw-r--r--addons/escoria-core/testing/ashes/parser/fixtures/while_error_then_top_level_break.esc9
-rw-r--r--addons/escoria-core/testing/ashes/parser/fixtures/while_error_then_top_level_break.esc.uid1
34 files changed, 181 insertions, 0 deletions
diff --git a/addons/escoria-core/testing/ashes/parser/fixtures/blank_lines_before_dedent.esc b/addons/escoria-core/testing/ashes/parser/fixtures/blank_lines_before_dedent.esc
new file mode 100644
index 0000000..0ba7826
--- /dev/null
+++ b/addons/escoria-core/testing/ashes/parser/fixtures/blank_lines_before_dedent.esc
@@ -0,0 +1,9 @@
+:test
+ if true:
+ print("inside")
+
+
+ print("after")
+
+:second
+ print("ok")
diff --git a/addons/escoria-core/testing/ashes/parser/fixtures/blank_lines_before_dedent.esc.uid b/addons/escoria-core/testing/ashes/parser/fixtures/blank_lines_before_dedent.esc.uid
new file mode 100644
index 0000000..4287f2f
--- /dev/null
+++ b/addons/escoria-core/testing/ashes/parser/fixtures/blank_lines_before_dedent.esc.uid
@@ -0,0 +1 @@
+uid://dc3kyx3rnh13d
diff --git a/addons/escoria-core/testing/ashes/parser/fixtures/blank_lines_in_nested_blocks.esc b/addons/escoria-core/testing/ashes/parser/fixtures/blank_lines_in_nested_blocks.esc
new file mode 100644
index 0000000..f1bf7dc
--- /dev/null
+++ b/addons/escoria-core/testing/ashes/parser/fixtures/blank_lines_in_nested_blocks.esc
@@ -0,0 +1,11 @@
+:test
+ if true:
+ var value = 1
+
+ if true:
+ print(value)
+
+ print("done")
+
+:second
+ print("ok")
diff --git a/addons/escoria-core/testing/ashes/parser/fixtures/blank_lines_in_nested_blocks.esc.uid b/addons/escoria-core/testing/ashes/parser/fixtures/blank_lines_in_nested_blocks.esc.uid
new file mode 100644
index 0000000..5d9dc6a
--- /dev/null
+++ b/addons/escoria-core/testing/ashes/parser/fixtures/blank_lines_in_nested_blocks.esc.uid
@@ -0,0 +1 @@
+uid://c6pkm7n2t4wyf
diff --git a/addons/escoria-core/testing/ashes/parser/fixtures/dialog_error_then_top_level_done.esc b/addons/escoria-core/testing/ashes/parser/fixtures/dialog_error_then_top_level_done.esc
new file mode 100644
index 0000000..a6aa528
--- /dev/null
+++ b/addons/escoria-core/testing/ashes/parser/fixtures/dialog_error_then_top_level_done.esc
@@ -0,0 +1,10 @@
+:test
+ ?!(1,
+ - "Option"
+ print("broken")
+
+:second
+ done
+
+:third
+ print("ok")
diff --git a/addons/escoria-core/testing/ashes/parser/fixtures/dialog_error_then_top_level_done.esc.uid b/addons/escoria-core/testing/ashes/parser/fixtures/dialog_error_then_top_level_done.esc.uid
new file mode 100644
index 0000000..13ee072
--- /dev/null
+++ b/addons/escoria-core/testing/ashes/parser/fixtures/dialog_error_then_top_level_done.esc.uid
@@ -0,0 +1 @@
+uid://f4q8q8et7mbo2
diff --git a/addons/escoria-core/testing/ashes/parser/fixtures/dialog_option_missing_indented_body.esc b/addons/escoria-core/testing/ashes/parser/fixtures/dialog_option_missing_indented_body.esc
new file mode 100644
index 0000000..51c525c
--- /dev/null
+++ b/addons/escoria-core/testing/ashes/parser/fixtures/dialog_option_missing_indented_body.esc
@@ -0,0 +1,7 @@
+:test
+ ?!
+ - "Option"
+ print("after")
+
+:second
+ print("ok")
diff --git a/addons/escoria-core/testing/ashes/parser/fixtures/dialog_option_missing_indented_body.esc.uid b/addons/escoria-core/testing/ashes/parser/fixtures/dialog_option_missing_indented_body.esc.uid
new file mode 100644
index 0000000..7bd0fe8
--- /dev/null
+++ b/addons/escoria-core/testing/ashes/parser/fixtures/dialog_option_missing_indented_body.esc.uid
@@ -0,0 +1 @@
+uid://blnqmv4wjsoi8
diff --git a/addons/escoria-core/testing/ashes/parser/fixtures/dialog_option_missing_right_square.esc b/addons/escoria-core/testing/ashes/parser/fixtures/dialog_option_missing_right_square.esc
new file mode 100644
index 0000000..32f407a
--- /dev/null
+++ b/addons/escoria-core/testing/ashes/parser/fixtures/dialog_option_missing_right_square.esc
@@ -0,0 +1,9 @@
+:test
+ ?!
+ - "Option" [some_flag < 3
+ print("after")
+ - "Second option"
+ print("ok")
+
+:second
+ print("after_dialog")
diff --git a/addons/escoria-core/testing/ashes/parser/fixtures/dialog_option_translation_key.esc b/addons/escoria-core/testing/ashes/parser/fixtures/dialog_option_translation_key.esc
new file mode 100644
index 0000000..69f88db
--- /dev/null
+++ b/addons/escoria-core/testing/ashes/parser/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/parser/fixtures/dialog_option_translation_key.esc.uid b/addons/escoria-core/testing/ashes/parser/fixtures/dialog_option_translation_key.esc.uid
new file mode 100644
index 0000000..7ac79a6
--- /dev/null
+++ b/addons/escoria-core/testing/ashes/parser/fixtures/dialog_option_translation_key.esc.uid
@@ -0,0 +1 @@
+uid://doadggrcx5l6l
diff --git a/addons/escoria-core/testing/ashes/parser/fixtures/dialog_start_args_with_parens.esc b/addons/escoria-core/testing/ashes/parser/fixtures/dialog_start_args_with_parens.esc
new file mode 100644
index 0000000..0b3c59e
--- /dev/null
+++ b/addons/escoria-core/testing/ashes/parser/fixtures/dialog_start_args_with_parens.esc
@@ -0,0 +1,9 @@
+:talk
+ ?!("res://game/dialog_avatars/player.tres", 5, 2)
+ - "First option"
+ say($player, "First option")
+ - "Second option"
+ say($player, "Second option")
+
+:second
+ print("ok")
diff --git a/addons/escoria-core/testing/ashes/parser/fixtures/dialog_start_args_with_parens.esc.uid b/addons/escoria-core/testing/ashes/parser/fixtures/dialog_start_args_with_parens.esc.uid
new file mode 100644
index 0000000..076398a
--- /dev/null
+++ b/addons/escoria-core/testing/ashes/parser/fixtures/dialog_start_args_with_parens.esc.uid
@@ -0,0 +1 @@
+uid://d0xvqlf18ax11
diff --git a/addons/escoria-core/testing/ashes/parser/fixtures/dialog_start_args_without_parens.esc b/addons/escoria-core/testing/ashes/parser/fixtures/dialog_start_args_without_parens.esc
new file mode 100644
index 0000000..cdb2090
--- /dev/null
+++ b/addons/escoria-core/testing/ashes/parser/fixtures/dialog_start_args_without_parens.esc
@@ -0,0 +1,9 @@
+:talk
+ ?! "res://game/dialog_avatars/player.tres" 5 2
+ - "First option"
+ say($player, "First option")
+ - "Second option"
+ say($player, "Second option")
+
+:second
+ print("ok")
diff --git a/addons/escoria-core/testing/ashes/parser/fixtures/dialog_start_args_without_parens.esc.uid b/addons/escoria-core/testing/ashes/parser/fixtures/dialog_start_args_without_parens.esc.uid
new file mode 100644
index 0000000..d0dd054
--- /dev/null
+++ b/addons/escoria-core/testing/ashes/parser/fixtures/dialog_start_args_without_parens.esc.uid
@@ -0,0 +1 @@
+uid://cb2w2jdpxy8sr
diff --git a/addons/escoria-core/testing/ashes/parser/fixtures/done_partial_match.esc b/addons/escoria-core/testing/ashes/parser/fixtures/done_partial_match.esc
new file mode 100644
index 0000000..a36a85b
--- /dev/null
+++ b/addons/escoria-core/testing/ashes/parser/fixtures/done_partial_match.esc
@@ -0,0 +1,5 @@
+:test
+ ?!
+ - "Option"
+ done x
+ print("after")
diff --git a/addons/escoria-core/testing/ashes/parser/fixtures/global_missing_newline.esc b/addons/escoria-core/testing/ashes/parser/fixtures/global_missing_newline.esc
new file mode 100644
index 0000000..f51f093
--- /dev/null
+++ b/addons/escoria-core/testing/ashes/parser/fixtures/global_missing_newline.esc
@@ -0,0 +1,5 @@
+:test
+ global value = 1 print("oops")
+
+:second
+ print("ok")
diff --git a/addons/escoria-core/testing/ashes/parser/fixtures/global_missing_newline.esc.uid b/addons/escoria-core/testing/ashes/parser/fixtures/global_missing_newline.esc.uid
new file mode 100644
index 0000000..bcb4fd1
--- /dev/null
+++ b/addons/escoria-core/testing/ashes/parser/fixtures/global_missing_newline.esc.uid
@@ -0,0 +1 @@
+uid://di8w10jb2c7u4
diff --git a/addons/escoria-core/testing/ashes/parser/fixtures/grouping_missing_right_paren.esc b/addons/escoria-core/testing/ashes/parser/fixtures/grouping_missing_right_paren.esc
new file mode 100644
index 0000000..97e2e1e
--- /dev/null
+++ b/addons/escoria-core/testing/ashes/parser/fixtures/grouping_missing_right_paren.esc
@@ -0,0 +1,5 @@
+:test
+ print((1 + 2)
+
+:second
+ print("ok")
diff --git a/addons/escoria-core/testing/ashes/parser/fixtures/grouping_missing_right_paren.esc.uid b/addons/escoria-core/testing/ashes/parser/fixtures/grouping_missing_right_paren.esc.uid
new file mode 100644
index 0000000..a872107
--- /dev/null
+++ b/addons/escoria-core/testing/ashes/parser/fixtures/grouping_missing_right_paren.esc.uid
@@ -0,0 +1 @@
+uid://dnj6r3c3d8m5x
diff --git a/addons/escoria-core/testing/ashes/parser/fixtures/happy_path_full_language.esc b/addons/escoria-core/testing/ashes/parser/fixtures/happy_path_full_language.esc
new file mode 100644
index 0000000..0a82acd
--- /dev/null
+++ b/addons/escoria-core/testing/ashes/parser/fixtures/happy_path_full_language.esc
@@ -0,0 +1,41 @@
+:setup | NO_UI | NO_SAVE
+ global has_met_worker = false
+ global ask_count = 0
+ var local_count = 0
+ var target_name = $worker
+
+ if !has_met_worker and ESC_LAST_SCENE == "room1":
+ print("first visit")
+ elif $worker is active:
+ print("worker active")
+ else:
+ print("fallback")
+
+ while local_count < 3:
+ local_count = local_count + 1
+ if local_count == 2:
+ break
+
+:look "worker"
+ if $badge in inventory:
+ print("has badge")
+ elif $worker is "busy":
+ print("busy")
+ else:
+ print("idle")
+
+ ?!
+ - "Who are you?" [!has_met_worker]
+ print("ask name")
+ has_met_worker = true
+ - "Tell me more." [ask_count < 2]
+ ask_count = ask_count + 1
+ ?!
+ - "Enough."
+ break 1
+ - "I am done."
+ done
+ - "Bye."
+ break
+
+ print("after dialog")
diff --git a/addons/escoria-core/testing/ashes/parser/fixtures/happy_path_full_language.esc.uid b/addons/escoria-core/testing/ashes/parser/fixtures/happy_path_full_language.esc.uid
new file mode 100644
index 0000000..d6713b5
--- /dev/null
+++ b/addons/escoria-core/testing/ashes/parser/fixtures/happy_path_full_language.esc.uid
@@ -0,0 +1 @@
+uid://cbv6x0w8g17ap
diff --git a/addons/escoria-core/testing/ashes/parser/fixtures/hyphenated_global_identifier.esc b/addons/escoria-core/testing/ashes/parser/fixtures/hyphenated_global_identifier.esc
new file mode 100644
index 0000000..0c86561
--- /dev/null
+++ b/addons/escoria-core/testing/ashes/parser/fixtures/hyphenated_global_identifier.esc
@@ -0,0 +1,2 @@
+:test
+ var total = $closet-door - 1
diff --git a/addons/escoria-core/testing/ashes/parser/fixtures/hyphenated_global_identifier.esc.uid b/addons/escoria-core/testing/ashes/parser/fixtures/hyphenated_global_identifier.esc.uid
new file mode 100644
index 0000000..f2e55d8
--- /dev/null
+++ b/addons/escoria-core/testing/ashes/parser/fixtures/hyphenated_global_identifier.esc.uid
@@ -0,0 +1 @@
+uid://b2mxj0r3fk4yy
diff --git a/addons/escoria-core/testing/ashes/parser/fixtures/identifier_keyword_prefixes.esc b/addons/escoria-core/testing/ashes/parser/fixtures/identifier_keyword_prefixes.esc
new file mode 100644
index 0000000..dd86b8f
--- /dev/null
+++ b/addons/escoria-core/testing/ashes/parser/fixtures/identifier_keyword_prefixes.esc
@@ -0,0 +1,6 @@
+:test
+ var breakfast = 1
+ var donee = 2
+ var elseify = 3
+ var notable = 4
+ print(breakfast + donee + elseify + notable)
diff --git a/addons/escoria-core/testing/ashes/parser/fixtures/identifier_keyword_prefixes.esc.uid b/addons/escoria-core/testing/ashes/parser/fixtures/identifier_keyword_prefixes.esc.uid
new file mode 100644
index 0000000..3bdfa1b
--- /dev/null
+++ b/addons/escoria-core/testing/ashes/parser/fixtures/identifier_keyword_prefixes.esc.uid
@@ -0,0 +1 @@
+uid://d1s8r2n3kq1vh
diff --git a/addons/escoria-core/testing/ashes/parser/fixtures/synchronize_after_invalid_done.esc b/addons/escoria-core/testing/ashes/parser/fixtures/synchronize_after_invalid_done.esc
new file mode 100644
index 0000000..0203977
--- /dev/null
+++ b/addons/escoria-core/testing/ashes/parser/fixtures/synchronize_after_invalid_done.esc
@@ -0,0 +1,6 @@
+:test
+ done x
+ print("after")
+
+:second
+ print("ok")
diff --git a/addons/escoria-core/testing/ashes/parser/fixtures/synchronize_after_invalid_if.esc b/addons/escoria-core/testing/ashes/parser/fixtures/synchronize_after_invalid_if.esc
new file mode 100644
index 0000000..d871c98
--- /dev/null
+++ b/addons/escoria-core/testing/ashes/parser/fixtures/synchronize_after_invalid_if.esc
@@ -0,0 +1,7 @@
+:test
+ if some_flag
+ print("broken")
+ print("after")
+
+:second
+ print("ok")
diff --git a/addons/escoria-core/testing/ashes/parser/fixtures/var_grouping_missing_right_paren.esc b/addons/escoria-core/testing/ashes/parser/fixtures/var_grouping_missing_right_paren.esc
new file mode 100644
index 0000000..05fd749
--- /dev/null
+++ b/addons/escoria-core/testing/ashes/parser/fixtures/var_grouping_missing_right_paren.esc
@@ -0,0 +1,5 @@
+:test
+ var x = (1 + 2
+
+:second
+ print("ok")
diff --git a/addons/escoria-core/testing/ashes/parser/fixtures/var_grouping_missing_right_paren.esc.uid b/addons/escoria-core/testing/ashes/parser/fixtures/var_grouping_missing_right_paren.esc.uid
new file mode 100644
index 0000000..567b162
--- /dev/null
+++ b/addons/escoria-core/testing/ashes/parser/fixtures/var_grouping_missing_right_paren.esc.uid
@@ -0,0 +1 @@
+uid://b2d1d5qj4o8t7
diff --git a/addons/escoria-core/testing/ashes/parser/fixtures/var_missing_newline.esc b/addons/escoria-core/testing/ashes/parser/fixtures/var_missing_newline.esc
new file mode 100644
index 0000000..c62d37d
--- /dev/null
+++ b/addons/escoria-core/testing/ashes/parser/fixtures/var_missing_newline.esc
@@ -0,0 +1,5 @@
+:test
+ var x = 1 print("bad")
+
+:second
+ print("ok")
diff --git a/addons/escoria-core/testing/ashes/parser/fixtures/var_missing_newline.esc.uid b/addons/escoria-core/testing/ashes/parser/fixtures/var_missing_newline.esc.uid
new file mode 100644
index 0000000..f65cfb9
--- /dev/null
+++ b/addons/escoria-core/testing/ashes/parser/fixtures/var_missing_newline.esc.uid
@@ -0,0 +1 @@
+uid://dssmdd6b0cwut
diff --git a/addons/escoria-core/testing/ashes/parser/fixtures/while_error_then_top_level_break.esc b/addons/escoria-core/testing/ashes/parser/fixtures/while_error_then_top_level_break.esc
new file mode 100644
index 0000000..dd6ef8b
--- /dev/null
+++ b/addons/escoria-core/testing/ashes/parser/fixtures/while_error_then_top_level_break.esc
@@ -0,0 +1,9 @@
+:test
+ while true
+ print("broken")
+
+:second
+ break
+
+:third
+ print("ok")
diff --git a/addons/escoria-core/testing/ashes/parser/fixtures/while_error_then_top_level_break.esc.uid b/addons/escoria-core/testing/ashes/parser/fixtures/while_error_then_top_level_break.esc.uid
new file mode 100644
index 0000000..1a1f894
--- /dev/null
+++ b/addons/escoria-core/testing/ashes/parser/fixtures/while_error_then_top_level_break.esc.uid
@@ -0,0 +1 @@
+uid://dgo0jap62bmth