diff --git a/test/integration/terminal.test.gd b/test/integration/terminal.test.gd index dabcbe6..37c3809 100644 --- a/test/integration/terminal.test.gd +++ b/test/integration/terminal.test.gd @@ -2,6 +2,36 @@ extends "res://addons/gut/test.gd" const Terminal := preload("res://addons/godot_xterm/terminal.gd") +var terminal: Terminal + + +func before_each(): + terminal = Terminal.new() + terminal.rect_size = Vector2(400, 200) + add_child_autofree(terminal) + + +func test_bell() -> void: + terminal.bell_cooldown = 0 + terminal.write(char(7)) + terminal.write(char(0x07)) + terminal.write("\a") + terminal.write("\u0007") + terminal.write("'Ask not for whom the \a tolls; it tolls for thee' - John Donne") + yield(yield_to(terminal, "bell", 5), YIELD) + assert_signal_emit_count(terminal, "bell", 5) + + +func test_bell_cooldown() -> void: + watch_signals(terminal) + terminal.bell_cooldown = 0.5 + terminal.write("\a") + terminal.write("\a") + yield(yield_for(1), YIELD) + terminal.write("\a") + yield(yield_to(terminal, "bell", 5), YIELD) + assert_signal_emit_count(terminal, "bell", 2) + func test_writing_random_data_to_terminal_does_not_crash_application(): add_child_autofree(preload("res://test/scenes/write_random.tscn").instance()) diff --git a/test/unit/terminal.test.gd b/test/unit/terminal.test.gd index 79116fa..70e0266 100644 --- a/test/unit/terminal.test.gd +++ b/test/unit/terminal.test.gd @@ -1,37 +1,5 @@ extends "res://addons/gut/test.gd" -const Terminal := preload("res://addons/godot_xterm/terminal.gd") - -var term: Terminal - - -func before_each(): - term = Terminal.new() - term.rect_size = Vector2(400, 200) - add_child_autofree(term) - - -func test_bell() -> void: - term.bell_cooldown = 0 - term.write(char(7)) - term.write(char(0x07)) - term.write("\a") - term.write("\u0007") - term.write("'Ask not for whom the \a tolls; it tolls for thee' - John Donne") - yield(yield_to(term, "bell", 5), YIELD) - assert_signal_emit_count(term, "bell", 5) - - -func test_bell_cooldown() -> void: - watch_signals(term) - term.bell_cooldown = 0.5 - term.write("\a") - term.write("\a") - yield(yield_for(1), YIELD) - term.write("\a") - yield(yield_to(term, "bell", 5), YIELD) - assert_signal_emit_count(term, "bell", 2) - class TestMultipleInputs: # Tests for when Terminal is around other input nodes and arrow keys or TAB