mirror of
https://github.com/lihop/godot-xterm.git
synced 2025-05-06 04:55:30 +02:00
Fix rendering according to test
This commit is contained in:
parent
6d112ca0f2
commit
4771a3c9a7
5 changed files with 65 additions and 5 deletions
35
test/test_rendering.gd
Normal file
35
test/test_rendering.gd
Normal file
|
@ -0,0 +1,35 @@
|
|||
# SPDX-FileCopyrightText: 2024 Leroy Hopson <godot-xterm@leroy.nix.nz>
|
||||
# SPDX-License-Identifier: MIT
|
||||
|
||||
class_name RenderingTest extends GutTest
|
||||
|
||||
var terminal: Terminal
|
||||
|
||||
|
||||
# Return the color in the center of the given cell.
|
||||
func pick_cell_color(cell := Vector2i(0, 0)) -> Color:
|
||||
var cell_size = terminal.get_cell_size()
|
||||
var pixelv = Vector2(cell) * cell_size + (cell_size / 2)
|
||||
return get_viewport().get_texture().get_image().get_pixelv(cell_size / 2)
|
||||
|
||||
|
||||
func before_each():
|
||||
terminal = Terminal.new()
|
||||
terminal.add_theme_font_override("normal_font", preload("res://themes/fonts/regular.tres"))
|
||||
terminal.set_anchors_and_offsets_preset(Control.PRESET_FULL_RECT)
|
||||
call_deferred("add_child_autofree", terminal)
|
||||
await wait_for_signal(terminal.ready, 5)
|
||||
|
||||
|
||||
class TestRendering:
|
||||
extends RenderingTest
|
||||
|
||||
func test_update():
|
||||
terminal.write("\u001b[38;2;255;0;0m")
|
||||
terminal.write("█".repeat(terminal.get_cols() * terminal.get_rows()))
|
||||
await get_tree().physics_frame
|
||||
terminal.queue_redraw()
|
||||
await wait_for_signal(terminal.draw, 3)
|
||||
await wait_frames(10)
|
||||
var cell_color = pick_cell_color(Vector2i(0, 0))
|
||||
assert_eq(cell_color, Color.RED)
|
Loading…
Add table
Add a link
Reference in a new issue