forked from qt-creator/qt-creator
The examples and tutorials part of the welcome page got a new approach which is either having a sectioned grid view or a non-sectioned grid view (while searching). That means we have now a model holding the items of several other (sub)models and a filter model taking care of what is shown while searching. While searching we need to check the filter model, while for not-search the original list view could be used as we did before this patch. But as there are no access or verification of the whole list this done is just replacing the old approach. Change-Id: I1777340f8c6ea88af3bfc20a600ee1c174a18807 Reviewed-by: Christian Stenger <christian.stenger@qt.io> Reviewed-by: David Schulz <david.schulz@qt.io>
63 lines
2.9 KiB
Python
63 lines
2.9 KiB
Python
# Copyright (C) 2016 The Qt Company Ltd.
|
|
# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0
|
|
|
|
source("../../shared/qtcreator.py")
|
|
|
|
|
|
def __waitForListView__():
|
|
listView = waitForObject("{container=':Qt Creator.WelcomeScreenStackedWidget' "
|
|
"type='QListView' name='AllItemsView' visible='1'}")
|
|
return listView
|
|
|
|
|
|
def main():
|
|
# open Qt Creator
|
|
startQC()
|
|
if not startedWithoutPluginError():
|
|
return
|
|
wsButtonFrame, wsButtonLabel = getWelcomeScreenSideBarButton('Get Started')
|
|
if not test.verify(all((wsButtonFrame, wsButtonLabel)),
|
|
"Verifying: Qt Creator displays Welcome Page with Getting Started."):
|
|
test.fatal("Something's wrong - leaving test.")
|
|
invokeMenuItem("File", "Exit")
|
|
return
|
|
# select "Tutorials"
|
|
if not switchToSubMode('Tutorials'):
|
|
test.fatal("Could not find Tutorials button - leaving test")
|
|
invokeMenuItem("File", "Exit")
|
|
return
|
|
searchTutorials = waitForObject("{type='QLineEdit' placeholderText='Search in Tutorials...'}")
|
|
mouseClick(searchTutorials)
|
|
replaceEditorContent(searchTutorials, "qwerty")
|
|
listView = __waitForListView__()
|
|
waitFor('findExampleOrTutorial(listView, ".*") is None', 3000)
|
|
tutorial = findExampleOrTutorial(listView, ".*", True)
|
|
test.verify(tutorial is None,
|
|
"Verifying: 'Tutorials' topic is opened and nothing is shown.")
|
|
bnr = "Building and Running an Example"
|
|
replaceEditorContent(searchTutorials, bnr.lower())
|
|
listView = __waitForListView__()
|
|
waitFor('findExampleOrTutorial(listView, "%s.*") is not None' % bnr, 3000)
|
|
tutorial = findExampleOrTutorial(listView, "%s.*" % bnr, True)
|
|
test.verify(tutorial is not None, "Verifying: Expected Text tutorial is shown.")
|
|
# clicking before documentation was updated will open the tutorial in browser
|
|
progressBarWait(warn=False)
|
|
# select a text tutorial
|
|
mouseClick(waitForObjectItem(listView, str(tutorial.text)))
|
|
test.verify("Building and Running an Example" in
|
|
str(waitForObject(":Help Widget_Help::Internal::HelpWidget").windowTitle),
|
|
"Verifying: The tutorial is opened inside Help.")
|
|
# close help widget again to avoid focus issues
|
|
sendEvent("QCloseEvent", waitForObject(":Help Widget_Help::Internal::HelpWidget"))
|
|
# check a demonstration video link
|
|
mouseClick(searchTutorials)
|
|
replaceEditorContent(searchTutorials, "embedded device")
|
|
embeddedTutorial = "How to install and set up Qt for Device Creation.*"
|
|
listView = __waitForListView__()
|
|
waitFor('findExampleOrTutorial(listView, embeddedTutorial) is not None', 3000)
|
|
tutorial = findExampleOrTutorial(listView, embeddedTutorial, True)
|
|
test.verify(tutorial is not None,
|
|
"Verifying: Link to the expected demonstration video exists.")
|
|
# exit Qt Creator
|
|
invokeMenuItem("File", "Exit")
|