extends Node func _ready() -> void: for skip in [true, false]: var intro := preload("res://scenes/ui/intro.tscn").instantiate() as Control get_tree().root.add_child.call_deferred(intro) await get_tree().process_frame get_tree().current_scene = intro await get_tree().create_timer(0.3).timeout var video := intro.get_node("VideoAspect/Video") as VideoStreamPlayer assert(video.is_playing()) assert(video.stream is VideoStreamTheora) assert(video.get_video_texture().get_width() == 1920) if skip: var event := InputEventKey.new() event.physical_keycode = KEY_SPACE event.pressed = true Input.parse_input_event(event) else: video.finished.emit() for frame in 5: await get_tree().process_frame assert(get_tree().current_scene.scene_file_path == "res://scenes/ui/main_menu.tscn") assert(get_tree().current_scene.get_node("ShipSelectionPanel").visible == false) get_tree().current_scene.queue_free() await get_tree().process_frame print("INTRO_TEST: PASS Theora playback and decoded frame, Space skip, finished signal -> menu") get_tree().quit()