| 538 | } |
| 539 | |
| 540 | void EditorTest::undoWithSubtreeExpanded() |
| 541 | { |
| 542 | QString file_xml = readFile(":/crossdoor_with_subtree.xml"); |
| 543 | main_win->on_actionClear_triggered(); |
| 544 | main_win->loadFromXML( file_xml ); |
| 545 | |
| 546 | auto abs_tree = getAbstractTree("MainTree"); |
| 547 | auto subtree_node = abs_tree.findFirstNode("DoorClosed")->graphic_node; |
| 548 | auto window_node = abs_tree.findFirstNode("PassThroughWindow")->graphic_node; |
| 549 | |
| 550 | auto subtree_model = dynamic_cast<SubtreeNodeModel*>( subtree_node->nodeDataModel() ); |
| 551 | QTest::mouseClick( subtree_model->expandButton(), Qt::LeftButton ); |
| 552 | |
| 553 | sleepAndRefresh( 500 ); |
| 554 | |
| 555 | auto scene = main_win->getTabByName("MainTree")->scene(); |
| 556 | int node_count_A = scene->nodes().size(); |
| 557 | scene->removeNode(*window_node); |
| 558 | |
| 559 | sleepAndRefresh( 500 ); |
| 560 | |
| 561 | abs_tree = getAbstractTree("MainTree"); |
| 562 | int node_count_B = scene->nodes().size(); |
| 563 | QCOMPARE( node_count_A -1 , node_count_B ); |
| 564 | |
| 565 | main_win->onUndoInvoked(); |
| 566 | scene = main_win->getTabByName("MainTree")->scene(); |
| 567 | int node_count_C = scene->nodes().size(); |
| 568 | QCOMPARE( node_count_A , node_count_C ); |
| 569 | |
| 570 | sleepAndRefresh( 500 ); |
| 571 | } |
| 572 | |
| 573 | QTEST_MAIN(EditorTest) |
| 574 |
nothing calls this directly
no test coverage detected