Files
KPK/v3.12/Lib/site-packages/kivy/tests/test_window_base.py
T
2026-06-23 15:20:56 +02:00

61 lines
2.0 KiB
Python

from itertools import product
from kivy.tests import GraphicUnitTest
from kivy.logger import LoggerHistory
class WindowBaseTest(GraphicUnitTest):
def test_to_normalized_pos(self):
win = self.Window
old_system_size = win.system_size[:]
win.system_size = w, h = type(old_system_size)((320, 240))
try:
for x, y in product([0, 319, 50, 51], [0, 239, 50, 51]):
expected_sx = x / (w - 1.0)
expected_sy = y / (h - 1.0)
result_sx, result_sy = win.to_normalized_pos(x, y)
assert result_sx == expected_sx
assert result_sy == expected_sy
finally:
win.system_size = old_system_size
class WindowOpacityTest(GraphicUnitTest):
def setUp(self):
super().setUp()
self._prev_window_opacity = self.Window.opacity
self._prev_history = LoggerHistory.history[:]
def tearDown(self):
self.Window.opacity = self._prev_window_opacity
LoggerHistory.history[:] = self._prev_history
super().tearDown()
def get_new_opacity_value(self):
opacity = self.Window.opacity
opacity = opacity - 0.1 if opacity >= 0.9 else opacity + 0.1
return round(opacity, 2)
def check_opacity_support(self):
LoggerHistory.clear_history()
self.Window.opacity = self.get_new_opacity_value()
return not LoggerHistory.history
def test_window_opacity_property(self):
if self.check_opacity_support():
opacity = self.get_new_opacity_value()
self.Window.opacity = opacity
self.assertEqual(self.Window.opacity, opacity)
def test_window_opacity_clamping_positive(self):
if self.check_opacity_support():
self.Window.opacity = 1.5
self.assertEqual(self.Window.opacity, 1.0)
def test_window_opacity_clamping_negative(self):
if self.check_opacity_support():
self.Window.opacity = -1.5
self.assertEqual(self.Window.opacity, 0.0)