def testClearAll(self): """ clear all the code """ expected_code_full = \ "from pywinauto.application import Application\n\n" \ "app = Application().Start(cmd_line=u'{app_path}')\n" \ "window = app.Dialog\n" \ "window.Wait('ready')\n" \ "systabcontrol = window.TabControl\n" \ "systabcontrol.Select(u'CTreeCtrl')\n\n" \ "app.Kill_()" path = (u'Common Controls Sample', u'CTreeCtrl, CAnimateCtrl, CToolBarCtrl, CDateTimeCtrl, ' u'CMonthCalCtrl', u'CTreeCtrl', ) with test_app("CmnCtrl1.exe") as (app, app_path): proxy_obj = self.get_proxy_object(path) code_full = proxy_obj.Get_code('Select') cm = code_manager.CodeManager() cm.clear() code_cleared = cm.get_full_code() expected_code_full = expected_code_full.format(app_path=app_path) self.assertEquals(expected_code_full, code_full) self.assertEquals("", code_cleared)
def tearDown(self): """ All app's tearDown moved into the test_app contextmanager. """ code_manager.CodeManager().clear() # Clear single tone CodeManager reload(code_manager) # Reset class's counters reload(proxy) # Reset class's counters del self.pwa_root
def EditorContextMenu(self, event): cm = code_manager.CodeManager() menu = wx.Menu() for _id, option_name in sorted(const.EDITOR_ACTIONS.items()): if option_name: menu.Append(_id, option_name) if not cm: # empty code menu.Enable(_id, False) else: menu.AppendSeparator() if not self.textCtrl_Editor.GetStringSelection(): # empty selection menu.Enable(404, False) # 404: 'Copy' self.PopupMenu(menu) menu.Destroy()
def testReleaseVariable(self): """ variable released while the clear and used again by other object """ expected_code_button1 = \ "from pywinauto.application import Application\n\n" \ "app = Application().Start(cmd_line=u'{app_path}')\n" \ "window = app.Dialog\n" \ "window.Wait('ready')\n" \ "button = window.CheckBox8\n" \ "button.Click()\n\n" \ "app.Kill_()" expected_code_button2 = \ "from pywinauto.application import Application\n\n" \ "app = Application().Start(cmd_line=u'{app_path}')\n" \ "window = app.Dialog\n" \ "window.Wait('ready')\n" \ "button = window.CheckBox5\n" \ "button.Click()\n\n" \ "app.Kill_()" path_button1 = (u'Common Controls Sample', u'TVS_CHECKBOXES', ) path_button2 = (u'Common Controls Sample', u'TVS_DISABLEDRAGDROP', ) with test_app("CmnCtrl1.exe") as (app, app_path): proxy_obj_button1 = self.get_proxy_object(path_button1) code_button1 = proxy_obj_button1.Get_code('Click') cm = code_manager.CodeManager() cm.clear_last() proxy_obj_button2 = self.get_proxy_object(path_button2) code_button2 = proxy_obj_button2.Get_code('Click') expected_code_button1 = expected_code_button1.format(app_path=app_path) self.assertEquals(expected_code_button1, code_button1) expected_code_button2 = expected_code_button2.format(app_path=app_path) self.assertEquals(expected_code_button2, code_button2)
def editor_action(self, menu_id): cm = code_manager.CodeManager() if 'Clear last command' == const.EDITOR_ACTIONS[menu_id]: cm.clear_last() self.textCtrl_Editor.SetValue(cm.get_full_code()) elif 'Clear the code' == const.EDITOR_ACTIONS[menu_id]: def confirm_clearing(): yes_no_dlg = wx.MessageDialog( self.textCtrl_Editor, "Are you sure you want to clear all of " "the code?", "Clear all?", wx.YES_NO | wx.ICON_QUESTION) result = yes_no_dlg.ShowModal() == wx.ID_YES yes_no_dlg.Destroy() return result if confirm_clearing(): self.textCtrl_Editor.SetValue("") cm.clear() elif 'Copy' == const.EDITOR_ACTIONS[menu_id]: self.textCtrl_Editor.Copy() elif 'Select all' == const.EDITOR_ACTIONS[menu_id]: self.textCtrl_Editor.SetFocus() self.textCtrl_Editor.SelectAll() elif 'Save code to file' == const.EDITOR_ACTIONS[menu_id]: import os dlg = wx.FileDialog(self, "Choose a file", '', '', "*.py", wx.SAVE | wx.OVERWRITE_PROMPT) if dlg.ShowModal() == wx.ID_OK: with open(os.path.join(dlg.GetDirectory(), dlg.GetFilename()), 'w') as out_file: out_file.write("# automatically generated by SWAPY\n") out_file.write(self.textCtrl_Editor.GetValue()) dlg.Destroy() else: raise RuntimeError("Unknown menu_id=%s for editor " "menu" % menu_id)