mirror of
https://github.com/wesnoth/wesnoth
synced 2025-05-19 16:09:10 +00:00
198 lines
3.2 KiB
INI
198 lines
3.2 KiB
INI
|
|
{GENERIC_UNIT_TEST check_interrupts_break (
|
|
[event]
|
|
name=start
|
|
{VARIABLE x 0}
|
|
[while]
|
|
[true][/true]
|
|
[do]
|
|
[if]
|
|
{VARIABLE_CONDITIONAL x greater_than 5}
|
|
[then]
|
|
[break][/break]
|
|
[/then]
|
|
[/if]
|
|
{VARIABLE_OP x add 1}
|
|
[/do]
|
|
[/while]
|
|
{RETURN ({VARIABLE_CONDITIONAL x equals 6})}
|
|
[/event]
|
|
)}
|
|
|
|
{GENERIC_UNIT_TEST check_interrupts_return (
|
|
[event]
|
|
name=start
|
|
{VARIABLE x 0}
|
|
[while]
|
|
[true][/true]
|
|
[do]
|
|
[if]
|
|
{VARIABLE_CONDITIONAL x greater_than 5}
|
|
[then]
|
|
[return][/return]
|
|
[/then]
|
|
[/if]
|
|
{VARIABLE_OP x add 1}
|
|
[/do]
|
|
[/while]
|
|
{FAIL}
|
|
[/event]
|
|
[event]
|
|
name=start
|
|
{RETURN ({VARIABLE_CONDITIONAL x equals 6})}
|
|
[/event]
|
|
)}
|
|
|
|
{GENERIC_UNIT_TEST check_interrupts_continue (
|
|
[event]
|
|
name=start
|
|
{VARIABLE x 0}
|
|
[while]
|
|
{VARIABLE_CONDITIONAL x less_than 5}
|
|
[do]
|
|
{VARIABLE_OP x add 5}
|
|
[continue][/continue]
|
|
{FAIL}
|
|
[/do]
|
|
[/while]
|
|
{RETURN ({VARIABLE_CONDITIONAL x equals 5})}
|
|
[/event]
|
|
)}
|
|
|
|
{GENERIC_UNIT_TEST check_interrupts_break_global (
|
|
[event]
|
|
name=start
|
|
[break][/break]
|
|
{FAIL}
|
|
[/event]
|
|
[event]
|
|
name=start
|
|
{SUCCEED}
|
|
[/event]
|
|
)}
|
|
|
|
{GENERIC_UNIT_TEST check_interrupts_continue_global (
|
|
[event]
|
|
name=start
|
|
[lua]
|
|
code=<<
|
|
local H = wesnoth.require "helper"
|
|
local A = H.set_wml_action_metatable{}
|
|
local function continue()
|
|
A.continue{}
|
|
end
|
|
-- Use pcall() to trap the WML error raised by continue in global scope
|
|
local err, res = pcall(continue)
|
|
if err then wesnoth.fire_event "success"
|
|
else wesnoth.fire_event "fail" end
|
|
>>
|
|
[/lua]
|
|
[/event]
|
|
[event]
|
|
name=success
|
|
[endlevel]
|
|
result=victory
|
|
linger_mode = yes
|
|
[/endlevel]
|
|
[/event]
|
|
[event]
|
|
name=fail
|
|
[endlevel]
|
|
result=defeat
|
|
linger_mode = yes
|
|
[/endlevel]
|
|
[/event]
|
|
)}
|
|
|
|
{GENERIC_UNIT_TEST check_interrupts_return_nested (
|
|
[event]
|
|
name=start
|
|
[command]
|
|
[return][/return]
|
|
{FAIL}
|
|
[/command]
|
|
{FAIL}
|
|
[/event]
|
|
[event]
|
|
name=start
|
|
{SUCCEED}
|
|
[/event]
|
|
)}
|
|
|
|
{GENERIC_UNIT_TEST check_interrupts_elseif (
|
|
[event]
|
|
name=start
|
|
{VARIABLE x 9}
|
|
[if]
|
|
{VARIABLE_CONDITIONAL x greater_than 10}
|
|
[then]
|
|
{FAIL}
|
|
[/then]
|
|
[elseif]
|
|
{VARIABLE_CONDITIONAL x less_than 10}
|
|
[then]
|
|
[return][/return]
|
|
[/then]
|
|
[/elseif]
|
|
[else]
|
|
[wml_message]
|
|
message="Reached the [else] block!"
|
|
logger=error
|
|
[/wml_message]
|
|
{FAIL}
|
|
[/else]
|
|
[/if]
|
|
[wml_message]
|
|
message="Passed the [if] block!"
|
|
logger=error
|
|
[/wml_message]
|
|
{FAIL}
|
|
[/event]
|
|
[event]
|
|
name=start
|
|
{SUCCEED}
|
|
[/event]
|
|
)}
|
|
|
|
{GENERIC_UNIT_TEST check_interrupts_case (
|
|
[event]
|
|
name=start
|
|
{VARIABLE x 0}
|
|
[switch]
|
|
variable=x
|
|
[case]
|
|
value=1,3,5,7,9
|
|
{FAIL}
|
|
[/case]
|
|
[case]
|
|
value=0,2,4,6,8
|
|
[return][/return]
|
|
[/case]
|
|
[case]
|
|
value=0
|
|
[wml_message]
|
|
message="Reached next [case] block!"
|
|
logger=error
|
|
[/wml_message]
|
|
{FAIL}
|
|
[/case]
|
|
[else]
|
|
[wml_message]
|
|
message="Reached the [else] block!"
|
|
logger=error
|
|
[/wml_message]
|
|
{FAIL}
|
|
[/else]
|
|
[/switch]
|
|
[wml_message]
|
|
message="Passed the [switch] block!"
|
|
logger=error
|
|
[/wml_message]
|
|
{FAIL}
|
|
[/event]
|
|
[event]
|
|
name=start
|
|
{SUCCEED}
|
|
[/event]
|
|
)}
|