Skip to content

Commit 12e03b1

Browse files
committed
fix #220 do not check indent
1 parent c8d0a9f commit 12e03b1

File tree

12 files changed

+271
-130
lines changed

12 files changed

+271
-130
lines changed
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
extends "res://Test/RakugoTest.gd"
2+
3+
func test_menu():
4+
var file_path = "res://Test/TestParser/TestMenu/TestMenu.rk"
5+
6+
var file_base_name = get_file_base_name(file_path)
7+
8+
watch_rakugo_signals()
9+
10+
await wait_parse_and_execute_script(file_path)
11+
12+
await wait_menu(["Loop", "End"])
13+
14+
assert_menu_return(0);
15+
16+
await wait_menu(["Loop", "End"])
17+
18+
assert_menu_return(1);
19+
20+
await wait_execute_script_finished(file_base_name)
21+
22+
func test_menu_choice_parse_fail():
23+
var file_path = "res://Test/TestParser/TestMenu/TestMenuChoiceParseFail.rk"
24+
25+
assert_eq(Rakugo.parse_script(file_path), FAILED)
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
[gd_scene load_steps=2 format=3 uid="uid://dmruluk7xrv2e"]
2+
3+
[ext_resource type="Script" path="res://Test/TestParser/TestMenu/TestMenu.gd" id="1"]
4+
5+
[node name="TestMenu" type="Node"]
6+
script = ExtResource("1")
File renamed without changes.
Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
extends "res://Test/RakugoTest.gd"
2+
3+
const file_path = "res://Test/TestParser/TestSay/TestSay.rk"
4+
5+
var file_base_name = get_file_base_name(file_path)
6+
7+
func test_say():
8+
watch_rakugo_signals()
9+
10+
await wait_parse_and_execute_script(file_path)
11+
12+
await wait_say({}, "Hello, world !")
13+
14+
assert_do_step()
15+
16+
await wait_say({"name": "Sylvie"}, "Hello !")
17+
18+
assert_do_step()
19+
20+
await wait_say({}, "My name is Sylvie")
21+
22+
assert_do_step()
23+
24+
await wait_say({}, "I am 18")
25+
26+
assert_do_step()
27+
28+
await wait_execute_script_finished(file_base_name)
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
[gd_scene load_steps=2 format=3 uid="uid://dt8lnvj37mvw0"]
2+
3+
[ext_resource type="Script" path="res://Test/TestParser/TestSay/TestSay.gd" id="1"]
4+
5+
[node name="TestSay" type="Node"]
6+
script = ExtResource("1")
Lines changed: 58 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,25 +1,66 @@
1-
extends "res://Test/RakugoTest.gd"
1+
extends GutTest
22

3-
func test_menu():
4-
var file_path = "res://Test/TestParser/TestMenu/TestMenu.rk"
3+
const Parser = preload("res://addons/Rakugo/lib/systems/Parser.gd")
54

6-
var file_base_name = get_file_base_name(file_path)
5+
@onready var parser := Parser.new()
76

8-
watch_rakugo_signals()
9-
10-
await wait_parse_and_execute_script(file_path)
11-
12-
await wait_menu(["Loop", "End"])
7+
var test_params = [
8+
[
9+
"menu menu:",
10+
"\"loop\" > menu",
11+
"\"end\""
12+
],
13+
[
14+
"menu menu:",
15+
" \"loop\" > menu",
16+
" \"end\""
17+
],
18+
[
19+
" menu menu: ",
20+
" \"loop\" > menu ",
21+
" \"end\""
22+
],
23+
[
24+
"menu menu:",
25+
"\"loop\" > menu",
26+
"\"end\"",
27+
""
28+
],
29+
[
30+
"menu menu:",
31+
"\"loop\" > menu",
32+
"\"end\"",
33+
" "
34+
],
35+
[
36+
"menu menu:",
37+
"\"loop\" > menu",
38+
"\"end\"",
39+
"\"hello, world !\""
40+
],
41+
[
42+
"menu menu:",
43+
"\"loop\" > menu",
44+
"\"end\"",
45+
"# comment"
46+
]
47+
]
1348

14-
assert_menu_return(0);
49+
func test_menu(params=use_parameters(test_params)):
50+
var parsed_script = parser.parse_script(params)
1551

16-
await wait_menu(["Loop", "End"])
17-
18-
assert_menu_return(1);
52+
assert_false(parsed_script.is_empty())
53+
54+
var parsed_array = parsed_script["parse_array"]
55+
56+
assert_false(parsed_array.is_empty())
57+
58+
assert_eq(parsed_script["labels"], {"menu":0})
59+
60+
var menu_choice_results = parsed_array[0][2]
1961

