extends BessereTestsTest # Callbacks var callback: String = "" # Utils var utils: Node = CoreTestUtils.new() func before_all() -> void: add_child(utils) func after_all() -> void: remove_child(utils) # Unload framework after each test func after_each() -> void: utils.unload_framework() # Initialization test func test_initialization() -> void: # Init CORE await utils.load_framework() # Check if !utils.is_framework_loaded(): test_status = 2 test_message = "utils.is_framework_loaded() returned 'false'" return test_status = 0 test_message = "Framework did initialize correctly" # Custom module support func test_custom_module_support() -> void: # Init CORE var config: CoreConfiguration = CoreConfiguration.new() config.custom_modules = true var core: Core = await utils.load_framework(config) # Load module var module: CoreBaseModule = CoreBaseModule.new() module.set_script(load("res://tests/custom_module.gd")) # Register module core.register_custom_module("test_module", module) await utils.wait_process_time() # Check if registered if callback != "_initialize" and callback != "_pull_config": test_status = 2 test_message = "Module did not register" return elif core.get_node_or_null("Custom Modules/test_module") == null: test_status = 2 test_message = "Could not find module node" return # Get module var module_get: CoreBaseModule = core.get_custom_module("test_module") if module_get == null: test_status = 2 test_message = "Got null from get_custom_module method" return if module_get != module: test_status = 2 test_message = "Got invalid node from get_custom_module method" return # Get string if module.hello_test() != "Hello Test!": test_status = 2 test_message = "Module did not return test string" return # Unregister module core.unregister_custom_module("test_module") await utils.wait_process_time() # Check if unregistered if core.get_node_or_null("Custom Modules/test_module") == null: test_status = 0 test_message = "Successfully registered, got, used and unregistered a custom module" return func test_reload_config() -> void: # Variables var config: CoreConfiguration = CoreConfiguration.new() # Init CORE var core: Core = await utils.load_framework() # Update some keys and reload config.logger_colored = false config.logger_level = CoreTypes.LoggerLevel.NONE config.logui_enabled = false core.reload_configuration(config) await utils.wait_process_time() # Check config if core.config != config: test_status = 2 test_message = "Got invalid node from config variable" return # Check config in modules if core.logger.config_colored != false or core.logger.config_level != CoreTypes.LoggerLevel.NONE or core.logui.background.visible != false: test_status = 2 test_message = "Configuration did not apply all values correctly" return test_status = 0 test_message = "Framework applied all modified keys correctly" func test_formatted_string() -> void: # Init CORE var core: Core = await utils.load_framework() # Variables var test_type: String var test_type_technical: String var test_semantic: Array[int] = core.get_version_semantic() var test_devmode: String var test_headless: String var test_custommodules: String # test_type & test_type_technical match(core.version_type): CoreTypes.VersionType.RELEASE: test_type = "Release" test_type_technical = "r" CoreTypes.VersionType.RELEASECANDIDATE: test_type = "Release Candidate" test_type_technical = "rc" CoreTypes.VersionType.BETA: test_type = "Beta" test_type_technical = "b" CoreTypes.VersionType.ALPHA: test_type = "Alpha" test_type_technical = "a" # test_devmode if core.is_devmode(): test_devmode = "Enabled" else: test_devmode = "Disabled" # test_headless if core.config.headless: test_headless = "Enabled" else: test_headless = "Disabled" # test_custommodules if core.config.custom_modules: test_custommodules = "Enabled" else: test_custommodules = "Disabled" var test_raw: String = "version=%version% typerelease=%version_type% semantic=%version_semantic% type=%type% type_technical=%type_technical% devmode=%devmode% headless=%headless% custommodules=%custommodules% HELLO TEST! #TransRightsAreHumanRights" var test_formatted: String = "version=" + str(core.version_version) + " typerelease=" + str(core.version_typerelease) + " semantic=" + str(test_semantic[0]) + "." + str(test_semantic[1]) + "." + str(test_semantic[2]) + " type=" + test_type + " type_technical=" + test_type_technical + " devmode=" + test_devmode + " headless=" + test_headless + " custommodules=" + test_custommodules + " HELLO TEST! #TransRightsAreHumanRights" # Compare if await core.get_formatted_string(test_raw) != test_formatted: test_status = 2 else: test_status = 0