diff options
author | Robert Griebl <robert.griebl@qt.io> | 2024-02-21 04:47:31 +0100 |
---|---|---|
committer | Robert Griebl <robert.griebl@qt.io> | 2024-02-21 18:17:15 +0100 |
commit | 7fc260dc4117383b52d3dda3175541b90912e409 (patch) | |
tree | 2f225070be6dc0b5ef676a498537e0bf493eee0a | |
parent | ac3988efd622a73a49ca8770d64e19f68bdac90d (diff) |
tests: add a test for ApplicationInterface properties
Change-Id: I80a20c62e58dcfabe45054cfc322e1d03dc683ac
Pick-to: 6.7
Reviewed-by: Bernd Weimer <bernd.weimer@qt.io>
-rw-r--r-- | tests/auto/qml/simple/apps/tld.test.simple1/app1.qml | 12 | ||||
-rw-r--r-- | tests/auto/qml/simple/apps/tld.test.simple1/info.yaml | 2 | ||||
-rw-r--r-- | tests/auto/qml/simple/tst_applicationmanager.qml | 49 |
3 files changed, 57 insertions, 6 deletions
diff --git a/tests/auto/qml/simple/apps/tld.test.simple1/app1.qml b/tests/auto/qml/simple/apps/tld.test.simple1/app1.qml index 1024daaa..a721ae71 100644 --- a/tests/auto/qml/simple/apps/tld.test.simple1/app1.qml +++ b/tests/auto/qml/simple/apps/tld.test.simple1/app1.qml @@ -22,4 +22,16 @@ ApplicationManagerWindow { target.acknowledgeQuit(); } } + IntentHandler { + intentIds: [ "applicationInterfaceProperties" ] + onRequestReceived: function(req) { + req.sendReply({ + "applicationId": ApplicationInterface.applicationId, + "applicationProperties": ApplicationInterface.applicationProperties, + "icon": ApplicationInterface.icon, + "systemProperties": ApplicationInterface.systemProperties, + "version": ApplicationInterface.version + }) + } + } } diff --git a/tests/auto/qml/simple/apps/tld.test.simple1/info.yaml b/tests/auto/qml/simple/apps/tld.test.simple1/info.yaml index 49a0e1e4..a94c24da 100644 --- a/tests/auto/qml/simple/apps/tld.test.simple1/info.yaml +++ b/tests/auto/qml/simple/apps/tld.test.simple1/info.yaml @@ -21,3 +21,5 @@ mimeTypes: [ "x-scheme-handler/x-test", "text/plain" ] +intents: + - id: applicationInterfaceProperties diff --git a/tests/auto/qml/simple/tst_applicationmanager.qml b/tests/auto/qml/simple/tst_applicationmanager.qml index 30cc8f8b..04ae409d 100644 --- a/tests/auto/qml/simple/tst_applicationmanager.qml +++ b/tests/auto/qml/simple/tst_applicationmanager.qml @@ -14,8 +14,8 @@ TestCase { when: windowShown name: "ApplicationManager" - property var simpleApplication - property var capsApplication + property ApplicationObject simpleApplication + property ApplicationObject capsApplication // Either appman is build in single-process mode or it was started with --force-single-process property bool singleProcess : Qt.application.arguments.indexOf("--force-single-process") !== -1 || !AmTest.buildConfig[0].QT_FEATURES.QT_FEATURE_am_multi_process @@ -408,7 +408,7 @@ TestCase { checkApplicationState(simpleApplication.id, Am.Running); ignoreWarning("Application tld.test.simple1 is already running - cannot start with debug-wrapper: %program% %arguments%"); verify(!ApplicationManager.debugApplication(simpleApplication.id, "%program% %arguments%")) - ApplicationManager.stopApplication(simpleApplication.id, true); + ApplicationManager.stopApplication(simpleApplication.id); checkApplicationState(simpleApplication.id, Am.ShuttingDown); checkApplicationState(simpleApplication.id, Am.NotRunning); } @@ -424,14 +424,14 @@ TestCase { verify(ApplicationManager.openUrl(data.url)); checkApplicationState(data.expectedApp, Am.StartingUp); checkApplicationState(data.expectedApp, Am.Running); - ApplicationManager.stopApplication(data.expectedApp, true); + ApplicationManager.stopApplication(data.expectedApp); checkApplicationState(data.expectedApp, Am.ShuttingDown); checkApplicationState(data.expectedApp, Am.NotRunning); Qt.openUrlExternally(data.url); checkApplicationState(data.expectedApp, Am.StartingUp); checkApplicationState(data.expectedApp, Am.Running); - ApplicationManager.stopApplication(data.expectedApp, true); + ApplicationManager.stopApplication(data.expectedApp); checkApplicationState(data.expectedApp, Am.ShuttingDown); checkApplicationState(data.expectedApp, Am.NotRunning); } @@ -456,11 +456,48 @@ TestCase { ApplicationManager.startApplication(simpleApplication.id); checkApplicationState(simpleApplication.id, Am.StartingUp); checkApplicationState(simpleApplication.id, Am.Running); - ApplicationManager.stopApplication(simpleApplication.id, true); + ApplicationManager.stopApplication(simpleApplication.id); checkApplicationState(simpleApplication.id, Am.ShuttingDown); checkApplicationState(simpleApplication.id, Am.NotRunning); verify(containerSelectionCalled); compare(containerSelectionAppId, simpleApplication.id); compare(containerSelectionConId, "process"); } + + function test_applicationInterface() { + let req = IntentClient.sendIntentRequest("applicationInterfaceProperties", simpleApplication.id, { }) + verify(req) + tryVerify(() => { return req.succeeded }) + const ai = { + "applicationId": simpleApplication.id, + "applicationProperties": { + "pri1": "pri1", + "pro1": "pro1", + "proandpri": "pri2" + }, + "icon": simpleApplication.icon.toString().split('/').pop(), + "systemProperties": { + "inall": "protected", + "nested": { + "level2": { + "level31": "overwritten", + "level32": "hidden" + } + }, + "pro1": "pro1", + "proandpri": "pro4", + "pub1": "pub1", + "pubandpri": "pub3", + "pubandpro": "pro2" + }, + "version": simpleApplication.version + } + + compare(req.result, ai) + + // cleanup + compare(simpleApplication.runState, Am.Running) + ApplicationManager.stopApplication(simpleApplication.id) + tryVerify(() => { return simpleApplication.runState === Am.NotRunning }) + } } |