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