20-
await wait_execute_script_finished(file_base_name)
62+
assert_eq(menu_choice_results[0].get_string("text"), "\"loop\"")
2163

22-
func test_menu_choice_parse_fail():
23-
var file_path = "res://Test/TestParser/TestMenu/TestMenuChoiceParseFail.rk"
64+
assert_eq(menu_choice_results[0].get_string("label"), "menu")
2465

25-
assert_eq(Rakugo.parse_script(file_path), FAILED)
66+
assert_eq(menu_choice_results[1].get_string("text"), "\"end\"")
Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
[gd_scene load_steps=2 format=3 uid="uid://dmruluk7xrv2e"]
1+
[gd_scene load_steps=2 format=3 uid="uid://cryjirfvh5cuq"]
22

3-
[ext_resource type="Script" path="res://Test/TestParser/TestMenu/TestMenu.gd" id="1"]
3+
[ext_resource type="Script" path="res://Test/TestParser/TestMenu/TestMenu.gd" id="1_roxlx"]
44

55
[node name="TestMenu" type="Node"]
6-
script = ExtResource("1")
6+
script = ExtResource("1_roxlx")

Test/TestParser/TestSay/TestSay.gd

Lines changed: 60 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,28 +1,73 @@
1-
extends "res://Test/RakugoTest.gd"
1+
extends GutTest
22

3-
const file_path = "res://Test/TestParser/TestSay/TestSay.rk"
3+
const Parser = preload("res://addons/Rakugo/lib/systems/Parser.gd")
44

5-
var file_base_name = get_file_base_name(file_path)
5+
@onready var parser := Parser.new()
66

7-
func test_say():
8-
watch_rakugo_signals()
7+
var test_params = [
8+
["\"Hello, world !\""],
9+
[" \"Hello, world !\""],
10+
[" \"Hello, world !\""],
11+
["\"Hello, world !\" "]
12+
]
913

10-
await wait_parse_and_execute_script(file_path)
14+
func test_say(params=use_parameters(test_params)):
15+
var parsed_script = parser.parse_script(params)
16+
17+
assert_false(parsed_script.is_empty())
1118

12-
await wait_say({}, "Hello, world !")
19+
var parsed_array = parsed_script["parse_array"]
1320

14-
assert_do_step()
21+
assert_false(parsed_array.is_empty())
1522

16-
await wait_say({"name": "Sylvie"}, "Hello !")
23+
assert_true(parsed_script.get("labels", [""]).is_empty())
1724

18-
assert_do_step()
25+
assert_true(parsed_array[0][0] == "SAY")
1926

20-
await wait_say({}, "My name is Sylvie")
27+
var result = parsed_array[0][1]
2128

22-
assert_do_step()
29+
assert_eq(result.get_string("text"), "\"Hello, world !\"")
30+
31+
func test_say_character():
32+
var rk_script = [
33+
"sy \"Hello !\""
34+
]
35+
36+
var parsed_script = parser.parse_script(rk_script)
37+
38+
assert_false(parsed_script.is_empty())
39+
40+
var parsed_array = parsed_script["parse_array"]
41+
42+
assert_false(parsed_array.is_empty())
2343

24-
await wait_say({}, "I am 18")
44+
assert_true(parsed_script.get("labels", [""]).is_empty())
45+
46+
assert_true(parsed_array[0][0] == "SAY")
47+
48+
var result = parsed_array[0][1]
49+
50+
assert_eq(result.get_string("character_tag"), "sy")
2551

26-
assert_do_step()
52+
assert_eq(result.get_string("text"), "\"Hello !\"")
2753

28-
await wait_execute_script_finished(file_base_name)
54+
func test_say_variable():
55+
var rk_script = [
56+
"\"My name is <sy.name>\""
57+
]
58+
59+
var parsed_script = parser.parse_script(rk_script)
60+
61+
assert_false(parsed_script.is_empty())
62+
63+
var parsed_array = parsed_script["parse_array"]
64+
65+
assert_false(parsed_array.is_empty())
66+
67+
assert_true(parsed_script.get("labels", [""]).is_empty())
68+
69+
assert_true(parsed_array[0][0] == "SAY")
70+
71+
var result = parsed_array[0][1]
72+
73+
assert_eq(result.get_string("text"), "\"My name is <sy.name>\"")

0 commit comments

Comments
 (0)