75 lines
2.3 KiB
GDScript
75 lines
2.3 KiB
GDScript
extends GutInternalTester
|
|
|
|
# Constants?
|
|
|
|
var SingletonParser = GutUtils.SingletonParser
|
|
|
|
func test_can_make_one():
|
|
var sp = SingletonParser.new()
|
|
assert_not_null(sp)
|
|
|
|
|
|
func test_can_make_parsed_script():
|
|
var ps = SingletonParser.ParsedSingleton.new(OS)
|
|
assert_not_null(ps)
|
|
|
|
|
|
func test_parsed_singleton_populates_methods():
|
|
var ps = SingletonParser.ParsedSingleton.new(Time)
|
|
assert_ne(ps.methods_by_name.size(), 0)
|
|
|
|
|
|
func test_parsed_singleton_does_not_include_object_methods():
|
|
var ps = SingletonParser.ParsedSingleton.new(Time)
|
|
assert_does_not_have(ps.methods_by_name, 'free')
|
|
|
|
|
|
func test_parsed_singleton_has_enums():
|
|
var ps = SingletonParser.ParsedSingleton.new(Time)
|
|
assert_eq(ps.enums["WEEKDAY_SUNDAY"], 0)
|
|
|
|
|
|
func test_parsed_singleton_enum_values_match_class_enum_values():
|
|
var ps = SingletonParser.ParsedSingleton.new(Time)
|
|
assert_eq(ps.enums["MONTH_JANUARY"], 1)
|
|
|
|
|
|
func test_parsed_singleton_does_not_have_object_enums():
|
|
var ps = SingletonParser.ParsedSingleton.new(Time)
|
|
assert_does_not_have(ps.enums, "CONNECT_DEFERRED")
|
|
|
|
|
|
func test_parsed_singleton_contains_properties():
|
|
var ps = SingletonParser.ParsedSingleton.new(OS)
|
|
assert_has(ps.properties, "delta_smoothing")
|
|
|
|
|
|
func test_parsed_singleton_properties_have_singleton_values():
|
|
var ps = SingletonParser.ParsedSingleton.new(OS)
|
|
assert_eq(ps.properties["low_processor_usage_mode_sleep_usec"], OS.low_processor_usage_mode_sleep_usec)
|
|
|
|
|
|
func test_parsed_singleton_has_signals():
|
|
var ps = SingletonParser.ParsedSingleton.new(AudioServer)
|
|
assert_has(ps.signals, 'bus_layout_changed')
|
|
|
|
|
|
func test_can_parse_all_singletons(p = use_parameters(GutUtils.GodotSingletons.class_ref)):
|
|
var ps = SingletonParser.ParsedSingleton.new(p)
|
|
assert_not_null(ps)
|
|
|
|
func test_constants_are_added_as_enums():
|
|
var ps = SingletonParser.ParsedSingleton.new(DisplayServer)
|
|
assert_has(ps.enums, "INVALID_SCREEN")
|
|
|
|
func test_get_signal_text():
|
|
var ps = SingletonParser.ParsedSingleton.new(AudioServer)
|
|
var signal_meta = ps.signals['bus_renamed']
|
|
var text = ps.get_signal_text(signal_meta)
|
|
assert_eq(text, 'signal bus_renamed(bus_index, old_name, new_name)')
|
|
|
|
func test_get_all_signal_text():
|
|
var ps = SingletonParser.ParsedSingleton.new(AudioServer)
|
|
var text = ps.get_all_signal_text()
|
|
assert_string_contains(text, 'signal bus_renamed(bus_index, old_name, new_name)')
|
|
assert_string_contains(text, 'signal bus_layout_changed()') |