diff --git a/unittests/pointy.png b/unittests/pointy.png new file mode 100644 index 00000000..32895dcb Binary files /dev/null and b/unittests/pointy.png differ diff --git a/unittests/test_checkbox.py b/unittests/test_checkbox.py new file mode 100644 index 00000000..7ed858a7 --- /dev/null +++ b/unittests/test_checkbox.py @@ -0,0 +1,24 @@ +import imp_unittest, unittest +import wtc +import wx + +#--------------------------------------------------------------------------- + +class CheckBoxTests(wtc.WidgetTestCase): + + def test_CheckBoxCtors(self): + c = wx.CheckBox(self.frame, label="checkbox") + c = wx.CheckBox(self.frame, -1, "checkbox", wx.Point(10,10), wx.Size(80,-1)) + + + def test_CheckBoxDefaultCtor(self): + c = wx.CheckBox() + c.Create(self.frame, label="checkbox") + + + +#--------------------------------------------------------------------------- + + +if __name__ == '__main__': + unittest.main() diff --git a/unittests/test_checklst.py b/unittests/test_checklst.py new file mode 100644 index 00000000..2e9e798c --- /dev/null +++ b/unittests/test_checklst.py @@ -0,0 +1,25 @@ +import imp_unittest, unittest +import wtc +import wx + +#--------------------------------------------------------------------------- + +class CheckListBoxTests(wtc.WidgetTestCase): + + def test_CheckBoxCtors(self): + c = wx.CheckListBox(self.frame, choices="one two three four".split()) + c = wx.CheckListBox(self.frame, -1, wx.Point(10,10), wx.Size(80,-1), + "one two three four".split(),) + + + def test_CheckListBoxDefaultCtor(self): + c = wx.CheckListBox() + c.Create(self.frame, choices="one two three four".split()) + + + +#--------------------------------------------------------------------------- + + +if __name__ == '__main__': + unittest.main() diff --git a/unittests/test_combobox.py b/unittests/test_combobox.py new file mode 100644 index 00000000..ab6b945c --- /dev/null +++ b/unittests/test_combobox.py @@ -0,0 +1,28 @@ +import imp_unittest, unittest +import wtc +import wx + +#--------------------------------------------------------------------------- + +class ComboBoxTests(wtc.WidgetTestCase): + + def test_ComboBoxCtors(self): + c = wx.ComboBox(self.frame, value='value', choices="one two three four".split()) + c = wx.ComboBox(self.frame, -1, 'value', wx.Point(10,10), wx.Size(80,-1), + "one two three four".split(), 0) + c = wx.ComboBox(self.frame, -1, "", (10,10), (80,-1), "one two three four".split(), 0) + + self.assertTrue(c.GetCount() == 4) + + + def test_ComboBoxDefaultCtor(self): + c = wx.ComboBox() + c.Create(self.frame, value="value", choices="one two three four".split()) + + + +#--------------------------------------------------------------------------- + + +if __name__ == '__main__': + unittest.main() diff --git a/unittests/test_control.py b/unittests/test_control.py new file mode 100644 index 00000000..f6c558d6 --- /dev/null +++ b/unittests/test_control.py @@ -0,0 +1,23 @@ +import imp_unittest, unittest +import wtc +import wx + +#--------------------------------------------------------------------------- + +class ControlTests(wtc.WidgetTestCase): + + def test_ControlCtors(self): + c = wx.Control(self.frame) + c = wx.Control(self.frame, -1, wx.Point(10,10), wx.Size(80,-1)) + + + def test_ControlDefaultCtor(self): + c = wx.Control() + c.Create(self.frame) + + +#--------------------------------------------------------------------------- + + +if __name__ == '__main__': + unittest.main() diff --git a/unittests/test_dataobj.py b/unittests/test_dataobj.py new file mode 100644 index 00000000..9864dcf3 --- /dev/null +++ b/unittests/test_dataobj.py @@ -0,0 +1,42 @@ +import imp_unittest, unittest +import wtc +import wx + +#--------------------------------------------------------------------------- + +class DataObjTests(wtc.WidgetTestCase): + + def test_DataFormat(self): + fmt1 = wx.DataFormat('my custom format') + fmt2 = wx.DataFormat(wx.DF_TEXT) + self.assertTrue(fmt1 != fmt2) + + + def test_DataFormatIDsExist(self): + wx.DF_INVALID + wx.DF_TEXT + wx.DF_BITMAP + wx.DF_METAFILE + wx.DF_SYLK + wx.DF_DIF + wx.DF_TIFF + wx.DF_OEMTEXT + wx.DF_DIB + wx.DF_PALETTE + wx.DF_PENDATA + wx.DF_RIFF + wx.DF_WAVE + wx.DF_UNICODETEXT + wx.DF_ENHMETAFILE + wx.DF_FILENAME + wx.DF_LOCALE + wx.DF_PRIVATE + wx.DF_HTML + wx.DF_MAX + + +#--------------------------------------------------------------------------- + + +if __name__ == '__main__': + unittest.main() diff --git a/unittests/test_dc.py b/unittests/test_dc.py new file mode 100644 index 00000000..e5a28a67 --- /dev/null +++ b/unittests/test_dc.py @@ -0,0 +1,61 @@ +import imp_unittest +import wtc +import wx + +# NOTE: The wx.DC tests are done in the test modules for the various DC types +# that inherit from wx.DC. The stuff tested here are just the other items +# generated from etg/dc.py + +# TODO: It may make sense to make a mixin class here that does test various +# aspects and drawing APIs of a DC, and then have the other DC test cases mix +# with it and call its methods. + + +#--------------------------------------------------------------------------- + +class DCTests(wtc.WidgetTestCase): + + def test_ConstantsExist(self): + wx.CLEAR + wx.XOR + wx.INVERT + wx.OR_REVERSE + wx.AND_REVERSE + wx.COPY + wx.AND + wx.AND_INVERT + wx.NO_OP + wx.NOR + wx.EQUIV + wx.SRC_INVERT + wx.OR_INVERT + wx.NAND + wx.OR + wx.SET + + wx.FLOOD_SURFACE + wx.FLOOD_BORDER + + wx.MM_TEXT + wx.MM_METRIC + wx.MM_LOMETRIC + wx.MM_TWIPS + wx.MM_POINTS + + + + def test_FontMetrics(self): + fm = wx.FontMetrics() + fm.height + fm.ascent + fm.descent + fm.internalLeading + fm.externalLeading + fm.averageWidth + + +#--------------------------------------------------------------------------- + + +if __name__ == '__main__': + unittest.main() diff --git a/unittests/test_dcbuffer.py b/unittests/test_dcbuffer.py new file mode 100644 index 00000000..cbb872e6 --- /dev/null +++ b/unittests/test_dcbuffer.py @@ -0,0 +1,100 @@ +import imp_unittest, unittest +import wtc +import wx +import sys + +#--------------------------------------------------------------------------- + +class BufferedDCTests(wtc.WidgetTestCase): + + def test_0_CheckKeepReference(self): + # We're using the KeepReference annotation for the dc and bitmap args + # to ensure that they will live as long as the DC does. This test will + # try to verify that it works the way I think it does, that the extra + # reference is made, and also released when the DC goes away. + cdc = wx.ClientDC(self.frame) + bmp = wx.Bitmap(1,1) + cdc_cnt1 = sys.getrefcount(cdc) + bmp_cnt1 = sys.getrefcount(bmp) + + dc = wx.BufferedDC(cdc, bmp) + + cdc_cnt2 = sys.getrefcount(cdc) + bmp_cnt2 = sys.getrefcount(bmp) + + del dc + + cdc_cnt3 = sys.getrefcount(cdc) + bmp_cnt3 = sys.getrefcount(bmp) + + self.assertTrue(cdc_cnt2 == cdc_cnt1 + 1) + self.assertTrue(cdc_cnt3 == cdc_cnt1) + self.assertTrue(bmp_cnt2 == bmp_cnt1 + 1) + self.assertTrue(bmp_cnt3 == bmp_cnt1) + + + + def test_BufferedDCDefaultCtor(self): + dc = wx.BufferedDC() + dc.Init(None, wx.Bitmap(25,25)) + + + def test_BufferedDCCtors(self): + dc = wx.BufferedDC(wx.ClientDC(self.frame), wx.Size(100,100)) + dc = wx.BufferedDC(wx.ClientDC(self.frame)) + dc = wx.BufferedDC(None, wx.Bitmap(100,100)) + + + def test_BufferedPaintDC(self): + class TestPanel(wx.Panel): + def __init__(self, *args, **kw): + wx.Panel.__init__(self, *args, **kw) + self.SetBackgroundStyle(wx.BG_STYLE_PAINT) + self.Bind(wx.EVT_PAINT, self.onPaint) + self.bmp = wx.Bitmap(100,100) + self.onPaintCalled = False + + def onPaint(self, evt): + dc = wx.BufferedPaintDC(self, self.bmp) + dc.DrawLine(0,0, 50,50) + self.onPaintCalled = True + + panel = TestPanel(self.frame) + self.frame.SendSizeEvent() + panel.Refresh() + panel.Update() + wx.Yield() + self.assertTrue(panel.onPaintCalled == True) + + + def test_AutoBufferedPaintDC(self): + class TestPanel(wx.Panel): + def __init__(self, *args, **kw): + wx.Panel.__init__(self, *args, **kw) + self.SetBackgroundStyle(wx.BG_STYLE_PAINT) + self.Bind(wx.EVT_PAINT, self.onPaint) + self.onPaintCalled = False + + def onPaint(self, evt): + dc = wx.AutoBufferedPaintDC(self) + dc.DrawLine(0,0, 50,50) + self.onPaintCalled = True + + panel = TestPanel(self.frame) + self.frame.SendSizeEvent() + panel.Refresh() + panel.Update() + wx.Yield() + self.assertTrue(panel.onPaintCalled == True) + + + def test_BufferedDCConstantsExist(self): + wx.BUFFER_VIRTUAL_AREA + wx.BUFFER_CLIENT_AREA + wx.BUFFER_USES_SHARED_BUFFER + +#--------------------------------------------------------------------------- + + +if __name__ == '__main__': + unittest.main() diff --git a/unittests/test_windowlist.py b/unittests/test_windowlist.py index 6decbc7d..5d448da2 100644 --- a/unittests/test_windowlist.py +++ b/unittests/test_windowlist.py @@ -40,6 +40,11 @@ class WindowList(unittest.TestCase): children = self.frames[4].GetChildren() self.assertTrue(len(children) == 5) + def test_WindowList_repr(self): + TLWs = wx.GetTopLevelWindows() + self.assertTrue(repr(TLWs).startswith("WindowList:")) + + #---------------------------------------------------------------------------