| 2264 | } |
| 2265 | |
| 2266 | void SpreadsheetTest::testSearchReplaceAll() { |
| 2267 | #ifdef __FreeBSD__ |
| 2268 | // ASSERT failure in QBoxLayout::insert: "index out of range" |
| 2269 | return; |
| 2270 | #endif |
| 2271 | Project project; |
| 2272 | auto* sheet = createSearchReplaceSpreadsheet(); |
| 2273 | project.addChild(sheet); |
| 2274 | |
| 2275 | // initialize the search&replace widget |
| 2276 | auto* searchReplaceWidget = new SearchReplaceWidget(sheet, nullptr); |
| 2277 | searchReplaceWidget->setReplaceEnabled(true); |
| 2278 | searchReplaceWidget->setDataType(SearchReplaceWidget::DataType::Text); |
| 2279 | searchReplaceWidget->setOrder(SearchReplaceWidget::Order::ColumnMajor); |
| 2280 | searchReplaceWidget->setTextOperator(SearchReplaceWidget::OperatorText::RegEx); |
| 2281 | |
| 2282 | // search for "A" or "C" and replace with "test" |
| 2283 | searchReplaceWidget->setInitialPattern(AbstractColumn::ColumnMode::Text, QLatin1String("[A.C]")); |
| 2284 | searchReplaceWidget->setReplaceText(QLatin1String("test")); |
| 2285 | searchReplaceWidget->replaceAll(); |
| 2286 | |
| 2287 | // checks |
| 2288 | const auto& columns = sheet->children<Column>(); |
| 2289 | QCOMPARE(columns.at(0)->textAt(0), QLatin1String("test")); |
| 2290 | QCOMPARE(columns.at(0)->textAt(2), QLatin1String("test")); |
| 2291 | QCOMPARE(columns.at(2)->textAt(1), QLatin1String("test")); |
| 2292 | QCOMPARE(columns.at(2)->textAt(2), QLatin1String("test")); |
| 2293 | } |
| 2294 | |
| 2295 | // ********************************************************** |
| 2296 | // ********************** size changes ********************* |
nothing calls this directly
no test coverage detected