diff --git a/tests/system/suite_general/suite.conf b/tests/system/suite_general/suite.conf index 8ab1ea1dc76116253fe72507abe94beb1da1403c..b114c5f47d37a81fcf3e79b535f08a90e62434d3 100644 --- a/tests/system/suite_general/suite.conf +++ b/tests/system/suite_general/suite.conf @@ -7,6 +7,6 @@ HOOK_SUB_PROCESSES=false IMPLICITAUTSTART=0 LANGUAGE=Python OBJECTMAP=../objects.map -TEST_CASES=tst_openqt_creator tst_build_speedcrunch tst_cmake_speedcrunch tst_basic_cpp_support +TEST_CASES=tst_openqt_creator tst_build_speedcrunch tst_cmake_speedcrunch tst_basic_cpp_support tst_select_all VERSION=2 WRAPPERS=Qt diff --git a/tests/system/suite_general/tst_select_all/test.py b/tests/system/suite_general/tst_select_all/test.py new file mode 100644 index 0000000000000000000000000000000000000000..fa9d9c250929297800ab4f81d729418c85e9261e --- /dev/null +++ b/tests/system/suite_general/tst_select_all/test.py @@ -0,0 +1,49 @@ +source("../../shared/qtcreator.py") + +# This tests for QTCREATORBUG-5757 + +# Results can differ from actual size on disk (different line endings on Windows) +def charactersInFile(filename): + f = open(filename,"r") + content = f.read() + f.close() + return len(content) + +def main(): + filesAndEditors = {srcPath + "/creator/README" : "TextEditor::PlainTextEditorWidget", + srcPath + "/creator/qtcreator.pri" : "Qt4ProjectManager::Internal::ProFileEditorWidget", + srcPath + "/creator/doc/snippets/qml/list-of-transitions.qml" : "QmlJSEditor::QmlJSTextEditorWidget"} + for currentFile in filesAndEditors: + if not neededFilePresent(currentFile): + return + + startApplication("qtcreator" + SettingsPath) + for currentFile in filesAndEditors: + test.log("Opening file %s" % currentFile) + size = charactersInFile(currentFile) + invokeMenuItem("File", "Open File or Project...") + selectFromFileDialog(currentFile) + editor = waitForObject("{type='%s' unnamed='1' visible='1' window=':Qt Creator_Core::Internal::MainWindow'}" + % filesAndEditors[currentFile], 20000) + # needed on Mac because of QTCREATORBUG-6918 + nativeMouseClick(editor.mapToGlobal(QPoint(50, 50)).x, editor.mapToGlobal(QPoint(50, 50)).y, Qt.LeftButton) + for key in ["<Up>", "<Down>", "<Left>", "<Right>"]: + test.log("Selecting everything") + invokeMenuItem("Edit", "Select All") + waitFor("editor.textCursor().hasSelection()", 1000) + test.compare(editor.textCursor().selectionStart(), 0) + test.compare(editor.textCursor().selectionEnd(), size) + test.compare(editor.textCursor().position(), size) + test.log("Pressing key %s" % key) + type(editor, key) + if key == "<Up>": + test.compare(editor.textCursor().selectionStart(), editor.textCursor().selectionEnd()) + else: + pos = size + if key == "<Left>": + pos -= 1 + test.compare(editor.textCursor().selectionStart(), pos) + test.compare(editor.textCursor().selectionEnd(), pos) + test.compare(editor.textCursor().position(), pos) + invokeMenuItem("File", "Exit") + waitForCleanShutdown()