forked from qt-creator/qt-creator
		
	* Update license information in tests directory Change-Id: I311441dd37d053ca3175e44b284258e232ee93e0 Reviewed-by: Tobias Hunger <tobias.hunger@theqtcompany.com>
		
			
				
	
	
		
			125 lines
		
	
	
		
			5.9 KiB
		
	
	
	
		
			Python
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			125 lines
		
	
	
		
			5.9 KiB
		
	
	
	
		
			Python
		
	
	
		
			Executable File
		
	
	
	
	
############################################################################
 | 
						|
#
 | 
						|
# Copyright (C) 2016 The Qt Company Ltd.
 | 
						|
# Contact: https://www.qt.io/licensing/
 | 
						|
#
 | 
						|
# 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
 | 
						|
# 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.
 | 
						|
#
 | 
						|
############################################################################
 | 
						|
 | 
						|
source("../../shared/qtcreator.py")
 | 
						|
 | 
						|
# test Qt Creator version information from file and dialog
 | 
						|
def getQtCreatorVersionFromDialog():
 | 
						|
    chk = re.search("(?<=Qt Creator)\s\d+.\d+.\d+",
 | 
						|
                    str(waitForObject("{text?='*Qt Creator*' type='QLabel' unnamed='1' visible='1' "
 | 
						|
                                      "window=':About Qt Creator_Core::Internal::VersionDialog'}").text))
 | 
						|
    try:
 | 
						|
        ver = chk.group(0).strip()
 | 
						|
        return ver
 | 
						|
    except:
 | 
						|
        test.fail("Failed to get the exact version from Dialog")
 | 
						|
        return ""
 | 
						|
 | 
						|
def getQtCreatorVersionFromFile():
 | 
						|
    qtCreatorPriFileName = "../../../../qtcreator.pri"
 | 
						|
    # open file <qtCreatorPriFileName> and read version
 | 
						|
    fileText = readFile(qtCreatorPriFileName)
 | 
						|
    chk = re.search("(?<=QTCREATOR_VERSION =)\s\d+.\d+.\d+", fileText)
 | 
						|
    try:
 | 
						|
        ver = chk.group(0).strip()
 | 
						|
        return ver
 | 
						|
    except:
 | 
						|
        test.fail("Failed to get the exact version from File")
 | 
						|
        return ""
 | 
						|
 | 
						|
def checkQtCreatorHelpVersion(expectedVersion):
 | 
						|
    switchViewTo(ViewConstants.HELP)
 | 
						|
    try:
 | 
						|
        helpContentWidget = waitForObject(':Qt Creator_QHelpContentWidget', 5000)
 | 
						|
        items = dumpItems(helpContentWidget.model())
 | 
						|
        test.compare(filter(lambda x: x.startswith('Qt Creator Manual'), items)[0],
 | 
						|
                     'Qt Creator Manual %s' % expectedVersion,
 | 
						|
                     'Verifying whether manual uses expected version.')
 | 
						|
    except:
 | 
						|
        test.xverify(False, "Missing Qt Creator Manual (QTCREATORBUG-13233).")
 | 
						|
 | 
						|
