test.py 2.84 KB
Newer Older
1 2
#############################################################################
##
Eike Ziller's avatar
Eike Ziller committed
3 4
## Copyright (C) 2015 The Qt Company Ltd.
## Contact: http://www.qt.io/licensing
5 6 7 8 9 10 11
##
## This file is part of Qt Creator.
##
## 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
Eike Ziller's avatar
Eike Ziller committed
12 13
## a written agreement between you and The Qt Company.  For licensing terms and
## conditions see http://www.qt.io/terms-conditions.  For further information
Eike Ziller's avatar
Eike Ziller committed
14
## use the contact form at http://www.qt.io/contact-us.
15 16 17
##
## GNU Lesser General Public License Usage
## Alternatively, this file may be used under the terms of the GNU Lesser
Eike Ziller's avatar
Eike Ziller committed
18 19 20 21 22
## General Public License version 2.1 or version 3 as published by the Free
## Software Foundation and appearing in the file LICENSE.LGPLv21 and
## LICENSE.LGPLv3 included in the packaging of this file.  Please review the
## following information to ensure the GNU Lesser General Public License
## requirements will be met: https://www.gnu.org/licenses/lgpl.html and
23
## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
24
##
Eike Ziller's avatar
Eike Ziller committed
25 26
## In addition, as a special exception, The Qt Company gives you certain additional
## rights.  These rights are described in The Qt Company LGPL Exception
27 28 29 30
## version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
##
#############################################################################

31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46
source("../../shared/qtcreator.py")

# test context sensitive help in edit mode
# place cursor to <lineText> keyword, in <editorArea>, and verify help to contain <helpText>
def verifyInteractiveQMLHelp(lineText, helpText):
    editorArea = waitForObject(":Qt Creator_QmlJSEditor::QmlJSTextEditorWidget")
    # go to the specified word
    placeCursorToLine(editorArea, lineText)
    homeKey = "<Home>"
    if platform.system() == "Darwin":
        homeKey = "<Ctrl+Left>"
        type(editorArea, homeKey)
    else:
        type(editorArea, homeKey)
    # call help
    type(editorArea, "<F1>")
47
    test.verify(helpText in getHelpTitle(),
48 49 50
                "Verifying if help is opened with documentation for '%s'." % helpText)

def main():
Christian Stenger's avatar
Christian Stenger committed
51
    global sdkPath
52
    startApplication("qtcreator" + SettingsPath)
53 54
    if not startedWithoutPluginError():
        return
Christian Stenger's avatar
Christian Stenger committed
55 56 57 58
    qchs = []
    for p in Qt5Path.getPaths(Qt5Path.DOCS):
        qchs.append(os.path.join(p, "qtquick.qch"))
    addHelpDocumentation(qchs)
59 60 61
    # create qt quick application
    createNewQtQuickApplication(tempDir(), "SampleApp")
    # verify Rectangle help
Christian Stenger's avatar
Christian Stenger committed
62
    verifyInteractiveQMLHelp("Window {", "Window QML Type")
63 64 65
    # go back to edit mode
    switchViewTo(ViewConstants.EDIT)
    # verify MouseArea help
Christian Stenger's avatar
Christian Stenger committed
66
    verifyInteractiveQMLHelp("MouseArea {", "MouseArea QML Type")
67 68
    # exit
    invokeMenuItem("File","Exit")