def test2_nonLIFT(self): """Verify that toolbox and paxml files are read correctly. Make sure that non-lift files do not show the WS dialog. """ Test2Data = collections.namedtuple( 'Test2Data', ['filename', 'refNum', 'phm', 'pht', 'ge']) dataSets = [ Test2Data("TbxPhonCorpus.xml", "JPDN37.6", u"a\u0256upa", u"a\u0256\u0268pa", "kitchen.stove"), Test2Data("TbxPhonCorpus.xml", "JPDN37.4", u"pane", u"pæne", "vessel.to.store.rice"), Test2Data("PAdata.paxml", "JPDN23.1", u"mat\u0283t\u0283æ", u"m\u0259t\u0283\u025b", "unmarried cousin"), Test2Data("PAdata.paxml", "JPDN58.02", u"bod\u032ae", u"boðe", "bush") ] for data in dataSets: useDialog = self._test2_make_useDialog(data) DlgPhonSettings.useDialog = useDialog DlgGrabExamples.useDialog = useDialog_insertEx(data.refNum) self.runDlgSettings(False) wsCode = self.dlgSettings.dlgCtrls.txtWritingSys.getText() self.assertEqual(wsCode, "") testutil.do_dispose(self.dlgSettings) self.runDlgGrabEx(True) self.verifyString(1, data.phm) self.verifyString(2, data.pht) self.verifyString(3, data.ge)
def runDlg(self, useDialog): DlgDataConversion.useDialog = useDialog try: self.dlg.showDlg() except testutil.MsgSentException: pass testutil.do_dispose(self.dlg)
def runDlg(self, useDialog): DlgApplyConverter.useDialog = useDialog self.dlg = DlgApplyConverter(self.calcUnoObjs) try: self.dlg.showDlg() except testutil.MsgSentException: pass testutil.do_dispose(self.dlg)
def _test5_check_comparisondoc(self, dataSets): compDoc = self.dlgGrabEx.app.operations.exUpdater.compDoc self.assertIsNotNone(compDoc) self.assertIsNotNone(compDoc.writerDoc) self.assertIsNotNone(compDoc.writerDoc.document) numTables = compDoc.writerDoc.document.getTextTables().getCount() multiLineExs = 1 # number of examples that have another line self.assertEqual(numTables, 3 * len(dataSets) + multiLineExs) compDoc.writerDoc.document.close(True) testutil.do_dispose(self.dlgGrabEx) self.dlgGrabEx = None
def runDlg(self, useDialog, dispose=True): DlgSpellingAdjustments.useDialog = useDialog if self.dlg: testutil.do_dispose(self.dlg) self.dlg = DlgSpellingAdjustments(self.calcUnoObjs) try: self.dlg.showDlg() except testutil.MsgSentException: pass if dispose: testutil.do_dispose(self.dlg) self.dlg = None
def _test1_lexPhonetic(self): """Lexeme Phonetic, Citation Phonemic""" def useDialog(innerSelf): filepath = os.path.join(util.TESTDATA_FOLDER, "FWlexicon.lift") innerSelf.dlgCtrls.fileControl.setText(filepath) innerSelf.evtHandler.actionPerformed( MyActionEvent("SelectWritingSys")) innerSelf.dlgCtrls.optionLexemePht.setState(1) innerSelf.evtHandler.actionPerformed(MyActionEvent("OK")) DlgPhonSettings.useDialog = useDialog DlgGrabExamples.useDialog = useDialog_insertEx("JPDN21.4") Test1BData = collections.namedtuple( 'Test1BData', ['wsDisplay', 'wsIndex', 'wsCode', 'pht', 'phm']) dataSets = [ Test1BData( # IPA "Irula (Phonetic) (iru-x-X_ETIC)", 2, "iru-x-X_ETIC", u"amman", u"ammanCitForm"), Test1BData( # Tamil script "Vette Kada Irula (iru)", 3, "iru", u"\u0b85\u0bae\u0bcd\u0bae\u0bc6", # Tamil /amme/ u"\u0b85\u0bae\u0bcd\u0bae\u0bc7"), # Tamil /ammee/ Test1BData( "(none)", 0, "", u"\u0b85\u0bae\u0bcd\u0bae\u0bc6", # Tamil /amme/ u"\u0b85\u0bae\u0bcd\u0bae\u0bc7") ] # Tamil /ammee/ for data in dataSets: DlgWritingSystem.useDialog = useDialog_writingSys( self, data.wsDisplay, data.wsIndex) self.runDlgSettings(False) self.assertEqual(self.dlgSettings.dlgCtrls.txtWritingSys.getText(), data.wsCode) testutil.do_dispose(self.dlgSettings) self.runDlgGrabEx(True) self.verifyString(1, data.phm) self.verifyString(2, data.pht) self.verifyString(3, "father") self.verifyString(4, "JPDN21.4")
def runDlg(self, useDialog=None, dispose=False, fileItem=None): if useDialog: DlgWordListFile.useDialog = useDialog else: def useDialog_empty(dummy_innerSelf): pass DlgWordListFile.useDialog = useDialog_empty if not fileItem: fileItem = WordListFileItem(None) if self.dlg: testutil.do_dispose(self.dlg) self.dlg = DlgWordListFile(fileItem, self.unoObjs, None) try: self.dlg.showDlg() except testutil.MsgSentException: pass if dispose: testutil.do_dispose(self.dlg) self.dlg = None
def runDlg(self, dispose): self.dlg = DlgBulkConversion(self.unoObjs) self.dlg.showDlg() if dispose: testutil.do_dispose(self.dlg) self.dlg = None
def runDlgGrabEx(self, dispose): self.dlgGrabEx = DlgGrabExamples(EXTYPE_INTERLINEAR, self.unoObjs) self.dlgGrabEx.showDlg() if dispose: testutil.do_dispose(self.dlgGrabEx) self.dlgGrabEx = None
def runDlgSettings(self, dispose): self.dlgSettings = DlgInterlinSettings(self.unoObjs) self.dlgSettings.showDlg() if dispose: testutil.do_dispose(self.dlgSettings) self.dlgSettings = None
def tearDown(self): if self.dlg: if hasattr(self.dlg, "dlgDispose"): testutil.do_dispose(self.dlg)
def test6_results(self): """Set the form contents and dlg.fileItem. Verify resulting dlg.fileItem and dlg.ok. """ initial_param = WordListFileItem(None) initial_param.filepath = r"C:\a\b\c.lift" initial_param.filetype = 'lift' initial_param.writingSystem = "iru" whatToGrab = WhatToGrab(None) whatToGrab.grabType = WhatToGrab.FIELD whatToGrab.whichOne = "phm" initial_param.thingsToGrab.append(whatToGrab) initial_param.splitByWhitespace = False stuff_to_add = WordListFileItem(None) stuff_to_add.filepath = r"/home/user1/a/b/c.LIFT" stuff_to_add.filetype = 'lift' stuff_to_add.writingSystem = "iru-x-X_ETIC" whatToGrab = WhatToGrab(None) whatToGrab.grabType = WhatToGrab.FIELD whatToGrab.whichOne = "pht" stuff_to_add.thingsToGrab.append(whatToGrab) stuff_to_add.splitByWhitespace = False Test6Data = collections.namedtuple('Test6Data', ['action', 'param_filled', 'do_ok']) dataSets = [ Test6Data(action, param_filled, do_ok) for action in ('no change', 'add', 'remove') for param_filled in (False, True) for do_ok in (True, False) ] for data in dataSets: if data.param_filled: fileItem_in = initial_param.getDeepCopy() else: fileItem_in = WordListFileItem(None) fileItem_in_out = fileItem_in.getDeepCopy() useDialog = self._test6_make_useDialog(data, fileItem_in, stuff_to_add) try: self.runDlg(useDialog, fileItem=fileItem_in_out) self.assertEqual(self.dlg.getResult(), data.do_ok, msg=repr(data)) if data.action == 'no change' or not data.do_ok: assert_fileitems_equal(fileItem_in_out, fileItem_in, self, msg=repr(data)) elif data.action == 'add': verifyItem = stuff_to_add.getDeepCopy() if data.param_filled: verifyItem.thingsToGrab = list( initial_param.thingsToGrab) verifyItem.thingsToGrab.extend( stuff_to_add.thingsToGrab) assert_fileitems_equal(fileItem_in_out, verifyItem, self, msg=repr(data)) assert_fileitems_notequal(fileItem_in_out, fileItem_in, self, msg=repr(data)) elif data.action == 'remove': verifyItem = fileItem_in.getDeepCopy() del verifyItem.thingsToGrab[:] assert_fileitems_equal(fileItem_in_out, verifyItem, self, msg=repr(data)) finally: testutil.do_dispose(self.dlg) self.dlg = None
def runDlg(self, useDialog): DlgAbbreviations.useDialog = useDialog self.dlg.showDlg() testutil.do_dispose(self.dlg)
def runDlgGrabEx(self, dispose): self.dlgGrabEx = DlgGrabExamples("grammar", self.unoObjs) self.dlgGrabEx.showDlg() if dispose: testutil.do_dispose(self.dlgGrabEx) self.dlgGrabEx = None