chore: add GUT test framework
This commit is contained in:
43
addons/gut/test/unit/test_shell_out_options_dialog.gd
Normal file
43
addons/gut/test/unit/test_shell_out_options_dialog.gd
Normal file
@@ -0,0 +1,43 @@
|
||||
extends GutInternalTester
|
||||
|
||||
|
||||
var DialogScene = load("res://addons/gut/gui/ShellOutOptions.tscn")
|
||||
|
||||
func test_can_make_one():
|
||||
var inst = DialogScene.instantiate()
|
||||
assert_not_null(inst)
|
||||
inst.free()
|
||||
|
||||
var split_param = ParameterFactory.named_parameters(
|
||||
['args', 'result'],
|
||||
[
|
||||
['--a', ['--a']],
|
||||
[' -b -x ', ['-b', '-x']],
|
||||
['-r "hello world"', ['-r', '"hello', 'world"']]
|
||||
]
|
||||
)
|
||||
func test_arg_splitting(p = use_parameters(split_param)):
|
||||
var inst = autofree(DialogScene.instantiate())
|
||||
inst.additional_arguments = p.args
|
||||
var packed_results = PackedStringArray(p.result)
|
||||
assert_eq(inst.get_additional_arguments_array(), packed_results)
|
||||
|
||||
|
||||
var invalid_args = ParameterFactory.named_parameters(
|
||||
['args', 'valid_blocking', 'valid_non_blocking'],
|
||||
[
|
||||
['-d', false, false], ['--debug', false , false],
|
||||
['-s', false, false], ['--script', false, false],
|
||||
['-e', false, false], ['--editor', false, false],
|
||||
['--headless', false, true]
|
||||
]
|
||||
)
|
||||
func test_invalid_arguments(p = use_parameters(invalid_args)):
|
||||
var inst = autofree(DialogScene.instantiate())
|
||||
inst.additional_arguments = p.args
|
||||
inst.run_mode = inst.RUN_MODE_BLOCKING
|
||||
assert_eq(inst.validate_arguments(), p.valid_blocking, str('"',p.args, '" is valid for blocking'))
|
||||
inst.run_mode = inst.RUN_MODE_NON_BLOCKING
|
||||
assert_eq(inst.validate_arguments(), p.valid_non_blocking, str('"', p.args, '" is valid for non-blocking'))
|
||||
|
||||
|
||||
Reference in New Issue
Block a user