| 185 | equal(text.get('1.0', '1.4'), 'that') |
| 186 | |
| 187 | def test_replace_regex(self): |
| 188 | equal = self.assertEqual |
| 189 | text = self.text |
| 190 | pv = self.engine.patvar |
| 191 | rv = self.dialog.replvar |
| 192 | replace = self.dialog.replace_it |
| 193 | self.engine.revar.set(True) |
| 194 | |
| 195 | before_text = text.get('1.0', 'end') |
| 196 | pv.set(r'[a-z][\d]+') |
| 197 | rv.set('hello') |
| 198 | replace() |
| 199 | after_text = text.get('1.0', 'end') |
| 200 | equal(before_text, after_text) |
| 201 | |
| 202 | text.insert('insert', '\nline42') |
| 203 | replace() |
| 204 | equal(text.get('2.0', '2.8'), 'linhello') |
| 205 | |
| 206 | pv.set('') |
| 207 | replace() |
| 208 | self.assertIn('error', showerror.title) |
| 209 | self.assertIn('Empty', showerror.message) |
| 210 | |
| 211 | pv.set(r'[\d') |
| 212 | replace() |
| 213 | self.assertIn('error', showerror.title) |
| 214 | self.assertIn('Pattern', showerror.message) |
| 215 | |
| 216 | showerror.title = '' |
| 217 | showerror.message = '' |
| 218 | pv.set('[a]') |
| 219 | rv.set('test\\') |
| 220 | replace() |
| 221 | self.assertIn('error', showerror.title) |
| 222 | self.assertIn('Invalid Replace Expression', showerror.message) |
| 223 | |
| 224 | # test access method |
| 225 | self.engine.setcookedpat("?") |
| 226 | equal(pv.get(), "\\?") |
| 227 | |
| 228 | def test_replace_backwards(self): |
| 229 | equal = self.assertEqual |