Skip to content

Commit

Permalink
Add minimal test for widgets.
Browse files Browse the repository at this point in the history
  • Loading branch information
alejandroautalan committed Feb 24, 2025
1 parent 59b716d commit 064e07e
Show file tree
Hide file tree
Showing 16 changed files with 468 additions and 0 deletions.
1 change: 1 addition & 0 deletions src/pygubu/plugins/pygubu/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,7 @@ class PygubuWidgetsLoader(BuilderLoaderPlugin):
f"{_plugin_uid}.FilterableTreeview",
),
"pygubu.plugins.pygubu.floodgauge_bo": (f"{_plugin_uid}.Floodgauge",),
"pygubu.plugins.pygubu.fontinputbo": (f"{_plugin_uid}.FontInput",),
# Forms are not finished so expect changes
"pygubu.plugins.pygubu.forms.pygubuwidget_bo": (
"pygubu.forms.pygubuwidget.PygubuCombobox"
Expand Down
28 changes: 28 additions & 0 deletions tests/test_accordionframe.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
# encoding: utf-8
import os
import sys
import unittest
import tkinter as tk
import tkinter.ttk as ttk

import fixpath
import pygubu
import support
from pygubu.widgets.accordionframe import AccordionFrame


class TestAccordionFrame(unittest.TestCase):
def setUp(self):
support.root_deiconify()
xmldata = "test_accordionframe.ui"
self.builder = builder = pygubu.Builder()
builder.add_from_file(xmldata)
self.widget = builder.get_object("mainframe")
self.canvas = builder.get_object("accordionframe1")

def tearDown(self):
support.root_withdraw()

def test_class(self):
self.assertIsInstance(self.canvas, AccordionFrame)
self.widget.destroy()
54 changes: 54 additions & 0 deletions tests/test_accordionframe.ui
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
<?xml version='1.0' encoding='utf-8'?>
<interface version="1.4" author="PygubuDesigner 0.40.2">
<project>
<settings />
<customwidgets />
</project>
<object class="ttk.Frame" id="mainframe">
<property name="height">200</property>
<property name="padding">2</property>
<property name="width">200</property>
<layout manager="grid">
<property name="column">0</property>
<property name="row">0</property>
<property name="sticky">nesw</property>
</layout>
<child>
<object class="pygubu.widgets.AccordionFrame" id="accordionframe1">
<property name="height">200</property>
<property name="width">200</property>
<layout manager="pack">
<property name="side">top</property>
</layout>
<child>
<object class="pygubu.widgets.AccordionFrameGroup" id="accordionframegroup1">
<property name="label" translatable="yes">Group1</property>
<property name="style">Toolbutton</property>
<child>
<object class="tk.Canvas" id="canvas1">
<property name="background">#0051d9</property>
<layout manager="pack">
<property name="side">top</property>
</layout>
</object>
</child>
</object>
</child>
<child>
<object class="pygubu.widgets.AccordionFrameGroup" id="accordionframegroup2">
<property name="label" translatable="yes">Group2</property>
<property name="style">Toolbutton</property>
<child>
<object class="tk.Canvas" id="canvas2">
<property name="background">#00bb00</property>
<layout manager="pack">
<property name="side">top</property>
</layout>
</object>
</child>
</object>
</child>
</object>
</child>
</object>
</interface>
17 changes: 17 additions & 0 deletions tests/test_autoarrangeframe.ui
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
<?xml version='1.0' encoding='utf-8'?>
<interface version="1.4" author="PygubuDesigner 0.40.2">
<project>
<settings />
<customwidgets />
</project>
<object class="ttk.Frame" id="mainframe">
<property name="height">200</property>
<property name="padding">2</property>
<property name="width">200</property>
<layout manager="grid">
<property name="column">0</property>
<property name="row">0</property>
<property name="sticky">nesw</property>
</layout>
</object>
</interface>
28 changes: 28 additions & 0 deletions tests/test_colorinput.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
# encoding: utf-8
import os
import sys
import unittest
import tkinter as tk
import tkinter.ttk as ttk

import fixpath
import pygubu
import support
from pygubu.widgets.colorinput import ColorInput


class TestColorInput(unittest.TestCase):
def setUp(self):
support.root_deiconify()
xmldata = "test_colorinput.ui"
self.builder = builder = pygubu.Builder()
builder.add_from_file(xmldata)
self.widget = builder.get_object("mainframe")
self.wcolor = builder.get_object("colorinput1")

def tearDown(self):
support.root_withdraw()

def test_class(self):
self.assertIsInstance(self.wcolor, ColorInput)
self.widget.destroy()
24 changes: 24 additions & 0 deletions tests/test_colorinput.ui
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
<?xml version='1.0' encoding='utf-8'?>
<interface version="1.4" author="PygubuDesigner 0.40.2">
<project>
<settings />
<customwidgets />
</project>
<object class="ttk.Frame" id="mainframe">
<property name="height">200</property>
<property name="padding">2</property>
<property name="width">200</property>
<layout manager="grid">
<property name="column">0</property>
<property name="row">0</property>
<property name="sticky">nesw</property>
</layout>
<child>
<object class="pygubu.widgets.ColorInput" id="colorinput1">
<layout manager="pack">
<property name="side">top</property>
</layout>
</object>
</child>
</object>
</interface>
28 changes: 28 additions & 0 deletions tests/test_editabletreeview.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
# encoding: utf-8
import os
import sys
import unittest
import tkinter as tk
import tkinter.ttk as ttk

import fixpath
import pygubu
import support
from pygubu.widgets.editabletreeview import EditableTreeview


class TestEditableTreeview(unittest.TestCase):
def setUp(self):
support.root_deiconify()
xmldata = "test_editabletreeview.ui"
self.builder = builder = pygubu.Builder()
builder.add_from_file(xmldata)
self.widget = builder.get_object("mainframe")
self.wtree = builder.get_object("treeview1")

def tearDown(self):
support.root_withdraw()

def test_class(self):
self.assertIsInstance(self.wtree, EditableTreeview)
self.widget.destroy()
48 changes: 48 additions & 0 deletions tests/test_editabletreeview.ui
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
<?xml version='1.0' encoding='utf-8'?>
<interface version="1.4" author="PygubuDesigner 0.40.2">
<project>
<settings />
<customwidgets />
</project>
<object class="ttk.Frame" id="mainframe">
<property name="height">200</property>
<property name="padding">2</property>
<property name="width">200</property>
<layout manager="grid">
<property name="column">0</property>
<property name="row">0</property>
<property name="sticky">nesw</property>
</layout>
<child>
<object class="pygubu.widgets.EditableTreeview" id="treeview1" named="True">
<layout manager="pack">
<property name="side">top</property>
</layout>
<child>
<object class="ttk.Treeview.Column" id="column1">
<property name="column_anchor">w</property>
<property name="heading_anchor">w</property>
<property name="minwidth">20</property>
<property name="stretch">true</property>
<property name="text" translatable="yes">Tree column</property>
<property name="tree_column">true</property>
<property name="visible">true</property>
<property name="width">200</property>
</object>
</child>
<child>
<object class="ttk.Treeview.Column" id="column2">
<property name="column_anchor">w</property>
<property name="heading_anchor">w</property>
<property name="minwidth">20</property>
<property name="stretch">true</property>
<property name="text" translatable="yes">Column1</property>
<property name="tree_column">false</property>
<property name="visible">true</property>
<property name="width">200</property>
</object>
</child>
</object>
</child>
</object>
</interface>
28 changes: 28 additions & 0 deletions tests/test_filterabletreeview.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
# encoding: utf-8
import os
import sys
import unittest
import tkinter as tk
import tkinter.ttk as ttk

import fixpath
import pygubu
import support
from pygubu.widgets.filterabletreeview import FilterableTreeview


class TestFilterableTreeview(unittest.TestCase):
def setUp(self):
support.root_deiconify()
xmldata = "test_filterabletreeview.ui"
self.builder = builder = pygubu.Builder()
builder.add_from_file(xmldata)
self.widget = builder.get_object("mainframe")
self.wtree = builder.get_object("treeview1")

def tearDown(self):
support.root_withdraw()

def test_class(self):
self.assertIsInstance(self.wtree, FilterableTreeview)
self.widget.destroy()
48 changes: 48 additions & 0 deletions tests/test_filterabletreeview.ui
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
<?xml version='1.0' encoding='utf-8'?>
<interface version="1.4" author="PygubuDesigner 0.40.2">
<project>
<settings />
<customwidgets />
</project>
<object class="ttk.Frame" id="mainframe">
<property name="height">200</property>
<property name="padding">2</property>
<property name="width">200</property>
<layout manager="grid">
<property name="column">0</property>
<property name="row">0</property>
<property name="sticky">nesw</property>
</layout>
<child>
<object class="pygubu.widgets.FilterableTreeview" id="treeview1" named="True">
<layout manager="pack">
<property name="side">top</property>
</layout>
<child>
<object class="ttk.Treeview.Column" id="column1">
<property name="column_anchor">w</property>
<property name="heading_anchor">w</property>
<property name="minwidth">20</property>
<property name="stretch">true</property>
<property name="text" translatable="yes">Tree column</property>
<property name="tree_column">true</property>
<property name="visible">true</property>
<property name="width">200</property>
</object>
</child>
<child>
<object class="ttk.Treeview.Column" id="column2">
<property name="column_anchor">w</property>
<property name="heading_anchor">w</property>
<property name="minwidth">20</property>
<property name="stretch">true</property>
<property name="text" translatable="yes">Column1</property>
<property name="tree_column">false</property>
<property name="visible">true</property>
<property name="width">200</property>
</object>
</child>
</object>
</child>
</object>
</interface>
28 changes: 28 additions & 0 deletions tests/test_floodgauge.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
# encoding: utf-8
import os
import sys
import unittest
import tkinter as tk
import tkinter.ttk as ttk

import fixpath
import pygubu
import support
from pygubu.widgets.floodgauge import Floodgauge


class TestFloodgauge(unittest.TestCase):
def setUp(self):
support.root_deiconify()
xmldata = "test_floodgauge.ui"
self.builder = builder = pygubu.Builder()
builder.add_from_file(xmldata)
self.widget = builder.get_object("mainframe")
self.wfgauge = builder.get_object("floodgauge1")

def tearDown(self):
support.root_withdraw()

def test_class(self):
self.assertIsInstance(self.wfgauge, Floodgauge)
self.widget.destroy()
27 changes: 27 additions & 0 deletions tests/test_floodgauge.ui
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
<?xml version='1.0' encoding='utf-8'?>
<interface version="1.4" author="PygubuDesigner 0.40.2">
<project>
<settings />
<customwidgets />
</project>
<object class="ttk.Frame" id="mainframe">
<property name="height">200</property>
<property name="padding">2</property>
<property name="width">200</property>
<layout manager="grid">
<property name="column">0</property>
<property name="row">0</property>
<property name="sticky">nesw</property>
</layout>
<child>
<object class="pygubu.widgets.Floodgauge" id="floodgauge1">
<property name="orient">horizontal</property>
<property name="text" translatable="yes">floodgauge1</property>
<property name="value">15</property>
<layout manager="pack">
<property name="side">top</property>
</layout>
</object>
</child>
</object>
</interface>
Loading

0 comments on commit 064e07e

Please sign in to comment.