mirror of
https://github.com/kovidgoyal/kitty
synced 2026-07-22 00:08:04 +02:00
Dont allocate space for dummy fonts
Also move sprite_map test into fonts test module
This commit is contained in:
@@ -7,8 +7,7 @@ from unittest import skipIf
|
||||
|
||||
from kitty.config import build_ansi_color_table, defaults
|
||||
from kitty.fast_data_types import (
|
||||
REVERSE, ColorProfile, Cursor as C, HistoryBuf, LineBuf,
|
||||
sprite_map_set_layout, sprite_map_set_limits, test_sprite_position_for
|
||||
REVERSE, ColorProfile, Cursor as C, HistoryBuf, LineBuf
|
||||
)
|
||||
from kitty.utils import sanitize_title, wcwidth
|
||||
|
||||
@@ -326,20 +325,6 @@ class TestDataTypes(BaseTest):
|
||||
self.assertEqual(c.as_color(i << 8 | 1), (col[0], col[1], col[2]))
|
||||
self.ae(c.as_color(255 << 8 | 1), (0xee, 0xee, 0xee))
|
||||
|
||||
def test_sprite_map(self):
|
||||
sprite_map_set_limits(10, 2)
|
||||
sprite_map_set_layout(5, 5)
|
||||
self.ae(test_sprite_position_for(0), (0, 0, 0))
|
||||
self.ae(test_sprite_position_for(1), (1, 0, 0))
|
||||
self.ae(test_sprite_position_for(2), (0, 1, 0))
|
||||
self.ae(test_sprite_position_for(3), (1, 1, 0))
|
||||
self.ae(test_sprite_position_for(4), (0, 0, 1))
|
||||
self.ae(test_sprite_position_for(5), (1, 0, 1))
|
||||
self.ae(test_sprite_position_for(0, 1), (0, 1, 1))
|
||||
self.ae(test_sprite_position_for(0, 2), (1, 1, 1))
|
||||
self.ae(test_sprite_position_for(0, 2), (1, 1, 1))
|
||||
sprite_map_set_limits(1000, 1000)
|
||||
|
||||
def test_historybuf(self):
|
||||
lb = filled_line_buf()
|
||||
hb = HistoryBuf(5, 5)
|
||||
|
||||
@@ -4,9 +4,12 @@
|
||||
|
||||
from collections import OrderedDict
|
||||
|
||||
from kitty.fast_data_types import set_send_sprite_to_gpu, test_render_line, sprite_map_set_limits
|
||||
from kitty.fonts.render import set_font_family
|
||||
from kitty.fast_data_types import (
|
||||
set_send_sprite_to_gpu, sprite_map_set_layout, sprite_map_set_limits,
|
||||
test_render_line, test_sprite_position_for
|
||||
)
|
||||
from kitty.fonts.box_drawing import box_chars
|
||||
from kitty.fonts.render import set_font_family
|
||||
|
||||
from . import BaseTest
|
||||
|
||||
@@ -14,13 +17,13 @@ from . import BaseTest
|
||||
class Rendering(BaseTest):
|
||||
|
||||
def setUp(self):
|
||||
sprite_map_set_limits(100000, 100)
|
||||
self.sprites = OrderedDict()
|
||||
|
||||
def send_to_gpu(x, y, z, data):
|
||||
self.sprites[(x, y, z)] = data
|
||||
|
||||
set_send_sprite_to_gpu(send_to_gpu)
|
||||
sprite_map_set_limits(100000, 100)
|
||||
self.cell_width, self.cell_height = set_font_family(override_dpi=(96.0, 96.0))
|
||||
self.assertEqual([k[0] for k in self.sprites], [0, 1, 2, 3, 4])
|
||||
|
||||
@@ -28,11 +31,23 @@ class Rendering(BaseTest):
|
||||
set_send_sprite_to_gpu(None)
|
||||
del self.sprites
|
||||
|
||||
def test_sprite_map(self):
|
||||
sprite_map_set_limits(10, 2)
|
||||
sprite_map_set_layout(5, 5)
|
||||
self.ae(test_sprite_position_for(0), (0, 0, 0))
|
||||
self.ae(test_sprite_position_for(1), (1, 0, 0))
|
||||
self.ae(test_sprite_position_for(2), (0, 1, 0))
|
||||
self.ae(test_sprite_position_for(3), (1, 1, 0))
|
||||
self.ae(test_sprite_position_for(4), (0, 0, 1))
|
||||
self.ae(test_sprite_position_for(5), (1, 0, 1))
|
||||
self.ae(test_sprite_position_for(0, 1), (0, 1, 1))
|
||||
self.ae(test_sprite_position_for(0, 2), (1, 1, 1))
|
||||
self.ae(test_sprite_position_for(0, 2), (1, 1, 1))
|
||||
|
||||
def test_box_drawing(self):
|
||||
prerendered = len(self.sprites)
|
||||
s = self.create_screen(cols=len(box_chars), lines=1, scrollback=0)
|
||||
s.draw(''.join(box_chars))
|
||||
line = s.line(0)
|
||||
test_render_line(line)
|
||||
print(self.sprites.keys())
|
||||
self.assertEqual(len(self.sprites), prerendered + len(box_chars))
|
||||
|
||||
Reference in New Issue
Block a user