MCPcopy Create free account
hub / github.com/KDE/labplot / testInsertColumnsSuppressUpdate

Method testInsertColumnsSuppressUpdate

tests/spreadsheet/SpreadsheetTest.cpp:2631–2683  ·  view source on GitHub ↗

! * \brief testInsertColumnsSuppressUpdate * It shall not crash * Testing if in the model begin and end are used properly */

Source from the content-addressed store, hash-verified

2629 * Testing if in the model begin and end are used properly
2630 */
2631void SpreadsheetTest::testInsertColumnsSuppressUpdate() {
2632 Project project;
2633 auto* sheet = new Spreadsheet(QStringLiteral("test"), false);
2634 project.addChild(sheet);
2635
2636 auto* model = new SpreadsheetModel(sheet);
2637
2638 int columnsAboutToBeInsertedCounter = 0;
2639 connect(model, &SpreadsheetModel::columnsAboutToBeInserted, [&columnsAboutToBeInsertedCounter]() {
2640 columnsAboutToBeInsertedCounter++;
2641 });
2642 int columnsInsertedCounter = 0;
2643 connect(model, &SpreadsheetModel::columnsInserted, [&columnsInsertedCounter]() {
2644 columnsInsertedCounter++;
2645 });
2646 int columnsAboutToBeRemovedCounter = 0;
2647 connect(model, &SpreadsheetModel::columnsAboutToBeRemoved, [&columnsAboutToBeRemovedCounter]() {
2648 columnsAboutToBeRemovedCounter++;
2649 });
2650 int columnsRemovedCounter = 0;
2651 connect(model, &SpreadsheetModel::columnsRemoved, [&columnsRemovedCounter]() {
2652 columnsRemovedCounter++;
2653 });
2654
2655 int modelResetCounter = 0;
2656 connect(model, &SpreadsheetModel::modelReset, [&modelResetCounter]() {
2657 modelResetCounter++;
2658 });
2659 int modelAboutToResetCounter = 0;
2660 connect(model, &SpreadsheetModel::modelAboutToBeReset, [&modelAboutToResetCounter]() {
2661 modelAboutToResetCounter++;
2662 });
2663
2664 model->suppressSignals(true);
2665
2666 QCOMPARE(sheet->columnCount(), 2);
2667 sheet->setColumnCount(5); // No crash shall happen
2668 QCOMPARE(sheet->columnCount(), 5);
2669
2670 sheet->undoStack()->undo();
2671 QCOMPARE(sheet->columnCount(), 2);
2672 sheet->undoStack()->redo();
2673 QCOMPARE(sheet->columnCount(), 5);
2674
2675 model->suppressSignals(false);
2676
2677 QCOMPARE(columnsAboutToBeInsertedCounter, 0);
2678 QCOMPARE(columnsInsertedCounter, 0);
2679 QCOMPARE(columnsRemovedCounter, 0);
2680 QCOMPARE(columnsAboutToBeRemovedCounter, 0);
2681 QCOMPARE(modelResetCounter, 1);
2682 QCOMPARE(modelAboutToResetCounter, 1);
2683}
2684
2685void SpreadsheetTest::testLinkSpreadsheetsUndoRedo() {
2686#ifdef __FreeBSD__

Callers

nothing calls this directly

Calls 7

suppressSignalsMethod · 0.80
addChildMethod · 0.45
columnCountMethod · 0.45
setColumnCountMethod · 0.45
undoMethod · 0.45
undoStackMethod · 0.45
redoMethod · 0.45

Tested by

no test coverage detected