Skip to content

Commit de48a37

Browse files
committed
Working tests
1 parent 918694e commit de48a37

File tree

8 files changed

+32
-43
lines changed

8 files changed

+32
-43
lines changed

demosys/test/testcase.py

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -21,22 +21,21 @@ def create_shader(self, source=None, path=None):
2121
"""
2222
Create a shader from source or file
2323
"""
24-
program = ShaderProgram(name="test", path=path)
25-
2624
if source:
25+
program = ShaderProgram(name="test", path=path)
2726
program.set_source(source)
2827
program.prepare()
2928

3029
if path:
31-
resources.shaders.load_shader(program)
30+
program = resources.shaders.load(path)
3231

3332
return program
3433

3534
def get_texture(self, path):
36-
return resources.textures.get(path, create=True)
35+
return resources.textures.load(path, create=True)
3736

3837
def get_texture_array(self, path, layers=0):
39-
return resources.textures.get(path, create=True, cls=TextureArray, layers=layers)
38+
return resources.textures.load(path, create=True, cls=TextureArray, layers=layers)
4039

4140
def get_track(self, name):
4241
return resources.tracks.get(name)

demosys/text/renderer2d.py

Lines changed: 2 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -7,13 +7,6 @@
77
from .writer2d import TextWriter2D
88

99

10-
def on_load():
11-
resources.shaders.get('demosys/text/view_renderer_texture.glsl', create=True)
12-
13-
14-
resources.on_load(on_load, priority=100)
15-
16-
1710
class TextRenderer2D(TextWriter2D):
1811

1912
def __init__(self, area, text_lines=None, texture_height=64):
@@ -22,17 +15,14 @@ def __init__(self, area, text_lines=None, texture_height=64):
2215
:param size: Text size
2316
:param text: Initial text
2417
"""
18+
super().__init__(area, text_lines=text_lines)
2519
self._texture_height = texture_height
2620
self._texture_width = 0
2721

2822
self._quad = self._create_vao()
29-
self._quad_shader = resources.shaders.get('demosys/text/view_renderer_texture.glsl', create=True)
23+
self._quad_shader = resources.shaders.load('demosys/text/view_renderer_texture.glsl', create=True)
3024
self._fbo = None
31-
super().__init__(area, text_lines=text_lines)
3225

33-
def _post_load(self):
34-
print("TextRenderer2D._post_load")
35-
super()._post_load()
3626
self._texture_width = int(
3727
round(self._meta.char_aspect_wh * self._texture_height * self.area[0] / self.area[1], 0)
3828
)

demosys/text/writer2d.py

Lines changed: 3 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -8,15 +8,6 @@
88
from .base import BaseText, Meta
99

1010

11-
def on_load():
12-
resources.textures.get('demosys/text/VeraMono.png', cls=TextureArray, layers=190, create=True)
13-
resources.shaders.get('demosys/text/textwriter2d.glsl', create=True)
14-
resources.data.get('demosys/text/meta.json', create=True)
15-
16-
17-
resources.on_load(on_load, priority=100)
18-
19-
2011
class TextWriter2D(BaseText):
2112

2213
def __init__(self, area, text_lines=None, aspect_ratio=1.0):
@@ -34,16 +25,12 @@ def __init__(self, area, text_lines=None, aspect_ratio=1.0):
3425
self.aspect_ratio = aspect_ratio
3526

3627
self._vao = None
37-
self._texture = resources.textures.get('demosys/text/VeraMono.png', cls=TextureArray, layers=190, create=True)
38-
self._shader = resources.shaders.get('demosys/text/textwriter2d.glsl', create=True)
39-
self._config = resources.data.get('demosys/text/meta.json', create=True)
28+
self._texture = resources.textures.load('demosys/text/VeraMono.png', cls=TextureArray, layers=190)
29+
self._shader = resources.shaders.load('demosys/text/textwriter2d.glsl')
30+
self._config = resources.data.load('demosys/text/meta.json')
4031

4132
self._string_buffer = None
4233

43-
resources.on_loaded(self._post_load, priority=99)
44-
45-
def _post_load(self):
46-
"""Parse font metadata after resources are loaded"""
4734
self._init(Meta(self._config.data))
4835

4936
self._string_buffer = self.ctx.buffer(reserve=self.area[0] * 4 * self.area[1])

docs/source/reference/effect.rst

Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -20,16 +20,7 @@ Resource Methods
2020
.. automethod:: Effect.get_track(name, local=False) -> Track
2121
.. automethod:: Effect.get_scene(path, local=False, **kwargs) -> Scene
2222
.. automethod:: Effect.get_data(path, local=False, **kwargs) -> Data
23-
24-
Callbacks
25-
---------
26-
2723
.. automethod:: Effect.post_load()
28-
.. automethod:: Effect.on_resouces_loaded(func)
29-
.. automethod:: Effect.on_textures_loaded(func)
30-
.. automethod:: Effect.on_data_loaded(func)
31-
.. automethod:: Effect.on_shaders_loaded(func)
32-
.. automethod:: Effect.on_scenes_loaded(func)
3324

3425
Utility Methods
3526
---------------

docs/source/reference/shaderprogram.rst

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ Source Methods
1717
.. automethod:: ShaderProgram.set_vertex_source(source:str)
1818
.. automethod:: ShaderProgram.set_geometry_source(source:str)
1919
.. automethod:: ShaderProgram.set_fragment_source(source:str)
20+
.. automethod:: ShaderProgram.release()
2021

2122
Attributes
2223
----------

docs/source/reference/vao.rst

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ Methods
1212
.. automethod:: VAO.buffer(buffer, buffer_format:str, attribute_names, per_instance=False)
1313
.. automethod:: VAO.index_buffer(buffer, index_element_size=4)
1414
.. automethod:: VAO.subroutines(shader, routines:tuple)
15+
.. automethod:: VAO.release()
1516

1617
Draw Methods
1718
------------

tests/test_shader.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,4 +46,4 @@ def assertAttributes(self, shader):
4646
assert shader.attribute_key
4747
assert len(shader.attribute_list) == 1
4848
assert len(shader.attribute_map) == 1
49-
assert shader.path in str(shader)
49+
assert str(shader.path) in str(shader)

tests/test_text.py

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
from demosys.test import DemosysTestCase
2+
from demosys.text import TextWriter2D, TextRenderer2D
3+
4+
5+
class TextTestCase(DemosysTestCase):
6+
7+
def test_writer(self):
8+
writer = TextWriter2D(
9+
(4, 4),
10+
text_lines=[
11+
"ABCD",
12+
"!@#$",
13+
"abcd",
14+
"1234",
15+
]
16+
)
17+
writer.draw((0, 0), size=1.0)
18+
19+
def test_renderer(self):
20+
pass

0 commit comments

Comments
 (0)