summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRobert Griebl <robert.griebl@qt.io>2024-02-21 04:47:31 +0100
committerRobert Griebl <robert.griebl@qt.io>2024-02-21 18:17:15 +0100
commit7fc260dc4117383b52d3dda3175541b90912e409 (patch)
tree2f225070be6dc0b5ef676a498537e0bf493eee0a
parentac3988efd622a73a49ca8770d64e19f68bdac90d (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.qml12
-rw-r--r--tests/auto/qml/simple/apps/tld.test.simple1/info.yaml2
-rw-r--r--tests/auto/qml/simple/tst_applicationmanager.qml49
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 })
+ }
}