Adding log.gd
This commit is contained in:
parent
eb32d6614e
commit
4522259397
547 changed files with 46844 additions and 0 deletions
17
addons/gdUnit4/test/ui/GdUnitFontsTest.gd
Normal file
17
addons/gdUnit4/test/ui/GdUnitFontsTest.gd
Normal file
|
|
@ -0,0 +1,17 @@
|
|||
# GdUnit generated TestSuite
|
||||
class_name GdUnitFontsTest
|
||||
extends GdUnitTestSuite
|
||||
@warning_ignore('unused_parameter')
|
||||
@warning_ignore('return_value_discarded')
|
||||
|
||||
# TestSuite generated from
|
||||
const __source = 'res://addons/gdUnit4/src/ui/GdUnitFonts.gd'
|
||||
|
||||
|
||||
func test_load_and_resize_font() -> void:
|
||||
var font8 = GdUnitFonts.load_and_resize_font(GdUnitFonts.FONT_MONO, 8)
|
||||
var font16 = GdUnitFonts.load_and_resize_font(GdUnitFonts.FONT_MONO, 16)
|
||||
|
||||
assert_object(font8).is_not_null().is_not_same(font16)
|
||||
assert_that(font8.fixed_size).is_equal(8)
|
||||
assert_that(font16.fixed_size).is_equal(16)
|
||||
84
addons/gdUnit4/test/ui/parts/InspectorProgressBarTest.gd
Normal file
84
addons/gdUnit4/test/ui/parts/InspectorProgressBarTest.gd
Normal file
|
|
@ -0,0 +1,84 @@
|
|||
# GdUnit generated TestSuite
|
||||
class_name InspectorProgressBarTest
|
||||
extends GdUnitTestSuite
|
||||
@warning_ignore('unused_parameter')
|
||||
@warning_ignore('return_value_discarded')
|
||||
|
||||
# TestSuite generated from
|
||||
const __source = 'res://addons/gdUnit4/src/ui/parts/InspectorProgressBar.gd'
|
||||
|
||||
var _runner :GdUnitSceneRunner
|
||||
var _progress :ProgressBar
|
||||
var _status :Label
|
||||
var _style :StyleBoxFlat
|
||||
|
||||
|
||||
func before_test():
|
||||
_runner = scene_runner('res://addons/gdUnit4/src/ui/parts/InspectorProgressBar.tscn')
|
||||
_progress = _runner.get_property("bar")
|
||||
_status = _runner.get_property("status")
|
||||
_style = _runner.get_property("style")
|
||||
# inital state
|
||||
assert_that(_status.text).is_equal("0:0")
|
||||
assert_that(_progress.value).is_equal(0)
|
||||
assert_that(_progress.max_value).is_equal(0)
|
||||
_runner.invoke("_on_gdunit_event", GdUnitInit.new(10, 42))
|
||||
|
||||
|
||||
func test_progress_init() -> void:
|
||||
_runner.invoke("_on_gdunit_event", GdUnitInit.new(10, 230))
|
||||
assert_that(_progress.value).is_equal(0)
|
||||
assert_that(_progress.max_value).is_equal(230)
|
||||
assert_that(_status.text).is_equal("0:230")
|
||||
assert_that(_style.bg_color).is_equal(Color.DARK_GREEN)
|
||||
|
||||
|
||||
func test_progress_success() -> void:
|
||||
_runner.invoke("_on_gdunit_event", GdUnitInit.new(10, 42))
|
||||
var expected_progess_index := 0
|
||||
# simulate execution of 20 success test runs
|
||||
for index in 20:
|
||||
_runner.invoke("_on_gdunit_event", GdUnitEvent.new().test_after("res://test/testA.gd", "TestSuiteA", "test_a%d" % index, {}))
|
||||
expected_progess_index += 1
|
||||
assert_that(_progress.value).is_equal(expected_progess_index)
|
||||
assert_that(_status.text).is_equal("%d:42" % expected_progess_index)
|
||||
assert_that(_style.bg_color).is_equal(Color.DARK_GREEN)
|
||||
|
||||
# simulate execution of parameterized test with 10 iterations
|
||||
for index in 10:
|
||||
_runner.invoke("_on_gdunit_event", GdUnitEvent.new().test_after("res://test/testA.gd", "TestSuiteA", "test_parameterized:%d (params)" % index, {}))
|
||||
assert_that(_progress.value).is_equal(expected_progess_index)
|
||||
# final test end event
|
||||
_runner.invoke("_on_gdunit_event", GdUnitEvent.new().test_after("res://test/testA.gd", "TestSuiteA", "test_parameterized", {}))
|
||||
# we expect only one progress step after a parameterized test has been executed, regardless of the iterations
|
||||
expected_progess_index += 1
|
||||
assert_that(_progress.value).is_equal(expected_progess_index)
|
||||
assert_that(_status.text).is_equal("%d:42" % expected_progess_index)
|
||||
assert_that(_style.bg_color).is_equal(Color.DARK_GREEN)
|
||||
|
||||
# verify the max progress state is not affected
|
||||
assert_that(_progress.max_value).is_equal(42)
|
||||
|
||||
|
||||
@warning_ignore("unused_parameter")
|
||||
func test_progress_failed(test_name :String, is_failed :bool, is_error :bool, expected_color :Color, test_parameters = [
|
||||
["test_a", false, false, Color.DARK_GREEN],
|
||||
["test_b", false, false, Color.DARK_GREEN],
|
||||
["test_c", false, false, Color.DARK_GREEN],
|
||||
["test_d", true, false, Color.DARK_RED],
|
||||
["test_e", true, false, Color.DARK_RED],
|
||||
]) -> void:
|
||||
var statistics = {
|
||||
GdUnitEvent.ORPHAN_NODES: 0,
|
||||
GdUnitEvent.ELAPSED_TIME: 100,
|
||||
GdUnitEvent.WARNINGS: false,
|
||||
GdUnitEvent.ERRORS: is_error,
|
||||
GdUnitEvent.ERROR_COUNT: 1 if is_error else 0,
|
||||
GdUnitEvent.FAILED: is_failed,
|
||||
GdUnitEvent.FAILED_COUNT: 1 if is_failed else 0,
|
||||
GdUnitEvent.SKIPPED: false,
|
||||
GdUnitEvent.SKIPPED_COUNT: 0,
|
||||
}
|
||||
|
||||
_runner.invoke("_on_gdunit_event", GdUnitEvent.new().test_after("res://test/testA.gd", "TestSuiteA", test_name, statistics))
|
||||
assert_that(_style.bg_color).is_equal(expected_color)
|
||||
|
|
@ -0,0 +1,168 @@
|
|||
# GdUnit generated TestSuite
|
||||
class_name InspectorTreeMainPanelPerformanceTest
|
||||
extends GdUnitTestSuite
|
||||
|
||||
# TestSuite generated from
|
||||
const __source = 'res://addons/gdUnit4/src/ui/parts/InspectorTreeMainPanel.gd'
|
||||
|
||||
# this test-suite contains only empty test to run as performance indicator
|
||||
|
||||
|
||||
func test_01() -> void:
|
||||
pass
|
||||
|
||||
|
||||
func test_02() -> void:
|
||||
pass
|
||||
|
||||
|
||||
func test_03() -> void:
|
||||
pass
|
||||
|
||||
|
||||
func test_04() -> void:
|
||||
pass
|
||||
|
||||
|
||||
func test_05() -> void:
|
||||
pass
|
||||
|
||||
|
||||
func test_06() -> void:
|
||||
pass
|
||||
|
||||
|
||||
func test_07() -> void:
|
||||
pass
|
||||
|
||||
|
||||
func test_08() -> void:
|
||||
pass
|
||||
|
||||
|
||||
func test_09() -> void:
|
||||
pass
|
||||
|
||||
|
||||
func test_10() -> void:
|
||||
pass
|
||||
|
||||
|
||||
func test_11() -> void:
|
||||
pass
|
||||
|
||||
|
||||
func test_12() -> void:
|
||||
pass
|
||||
|
||||
|
||||
func test_13() -> void:
|
||||
pass
|
||||
|
||||
|
||||
func test_14() -> void:
|
||||
pass
|
||||
|
||||
|
||||
func test_15() -> void:
|
||||
pass
|
||||
|
||||
|
||||
func test_16() -> void:
|
||||
pass
|
||||
|
||||
|
||||
func test_17() -> void:
|
||||
pass
|
||||
|
||||
|
||||
func test_18() -> void:
|
||||
pass
|
||||
|
||||
|
||||
func test_19() -> void:
|
||||
pass
|
||||
|
||||
|
||||
func test_20() -> void:
|
||||
pass
|
||||
|
||||
|
||||
func test_21() -> void:
|
||||
pass
|
||||
|
||||
|
||||
func test_22() -> void:
|
||||
pass
|
||||
|
||||
|
||||
func test_23() -> void:
|
||||
pass
|
||||
|
||||
|
||||
func test_24() -> void:
|
||||
pass
|
||||
|
||||
|
||||
func test_25() -> void:
|
||||
pass
|
||||
|
||||
|
||||
func test_26() -> void:
|
||||
pass
|
||||
|
||||
|
||||
func test_27() -> void:
|
||||
pass
|
||||
|
||||
|
||||
func test_28() -> void:
|
||||
pass
|
||||
|
||||
|
||||
func test_29() -> void:
|
||||
pass
|
||||
|
||||
|
||||
func test_30() -> void:
|
||||
pass
|
||||
|
||||
|
||||
func test_31() -> void:
|
||||
pass
|
||||
|
||||
|
||||
func test_32() -> void:
|
||||
pass
|
||||
|
||||
|
||||
func test_33() -> void:
|
||||
pass
|
||||
|
||||
|
||||
func test_34() -> void:
|
||||
pass
|
||||
|
||||
|
||||
func test_35() -> void:
|
||||
pass
|
||||
|
||||
|
||||
func test_36() -> void:
|
||||
pass
|
||||
|
||||
|
||||
func test_37() -> void:
|
||||
pass
|
||||
|
||||
|
||||
func test_38() -> void:
|
||||
pass
|
||||
|
||||
|
||||
func test_39() -> void:
|
||||
pass
|
||||
|
||||
|
||||
func test_40() -> void:
|
||||
pass
|
||||
303
addons/gdUnit4/test/ui/parts/InspectorTreeMainPanelTest.gd
Normal file
303
addons/gdUnit4/test/ui/parts/InspectorTreeMainPanelTest.gd
Normal file
|
|
@ -0,0 +1,303 @@
|
|||
# GdUnit generated TestSuite
|
||||
class_name InspectorTreeMainPanelTest
|
||||
extends GdUnitTestSuite
|
||||
|
||||
# TestSuite generated from
|
||||
const __source = 'res://addons/gdUnit4/src/ui/parts/InspectorTreeMainPanel.gd'
|
||||
|
||||
var TEST_SUITE_A :String
|
||||
var TEST_SUITE_B :String
|
||||
var TEST_SUITE_C :String
|
||||
|
||||
var _inspector
|
||||
|
||||
|
||||
func before_test():
|
||||
_inspector = load("res://addons/gdUnit4/src/ui/parts/InspectorTreePanel.tscn").instantiate()
|
||||
add_child(_inspector)
|
||||
_inspector.init_tree()
|
||||
|
||||
# load a testsuite
|
||||
for test_suite in setup_test_env():
|
||||
_inspector.add_test_suite(toDto(test_suite))
|
||||
# verify no failures are exists
|
||||
assert_array(_inspector.collect_failures_and_errors()).is_empty()
|
||||
|
||||
|
||||
func after_test():
|
||||
_inspector.cleanup_tree()
|
||||
remove_child(_inspector)
|
||||
_inspector.free()
|
||||
|
||||
|
||||
func toDto(test_suite :Node) -> GdUnitTestSuiteDto:
|
||||
var dto := GdUnitTestSuiteDto.new()
|
||||
return dto.deserialize(dto.serialize(test_suite)) as GdUnitTestSuiteDto
|
||||
|
||||
|
||||
func setup_test_env() -> Array:
|
||||
var test_suite_a := GdUnitTestResourceLoader.load_test_suite("res://addons/gdUnit4/test/ui/parts/resources/foo/ExampleTestSuiteA.resource")
|
||||
var test_suite_b := GdUnitTestResourceLoader.load_test_suite("res://addons/gdUnit4/test/ui/parts/resources/foo/ExampleTestSuiteB.resource")
|
||||
var test_suite_c := GdUnitTestResourceLoader.load_test_suite("res://addons/gdUnit4/test/ui/parts/resources/foo/ExampleTestSuiteC.resource")
|
||||
TEST_SUITE_A = test_suite_a.get_script().resource_path
|
||||
TEST_SUITE_B = test_suite_b.get_script().resource_path
|
||||
TEST_SUITE_C = test_suite_c.get_script().resource_path
|
||||
return Array([auto_free(test_suite_a), auto_free(test_suite_b), auto_free(test_suite_c)])
|
||||
|
||||
|
||||
func mark_as_failure(inspector, test_cases :Array) -> void:
|
||||
var tree_root :TreeItem = inspector._tree_root
|
||||
assert_object(tree_root).is_not_null()
|
||||
# mark all test as failed
|
||||
for parent in tree_root.get_children():
|
||||
inspector.set_state_succeded(parent)
|
||||
for item in parent.get_children():
|
||||
if test_cases.has(item.get_text(0)):
|
||||
inspector.set_state_failed(parent)
|
||||
inspector.set_state_failed(item)
|
||||
else:
|
||||
inspector.set_state_succeded(item)
|
||||
item = item.get_next()
|
||||
parent = parent.get_next()
|
||||
|
||||
func get_item_state(parent :TreeItem, item_name :String) -> int:
|
||||
var item = _inspector._find_by_name(parent, item_name)
|
||||
return item.get_meta(_inspector.META_GDUNIT_STATE)
|
||||
|
||||
func test_collect_failures_and_errors() -> void:
|
||||
# mark some test as failed
|
||||
mark_as_failure(_inspector, ["test_aa", "test_ad", "test_cb", "test_cc", "test_ce"])
|
||||
|
||||
assert_array(_inspector.collect_failures_and_errors())\
|
||||
.extract("get_text", [0])\
|
||||
.contains_exactly(["test_aa", "test_ad", "test_cb", "test_cc", "test_ce"])
|
||||
|
||||
func test_select_first_failure() -> void:
|
||||
# test initial nothing is selected
|
||||
assert_object(_inspector._tree.get_selected()).is_null()
|
||||
|
||||
# we have no failures or errors
|
||||
_inspector.collect_failures_and_errors()
|
||||
_inspector.select_first_failure()
|
||||
assert_object(_inspector._tree.get_selected()).is_null()
|
||||
|
||||
# add failures
|
||||
mark_as_failure(_inspector, ["test_aa", "test_ad", "test_cb", "test_cc", "test_ce"])
|
||||
_inspector.collect_failures_and_errors()
|
||||
# select first failure
|
||||
_inspector.select_first_failure()
|
||||
assert_str(_inspector._tree.get_selected().get_text(0)).is_equal("test_aa")
|
||||
|
||||
func test_select_last_failure() -> void:
|
||||
# test initial nothing is selected
|
||||
assert_object(_inspector._tree.get_selected()).is_null()
|
||||
|
||||
# we have no failures or errors
|
||||
_inspector.collect_failures_and_errors()
|
||||
_inspector.select_last_failure()
|
||||
assert_object(_inspector._tree.get_selected()).is_null()
|
||||
|
||||
# add failures
|
||||
mark_as_failure(_inspector, ["test_aa", "test_ad", "test_cb", "test_cc", "test_ce"])
|
||||
_inspector.collect_failures_and_errors()
|
||||
# select last failure
|
||||
_inspector.select_last_failure()
|
||||
assert_str(_inspector._tree.get_selected().get_text(0)).is_equal("test_ce")
|
||||
|
||||
|
||||
func test_clear_failures() -> void:
|
||||
assert_array(_inspector._current_failures).is_empty()
|
||||
|
||||
mark_as_failure(_inspector, ["test_aa", "test_ad", "test_cb", "test_cc", "test_ce"])
|
||||
_inspector.collect_failures_and_errors()
|
||||
assert_array(_inspector._current_failures).is_not_empty()
|
||||
|
||||
# clear it
|
||||
_inspector.clear_failures()
|
||||
assert_array(_inspector._current_failures).is_empty()
|
||||
|
||||
func test_select_next_failure() -> void:
|
||||
# test initial nothing is selected
|
||||
assert_object(_inspector._tree.get_selected()).is_null()
|
||||
|
||||
# first time select next but no failure exists
|
||||
_inspector.select_next_failure()
|
||||
assert_str(_inspector._tree.get_selected()).is_null()
|
||||
|
||||
# add failures
|
||||
mark_as_failure(_inspector, ["test_aa", "test_ad", "test_cb", "test_cc", "test_ce"])
|
||||
_inspector.collect_failures_and_errors()
|
||||
|
||||
# first time select next than select first failure
|
||||
_inspector.select_next_failure()
|
||||
assert_str(_inspector._tree.get_selected().get_text(0)).is_equal("test_aa")
|
||||
_inspector.select_next_failure()
|
||||
assert_str(_inspector._tree.get_selected().get_text(0)).is_equal("test_ad")
|
||||
_inspector.select_next_failure()
|
||||
assert_str(_inspector._tree.get_selected().get_text(0)).is_equal("test_cb")
|
||||
_inspector.select_next_failure()
|
||||
assert_str(_inspector._tree.get_selected().get_text(0)).is_equal("test_cc")
|
||||
_inspector.select_next_failure()
|
||||
assert_str(_inspector._tree.get_selected().get_text(0)).is_equal("test_ce")
|
||||
# if current last failure selected than select first as next
|
||||
_inspector.select_next_failure()
|
||||
assert_str(_inspector._tree.get_selected().get_text(0)).is_equal("test_aa")
|
||||
_inspector.select_next_failure()
|
||||
assert_str(_inspector._tree.get_selected().get_text(0)).is_equal("test_ad")
|
||||
|
||||
func test_select_previous_failure() -> void:
|
||||
# test initial nothing is selected
|
||||
assert_object(_inspector._tree.get_selected()).is_null()
|
||||
|
||||
# first time select previous but no failure exists
|
||||
_inspector.select_previous_failure()
|
||||
assert_str(_inspector._tree.get_selected()).is_null()
|
||||
|
||||
# add failures
|
||||
mark_as_failure(_inspector, ["test_aa", "test_ad", "test_cb", "test_cc", "test_ce"])
|
||||
_inspector.collect_failures_and_errors()
|
||||
|
||||
# first time select previous than select last failure
|
||||
_inspector.select_previous_failure()
|
||||
assert_str(_inspector._tree.get_selected().get_text(0)).is_equal("test_ce")
|
||||
_inspector.select_previous_failure()
|
||||
assert_str(_inspector._tree.get_selected().get_text(0)).is_equal("test_cc")
|
||||
_inspector.select_previous_failure()
|
||||
assert_str(_inspector._tree.get_selected().get_text(0)).is_equal("test_cb")
|
||||
_inspector.select_previous_failure()
|
||||
assert_str(_inspector._tree.get_selected().get_text(0)).is_equal("test_ad")
|
||||
_inspector.select_previous_failure()
|
||||
assert_str(_inspector._tree.get_selected().get_text(0)).is_equal("test_aa")
|
||||
# if current first failure selected than select last as next
|
||||
_inspector.select_previous_failure()
|
||||
assert_str(_inspector._tree.get_selected().get_text(0)).is_equal("test_ce")
|
||||
_inspector.select_previous_failure()
|
||||
assert_str(_inspector._tree.get_selected().get_text(0)).is_equal("test_cc")
|
||||
|
||||
func test_find_item_for_test_suites() -> void:
|
||||
var suite_a: TreeItem = _inspector._find_item(_inspector._tree_root, TEST_SUITE_A)
|
||||
assert_str(suite_a.get_meta(_inspector.META_GDUNIT_NAME)).is_equal("ExampleTestSuiteA")
|
||||
|
||||
var suite_b: TreeItem = _inspector._find_item(_inspector._tree_root, TEST_SUITE_B)
|
||||
assert_str(suite_b.get_meta(_inspector.META_GDUNIT_NAME)).is_equal("ExampleTestSuiteB")
|
||||
|
||||
func test_find_item_for_test_cases() -> void:
|
||||
var case_aa: TreeItem = _inspector._find_item(_inspector._tree_root, TEST_SUITE_A, "test_aa")
|
||||
assert_str(case_aa.get_meta(_inspector.META_GDUNIT_NAME)).is_equal("test_aa")
|
||||
|
||||
var case_ce: TreeItem = _inspector._find_item(_inspector._tree_root, TEST_SUITE_C, "test_ce")
|
||||
assert_str(case_ce.get_meta(_inspector.META_GDUNIT_NAME)).is_equal("test_ce")
|
||||
|
||||
func test_suite_text_shows_amount_of_cases() -> void:
|
||||
var suite_a: TreeItem = _inspector._find_item(_inspector._tree_root, TEST_SUITE_A)
|
||||
assert_str(suite_a.get_text(0)).is_equal("(0/5) ExampleTestSuiteA")
|
||||
|
||||
var suite_b: TreeItem = _inspector._find_item(_inspector._tree_root, TEST_SUITE_B)
|
||||
assert_str(suite_b.get_text(0)).is_equal("(0/3) ExampleTestSuiteB")
|
||||
|
||||
func test_suite_text_responds_to_test_case_events() -> void:
|
||||
var suite_a: TreeItem = _inspector._find_item(_inspector._tree_root, TEST_SUITE_A)
|
||||
|
||||
var success_aa := GdUnitEvent.new().test_after(TEST_SUITE_A, "ExampleTestSuiteA", "test_aa")
|
||||
_inspector._on_gdunit_event(success_aa)
|
||||
assert_str(suite_a.get_text(0)).is_equal("(1/5) ExampleTestSuiteA")
|
||||
|
||||
var error_ad := GdUnitEvent.new().test_after(TEST_SUITE_A, "ExampleTestSuiteA", "test_ad", {GdUnitEvent.ERRORS: true})
|
||||
_inspector._on_gdunit_event(error_ad)
|
||||
assert_str(suite_a.get_text(0)).is_equal("(1/5) ExampleTestSuiteA")
|
||||
|
||||
var failure_ab := GdUnitEvent.new().test_after(TEST_SUITE_A, "ExampleTestSuiteA", "test_ab", {GdUnitEvent.FAILED: true})
|
||||
_inspector._on_gdunit_event(failure_ab)
|
||||
assert_str(suite_a.get_text(0)).is_equal("(1/5) ExampleTestSuiteA")
|
||||
|
||||
var skipped_ac := GdUnitEvent.new().test_after(TEST_SUITE_A, "ExampleTestSuiteA", "test_ac", {GdUnitEvent.SKIPPED: true})
|
||||
_inspector._on_gdunit_event(skipped_ac)
|
||||
assert_str(suite_a.get_text(0)).is_equal("(1/5) ExampleTestSuiteA")
|
||||
|
||||
var success_ae := GdUnitEvent.new().test_after(TEST_SUITE_A, "ExampleTestSuiteA", "test_ae")
|
||||
_inspector._on_gdunit_event(success_ae)
|
||||
assert_str(suite_a.get_text(0)).is_equal("(2/5) ExampleTestSuiteA")
|
||||
|
||||
# test coverage for issue GD-117
|
||||
func test_update_test_case_on_multiple_test_suite_with_same_name() -> void:
|
||||
# add a second test suite where has same name as TEST_SUITE_A
|
||||
var test_suite = auto_free(GdUnitTestResourceLoader.load_test_suite("res://addons/gdUnit4/test/ui/parts/resources/bar/ExampleTestSuiteA.resource"))
|
||||
var test_suite_aa_path = test_suite.get_script().resource_path
|
||||
_inspector.add_test_suite(toDto(test_suite))
|
||||
|
||||
# verify the items exists checked the tree
|
||||
assert_str(TEST_SUITE_A).is_not_equal(test_suite_aa_path)
|
||||
var suite_a: TreeItem = _inspector._find_item(_inspector._tree_root, TEST_SUITE_A)
|
||||
var suite_aa: TreeItem = _inspector._find_item(_inspector._tree_root, test_suite_aa_path)
|
||||
assert_object(suite_a).is_not_same(suite_aa)
|
||||
assert_str(suite_a.get_meta(_inspector.META_RESOURCE_PATH)).is_equal(TEST_SUITE_A)
|
||||
assert_str(suite_aa.get_meta(_inspector.META_RESOURCE_PATH)).is_equal(test_suite_aa_path)
|
||||
|
||||
# verify inital state
|
||||
assert_str(suite_a.get_text(0)).is_equal("(0/5) ExampleTestSuiteA")
|
||||
assert_int(get_item_state(suite_a, "test_aa")).is_equal(_inspector.STATE.INITIAL)
|
||||
assert_str(suite_aa.get_text(0)).is_equal("(0/5) ExampleTestSuiteA")
|
||||
|
||||
# set test starting checked TEST_SUITE_A
|
||||
_inspector._on_gdunit_event(GdUnitEvent.new().test_before(TEST_SUITE_A, "ExampleTestSuiteA", "test_aa"))
|
||||
_inspector._on_gdunit_event(GdUnitEvent.new().test_before(TEST_SUITE_A, "ExampleTestSuiteA", "test_ab"))
|
||||
assert_str(suite_a.get_text(0)).is_equal("(0/5) ExampleTestSuiteA")
|
||||
assert_int(get_item_state(suite_a, "test_aa")).is_equal(_inspector.STATE.RUNNING)
|
||||
assert_int(get_item_state(suite_a, "test_ab")).is_equal(_inspector.STATE.RUNNING)
|
||||
# test test_suite_aa_path is not affected
|
||||
assert_str(suite_aa.get_text(0)).is_equal("(0/5) ExampleTestSuiteA")
|
||||
assert_int(get_item_state(suite_aa, "test_aa")).is_equal(_inspector.STATE.INITIAL)
|
||||
assert_int(get_item_state(suite_aa, "test_ab")).is_equal(_inspector.STATE.INITIAL)
|
||||
|
||||
# finish the tests with success
|
||||
_inspector._on_gdunit_event(GdUnitEvent.new().test_after(TEST_SUITE_A, "ExampleTestSuiteA", "test_aa"))
|
||||
_inspector._on_gdunit_event(GdUnitEvent.new().test_after(TEST_SUITE_A, "ExampleTestSuiteA", "test_ab"))
|
||||
|
||||
# verify updated state checked TEST_SUITE_A
|
||||
assert_str(suite_a.get_text(0)).is_equal("(2/5) ExampleTestSuiteA")
|
||||
assert_int(get_item_state(suite_a, "test_aa")).is_equal(_inspector.STATE.SUCCESS)
|
||||
assert_int(get_item_state(suite_a, "test_ab")).is_equal(_inspector.STATE.SUCCESS)
|
||||
# test test_suite_aa_path is not affected
|
||||
assert_str(suite_aa.get_text(0)).is_equal("(0/5) ExampleTestSuiteA")
|
||||
assert_int(get_item_state(suite_aa, "test_aa")).is_equal(_inspector.STATE.INITIAL)
|
||||
assert_int(get_item_state(suite_aa, "test_ab")).is_equal(_inspector.STATE.INITIAL)
|
||||
|
||||
|
||||
# Test coverage for issue GD-278: GdUnit Inspector: Test marks as passed if both warning and error
|
||||
func test_update_icon_state() -> void:
|
||||
var TEST_SUITE_PATH = "res://addons/gdUnit4/test/core/resources/testsuites/TestSuiteFailAndOrpahnsDetected.resource"
|
||||
var TEST_SUITE_NAME = "TestSuiteFailAndOrpahnsDetected"
|
||||
var test_suite = auto_free(GdUnitTestResourceLoader.load_test_suite(TEST_SUITE_PATH))
|
||||
_inspector.add_test_suite(toDto(test_suite))
|
||||
|
||||
var suite: TreeItem = _inspector._find_item(_inspector._tree_root, TEST_SUITE_PATH)
|
||||
|
||||
# Verify the inital state
|
||||
assert_str(suite.get_text(0)).is_equal("(0/2) "+ TEST_SUITE_NAME)
|
||||
assert_str(suite.get_meta(_inspector.META_RESOURCE_PATH)).is_equal(TEST_SUITE_PATH)
|
||||
assert_int(get_item_state(_inspector._tree_root, TEST_SUITE_NAME)).is_equal(_inspector.STATE.INITIAL)
|
||||
assert_int(get_item_state(suite, "test_case1")).is_equal(_inspector.STATE.INITIAL)
|
||||
assert_int(get_item_state(suite, "test_case2")).is_equal(_inspector.STATE.INITIAL)
|
||||
|
||||
# Set tests to running
|
||||
_inspector._on_gdunit_event(GdUnitEvent.new().test_before(TEST_SUITE_PATH, TEST_SUITE_NAME, "test_case1"))
|
||||
_inspector._on_gdunit_event(GdUnitEvent.new().test_before(TEST_SUITE_PATH, TEST_SUITE_NAME, "test_case2"))
|
||||
# Verify all items on state running.
|
||||
assert_str(suite.get_text(0)).is_equal("(0/2) " + TEST_SUITE_NAME)
|
||||
assert_int(get_item_state(suite, "test_case1")).is_equal(_inspector.STATE.RUNNING)
|
||||
assert_int(get_item_state(suite, "test_case2")).is_equal(_inspector.STATE.RUNNING)
|
||||
|
||||
# Simulate test processed.
|
||||
# test_case1 succeeded
|
||||
_inspector._on_gdunit_event(GdUnitEvent.new().test_after(TEST_SUITE_PATH, TEST_SUITE_NAME, "test_case1"))
|
||||
# test_case2 is failing by an orphan warning and an failure
|
||||
_inspector._on_gdunit_event(GdUnitEvent.new()\
|
||||
.test_after(TEST_SUITE_PATH, TEST_SUITE_NAME, "test_case2", {GdUnitEvent.FAILED: true}))
|
||||
# We check whether a test event with a warning does not overwrite a higher object status, e.g. an error.
|
||||
_inspector._on_gdunit_event(GdUnitEvent.new()\
|
||||
.test_after(TEST_SUITE_PATH, TEST_SUITE_NAME, "test_case2", {GdUnitEvent.WARNINGS: true}))
|
||||
|
||||
# Verify the final state
|
||||
assert_str(suite.get_text(0)).is_equal("(1/2) " + TEST_SUITE_NAME)
|
||||
assert_int(get_item_state(suite, "test_case1")).is_equal(_inspector.STATE.SUCCESS)
|
||||
assert_int(get_item_state(suite, "test_case2")).is_equal(_inspector.STATE.FAILED)
|
||||
|
|
@ -0,0 +1,17 @@
|
|||
extends GdUnitTestSuite
|
||||
|
||||
|
||||
func test_aa() -> void:
|
||||
pass
|
||||
|
||||
func test_ab() -> void:
|
||||
pass
|
||||
|
||||
func test_ac() -> void:
|
||||
pass
|
||||
|
||||
func test_ad() -> void:
|
||||
pass
|
||||
|
||||
func test_ae() -> void:
|
||||
pass
|
||||
|
|
@ -0,0 +1,18 @@
|
|||
class_name ExampleTestSuiteA
|
||||
extends GdUnitTestSuite
|
||||
|
||||
|
||||
func test_aa() -> void:
|
||||
pass
|
||||
|
||||
func test_ab() -> void:
|
||||
pass
|
||||
|
||||
func test_ac() -> void:
|
||||
pass
|
||||
|
||||
func test_ad() -> void:
|
||||
pass
|
||||
|
||||
func test_ae() -> void:
|
||||
pass
|
||||
|
|
@ -0,0 +1,12 @@
|
|||
class_name ExampleTestSuiteB
|
||||
extends GdUnitTestSuite
|
||||
|
||||
|
||||
func test_ba() -> void:
|
||||
pass
|
||||
|
||||
func test_bb() -> void:
|
||||
pass
|
||||
|
||||
func test_bc() -> void:
|
||||
pass
|
||||
|
|
@ -0,0 +1,18 @@
|
|||
class_name ExampleTestSuiteC
|
||||
extends GdUnitTestSuite
|
||||
|
||||
|
||||
func test_ca() -> void:
|
||||
pass
|
||||
|
||||
func test_cb() -> void:
|
||||
pass
|
||||
|
||||
func test_cc() -> void:
|
||||
pass
|
||||
|
||||
func test_cd() -> void:
|
||||
pass
|
||||
|
||||
func test_ce() -> void:
|
||||
pass
|
||||
36
addons/gdUnit4/test/ui/templates/TestSuiteTemplateTest.gd
Normal file
36
addons/gdUnit4/test/ui/templates/TestSuiteTemplateTest.gd
Normal file
|
|
@ -0,0 +1,36 @@
|
|||
# GdUnit generated TestSuite
|
||||
#warning-ignore-all:unused_argument
|
||||
#warning-ignore-all:return_value_discarded
|
||||
class_name TestSuiteTemplateTest
|
||||
extends GdUnitTestSuite
|
||||
|
||||
# TestSuite generated from
|
||||
const __source = 'res://addons/gdUnit4/src/ui/templates/TestSuiteTemplate.gd'
|
||||
|
||||
|
||||
func test_show() -> void:
|
||||
var template = spy("res://addons/gdUnit4/src/ui/templates/TestSuiteTemplate.tscn")
|
||||
scene_runner(template)
|
||||
|
||||
# verify the followup functions are called by _ready()
|
||||
verify(template)._ready()
|
||||
verify(template).setup_editor_colors()
|
||||
verify(template).setup_supported_types()
|
||||
verify(template).load_template(GdUnitTestSuiteTemplate.TEMPLATE_ID_GD)
|
||||
verify(template).setup_tags_help()
|
||||
|
||||
|
||||
func test_load_template_gd() -> void:
|
||||
var runner := scene_runner("res://addons/gdUnit4/src/ui/templates/TestSuiteTemplate.tscn")
|
||||
runner.invoke("load_template", GdUnitTestSuiteTemplate.TEMPLATE_ID_GD)
|
||||
|
||||
assert_int(runner.get_property("_selected_template")).is_equal(GdUnitTestSuiteTemplate.TEMPLATE_ID_GD)
|
||||
assert_str(runner.get_property("_template_editor").text).is_equal(GdUnitTestSuiteTemplate.default_GD_template().replace("\r", ""))
|
||||
|
||||
|
||||
func test_load_template_cs() -> void:
|
||||
var runner := scene_runner("res://addons/gdUnit4/src/ui/templates/TestSuiteTemplate.tscn")
|
||||
runner.invoke("load_template", GdUnitTestSuiteTemplate.TEMPLATE_ID_CS)
|
||||
|
||||
assert_int(runner.get_property("_selected_template")).is_equal(GdUnitTestSuiteTemplate.TEMPLATE_ID_CS)
|
||||
assert_str(runner.get_property("_template_editor").text).is_equal(GdUnitTestSuiteTemplate.default_CS_template().replace("\r", ""))
|
||||
Loading…
Add table
Add a link
Reference in a new issue