| 217 | Q_DECLARE_METATYPE(FindReplaceAction); |
| 218 | |
| 219 | void TestIDE::testFindReplace() { |
| 220 | QFETCH(QString, initial); |
| 221 | QFETCH(bool, regex); |
| 222 | QFETCH(bool, ignore_case); |
| 223 | QFETCH(bool, wrap_around); |
| 224 | QFETCH(QString, find); |
| 225 | QFETCH(QString, replace); |
| 226 | QFETCH(QVector<FindReplaceAction>, actions); |
| 227 | QFETCH(QString, expected); |
| 228 | |
| 229 | TestMocker mock; |
| 230 | MainWindow* w = mock.mw(); |
| 231 | CodeEditor* e = w->curEditor; |
| 232 | QTextDocument* doc = e->document(); |
| 233 | doc->setPlainText(initial); |
| 234 | w->curEditor->moveCursor(QTextCursor::Start); |
| 235 | w->ui->find->setText(find); |
| 236 | w->ui->replace->setText(replace); |
| 237 | w->ui->check_re->setChecked(regex); |
| 238 | w->ui->check_case->setChecked(ignore_case); |
| 239 | w->ui->check_wrap->setChecked(wrap_around); |
| 240 | |
| 241 | QWidget* buttons[] = { |
| 242 | w->ui->b_next, |
| 243 | w->ui->b_prev, |
| 244 | w->ui->b_replace, |
| 245 | w->ui->b_replacefind, |
| 246 | w->ui->b_replaceall |
| 247 | }; |
| 248 | |
| 249 | for (int i = 0; i < actions.size(); ++i) { |
| 250 | QTest::mouseClick(buttons[actions.at(i)], Qt::LeftButton); |
| 251 | } |
| 252 | |
| 253 | QCOMPARE(doc->toPlainText(), expected); |
| 254 | doc->setModified(false); |
| 255 | } |
| 256 | |
| 257 | void TestIDE::testFindReplace_data() { |
| 258 | QString initial = "Foo\n" |
nothing calls this directly
no test coverage detected