@@ -127,7 +127,8 @@ def Destroy(self):
127127
128128
129129class _Button (_Window ):
130- def __init__ (self , parent = None , label = "" , ** _kw ):
130+ def __init__ (self , parent = None , id = None , label = "" , ** _kw ):
131+ self ._id = id
131132 self ._label = label
132133 self ._name = ""
133134
@@ -137,6 +138,9 @@ def SetLabel(self, v):
137138 def SetName (self , v ):
138139 self ._name = v
139140
141+ def GetId (self ):
142+ return self ._id
143+
140144
141145class _Choice (_Window ):
142146 def __init__ (self , * a , choices = None , ** kw ):
@@ -352,6 +356,19 @@ def test_init_creates_show_password_btn(self, dialog_module):
352356 assert dlg .show_password_btn ._name == "Show password"
353357 assert hasattr (dlg , "password_text" )
354358
359+ def test_init_creates_close_button_with_cancel_id (self , dialog_module ):
360+ from portkeydrop .sites import SiteManager
361+
362+ mod , fake_wx = dialog_module
363+ site_manager = MagicMock (spec = SiteManager )
364+ site_manager .sites = []
365+
366+ dlg = mod .SiteManagerDialog (None , site_manager )
367+
368+ assert hasattr (dlg , "close_btn" )
369+ assert dlg .close_btn ._label == "&Close"
370+ assert dlg .close_btn .GetId () == fake_wx .ID_CANCEL
371+
355372
356373class TestEscapeKeyHandler :
357374 """Issue #34: SiteManagerDialog should close on Escape."""
0 commit comments