diff --git a/tests/system/objects.map b/tests/system/objects.map index ce30f1bdafd..98896e6c4f8 100644 --- a/tests/system/objects.map +++ b/tests/system/objects.map @@ -105,6 +105,8 @@ :QtSupport__Internal__QtVersionManager.QLabel {container=':qt_tabwidget_stackedwidget.QtSupport__Internal__QtVersionManager_QtSupport::Internal::QtOptionsPageWidget' type='QLabel' unnamed='1' visible='1'} :QtSupport__Internal__QtVersionManager.qmake_QLabel {container=':qt_tabwidget_stackedwidget.QtSupport__Internal__QtVersionManager_QtSupport::Internal::QtOptionsPageWidget' name='qmakePath' type='QLabel' visible='1'} :QtSupport__Internal__QtVersionManager.qtdirList_QTreeWidget {container=':qt_tabwidget_stackedwidget.QtSupport__Internal__QtVersionManager_QtSupport::Internal::QtOptionsPageWidget' name='qtdirList' type='QTreeWidget' visible='1'} +:Revert to Saved.Proceed_QPushButton {text='Proceed' type='QPushButton' unnamed='1' visible='1' window=':Revert to Saved_QMessageBox'} +:Revert to Saved_QMessageBox {text?='You will lose your current changes if you proceed reverting*' type='QMessageBox' unnamed='1' visible='1'} :Startup.contextHelpComboBox_QComboBox {container=':Form.Startup_QGroupBox' name='contextHelpComboBox' type='QComboBox' visible='1'} :Symbol Server_Utils::CheckableMessageBox {type='Utils::CheckableMessageBox' unnamed='1' visible='1' windowTitle='Symbol Server'} :addToVersionControlComboBox_QComboBox {name='addToVersionControlComboBox' type='QComboBox' visible='1'} diff --git a/tests/system/suite_editors/suite.conf b/tests/system/suite_editors/suite.conf new file mode 100644 index 00000000000..717453e22dc --- /dev/null +++ b/tests/system/suite_editors/suite.conf @@ -0,0 +1,12 @@ +AUT=qtcreator +CLASS= +CLASSPATH= +CWD= +ENVVARS=envvars +HOOK_SUB_PROCESSES=false +IMPLICITAUTSTART=0 +LANGUAGE=Python +OBJECTMAP=../objects.map +TEST_CASES=tst_memberoperator +VERSION=2 +WRAPPERS=Qt diff --git a/tests/system/suite_editors/tst_memberoperator/test.py b/tests/system/suite_editors/tst_memberoperator/test.py new file mode 100644 index 00000000000..7e329ba900f --- /dev/null +++ b/tests/system/suite_editors/tst_memberoperator/test.py @@ -0,0 +1,26 @@ +source("../../shared/qtcreator.py") + +def main(): + startApplication("qtcreator" + SettingsPath) + createProject_Qt_Console(tempDir(), "SquishProject") + selectFromLocator("main.cpp") + cppwindow = waitForObject(":Qt Creator_CppEditor::Internal::CPPEditorWidget") + + for record in testData.dataset("usages.tsv"): + include = testData.field(record, "include") + if include: + placeCursorToLine(cppwindow, "#include ") + typeLines(cppwindow, ("", "#include " + include)) + placeCursorToLine(cppwindow, "return a.exec();") + typeLines(cppwindow, ("", testData.field(record, "declaration"))) + type(cppwindow, testData.field(record, "usage")) + waitForSignal("{type='CppTools::Internal::CppModelManager' unnamed='1'}", + "sourceFilesRefreshed(QStringList)") + type(cppwindow, testData.field(record, "operator")) + waitForSignal("{type='CppTools::Internal::CppModelManager' unnamed='1'}", + "sourceFilesRefreshed(QStringList)") + test.compare(str(lineUnderCursor(cppwindow)).strip(), testData.field(record, "expected")) + invokeMenuItem("File", 'Revert "main.cpp" to Saved') + clickButton(waitForObject(":Revert to Saved.Proceed_QPushButton")) + + invokeMenuItem("File", "Exit") diff --git a/tests/system/suite_editors/tst_memberoperator/testdata/usages.tsv b/tests/system/suite_editors/tst_memberoperator/testdata/usages.tsv new file mode 100644 index 00000000000..a1e21767bf0 --- /dev/null +++ b/tests/system/suite_editors/tst_memberoperator/testdata/usages.tsv @@ -0,0 +1,23 @@ +"include" "declaration" "usage" "operator" "expected" +"" "" "syntaxError" "." "syntaxError." +"" "" "argc" "." "argc." +"" "" "argv[0]" "." "argv[0]." +"" "QCoreApplication qa;" "qa" "." "qa." +"" "QCoreApplication *p;" "p" "." "p->" +"" "QCoreApplication &ref = a;" "ref" "." "ref." +"" "QPointer p;" "p" "." "p." +"" "QPointer *poi;" "poi" "." "poi->" +"" "QPointer &poi;" "poi" "." "poi." +"" "QPointer poi[5];" "poi[2]" "." "poi[2]." +"" "QPointer *poi[5];" "poi[2]" "." "poi[2]->" +"" "std::auto_ptr sap;" "sap" "." "sap." +"" "std::auto_ptr *sap;" "sap" "." "sap->" +"" "std::auto_ptr &sap;" "sap" "." "sap." +"" "std::auto_ptr sap[10];" "sap[2]" "." "sap[2]." +"" "std::auto_ptr *sap[10];" "sap[2]" "." "sap[2]->" +"" "QVector vec;" "vec" "." "vec." +"" "QVector vec;" "vec" "." "vec." +"" "QVector *vec;" "vec" "." "vec->" +"" "QVector *vec;" "vec" "." "vec->" +"" "QVector vec;" "vec[0]" "." "vec[0]." +"" "QVector vec;" "vec[0]" "." "vec[0]->"