Warning, /frameworks/kirigami/autotests/tst_navigationtabbar.qml is written in an unsupported language. File is not indexed.
0001 /* 0002 * SPDX-FileCopyrightText: 2023 ivan tkachenko <me@ratijas.tk> 0003 * 0004 * SPDX-License-Identifier: LGPL-2.0-or-later 0005 */ 0006 0007 import QtQuick 0008 import QtQuick.Controls as QQC2 0009 import QtQuick.Templates as T 0010 import QtTest 0011 import org.kde.kirigami as Kirigami 0012 0013 TestCase { 0014 id: root 0015 0016 name: "NavigationTabBarTest" 0017 visible: true 0018 when: windowShown 0019 0020 width: 500 0021 height: 500 0022 0023 Component { 0024 id: emptyComponent 0025 Kirigami.NavigationTabBar {} 0026 } 0027 0028 Component { 0029 id: tActionComponent 0030 T.Action {} 0031 } 0032 0033 Component { 0034 id: kActionComponent 0035 Kirigami.Action {} 0036 } 0037 0038 function test_create() { 0039 failOnWarning(/error|null/i); 0040 { 0041 const tabbar = createTemporaryObject(emptyComponent, this); 0042 verify(tabbar); 0043 } 0044 { 0045 const tAction = createTemporaryObject(tActionComponent, this); 0046 const kAction = createTemporaryObject(kActionComponent, this); 0047 const tabbar = createTemporaryObject(emptyComponent, this); 0048 verify(tabbar); 0049 tabbar.actions = [tAction, kAction]; 0050 compare(tabbar.visibleActions, [tAction, kAction]); 0051 0052 const kInvisibleAction = createTemporaryObject(kActionComponent, this, { 0053 visible: false, 0054 }); 0055 verify(kInvisibleAction); 0056 tabbar.actions.push(kInvisibleAction); 0057 compare(tabbar.visibleActions, [tAction, kAction]); 0058 0059 tabbar.actions.push(null); 0060 compare(tabbar.visibleActions, [tAction, kAction]); 0061 0062 const tAction2 = createTemporaryObject(tActionComponent, this); 0063 tabbar.actions.push(tAction2); 0064 compare(tabbar.visibleActions, [tAction, kAction, tAction2]); 0065 } 0066 } 0067 0068 Component { 0069 id: pageWithHeader 0070 QQC2.Page { 0071 header: Kirigami.NavigationTabBar {} 0072 } 0073 } 0074 0075 Component { 0076 id: pageWithFooter 0077 QQC2.Page { 0078 footer: Kirigami.NavigationTabBar {} 0079 } 0080 } 0081 0082 function test_qqc2_page_position() { 0083 { 0084 const page = createTemporaryObject(pageWithHeader, this); 0085 verify(page); 0086 const bar = page.header; 0087 verify(bar instanceof Kirigami.NavigationTabBar); 0088 compare(bar.position, QQC2.ToolBar.Header); 0089 } 0090 { 0091 const page = createTemporaryObject(pageWithFooter, this); 0092 verify(page); 0093 const bar = page.footer; 0094 verify(bar instanceof Kirigami.NavigationTabBar); 0095 compare(bar.position, QQC2.ToolBar.Footer); 0096 } 0097 } 0098 0099 Component { 0100 id: windowWithHeader 0101 QQC2.ApplicationWindow { 0102 header: Kirigami.NavigationTabBar {} 0103 } 0104 } 0105 0106 Component { 0107 id: windowWithFooter 0108 QQC2.ApplicationWindow { 0109 footer: Kirigami.NavigationTabBar {} 0110 } 0111 } 0112 0113 function test_qqc2_window_position() { 0114 { 0115 const window = createTemporaryObject(windowWithHeader, this); 0116 verify(window); 0117 const bar = window.header; 0118 verify(bar instanceof Kirigami.NavigationTabBar); 0119 compare(bar.position, QQC2.ToolBar.Header); 0120 } 0121 { 0122 const window = createTemporaryObject(windowWithFooter, this); 0123 verify(window); 0124 const bar = window.footer; 0125 verify(bar instanceof Kirigami.NavigationTabBar); 0126 compare(bar.position, QQC2.ToolBar.Footer); 0127 } 0128 } 0129 }