summaryrefslogtreecommitdiffstats
path: root/tests/auto/widgets/kernel/qlayout
diff options
context:
space:
mode:
Diffstat (limited to 'tests/auto/widgets/kernel/qlayout')
-rw-r--r--tests/auto/widgets/kernel/qlayout/CMakeLists.txt28
-rw-r--r--tests/auto/widgets/kernel/qlayout/tst_qlayout.cpp41
2 files changed, 20 insertions, 49 deletions
diff --git a/tests/auto/widgets/kernel/qlayout/CMakeLists.txt b/tests/auto/widgets/kernel/qlayout/CMakeLists.txt
index 049fab0f02..6bda750c0f 100644
--- a/tests/auto/widgets/kernel/qlayout/CMakeLists.txt
+++ b/tests/auto/widgets/kernel/qlayout/CMakeLists.txt
@@ -1,9 +1,16 @@
-# Generated from qlayout.pro.
+# Copyright (C) 2022 The Qt Company Ltd.
+# SPDX-License-Identifier: BSD-3-Clause
#####################################################################
## tst_qlayout Test:
#####################################################################
+if(NOT QT_BUILD_STANDALONE_TESTS AND NOT QT_BUILDING_QT)
+ cmake_minimum_required(VERSION 3.16)
+ project(tst_qlayout LANGUAGES CXX)
+ find_package(Qt6BuildInternals REQUIRED COMPONENTS STANDALONE_TEST)
+endif()
+
# Collect test data
file(GLOB_RECURSE test_data_glob
RELATIVE ${CMAKE_CURRENT_SOURCE_DIR}
@@ -13,27 +20,10 @@ list(APPEND test_data ${test_data_glob})
qt_internal_add_test(tst_qlayout
SOURCES
tst_qlayout.cpp
- PUBLIC_LIBRARIES
+ LIBRARIES
Qt::Gui
Qt::TestPrivate
Qt::Widgets
Qt::WidgetsPrivate
TESTDATA ${test_data}
)
-
-## Scopes:
-#####################################################################
-
-if(ANDROID)
- # Resources:
- set(testdata_resource_files
- "baseline/smartmaxsize"
- )
-
- qt_internal_add_resource(tst_qlayout "testdata"
- PREFIX
- "/"
- FILES
- ${testdata_resource_files}
- )
-endif()
diff --git a/tests/auto/widgets/kernel/qlayout/tst_qlayout.cpp b/tests/auto/widgets/kernel/qlayout/tst_qlayout.cpp
index 5c5869c738..bd170ca8ab 100644
--- a/tests/auto/widgets/kernel/qlayout/tst_qlayout.cpp
+++ b/tests/auto/widgets/kernel/qlayout/tst_qlayout.cpp
@@ -1,30 +1,5 @@
-/****************************************************************************
-**
-** Copyright (C) 2021 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the test suite of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:GPL-EXCEPT$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3 as published by the Free Software
-** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
+// Copyright (C) 2021 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
#include <QTest>
@@ -403,10 +378,10 @@ void tst_QLayout::removeWidget()
{
QHBoxLayout layout;
QCOMPARE(layout.count(), 0);
- QWidget w;
- layout.addWidget(&w);
+ std::unique_ptr<QWidget> w(new QWidget);
+ layout.addWidget(w.get());
QCOMPARE(layout.count(), 1);
- layout.removeWidget(&w);
+ layout.removeWidget(w.get());
QCOMPARE(layout.count(), 0);
QPointer<QLayout> childLayout(new QHBoxLayout);
@@ -420,6 +395,12 @@ void tst_QLayout::removeWidget()
QCOMPARE(layout.count(), 0);
QVERIFY(!childLayout.isNull());
+
+ // Test inactive layout consumes ChildRemoved event (QTBUG-124151)
+ layout.addWidget(w.get());
+ layout.setEnabled(false);
+ w.reset();
+ layout.setEnabled(true);
}
QTEST_MAIN(tst_QLayout)