+ QCOMPARE(currentItemUrl(), QUrl(QDir::cleanPath(testDir->url().toString() + "/b/b-1"))); // The first item in the view should have keyboard focus.
+
+ // Press the 'Down' key in the child folder.
+ QTest::keyClick(m_mainWindow->activeViewContainer()->view()->m_container, Qt::Key::Key_Down, Qt::NoModifier);
+ // The second item in the view should have keyboard focus and be selected.
+ const QUrl secondItemInChildFolderUrl{QDir::cleanPath(testDir->url().toString() + "/b/b-2")};
+ QCOMPARE(currentItemUrl(), secondItemInChildFolderUrl);
+ QCOMPARE(m_mainWindow->m_activeViewContainer->view()->selectedItems().count(), 1);
+ QCOMPARE(m_mainWindow->m_activeViewContainer->view()->selectedItems().constFirst().url(), secondItemInChildFolderUrl);
+
+ // Go back to the parent folder and then re-enter the child folder.
+ m_mainWindow->actionCollection()->action(KStandardAction::name(KStandardAction::Back))->trigger();
+ QVERIFY(spyDirectoryLoadingCompleted.wait());
+ m_mainWindow->actionCollection()->action(KStandardAction::name(KStandardAction::Forward))->trigger();
+ QVERIFY(spyDirectoryLoadingCompleted.wait());
+ QCOMPARE(m_mainWindow->activeViewContainer()->url(), childDirUrl);
+ // The state of the view should be identical to how it was before we triggered "Back" and then "Forward".
+ QTRY_COMPARE(currentItemUrl(), secondItemInChildFolderUrl);
+ QCOMPARE(m_mainWindow->m_activeViewContainer->view()->selectedItems().count(), 1);
+ QCOMPARE(m_mainWindow->m_activeViewContainer->view()->selectedItems().constFirst().url(), secondItemInChildFolderUrl);