pollen-not-included/addons/gdUnit4/test/core/command/GdUnitCommandHandlerTest.gd
2024-05-02 09:36:31 +01:00

70 lines
2.9 KiB
GDScript

# GdUnit generated TestSuite
extends GdUnitTestSuite
@warning_ignore('unused_parameter')
@warning_ignore('return_value_discarded')
# TestSuite generated from
const __source = 'res://addons/gdUnit4/src/core/command/GdUnitCommandHandler.gd'
var _handler :GdUnitCommandHandler
func before():
_handler = GdUnitCommandHandler.new()
func after():
_handler._notification(NOTIFICATION_PREDELETE)
_handler = null
@warning_ignore('unused_parameter')
func test_create_shortcuts_defaults(shortcut :GdUnitShortcut.ShortCut, expected :String, test_parameters := [
[GdUnitShortcut.ShortCut.RUN_TESTCASE, "GdUnitShortcutAction: RUN_TESTCASE (Ctrl+Alt+F5) -> Run TestCases"],
[GdUnitShortcut.ShortCut.RUN_TESTCASE_DEBUG, "GdUnitShortcutAction: RUN_TESTCASE_DEBUG (Ctrl+Alt+F6) -> Run TestCases (Debug)"],
[GdUnitShortcut.ShortCut.RERUN_TESTS, "GdUnitShortcutAction: RERUN_TESTS (Ctrl+F5) -> ReRun Tests"],
[GdUnitShortcut.ShortCut.RERUN_TESTS_DEBUG, "GdUnitShortcutAction: RERUN_TESTS_DEBUG (Ctrl+F6) -> ReRun Tests (Debug)"],
[GdUnitShortcut.ShortCut.RUN_TESTS_OVERALL, "GdUnitShortcutAction: RUN_TESTS_OVERALL (Ctrl+F7) -> Debug Overall TestSuites"],
[GdUnitShortcut.ShortCut.STOP_TEST_RUN, "GdUnitShortcutAction: STOP_TEST_RUN (Ctrl+F8) -> Stop Test Run"],
[GdUnitShortcut.ShortCut.CREATE_TEST, "GdUnitShortcutAction: CREATE_TEST (Ctrl+Alt+F10) -> Create TestCase"],]) -> void:
if OS.get_name().to_lower() == "macos":
expected.replace("Ctrl", "Command")
var action := _handler.get_shortcut_action(shortcut)
assert_that(str(action)).is_equal(expected)
## actually needs to comment out, it produces a lot of leaked instances
func _test__check_test_run_stopped_manually() -> void:
var inspector :GdUnitCommandHandler = mock(GdUnitCommandHandler, CALL_REAL_FUNC)
inspector._client_id = 1
# simulate no test is running
do_return(false).on(inspector).is_test_running_but_stop_pressed()
inspector.check_test_run_stopped_manually()
verify(inspector, 0).cmd_stop(any_int())
# simulate the test runner was manually stopped by the editor
do_return(true).on(inspector).is_test_running_but_stop_pressed()
inspector.check_test_run_stopped_manually()
verify(inspector, 1).cmd_stop(inspector._client_id)
func test_scan_test_directorys() -> void:
assert_array(GdUnitCommandHandler.scan_test_directorys("res://", "test", [])).contains_exactly([
"res://addons/gdUnit4/test"
])
# for root folders
assert_array(GdUnitCommandHandler.scan_test_directorys("res://", "", [])).contains_exactly([
"res://addons", "res://assets", "res://gdUnit3-examples"
])
assert_array(GdUnitCommandHandler.scan_test_directorys("res://", "/", [])).contains_exactly([
"res://addons", "res://assets", "res://gdUnit3-examples"
])
assert_array(GdUnitCommandHandler.scan_test_directorys("res://", "res://", [])).contains_exactly([
"res://addons", "res://assets", "res://gdUnit3-examples"
])
# a test folder not exists
assert_array(GdUnitCommandHandler.scan_test_directorys("res://", "notest", [])).is_empty()