Warning, /frameworks/kirigami/autotests/tst_routerwindow.qml is written in an unsupported language. File is not indexed.
0001 import QtQuick 2.12 0002 import QtQuick.Controls 2.12 as QQC2 0003 import org.kde.kirigami 2.12 as Kirigami 0004 import QtTest 1.0 0005 0006 TestCase { 0007 name: "RouterWindowTests" 0008 property alias router: root.router 0009 when: windowShown 0010 0011 function test_a_init() { 0012 compare(router.currentRoutes().length, 1) 0013 } 0014 function test_b_navigate() { 0015 router.navigateToRoute(["home", "login"]) 0016 compare(router.currentRoutes().length, 2) 0017 } 0018 function test_c_data() { 0019 router.navigateToRoute(["home", {"route": "login", "data": "red"}]) 0020 compare(router.routeActive(["home", {"route": "login", "data": "red"}]), true) 0021 compare(router.routeActive(["home", {"route": "login", "data": "blue"}]), false) 0022 } 0023 function test_d_cache_works() { 0024 router.navigateToRoute(["home", {"route": "login", "data": "red"}, {"route": "login", "data": "blue"}]) 0025 compare(router.currentRoutes().length, 3) 0026 } 0027 function test_e_push() { 0028 router.pushRoute("home") 0029 compare(router.currentRoutes().length, 4) 0030 } 0031 function test_f_pop() { 0032 router.popRoute() 0033 compare(router.currentRoutes().length, 3) 0034 } 0035 function test_g_bring_to_view() { 0036 router.bringToView("home") 0037 compare(root.pageStack.currentIndex, 0) 0038 router.bringToView({"route": "login", "data": "red"}) 0039 compare(root.pageStack.currentIndex, 1) 0040 router.bringToView({"route": "login", "data": "blue"}) 0041 compare(root.pageStack.currentIndex, 2) 0042 } 0043 function test_h_routeactive() { 0044 compare(router.routeActive(["home"]), true) 0045 compare(router.routeActive(["home", "login"]), true) 0046 compare(router.routeActive(["home", {"route": "login", "data": "red"}]), true) 0047 compare(router.routeActive(["home", {"route": "login", "data": "blue"}]), false) 0048 } 0049 function test_i_initial_route() { 0050 router.initialRoute = "login" 0051 compare(router.routeActive(["login"]), false) 0052 compare(router.currentRoutes().length, 3) 0053 } 0054 function test_j_navigation_two() { 0055 router.navigateToRoute(["home", {"route": "login", "data": "red"}, {"route": "login", "data": "blue"}]) 0056 compare(router.currentRoutes().length, 3) 0057 router.navigateToRoute(["home"]) 0058 compare(router.currentRoutes().length, 1) 0059 compare(router.pageStack.count, 1) 0060 } 0061 0062 Kirigami.RouterWindow { 0063 id: root 0064 initialRoute: "home" 0065 Kirigami.PageRoute { 0066 name: "home" 0067 cache: false 0068 Component { 0069 Kirigami.Page { 0070 Column { 0071 Kirigami.Heading { 0072 text: "Welcome" 0073 } 0074 QQC2.Button { 0075 text: "Red Login" 0076 onClicked: Kirigami.PageRouter.navigateToRoute(["home", {"route": "login", "data": "red"}]) 0077 } 0078 QQC2.Button { 0079 text: "Blue Login" 0080 onClicked: Kirigami.PageRouter.navigateToRoute(["home", {"route": "login", "data": "blue"}]) 0081 } 0082 } 0083 } 0084 } 0085 } 0086 Kirigami.PageRoute { 0087 name: "login" 0088 cache: true 0089 Component { 0090 Kirigami.Page { 0091 Column { 0092 Kirigami.Heading { 0093 text: "Login" 0094 } 0095 Rectangle { 0096 height: 50 0097 width: 50 0098 color: Kirigami.PageRouter.data 0099 } 0100 QQC2.Button { 0101 text: "Back to Home" 0102 onClicked: Kirigami.PageRouter.navigateToRoute("home") 0103 } 0104 } 0105 } 0106 } 0107 } 0108 } 0109 }