38 lines
1.1 KiB
GDScript
38 lines
1.1 KiB
GDScript
extends SceneTree
|
|
|
|
const NotesEditor := preload("res://scripts/ui/notes_editor.gd")
|
|
const NotesDialog := preload("res://scripts/ui/notes_dialog.gd")
|
|
const NavigationRoutes := preload("res://scripts/ui/navigation_routes.gd")
|
|
|
|
var failures := 0
|
|
|
|
|
|
func _initialize() -> void:
|
|
call_deferred("_run")
|
|
|
|
|
|
func _run() -> void:
|
|
var editor := NotesEditor.new()
|
|
root.add_child(editor)
|
|
await process_frame
|
|
_assert(editor.editor != null, "notes editor should create a text editor")
|
|
_assert(editor.editor.wrap_mode == TextEdit.LINE_WRAPPING_BOUNDARY, "notes should wrap plain text")
|
|
_assert(NavigationRoutes.key_for_screen("notes") == "notes", "notes should have a navigation route")
|
|
|
|
var dialog := NotesDialog.new()
|
|
root.add_child(dialog)
|
|
await process_frame
|
|
_assert(not dialog.visible, "notes dialog should start hidden")
|
|
_assert(dialog.notes_editor != null, "notes dialog should contain the shared editor")
|
|
|
|
editor.queue_free()
|
|
dialog.queue_free()
|
|
quit(1 if failures > 0 else 0)
|
|
|
|
|
|
func _assert(condition: bool, message: String) -> void:
|
|
if condition:
|
|
return
|
|
failures += 1
|
|
push_error(message)
|