Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
24 changes: 19 additions & 5 deletions tests/test_compat.py
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,10 @@ class TestCompatFunctions(unittest.TestCase):
@patch("python_logo_widgets._compat.LogoWidget")
@patch("python_logo_widgets._compat.tk.Tk")
def test_logo_widget(self, mock_tk, mock_cls):
from python_logo_widgets._compat import logo_widget
"""Test the logo compatibility wrapper."""
from python_logo_widgets._compat import (
logo_widget,
) # pylint: disable=import-outside-toplevel

mock_root = MagicMock()
mock_tk.return_value = mock_root
Expand All @@ -22,7 +25,10 @@ def test_logo_widget(self, mock_tk, mock_cls):
@patch("python_logo_widgets._compat.PoweredByLengthWidget")
@patch("python_logo_widgets._compat.tk.Tk")
def test_length_widget(self, mock_tk, mock_cls):
from python_logo_widgets._compat import length_widget
"""Test the length compatibility wrapper."""
from python_logo_widgets._compat import (
length_widget,
) # pylint: disable=import-outside-toplevel

mock_root = MagicMock()
mock_tk.return_value = mock_root
Expand All @@ -34,7 +40,10 @@ def test_length_widget(self, mock_tk, mock_cls):
@patch("python_logo_widgets._compat.PoweredByWidthWidget")
@patch("python_logo_widgets._compat.tk.Tk")
def test_width_widget(self, mock_tk, mock_cls):
from python_logo_widgets._compat import width_widget
"""Test the width compatibility wrapper."""
from python_logo_widgets._compat import (
width_widget,
) # pylint: disable=import-outside-toplevel

mock_root = MagicMock()
mock_tk.return_value = mock_root
Expand All @@ -51,8 +60,13 @@ class TestDemo(unittest.TestCase):
@patch("python_logo_widgets._demo.PoweredByLengthWidget")
@patch("python_logo_widgets._demo.LogoWidget")
@patch("python_logo_widgets._demo.tk.Tk")
def test_demo_creates_all_widgets(self, mock_tk, mock_logo, mock_length, mock_width):
from python_logo_widgets._demo import demo
def test_demo_creates_all_widgets(
self, mock_tk, mock_logo, mock_length, mock_width
):
"""Test the demo launcher creates all widgets."""
from python_logo_widgets._demo import (
demo,
) # pylint: disable=import-outside-toplevel

mock_root = MagicMock()
mock_tk.return_value = mock_root
Expand Down
34 changes: 23 additions & 11 deletions tests/test_widgets.py
Original file line number Diff line number Diff line change
Expand Up @@ -10,20 +10,26 @@ class TestLogoWidget(unittest.TestCase):
@patch("python_logo_widgets.widgets.tk.Label")
@patch("python_logo_widgets.widgets.tk.PhotoImage")
@patch("python_logo_widgets.widgets._load_image", return_value="fake.gif")
def test_creates_with_parent(self, mock_load, mock_photo, mock_label):
from python_logo_widgets import LogoWidget
def test_creates_with_parent(self, mock_load, mock_photo, _mock_label):
"""Test widget creation with a parent."""
from python_logo_widgets import (
LogoWidget,
) # pylint: disable=import-outside-toplevel

parent = MagicMock()
widget = LogoWidget(parent)
mock_load.assert_called_once_with("logo.gif")
mock_photo.assert_called_once_with(file="fake.gif")
self.assertIsNotNone(widget._image)
self.assertIsNotNone(getattr(widget, "_image"))

@patch("python_logo_widgets.widgets.tk.Label")
@patch("python_logo_widgets.widgets.tk.PhotoImage")
@patch("python_logo_widgets.widgets._load_image", return_value="fake.gif")
def test_custom_bg(self, mock_load, mock_photo, mock_label):
from python_logo_widgets import LogoWidget
def test_custom_bg(self, _mock_load, _mock_photo, mock_label):
"""Test custom background propagation."""
from python_logo_widgets import (
LogoWidget,
) # pylint: disable=import-outside-toplevel

parent = MagicMock()
LogoWidget(parent, bg="white")
Expand All @@ -38,13 +44,16 @@ class TestPoweredByLengthWidget(unittest.TestCase):
@patch("python_logo_widgets.widgets.tk.Label")
@patch("python_logo_widgets.widgets.tk.PhotoImage")
@patch("python_logo_widgets.widgets._load_image", return_value="fake.gif")
def test_creates_with_parent(self, mock_load, mock_photo, mock_label):
from python_logo_widgets import PoweredByLengthWidget
def test_creates_with_parent(self, mock_load, _mock_photo, _mock_label):
"""Test powered-by-length widget creation with a parent."""
from python_logo_widgets import (
PoweredByLengthWidget,
) # pylint: disable=import-outside-toplevel

parent = MagicMock()
widget = PoweredByLengthWidget(parent)
mock_load.assert_called_once_with("length.gif")
self.assertIsNotNone(widget._image)
self.assertIsNotNone(getattr(widget, "_image"))


class TestPoweredByWidthWidget(unittest.TestCase):
Expand All @@ -53,13 +62,16 @@ class TestPoweredByWidthWidget(unittest.TestCase):
@patch("python_logo_widgets.widgets.tk.Label")
@patch("python_logo_widgets.widgets.tk.PhotoImage")
@patch("python_logo_widgets.widgets._load_image", return_value="fake.gif")
def test_creates_with_parent(self, mock_load, mock_photo, mock_label):
from python_logo_widgets import PoweredByWidthWidget
def test_creates_with_parent(self, mock_load, _mock_photo, _mock_label):
"""Test powered-by-width widget creation with a parent."""
from python_logo_widgets import (
PoweredByWidthWidget,
) # pylint: disable=import-outside-toplevel

parent = MagicMock()
widget = PoweredByWidthWidget(parent)
mock_load.assert_called_once_with("width.gif")
self.assertIsNotNone(widget._image)
self.assertIsNotNone(getattr(widget, "_image"))


if __name__ == "__main__":
Expand Down
Loading