checkpoint: progressing on frosted glass panels
This commit is contained in:
@@ -4,8 +4,8 @@ import OpenGL.GL as gl
|
||||
|
||||
def test_shader_manager_fbo_initialization():
|
||||
with patch("src.shader_manager.gl") as mock_gl:
|
||||
mock_gl.glGenFramebuffers.return_value = 1
|
||||
mock_gl.glGenTextures.return_value = 2
|
||||
mock_gl.glGenFramebuffers.side_effect = [1, 2]
|
||||
mock_gl.glGenTextures.side_effect = [3, 4]
|
||||
mock_gl.glCheckFramebufferStatus.return_value = mock_gl.GL_FRAMEBUFFER_COMPLETE
|
||||
|
||||
from src.shader_manager import ShaderManager
|
||||
@@ -13,15 +13,19 @@ def test_shader_manager_fbo_initialization():
|
||||
|
||||
manager.setup_capture_fbo(800, 600)
|
||||
|
||||
assert manager.capture_fbo == 1
|
||||
assert manager.capture_tex == 2
|
||||
assert mock_gl.glGenFramebuffers.called
|
||||
assert mock_gl.glGenTextures.called
|
||||
assert mock_gl.glCheckFramebufferStatus.called
|
||||
assert manager.scene_fbo == 1
|
||||
assert manager.blur_fbo == 2
|
||||
assert manager.scene_tex == 3
|
||||
assert manager.blur_tex == 4
|
||||
assert mock_gl.glGenFramebuffers.call_count == 2
|
||||
assert mock_gl.glGenTextures.call_count == 2
|
||||
assert mock_gl.glCheckFramebufferStatus.call_count == 2
|
||||
|
||||
def test_shader_manager_capture_lifecycle():
|
||||
with patch("src.shader_manager.gl") as mock_gl:
|
||||
mock_gl.glCheckFramebufferStatus.return_value = mock_gl.GL_FRAMEBUFFER_COMPLETE
|
||||
mock_gl.glGenFramebuffers.side_effect = [1, 2]
|
||||
mock_gl.glGenTextures.side_effect = [3, 4]
|
||||
from src.shader_manager import ShaderManager
|
||||
manager = ShaderManager()
|
||||
|
||||
@@ -29,7 +33,8 @@ def test_shader_manager_capture_lifecycle():
|
||||
manager.capture_begin(1024, 768)
|
||||
assert manager.fbo_width == 1024
|
||||
assert manager.fbo_height == 768
|
||||
assert mock_gl.glBindFramebuffer.called
|
||||
# Should bind the blur FBO
|
||||
mock_gl.glBindFramebuffer.assert_any_call(mock_gl.GL_FRAMEBUFFER, manager.blur_fbo)
|
||||
|
||||
mock_gl.glBindFramebuffer.reset_mock()
|
||||
manager.capture_end()
|
||||
|
||||
Reference in New Issue
Block a user