|
5 | 5 |
|
6 | 6 | extends TestSuite
|
7 | 7 |
|
8 |
| -func create_script_instance() -> RefCounted: |
9 |
| - var script = TestScript.new() |
| 8 | +func create_script_instance() -> Array: |
| 9 | + var language: TestScriptLanguage = TestScriptLanguage.new() |
| 10 | + var script: TestScript = language.new_script() |
10 | 11 | var script_owner = RefCounted.new()
|
11 | 12 |
|
12 | 13 | script_owner.script = script
|
13 | 14 |
|
14 |
| - return script_owner |
| 15 | + return [script_owner, language] |
15 | 16 |
|
16 | 17 |
|
17 | 18 | func test_script_instance_get_property():
|
18 |
| - var object = create_script_instance() |
| 19 | + var tuple := create_script_instance() |
| 20 | + var object: RefCounted = tuple[0] |
| 21 | + var language: TestScriptLanguage = tuple[1] |
19 | 22 |
|
20 | 23 | var value: int = object.script_property_a
|
21 | 24 |
|
22 | 25 | assert_eq(value, 10)
|
| 26 | + language.free() |
23 | 27 |
|
24 | 28 |
|
25 | 29 | func test_script_instance_set_property():
|
26 |
| - var object = create_script_instance() |
| 30 | + var tuple := create_script_instance() |
| 31 | + var object: RefCounted = tuple[0] |
| 32 | + var language: TestScriptLanguage = tuple[1] |
27 | 33 |
|
28 | 34 | assert_eq(object.script_property_b, false)
|
29 | 35 |
|
30 | 36 | object.script_property_b = true
|
31 | 37 |
|
32 | 38 | assert_eq(object.script_property_b, true)
|
| 39 | + language.free() |
33 | 40 |
|
34 | 41 |
|
35 | 42 | func test_script_instance_call():
|
36 |
| - var object = create_script_instance() |
| 43 | + var tuple := create_script_instance() |
| 44 | + var object: RefCounted = tuple[0] |
| 45 | + var language: TestScriptLanguage = tuple[1] |
37 | 46 |
|
38 | 47 | var arg_a = "test string"
|
39 | 48 | var arg_b = 5
|
40 | 49 |
|
41 | 50 | var result = object.script_method_a(arg_a, arg_b)
|
42 | 51 |
|
43 | 52 | assert_eq(result, "{0}{1}".format([arg_a, arg_b]))
|
| 53 | + language.free() |
44 | 54 |
|
45 | 55 |
|
46 | 56 | func test_script_instance_property_list():
|
47 |
| - var object = create_script_instance() |
| 57 | + var tuple := create_script_instance() |
| 58 | + var object: RefCounted = tuple[0] |
| 59 | + var language: TestScriptLanguage = tuple[1] |
48 | 60 |
|
49 | 61 | var list = object.get_property_list()
|
50 | 62 |
|
51 | 63 | assert_eq(list[-1]["name"], "script_property_a");
|
52 | 64 | assert_eq(list[-1]["type"], Variant.Type.TYPE_INT)
|
| 65 | + language.free() |
53 | 66 |
|
54 | 67 |
|
55 | 68 | func test_script_instance_method_list():
|
56 |
| - var object = create_script_instance() |
| 69 | + var tuple := create_script_instance() |
| 70 | + var object: RefCounted = tuple[0] |
| 71 | + var language: TestScriptLanguage = tuple[1] |
57 | 72 |
|
58 | 73 | var list = object.get_method_list()
|
59 | 74 |
|
60 | 75 | assert_eq(list[-1]["name"], "script_method_a")
|
61 | 76 | assert_eq(list[-1]["args"][0]["type"], Variant.Type.TYPE_STRING)
|
62 | 77 | assert_eq(list[-1]["args"][1]["type"], Variant.Type.TYPE_INT)
|
| 78 | + language.free() |
63 | 79 |
|
64 | 80 |
|
65 | 81 | func test_script_instance_has_method():
|
66 |
| - var object = create_script_instance() |
| 82 | + var tuple := create_script_instance() |
| 83 | + var object: RefCounted = tuple[0] |
| 84 | + var language: TestScriptLanguage = tuple[1] |
67 | 85 |
|
68 | 86 | assert(object.has_method("script_method_a"));
|
69 | 87 | assert(!object.has_method("script_method_z"));
|
| 88 | + language.free() |
70 | 89 |
|
71 | 90 |
|
72 | 91 | func test_script_instance_to_string():
|
73 |
| - var object = create_script_instance() |
| 92 | + var tuple := create_script_instance() |
| 93 | + var object: RefCounted = tuple[0] |
| 94 | + var language: TestScriptLanguage = tuple[1] |
74 | 95 |
|
75 | 96 | assert_eq(object.to_string(), "script instance to string")
|
| 97 | + language.free() |
76 | 98 |
|
77 | 99 |
|
78 | 100 | func test_script_instance_mut_call():
|
79 |
| - var object = create_script_instance() |
| 101 | + var tuple := create_script_instance() |
| 102 | + var object: RefCounted = tuple[0] |
| 103 | + var language: TestScriptLanguage = tuple[1] |
80 | 104 | var before = object.script_property_b
|
81 | 105 |
|
82 | 106 | var result = object.script_method_toggle_property_b()
|
83 | 107 |
|
84 | 108 | assert(result)
|
85 | 109 | assert_eq(object.script_property_b, !before)
|
| 110 | + language.free() |
86 | 111 |
|
87 | 112 |
|
88 | 113 | func test_script_instance_re_entering_call():
|
89 |
| - var object = create_script_instance() |
| 114 | + var tuple := create_script_instance() |
| 115 | + var object: RefCounted = tuple[0] |
| 116 | + var language: TestScriptLanguage = tuple[1] |
90 | 117 | var before = object.script_property_b
|
91 | 118 |
|
92 | 119 | var result = object.script_method_re_entering()
|
93 | 120 |
|
94 | 121 | assert(result)
|
95 | 122 | assert_eq(object.script_property_b, !before)
|
| 123 | + language.free() |
96 | 124 |
|
97 | 125 |
|
98 | 126 | func test_object_script_instance():
|
99 | 127 | var object = Node.new()
|
100 |
| - var script = TestScript.new() |
| 128 | + var language: TestScriptLanguage = TestScriptLanguage.new() |
| 129 | + var script: TestScript = language.new_script() |
101 | 130 |
|
102 | 131 | object.script = script
|
103 | 132 |
|
104 | 133 | var result = object.script_method_re_entering()
|
105 | 134 |
|
106 | 135 | assert(result)
|
107 | 136 | object.free()
|
| 137 | + language.free() |
0 commit comments