godot-xterm/test/unit/terminal.test.gd
Leroy Hopson 9d15420df3
Move terminal.gd and pty.gd to godot_xterm directory
Makes for pretty paths when extending scripts:
`extends "res://addons/godot_xterm/terminal.gd"`
vs.
`extends "res://addons/godot_xterm/nodes/terminal/terminal.gd"`

Currently "res://addons/godot_xterm/pty.gd" is acutally `pty_unix.gd`.
This is okay for now as the PTY node is only supported on Unix
platforms. However, we will need to sort it out when adding Windows
support as part of #25.

Also remove the GDXterm namespace.
2021-07-26 00:39:48 +07:00

33 lines
781 B
GDScript

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", 1), 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(0.5), YIELD)
term.write("\a")
yield(yield_to(term, "bell", 1), YIELD)
assert_signal_emit_count(term, "bell", 2)