189 lines
6.1 KiB
GDScript
189 lines
6.1 KiB
GDScript
# GdUnit generated TestSuite
|
|
class_name GdUnitRunnerConfigTest
|
|
extends GdUnitTestSuite
|
|
|
|
# TestSuite generated from
|
|
const __source = 'res://addons/gdUnit4/src/core/GdUnitRunnerConfig.gd'
|
|
|
|
|
|
func test_initial_config():
|
|
var config := GdUnitRunnerConfig.new()
|
|
assert_dict(config.to_execute()).is_empty()
|
|
assert_dict(config.skipped()).is_empty()
|
|
|
|
|
|
func test_clear_on_initial_config():
|
|
var config := GdUnitRunnerConfig.new()
|
|
config.clear()
|
|
assert_dict(config.to_execute()).is_empty()
|
|
assert_dict(config.skipped()).is_empty()
|
|
|
|
|
|
func test_clear_on_filled_config():
|
|
var config := GdUnitRunnerConfig.new()
|
|
config.add_test_suite("res://foo")
|
|
config.skip_test_suite("res://bar")
|
|
assert_dict(config.to_execute()).is_not_empty()
|
|
assert_dict(config.skipped()).is_not_empty()
|
|
|
|
# clear it
|
|
config.clear()
|
|
assert_dict(config.to_execute()).is_empty()
|
|
assert_dict(config.skipped()).is_empty()
|
|
|
|
|
|
func test_set_server_port():
|
|
var config := GdUnitRunnerConfig.new()
|
|
# intial value
|
|
assert_int(config.server_port()).is_equal(-1)
|
|
|
|
config.set_server_port(1000)
|
|
assert_int(config.server_port()).is_equal(1000)
|
|
|
|
|
|
func test_self_test():
|
|
var config := GdUnitRunnerConfig.new()
|
|
# initial is empty
|
|
assert_dict(config.to_execute()).is_empty()
|
|
|
|
# configure self test
|
|
var to_execute := config.self_test().to_execute()
|
|
assert_dict(to_execute).contains_key_value("res://addons/gdUnit4/test/", PackedStringArray())
|
|
|
|
|
|
func test_add_test_suite():
|
|
var config := GdUnitRunnerConfig.new()
|
|
# skip should have no affect
|
|
config.skip_test_suite("res://bar")
|
|
|
|
config.add_test_suite("res://foo")
|
|
assert_dict(config.to_execute()).contains_key_value("res://foo", PackedStringArray())
|
|
# add two more
|
|
config.add_test_suite("res://foo2")
|
|
config.add_test_suite("res://bar/foo")
|
|
assert_dict(config.to_execute())\
|
|
.contains_key_value("res://foo", PackedStringArray())\
|
|
.contains_key_value("res://foo2", PackedStringArray())\
|
|
.contains_key_value("res://bar/foo", PackedStringArray())
|
|
|
|
|
|
func test_add_test_suites():
|
|
var config := GdUnitRunnerConfig.new()
|
|
# skip should have no affect
|
|
config.skip_test_suite("res://bar")
|
|
|
|
config.add_test_suites(PackedStringArray(["res://foo2", "res://bar/foo", "res://foo1"]))
|
|
|
|
assert_dict(config.to_execute())\
|
|
.contains_key_value("res://foo1", PackedStringArray())\
|
|
.contains_key_value("res://foo2", PackedStringArray())\
|
|
.contains_key_value("res://bar/foo", PackedStringArray())
|
|
|
|
|
|
func test_add_test_case():
|
|
var config := GdUnitRunnerConfig.new()
|
|
# skip should have no affect
|
|
config.skip_test_suite("res://bar")
|
|
|
|
config.add_test_case("res://foo1", "testcaseA")
|
|
assert_dict(config.to_execute()).contains_key_value("res://foo1", PackedStringArray(["testcaseA"]))
|
|
# add two more
|
|
config.add_test_case("res://foo1", "testcaseB")
|
|
config.add_test_case("res://foo2", "testcaseX")
|
|
assert_dict(config.to_execute())\
|
|
.contains_key_value("res://foo1", PackedStringArray(["testcaseA", "testcaseB"]))\
|
|
.contains_key_value("res://foo2", PackedStringArray(["testcaseX"]))
|
|
|
|
|
|
func test_add_test_suites_and_test_cases_combi():
|
|
var config := GdUnitRunnerConfig.new()
|
|
|
|
config.add_test_suite("res://foo1")
|
|
config.add_test_suite("res://foo2")
|
|
config.add_test_suite("res://bar/foo")
|
|
config.add_test_case("res://foo1", "testcaseA")
|
|
config.add_test_case("res://foo1", "testcaseB")
|
|
config.add_test_suites(PackedStringArray(["res://foo3", "res://bar/foo3", "res://foo4"]))
|
|
|
|
assert_dict(config.to_execute())\
|
|
.has_size(6)\
|
|
.contains_key_value("res://foo1", PackedStringArray(["testcaseA", "testcaseB"]))\
|
|
.contains_key_value("res://foo2", PackedStringArray())\
|
|
.contains_key_value("res://foo3", PackedStringArray())\
|
|
.contains_key_value("res://foo4", PackedStringArray())\
|
|
.contains_key_value("res://bar/foo3", PackedStringArray())\
|
|
.contains_key_value("res://bar/foo", PackedStringArray())
|
|
|
|
|
|
func test_skip_test_suite():
|
|
var config := GdUnitRunnerConfig.new()
|
|
|
|
config.skip_test_suite("res://foo1")
|
|
assert_dict(config.skipped()).contains_key_value("res://foo1", PackedStringArray())
|
|
# add two more
|
|
config.skip_test_suite("res://foo2")
|
|
config.skip_test_suite("res://bar/foo1")
|
|
assert_dict(config.skipped())\
|
|
.contains_key_value("res://foo1", PackedStringArray())\
|
|
.contains_key_value("res://foo2", PackedStringArray())\
|
|
.contains_key_value("res://bar/foo1", PackedStringArray())
|
|
|
|
|
|
func test_skip_test_suite_and_test_case():
|
|
var possible_paths :PackedStringArray = [
|
|
"/foo/MyTest.gd",
|
|
"res://foo/MyTest.gd",
|
|
"/foo/MyTest.gd:test_x",
|
|
"res://foo/MyTest.gd:test_y",
|
|
"MyTest",
|
|
"MyTest:test",
|
|
"MyTestX",
|
|
]
|
|
var config := GdUnitRunnerConfig.new()
|
|
for path in possible_paths:
|
|
config.skip_test_suite(path)
|
|
assert_dict(config.skipped())\
|
|
.has_size(3)\
|
|
.contains_key_value("res://foo/MyTest.gd", PackedStringArray(["test_x", "test_y"]))\
|
|
.contains_key_value("MyTest", PackedStringArray(["test"]))\
|
|
.contains_key_value("MyTestX", PackedStringArray())
|
|
|
|
|
|
func test_skip_test_case():
|
|
var config := GdUnitRunnerConfig.new()
|
|
|
|
config.skip_test_case("res://foo1", "testcaseA")
|
|
assert_dict(config.skipped()).contains_key_value("res://foo1", PackedStringArray(["testcaseA"]))
|
|
# add two more
|
|
config.skip_test_case("res://foo1", "testcaseB")
|
|
config.skip_test_case("res://foo2", "testcaseX")
|
|
assert_dict(config.skipped())\
|
|
.contains_key_value("res://foo1", PackedStringArray(["testcaseA", "testcaseB"]))\
|
|
.contains_key_value("res://foo2", PackedStringArray(["testcaseX"]))
|
|
|
|
|
|
func test_load_fail():
|
|
var config := GdUnitRunnerConfig.new()
|
|
|
|
assert_result(config.load_config("invalid_path"))\
|
|
.is_error()\
|
|
.contains_message("Can't find test runner configuration 'invalid_path'! Please select a test to run.")
|
|
|
|
|
|
func test_save_load():
|
|
var config := GdUnitRunnerConfig.new()
|
|
# add some dummy conf
|
|
config.set_server_port(1000)
|
|
config.skip_test_suite("res://bar")
|
|
config.add_test_suite("res://foo2")
|
|
config.add_test_case("res://foo1", "testcaseA")
|
|
|
|
var config_file := create_temp_dir("test_save_load") + "/testconf.cfg"
|
|
|
|
assert_result(config.save_config(config_file)).is_success()
|
|
assert_file(config_file).exists()
|
|
|
|
var config2 := GdUnitRunnerConfig.new()
|
|
assert_result(config2.load_config(config_file)).is_success()
|
|
# verify the config has original enties
|
|
assert_object(config2).is_equal(config).is_not_same(config)
|