def setKeyboardShortcutForAboutQtC():
 | 
						|
    invokeMenuItem("Tools", "Options...")
 | 
						|
    waitForObjectItem(":Options_QListView", "Environment")
 | 
						|
    clickItem(":Options_QListView", "Environment", 14, 15, 0, Qt.LeftButton)
 | 
						|
    clickOnTab(":Options.qt_tabwidget_tabbar_QTabBar", "Keyboard")
 | 
						|
    filter = waitForObject("{container={title='Keyboard Shortcuts' type='QGroupBox' unnamed='1' "
 | 
						|
                           "visible='1'} type='Utils::FancyLineEdit' unnamed='1' visible='1' "
 | 
						|
                           "placeHolderText='Filter'}")
 | 
						|
    replaceEditorContent(filter, "about")
 | 
						|
    treewidget = waitForObject("{type='QTreeWidget' unnamed='1' visible='1'}")
 | 
						|
    modelIndex = waitForObject("{column='0' text='AboutQtCreator' type='QModelIndex' "
 | 
						|
                               "container={column='0' text='QtCreator' type='QModelIndex' "
 | 
						|
                               "container=%s}}" % objectMap.realName(treewidget))
 | 
						|
    mouseClick(modelIndex, 5, 5, 0, Qt.LeftButton)
 | 
						|
    shortcut = waitForObject("{container={title='Shortcut' type='QGroupBox' unnamed='1' "
 | 
						|
                             "visible='1'} type='Utils::FancyLineEdit' unnamed='1' visible='1' "
 | 
						|
                             "placeHolderText='Type to set shortcut'}")
 | 
						|
    mouseClick(shortcut, 5, 5, 0, Qt.LeftButton)
 | 
						|
    nativeType("<Ctrl+Alt+a>")
 | 
						|
    clickButton(waitForObject(":Options.OK_QPushButton"))
 | 
						|
 | 
						|
def main():
 | 
						|
    expectedVersion = getQtCreatorVersionFromFile()
 | 
						|
    if not expectedVersion:
 | 
						|
        test.fatal("Can't find version from file.")
 | 
						|
        return
 | 
						|
    startApplication("qtcreator" + SettingsPath)
 | 
						|
    if not startedWithoutPluginError():
 | 
						|
        return
 | 
						|
    setKeyboardShortcutForAboutQtC()
 | 
						|
    if platform.system() == 'Darwin':
 | 
						|
        try:
 | 
						|
            waitForObject(":Qt Creator.QtCreator.MenuBar_QMenuBar", 2000)
 | 
						|
        except:
 | 
						|
            nativeMouseClick(waitForObject(":Qt Creator_Core::Internal::MainWindow", 1000), 20, 20, 0, Qt.LeftButton)
 | 
						|
    nativeType("<Ctrl+Alt+a>")
 | 
						|
    # verify qt creator version
 | 
						|
    try:
 | 
						|
        waitForObject(":About Qt Creator_Core::Internal::VersionDialog", 5000)
 | 
						|
    except:
 | 
						|
        test.warning("Using workaround of invoking menu entry "
 | 
						|
                     "(known issue when running on Win inside Jenkins)")
 | 
						|
        if platform.system() == "Darwin":
 | 
						|
            invokeMenuItem("Help", "About Qt Creator")
 | 
						|
        else:
 | 
						|
            invokeMenuItem("Help", "About Qt Creator...")
 | 
						|
        waitForObject(":About Qt Creator_Core::Internal::VersionDialog", 5000)
 | 
						|
    actualVersion = getQtCreatorVersionFromDialog()
 | 
						|
    test.verify(actualVersion == expectedVersion,
 | 
						|
                "Verifying version. Current version is '%s', expected version is '%s'"
 | 
						|
                % (actualVersion, expectedVersion))
 | 
						|
    # close and verify about dialog closed
 | 
						|
    clickButton(waitForObject("{text='Close' type='QPushButton' unnamed='1' visible='1' "
 | 
						|
                              "window=':About Qt Creator_Core::Internal::VersionDialog'}"))
 | 
						|
    test.verify(checkIfObjectExists(":About Qt Creator_Core::Internal::VersionDialog", False),
 | 
						|
                "Verifying if About dialog closed.")
 | 
						|
    checkQtCreatorHelpVersion(expectedVersion)
 | 
						|
    # exit qt creator
 | 
						|
    invokeMenuItem("File", "Exit")
 | 
						|
    # verify if qt creator closed properly
 | 
						|
    test.verify(checkIfObjectExists(":Qt Creator_Core::Internal::MainWindow", False),
 | 
						|
                "Verifying if Qt Creator closed.")
 |