Commit 7c34567c authored by Eike Ziller's avatar Eike Ziller

Merge remote-tracking branch 'origin/3.1'

parents b41edc05 14976ca1
......@@ -7,23 +7,23 @@ imagedirs = $SRCDIR/images $SRCDIR/templates/images
outputdir = $OUTDIR
exampledirs = $SRCDIR/examples \
$SRCDIR/snippets
indexes += $QT_INSTALL_DOCS/qtwidgets/qtwidgets.index \
$QT_INSTALL_DOCS/qtcore/qtcore.index \
$QT_INSTALL_DOCS/qtqml/qtqml.index \
$QT_INSTALL_DOCS/qtquick/qtquick.index \
$QT_INSTALL_DOCS/qmake/qmake.index \
$QT_INSTALL_DOCS/qtdesigner/qtdesigner.index \
$QT_INSTALL_DOCS/qtdoc/qtdoc.index \
$QT_INSTALL_DOCS/qtgui/qtgui.index \
$QT_INSTALL_DOCS/qthelp/qthelp.index \
$QT_INSTALL_DOCS/qtquickcontrols/qtquickcontrols.index \
$QT_INSTALL_DOCS/qtquicklayouts/qtquicklayouts.index \
$QT_INSTALL_DOCS/qtlinguist/qtlinguist.index \
$QT_INSTALL_DOCS/qtscript/qtscript.index \
$QT_INSTALL_DOCS/qtsensors/qtsensors.index \
$QT_INSTALL_DOCS/qtuitools/qtuitools.index \
$QT_INSTALL_DOCS/qtwebkit/qtwebkit.index \
$QT_INSTALL_DOCS/qtxml/qtxml.index
indexes += $QDOC_INDEX_DIR/qtwidgets/qtwidgets.index \
$QDOC_INDEX_DIR/qtcore/qtcore.index \
$QDOC_INDEX_DIR/qtqml/qtqml.index \
$QDOC_INDEX_DIR/qtquick/qtquick.index \
$QDOC_INDEX_DIR/qmake/qmake.index \
$QDOC_INDEX_DIR/qtdesigner/qtdesigner.index \
$QDOC_INDEX_DIR/qtdoc/qtdoc.index \
$QDOC_INDEX_DIR/qtgui/qtgui.index \
$QDOC_INDEX_DIR/qthelp/qthelp.index \
$QDOC_INDEX_DIR/qtquickcontrols/qtquickcontrols.index \
$QDOC_INDEX_DIR/qtquicklayouts/qtquicklayouts.index \
$QDOC_INDEX_DIR/qtlinguist/qtlinguist.index \
$QDOC_INDEX_DIR/qtscript/qtscript.index \
$QDOC_INDEX_DIR/qtsensors/qtsensors.index \
$QDOC_INDEX_DIR/qtuitools/qtuitools.index \
$QDOC_INDEX_DIR/qtwebkit/qtwebkit.index \
$QDOC_INDEX_DIR/qtxml/qtxml.index
include(macros.qdocconf)
include(qt-cpp-ignore.qdocconf)
......
greaterThan(QT_MAJOR_VERSION, 4) {
HELPGENERATOR = $$targetPath($$[QT_INSTALL_BINS]/qhelpgenerator) -platform minimal
QDOC_BIN = $$targetPath($$[QT_INSTALL_BINS]/qdoc)
QDOC_GLOBAL = QT_INSTALL_DOCS=$$[QT_INSTALL_DOCS/src] QDOC_INDEX_DIR=$$[QT_INSTALL_DOCS]
COMPAT =
} else {
HELPGENERATOR = $$targetPath($$[QT_INSTALL_BINS]/qhelpgenerator)
QDOC_BIN = $$targetPath($$[QT_INSTALL_BINS]/qdoc3)
QDOC_GLOBAL = QDOC_INDEX_DIR=dummy # this will be ignored. we don't link qt4 docs any more.
COMPAT = -qt4
}
......@@ -23,7 +25,7 @@ defineReplace(cmdEnv) {
}
defineReplace(qdoc) {
return("$$cmdEnv(SRCDIR=$$PWD OUTDIR=$$1 QTC_VERSION=$$QTCREATOR_VERSION QTC_VERSION_TAG=$$VERSION_TAG QTC_LICENSE_TYPE=$$LICENSE_TYPE QT_INSTALL_DOCS=$$[QT_INSTALL_DOCS]) $$QDOC_BIN")
return("$$cmdEnv(SRCDIR=$$PWD OUTDIR=$$1 QTC_VERSION=$$QTCREATOR_VERSION QTC_VERSION_TAG=$$VERSION_TAG QTC_LICENSE_TYPE=$$LICENSE_TYPE $$QDOC_GLOBAL) $$QDOC_BIN")
}
QHP_FILE = $$OUT_PWD/doc/html/qtcreator.qhp
......
......@@ -123,7 +123,8 @@ QString BeautifierPlugin::format(const QString &text, QStringList command, const
// Save text to temporary file
QFileInfo fi(fileName);
Utils::TempFileSaver sourceFile(QLatin1String("qtc_beautifier_XXXXXXXX.") + fi.suffix());
Utils::TempFileSaver sourceFile(fi.absolutePath() + QLatin1String("/qtc_beautifier_XXXXXXXX.")
+ fi.suffix());
sourceFile.setAutoRemove(true);
sourceFile.write(text.toUtf8());
if (!sourceFile.finalize()) {
......
......@@ -108,6 +108,7 @@ GerritOptionsWidget::GerritOptionsWidget(QWidget *parent)
"Determines the protocol used to form a URL in case\n"
"\"canonicalWebUrl\" is not configured in the file\n"
"\"gerrit.config\"."));
setTabOrder(m_sshChooser, m_portSpinBox);
}
GerritParameters GerritOptionsWidget::parameters() const
......
......@@ -258,6 +258,19 @@ void BlackBerryConfigurationManager::emitSettingsChanged()
emit settingsChanged();
}
#ifdef WITH_TESTS
void BlackBerryConfigurationManager::initUnitTest()
{
foreach (BlackBerryApiLevelConfiguration *apiLevel, m_apiLevels)
removeApiLevel(apiLevel);
foreach (BlackBerryRuntimeConfiguration *runtime, m_runtimes)
removeRuntime(runtime);
m_defaultConfiguration = 0;
}
#endif
void BlackBerryConfigurationManager::setKitsAutoDetectionSource()
{
foreach (Kit *kit, KitManager::kits()) {
......
......@@ -87,6 +87,10 @@ public:
void emitSettingsChanged();
#ifdef WITH_TESTS
void initUnitTest();
#endif
public slots:
void loadSettings();
void saveSettings();
......
......@@ -488,6 +488,7 @@ void QnxPlugin::testConfigurationManager_data()
void QnxPlugin::testConfigurationManager()
{
BlackBerryConfigurationManager *manager = BlackBerryConfigurationManager::instance();
manager->initUnitTest();
QCOMPARE(manager->apiLevels().count(), 0);
QCOMPARE(manager->activeApiLevels().count(), 0);
......
......@@ -721,6 +721,7 @@ QString BaseQtVersion::findQtBinary(Binaries binary) const
else
possibleCommands << QLatin1String("qmlscene");
}
break;
case QmlViewer: {
if (HostOsInfo::isWindowsHost())
possibleCommands << QLatin1String("qmlviewer.exe");
......
......@@ -67,10 +67,12 @@ QString DesktopQtVersion::type() const
QStringList DesktopQtVersion::warningReason() const
{
QStringList ret = BaseQtVersion::warningReason();
if (qtVersion() >= QtVersionNumber(5, 0, 0) && qmlsceneCommand().isEmpty())
ret << QCoreApplication::translate("QtVersion", "No qmlscene installed.");
if (qtVersion() >= QtVersionNumber(4, 7, 0) && qmlviewerCommand().isEmpty())
if (qtVersion() >= QtVersionNumber(5, 0, 0)) {
if (qmlsceneCommand().isEmpty())
ret << QCoreApplication::translate("QtVersion", "No qmlscene installed.");
} else if (qtVersion() >= QtVersionNumber(4, 7, 0) && qmlviewerCommand().isEmpty()) {
ret << QCoreApplication::translate("QtVersion", "No qmlviewer installed.");
}
return ret;
}
......
......@@ -18,7 +18,7 @@ Fourth - you'll have to provide some additional repositories (and for the hookin
These additional repositories are located inside ~/QtSDK/src or C:\QtSDK\src (depending on the OS you're on).
You can also just provide them inside a different folder and specify the folder with the environment variable SYSTEST_SRCPATH.
This folder must contain the following:
* a QtCreator repository (or source copy) of tag v2.5.0 named 'creator'
* a QtCreator repository (or source copy) of tag v3.1.0 named 'creator' including the submodule src/shared/qbs
* a subfolder called 'creator-test-data'
* a speedcrunch 0.11 repository (or source copy) inside 'creator-test-data' named 'speedcrunch'
* additional Squish versions for hooking into subprocesses inside different folders inside 'creator-test-data' following the information below
......
......@@ -81,7 +81,10 @@
:Form.Startup_QGroupBox {container=':qt_tabwidget_stackedwidget.Form_QWidget' name='startupGroupBox' title='Startup' type='QGroupBox' visible='1'}
:FormEditorStack.CheckBox_QCheckBox {container=':*Qt Creator.FormEditorStack_Designer::Internal::FormEditorStack' name='checkBox' text='CheckBox' type='QCheckBox' visible='1'}
:FormEditorStack.PushButton_QPushButton {container=':*Qt Creator.FormEditorStack_Designer::Internal::FormEditorStack' name='pushButton' text='PushButton' type='QPushButton' visible='1'}
:FormEditorStack.__qt__passive_editor_QLineEdit {container=':*Qt Creator.FormEditorStack_Designer::Internal::FormEditorStack' name='__qt__passive_editor' type='QLineEdit' visible='1'}
:FormEditorStack.centralWidget_QDesignerWidget {container=':*Qt Creator.FormEditorStack_Designer::Internal::FormEditorStack' name='centralWidget' type='QDesignerWidget' visible='1'}
:FormEditorStack.comboBox_QComboBox {container=':*Qt Creator.FormEditorStack_Designer::Internal::FormEditorStack' name='comboBox' type='QComboBox' visible='1'}
:FormEditorStack.menuBar_QDesignerMenuBar {container=':*Qt Creator.FormEditorStack_Designer::Internal::FormEditorStack' name='menuBar' type='QDesignerMenuBar' visible='1'}
:FormEditorStack_qdesigner_internal::FormWindow {container=':*Qt Creator.FormEditorStack_Designer::Internal::FormEditorStack' type='qdesigner_internal::FormWindow' unnamed='1' visible='1'}
:FormEditorStack_qdesigner_internal::PropertyLineEdit {container=':*Qt Creator.FormEditorStack_Designer::Internal::FormEditorStack' type='qdesigner_internal::PropertyLineEdit' unnamed='1' visible='1'}
:Generator:_QComboBox {buddy=':CMake Wizard.Generator:_QLabel' type='QComboBox' unnamed='1' visible='1'}
......
......@@ -43,8 +43,9 @@ def checkLastBuild(expectedToFail=False, createTasksFileOnError=True):
ensureChecked(":Qt Creator_Issues_Core::Internal::OutputPaneToggleButton")
model = waitForObject(":Qt Creator.Issues_QListView").model()
buildIssues = dumpBuildIssues(model)
errors = len(filter(lambda i: i[5] == "1", buildIssues))
warnings = len(filter(lambda i: i[5] == "2", buildIssues))
types = map(lambda i: i[5], buildIssues)
errors = types.count("1")
warnings = types.count("2")
gotErrors = errors != 0
if not (gotErrors ^ expectedToFail):
test.passes("Errors: %s | Warnings: %s" % (errors, warnings))
......
......@@ -406,7 +406,7 @@ def replaceLine(fileSpec, oldLine, newLine):
if openDocumentPlaceCursor(fileSpec, oldLine) == None:
return False
editor = waitForObject(":Qt Creator_CppEditor::Internal::CPPEditorWidget")
for i in range(len(oldLine)):
for _ in oldLine:
type(editor, "<Backspace>")
type(editor, newLine)
return True
......@@ -105,6 +105,7 @@ def main():
editor = getEditorForFileSuffix("%s.h" % className.lower())
oldContent = str(editor.plainText)
placeCursorToLine(editor, "class %s.*" % className, True)
snooze(1) # avoid timing issue with the parser
invokeContextMenuItem(editor, "Refactor", "Insert Virtual Functions of Base Classes")
handleInsertVirtualFunctions(["keys() const = 0 : QStringList",
"create(const QString &, const QString &) = 0 : QObject *"])
......
......@@ -79,7 +79,7 @@ class Tree:
def countChildOccurrences(self, name):
if not self.__children__:
return 0
return len(filter(lambda x: x.getName() == name, self.__children__))
return map(lambda x: x.getName(), self.__children__).count(name)
# internal functions
def __repr__(self):
......
"filename"
"creator/README"
"creator/qtcreator.pri"
"creator/doc/snippets/qml/list-of-transitions.qml"
"creator/tests/manual/qml/testfiles_quick2/views.qml"
"creator/share/qtcreator/glsl/glsl_120.frag"
"creator/tests/manual/cplusplus-frontend/conf.c++"
"creator/tests/system/suite_editors/shared/testdata/main.c++"
"creator/src/plugins/coreplugin/basefilewizard.cpp"
"creator/src/plugins/coreplugin/basefilewizard.h"
"creator/tests/system/suite_debugger/tst_simple_debug/test.py"
......@@ -7,6 +7,6 @@ HOOK_SUB_PROCESSES=false
IMPLICITAUTSTART=0
LANGUAGE=Python
OBJECTMAP=../objects.map
TEST_CASES=tst_build_speedcrunch tst_cmake_speedcrunch tst_create_proj_wizard tst_default_settings tst_installed_languages tst_openqt_creator tst_rename_file tst_save_before_build tst_session_handling
TEST_CASES=tst_build_speedcrunch tst_cmake_speedcrunch tst_create_proj_wizard tst_default_settings tst_installed_languages tst_openqt_creator tst_rename_file tst_save_before_build tst_session_handling tst_tasks_handling
VERSION=2
WRAPPERS=Qt
......@@ -48,6 +48,8 @@ def main():
invokeMenuItem("File", "Exit")
return
progressBarWait(30000)
naviTreeView = "{column='0' container=':Qt Creator_Utils::NavigationTreeView' text~='%s' type='QModelIndex'}"
compareProjectTree(naviTreeView % "speedcrunch( \[\S+\])?", "projecttree_speedcrunch.tsv")
# Invoke a rebuild of the application
invokeMenuItem("Build", "Rebuild All")
......
"text" "nestinglevel"
"cmake_uninstall.cmake.in" "0"
"CMakeLists.txt" "0"
"SourceFiles.cmake" "0"
"core" "0"
"book.cpp" "1"
"book.h" "1"
"constants.cpp" "1"
"constants.h" "1"
"evaluator.cpp" "1"
"evaluator.h" "1"
"functions.cpp" "1"
"functions.h" "1"
"numberformatter.cpp" "1"
"numberformatter.h" "1"
"settings.cpp" "1"
"settings.h" "1"
"gui" "0"
"aboutbox.cpp" "1"
"aboutbox.h" "1"
"application.cpp" "1"
"application.h" "1"
"autohidelabel.cpp" "1"
"autohidelabel.h" "1"
"bookdock.cpp" "1"
"bookdock.h" "1"
"constantsdock.cpp" "1"
"constantsdock.h" "1"
"constantswidget.cpp" "1"
"constantswidget.h" "1"
"editor.cpp" "1"
"editor.h" "1"
"functionsdock.cpp" "1"
"functionsdock.h" "1"
"functionswidget.cpp" "1"
"functionswidget.h" "1"
"historydock.cpp" "1"
"historydock.h" "1"
"historywidget.cpp" "1"
"historywidget.h" "1"
"mainwindow.cpp" "1"
"mainwindow.h" "1"
"resultdisplay.cpp" "1"
"resultdisplay.h" "1"
"syntaxhighlighter.cpp" "1"
"syntaxhighlighter.h" "1"
"tipwidget.cpp" "1"
"tipwidget.h" "1"
"variablelistwidget.cpp" "1"
"variablelistwidget.h" "1"
"variablesdock.cpp" "1"
"variablesdock.h" "1"
"math" "0"
"floatcommon.c" "1"
"floatcommon.h" "1"
"floatconst.c" "1"
"floatconst.h" "1"
"floatconvert.c" "1"
"floatconvert.h" "1"
"floaterf.c" "1"
"floaterf.h" "1"
"floatexp.c" "1"
"floatexp.h" "1"
"floatgamma.c" "1"
"floatgamma.h" "1"
"floathmath.c" "1"
"floathmath.h" "1"
"floatio.c" "1"
"floatio.h" "1"
"floatipower.c" "1"
"floatipower.h" "1"
"floatlog.c" "1"
"floatlog.h" "1"
"floatlogic.c" "1"
"floatlogic.h" "1"
"floatlong.c" "1"
"floatlong.h" "1"
"floatnum.c" "1"
"floatnum.h" "1"
"floatpower.c" "1"
"floatpower.h" "1"
"floatseries.c" "1"
"floatseries.h" "1"
"floattrig.c" "1"
"floattrig.h" "1"
"hmath.cpp" "1"
"hmath.h" "1"
"number.c" "1"
"number.h" "1"
"resources" "0"
"speedcrunch.qrc" "1"
"tests" "0"
"testevaluator.cpp" "1"
"testfloatnum.c" "1"
"testhmath.cpp" "1"
"thirdparty" "0"
"binreloc.c" "1"
"binreloc.h" "1"
"main.cpp" "0"
......@@ -47,8 +47,8 @@ def main():
progressBarWait(300000)
naviTreeView = "{column='0' container=':Qt Creator_Utils::NavigationTreeView' text~='%s' type='QModelIndex'}"
compareProjectTree(naviTreeView % "speedcrunch( \(\S+\))?", "projecttree_speedcrunch.tsv")
compareProjectTree(naviTreeView % "qtcreator( \(\S+\))?", "projecttree_creator.tsv")
compareProjectTree(naviTreeView % "speedcrunch( \[\S+\])?", "projecttree_speedcrunch.tsv")
compareProjectTree(naviTreeView % "qtcreator( \[\S+\])?", "projecttree_creator.tsv")
# Now check some basic lookups in the search box
selectFromLocator(": Qlist::QList", "QList::QList")
......
......@@ -53,23 +53,25 @@ def main():
if isQt4Build and platform.system() == 'Darwin':
# avoid QTCREATORBUG-9197
filtered = [filenames[0]]
for i in range(1, len(filenames)):
if filenames[i].lower() != filtered[-1].lower():
filtered.append(filenames[i])
for filename in filenames[1:]:
if filename.lower() != filtered[-1].lower():
filtered.append(filename)
filenames = filtered
for i in range(len(filenames)):
previous = filenames[-1]
for filename in filenames:
tempFiletype = filetype
if filetype == "QML" and filenames[i - 1][-4:] != ".qml":
if filetype == "QML" and previous[-4:] != ".qml":
tempFiletype = "Other files"
# following is necessary due to QTCREATORBUG-10179
# will be fixed when Qt5's MIME type database can be used
if ((filenames[-1] in ("main.cpp", "utility.cpp") and filenames[i - 1][-4:] != ".cpp")
or (filenames[-1] == "utility.h" and filenames[i - 1][-2:].lower() != ".h")
or (filetype == "Resources" and filenames[i - 1][-4:] != ".qrc")):
if ((filenames[-1] in ("main.cpp", "utility.cpp") and previous[-4:] != ".cpp")
or (filenames[-1] == "utility.h" and previous[-2:].lower() != ".h")
or (filetype == "Resources" and previous[-4:] != ".qrc")):
tempFiletype = "Other files"
# end of handling QTCREATORBUG-10179
renameFile(templateDir, usedProFile, projectName + "." + tempFiletype,
filenames[i - 1], filenames[i])
previous, filename)
previous = filename
invokeMenuItem("File", "Exit")
def renameFile(projectDir, proFile, branch, oldname, newname):
......
#############################################################################
##
## Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies).
## Contact: http://www.qt-project.org/legal
##
## 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 Digia. For licensing terms and
## conditions see http://qt.digia.com/licensing. For further information
## use the contact form at http://qt.digia.com/contact-us.
##
## GNU Lesser General Public License Usage
## Alternatively, this file may be used under the terms of the GNU Lesser
## General Public License version 2.1 as published by the Free Software
## Foundation and appearing in the file LICENSE.LGPL included in the
## packaging of this file. Please review the following information to
## ensure the GNU Lesser General Public License version 2.1 requirements
## will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
##
## In addition, as a special exception, Digia gives you certain additional
## rights. These rights are described in the Digia Qt LGPL Exception
## version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
##
#############################################################################
import random
import string
source("../../shared/qtcreator.py")
toolButton = ("{toolTip='%s' type='QToolButton' unnamed='1' visible='1' "
"window=':Qt Creator_Core::Internal::MainWindow'}")
def generateRandomFilePath(isWin, isHeader):
# generate random (fake) file path
filePath = ''.join(random.choice(string.ascii_letters + string.digits + "/")
for _ in range(random.randint(3, 15)))
if not filePath.startswith("/"):
filePath = "/" + filePath
if isWin:
filePath = "C:" + filePath
if isHeader:
filePath += ".h"
else:
filePath += ".cpp"
return filePath
def generateRandomTaskType():
ranType = random.randint(1, 100)
if ranType <= 45:
return 0
if ranType <= 90:
return 1
return 2
def generateMockTasksFile():
descriptions = ["", "dummy information", "unknown error", "not found", "syntax error",
"missing information", "unused"]
tasks = ["warn", "error", "other"]
isWin = platform.system() in ('Microsoft', 'Windows')
fileName = os.path.join(tempDir(), "dummy_taskfile.tasks")
tFile = open(fileName, "w")
tasksCount = [0, 0, 0]
for counter in range(1100):
fData = generateRandomFilePath(isWin, counter % 2 == 0)
lData = random.randint(-1, 10000)
tasksType = generateRandomTaskType()
tasksCount[tasksType] += 1
tData = tasks[tasksType]
dData = descriptions[random.randint(0, 6)]
tFile.write("%s\t%d\t%s\t%s\n" % (fData, lData, tData, dData))
tFile.close()
test.log("Wrote tasks file with %d warnings, %d errors and %d other tasks." % tuple(tasksCount))
return fileName, tasksCount
def checkOrUncheckMyTasks():
filterButton = waitForObject(toolButton % 'Filter by categories')
clickButton(filterButton)
if platform.system() == 'Darwin':
waitFor("macHackActivateContextMenuItem('My Tasks')", 5000)
else:
activateItem(waitForObjectItem("{type='QMenu' unnamed='1' visible='1' "
"window=':Qt Creator_Core::Internal::MainWindow'}",
"My Tasks"))
def getBuildIssuesTypeCounts(model):
issueTypes = map(lambda x: x.data(Qt.UserRole + 5).toInt(), dumpIndices(model))
result = [issueTypes.count(0), issueTypes.count(1), issueTypes.count(2)]
if len(issueTypes) != sum(result):
test.fatal("Found unexpected value(s) for TaskType...")
return result
def main():
tasksFile, issueTypes = generateMockTasksFile()
issuesLabel = ("{text='%d' type='QLabel' unnamed='1' visible='1' "
"window=':Qt Creator_Core::Internal::MainWindow'}" % (sum(issueTypes)))
startApplication("qtcreator" + SettingsPath)
if not startedWithoutPluginError():
return
invokeMenuItem("File", "Open File or Project...")
selectFromFileDialog(tasksFile)
starttime = datetime.utcnow()
waitFor("object.exists(issuesLabel)", 10000)
endtime = datetime.utcnow()
differenceMS = (endtime - starttime).microseconds + (endtime - starttime).seconds * 1000000
test.verify(differenceMS < 2000000, "Verifying whether loading the tasks "
"file took less than 2s. (%dµs)" % differenceMS)
ensureChecked(":Qt Creator_Issues_Core::Internal::OutputPaneToggleButton")
model = waitForObject(":Qt Creator.Issues_QListView").model()
others, errors, warnings = getBuildIssuesTypeCounts(model)
test.compare(issueTypes, [warnings, errors, others],
"Verifying whether all expected errors, warnings and other tasks are listed.")
# check filtering by 'Show Warnings'
warnButton = waitForObject(toolButton % 'Show Warnings')
ensureChecked(warnButton, False)
waitFor("model.rowCount() == issueTypes[1]", 2000)
test.compare(model.rowCount(), issueTypes[1], "Verifying only errors are listed.")
ensureChecked(warnButton, True)
waitFor("model.rowCount() == sum(issueTypes)", 2000)
test.compare(model.rowCount(), sum(issueTypes), "Verifying all tasks are listed.")
# check filtering by 'My Tasks'
checkOrUncheckMyTasks()
waitFor("model.rowCount() == 0", 2000)
test.compare(model.rowCount(), 0,
"Verifying whether unchecking 'My Tasks' hides all tasks from tasks file.")
checkOrUncheckMyTasks()
waitFor("model.rowCount() == sum(issueTypes)", 2000)
test.compare(model.rowCount(), sum(issueTypes),
"Verifying whether checking 'My Tasks' displays all tasks from tasks file.")
# check filtering by 'My Tasks' and 'Show Warnings'
ensureChecked(warnButton, False)
waitFor("model.rowCount() == issueTypes[1]", 2000)
checkOrUncheckMyTasks()
waitFor("model.rowCount() == 0", 2000)
test.compare(model.rowCount(), 0,
"Verifying whether unchecking 'My Tasks' with disabled 'Show Warnings' hides all.")
ensureChecked(warnButton, True)
waitFor("model.rowCount() != 0", 2000)
test.compare(model.rowCount(), 0,
"Verifying whether enabling 'Show Warnings' still displays nothing.")
checkOrUncheckMyTasks()
waitFor("model.rowCount() == sum(issueTypes)", 2000)
test.compare(model.rowCount(), sum(issueTypes),
"Verifying whether checking 'My Tasks' displays all again.")
ensureChecked(warnButton, False)
waitFor("model.rowCount() == issueTypes[1]", 2000)
test.compare(model.rowCount(), issueTypes[1], "Verifying whether 'My Tasks' with disabled "
"'Show Warnings' displays only error tasks.")
invokeMenuItem("File", "Exit")
......@@ -7,6 +7,6 @@ HOOK_SUB_PROCESSES=false
IMPLICITAUTSTART=0
LANGUAGE=Python
OBJECTMAP=../objects.map
TEST_CASES=tst_codepasting tst_designer_autocomplete tst_designer_goto_slot tst_external_sort tst_git_clone tst_git_local
TEST_CASES=tst_codepasting tst_designer_autocomplete tst_designer_edit tst_designer_goto_slot tst_external_sort tst_git_clone tst_git_local
VERSION=2
WRAPPERS=Qt
This diff is collapsed.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment