Unit tests for the new filter options

This commit is contained in:
Celtic Minstrel 2021-04-11 18:10:59 -04:00 committed by Celtic Minstrel
parent 245cd57d24
commit 8a72206f02
2 changed files with 121 additions and 0 deletions

View File

@ -230,3 +230,119 @@
{RETURN ({VARIABLE_CONDITIONAL triggers equals 4})}
[/event]
)}
{GENERIC_UNIT_TEST event_test_filter_wfl (
[event]
name=start
{VARIABLE triggers 0}
[/event]
[event]
name=side turn
first_time_only=no
filter_formula="turn_number = side_number"
{VARIABLE_OP triggers add 1}
{ASSERT ({VARIABLE_CONDITIONAL side_number equals $turn_number})}
[/event]
[event]
name=turn 3
{RETURN ({VARIABLE_CONDITIONAL triggers equals 2})}
[/event]
[event]
name=side turn
first_time_only=no
[end_turn][/end_turn]
[/event]
)}
{GENERIC_UNIT_TEST event_test_filter_wfl2 (
[event]
name=start
{VARIABLE triggers 0}
[do_command]
[move]
x=7,7,6,5,4,3,3,3
y=3,4,4,5,4,4,3,2
[/move]
[/do_command]
{RETURN ({VARIABLE_CONDITIONAL triggers equals 3})}
[/event]
[event]
name=enter hex
first_time_only=no
filter_formula="loc.x = loc.y"
{VARIABLE_OP triggers add 1}
[/event]
)}
{GENERIC_UNIT_TEST event_test_filter_lua_serializable (
[event]
name=start
{VARIABLE triggers 0}
[/event]
[event]
name=side turn
first_time_only=no
[filter_condition]
[lua]
code=<<return wesnoth.current.turn == wesnoth.current.side>>
[/lua]
[/filter_condition]
{VARIABLE_OP triggers add 1}
{ASSERT ({VARIABLE_CONDITIONAL side_number equals $turn_number})}
[/event]
[event]
name=turn 3
{RETURN ({VARIABLE_CONDITIONAL triggers equals 2})}
[/event]
[event]
name=side turn
first_time_only=no
[end_turn][/end_turn]
[/event]
)}
{GENERIC_UNIT_TEST event_test_filter_lua_dynamic (
[event]
name=preload
[lua]
code=<<
wml.variables.triggers = 0
wesnoth.game_events.add{
name = 'side turn',
first_time_only = false,
filter = function()
return wesnoth.current.turn == wesnoth.current.side
end,
action = function()
wml.variables.triggers = wml.variables.triggers + 1
unit_test.assert_equal(wesnoth.current.turn, wesnoth.current.side, 'filter correctly passed')
end
}
>>
[/lua]
[/event]
[event]
name=side 2 turn 3
{RETURN ({VARIABLE_CONDITIONAL triggers equals 2})}
[/event]
[event]
name=side turn
first_time_only=no
[end_turn][/end_turn]
[/event]
)}
{GENERIC_UNIT_TEST event_test_filter_lua_dynamic_break_save (
[event]
name=start
[lua]
code=<<
wesnoth.game_events.add{
name = 'new turn',
filter = function() end
}
unit_test.succeed()
>>
[/lua]
[/event]
)}

View File

@ -139,6 +139,11 @@
0 test_ability_id_active
0 test_ability_id_not_active
0 event_test_filter_attack
0 event_test_filter_wfl
0 event_test_filter_wfl2
0 event_test_filter_lua_serializable
0 event_test_filter_lua_dynamic
9 event_test_filter_lua_dynamic_break_save
0 event_test_action_wml
0 event_test_lua
0 event_test_lua_advanced