Manifest tests - watch-application 92/61192/2
authorTomasz Iwanek <t.iwanek@samsung.com>
Fri, 4 Mar 2016 11:47:54 +0000 (12:47 +0100)
committerTomasz Iwanek <t.iwanek@samsung.com>
Mon, 7 Mar 2016 11:47:33 +0000 (12:47 +0100)
Verify by running:
 /usr/bin/tpk-backend-ut/manifest-test --gtest_filter=ManifestTest.WatchApplicationElement*

Passrate should be: 11/13

Requires:
 - https://review.tizen.org/gerrit/61191

Change-Id: Ifbf8a2e4656883204475cba3c9395829bb56a065

15 files changed:
src/unit_tests/CMakeLists.txt
src/unit_tests/manifest_test_watch_application.cc [new file with mode: 0644]
src/unit_tests/test_samples/manifest/ManifestTest.WatchApplicationElement_AmbientSupport_False/tizen-manifest.xml [new file with mode: 0644]
src/unit_tests/test_samples/manifest/ManifestTest.WatchApplicationElement_AmbientSupport_Invalid/tizen-manifest.xml [new file with mode: 0644]
src/unit_tests/test_samples/manifest/ManifestTest.WatchApplicationElement_AmbientSupport_Missing/tizen-manifest.xml [new file with mode: 0644]
src/unit_tests/test_samples/manifest/ManifestTest.WatchApplicationElement_AmbientSupport_True/tizen-manifest.xml [new file with mode: 0644]
src/unit_tests/test_samples/manifest/ManifestTest.WatchApplicationElement_Appid_Invalid/tizen-manifest.xml [new file with mode: 0644]
src/unit_tests/test_samples/manifest/ManifestTest.WatchApplicationElement_Appid_Missing/tizen-manifest.xml [new file with mode: 0644]
src/unit_tests/test_samples/manifest/ManifestTest.WatchApplicationElement_Icon_Invalid/tizen-manifest.xml [new file with mode: 0644]
src/unit_tests/test_samples/manifest/ManifestTest.WatchApplicationElement_Icon_Missing/tizen-manifest.xml [new file with mode: 0644]
src/unit_tests/test_samples/manifest/ManifestTest.WatchApplicationElement_Icon_Valid/tizen-manifest.xml [new file with mode: 0644]
src/unit_tests/test_samples/manifest/ManifestTest.WatchApplicationElement_Label_Invalid/tizen-manifest.xml [new file with mode: 0644]
src/unit_tests/test_samples/manifest/ManifestTest.WatchApplicationElement_Label_Missing/tizen-manifest.xml [new file with mode: 0644]
src/unit_tests/test_samples/manifest/ManifestTest.WatchApplicationElement_Label_Valid/tizen-manifest.xml [new file with mode: 0644]
src/unit_tests/test_samples/manifest/ManifestTest.WatchApplicationElement_Valid/tizen-manifest.xml [new file with mode: 0644]

index a1fb8e6c79de39c70eb4f053a153f5e1e995ea47..31dafaad2cb9a380a8742d5e99b4153179770ac1 100644 (file)
@@ -14,6 +14,7 @@ ADD_EXECUTABLE(${TARGET_MANIFEST_TEST}
   manifest_test_package.cc
   manifest_test_service_application.cc
   manifest_test_ui_application.cc
+  manifest_test_watch_application.cc
   manifest_test_widget_application.cc
 )
 
diff --git a/src/unit_tests/manifest_test_watch_application.cc b/src/unit_tests/manifest_test_watch_application.cc
new file mode 100644 (file)
index 0000000..e0b9ef4
--- /dev/null
@@ -0,0 +1,132 @@
+// Copyright (c) 2015 Samsung Electronics Co., Ltd All Rights Reserved
+// Use of this source code is governed by an apache-2.0 license that can be
+// found in the LICENSE file.
+
+#include "unit_tests/manifest_test.h"
+
+namespace bf = boost::filesystem;
+namespace ci = common_installer;
+
+TEST_F(ManifestTest, WatchApplicationElement_Valid) {
+  StepParseRunner runner(GetMyName());
+  ASSERT_TRUE(runner.Run());
+  manifest_x* m = runner.GetManifest();
+  ASSERT_NE(m, nullptr);
+  ASSERT_CSTR_EQ(m->package, "package0id");
+  auto apps = GListRange<application_x*>(m->application);
+  ASSERT_EQ(Size(&apps), 1);
+  application_x* app = *apps.begin();
+  ASSERT_CSTR_EQ(app->appid, "package0id.appid");
+  ASSERT_CSTR_EQ(app->component_type, "watchapp");
+}
+
+TEST_F(ManifestTest, WatchApplicationElement_Appid_Missing) {
+  StepParseRunner runner(GetMyName());
+  ASSERT_FALSE(runner.Run());
+}
+
+TEST_F(ManifestTest, WatchApplicationElement_Appid_Invalid) {
+  StepParseRunner runner(GetMyName());
+  ASSERT_FALSE(runner.Run());
+}
+
+TEST_F(ManifestTest, WatchApplicationElement_Label_Missing) {
+  StepParseRunner runner(GetMyName());
+  ASSERT_TRUE(runner.Run());
+  manifest_x* m = runner.GetManifest();
+  ASSERT_NE(m, nullptr);
+  auto apps = GListRange<application_x*>(m->application);
+  ASSERT_EQ(Size(&apps), 1);
+  application_x* app = *apps.begin();
+  auto labels = GListRange<label_x*>(app->label);
+  ASSERT_EQ(Size(&labels), 0);
+}
+
+TEST_F(ManifestTest, WatchApplicationElement_Label_Valid) {
+  StepParseRunner runner(GetMyName());
+  ASSERT_TRUE(runner.Run());
+  manifest_x* m = runner.GetManifest();
+  ASSERT_NE(m, nullptr);
+  auto apps = GListRange<application_x*>(m->application);
+  ASSERT_EQ(Size(&apps), 1);
+  application_x* app = *apps.begin();
+  auto labels = GListRange<label_x*>(app->label);
+  ASSERT_EQ(Size(&labels), 1);
+  ASSERT_CSTR_EQ((*labels.begin())->text, "label");
+  ASSERT_CSTR_EQ((*labels.begin())->lang, DEFAULT_LOCALE);
+}
+
+TEST_F(ManifestTest, WatchApplicationElement_Label_Invalid) {
+  StepParseRunner runner(GetMyName());
+  ASSERT_FALSE(runner.Run());
+}
+
+TEST_F(ManifestTest, WatchApplicationElement_Icon_Missing) {
+  StepParseRunner runner(GetMyName());
+  ASSERT_TRUE(runner.Run());
+  manifest_x* m = runner.GetManifest();
+  ASSERT_NE(m, nullptr);
+  auto apps = GListRange<application_x*>(m->application);
+  ASSERT_EQ(Size(&apps), 1);
+  application_x* app = *apps.begin();
+  auto icons = GListRange<icon_x*>(app->icon);
+  ASSERT_EQ(Size(&icons), 0);
+}
+
+TEST_F(ManifestTest, WatchApplicationElement_Icon_Invalid) {
+  StepParseRunner runner(GetMyName());
+  ASSERT_FALSE(runner.Run());
+}
+
+TEST_F(ManifestTest, WatchApplicationElement_Icon_Valid) {
+  StepParseRunner runner(GetMyName());
+  ASSERT_TRUE(runner.Run());
+  manifest_x* m = runner.GetManifest();
+  ASSERT_NE(m, nullptr);
+  auto apps = GListRange<application_x*>(m->application);
+  ASSERT_EQ(Size(&apps), 1);
+  application_x* app = *apps.begin();
+  auto icons = GListRange<icon_x*>(app->icon);
+  ASSERT_EQ(Size(&icons), 1);
+  ASSERT_EQ(bf::path((*icons.begin())->text).filename().string(),
+            "test_icon.png");
+}
+
+TEST_F(ManifestTest, WatchApplicationElement_AmbientSupport_Missing) {
+  StepParseRunner runner(GetMyName());
+  ASSERT_TRUE(runner.Run());
+  manifest_x* m = runner.GetManifest();
+  ASSERT_NE(m, nullptr);
+  auto apps = GListRange<application_x*>(m->application);
+  ASSERT_EQ(Size(&apps), 1);
+  application_x* app = *apps.begin();
+  ASSERT_CSTR_EQ(app->ambient_support, "false");
+}
+
+TEST_F(ManifestTest, WatchApplicationElement_AmbientSupport_False) {
+  StepParseRunner runner(GetMyName());
+  ASSERT_TRUE(runner.Run());
+  manifest_x* m = runner.GetManifest();
+  ASSERT_NE(m, nullptr);
+  auto apps = GListRange<application_x*>(m->application);
+  ASSERT_EQ(Size(&apps), 1);
+  application_x* app = *apps.begin();
+  ASSERT_CSTR_EQ(app->ambient_support, "false");
+}
+
+
+TEST_F(ManifestTest, WatchApplicationElement_AmbientSupport_True) {
+  StepParseRunner runner(GetMyName());
+  ASSERT_TRUE(runner.Run());
+  manifest_x* m = runner.GetManifest();
+  ASSERT_NE(m, nullptr);
+  auto apps = GListRange<application_x*>(m->application);
+  ASSERT_EQ(Size(&apps), 1);
+  application_x* app = *apps.begin();
+  ASSERT_CSTR_EQ(app->ambient_support, "true");
+}
+
+TEST_F(ManifestTest, WatchApplicationElement_AmbientSupport_Invalid) {
+  StepParseRunner runner(GetMyName());
+  ASSERT_FALSE(runner.Run());
+}
diff --git a/src/unit_tests/test_samples/manifest/ManifestTest.WatchApplicationElement_AmbientSupport_False/tizen-manifest.xml b/src/unit_tests/test_samples/manifest/ManifestTest.WatchApplicationElement_AmbientSupport_False/tizen-manifest.xml
new file mode 100644 (file)
index 0000000..c4103e6
--- /dev/null
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<manifest xmlns="http://tizen.org/ns/packages" api-version="2.3" package="package0id" version="1.0.0">
+    <watch-application appid="package0id.appid" exec="testapp" type="capp"  ambient-support="false">
+    </watch-application>
+</manifest>
diff --git a/src/unit_tests/test_samples/manifest/ManifestTest.WatchApplicationElement_AmbientSupport_Invalid/tizen-manifest.xml b/src/unit_tests/test_samples/manifest/ManifestTest.WatchApplicationElement_AmbientSupport_Invalid/tizen-manifest.xml
new file mode 100644 (file)
index 0000000..994105a
--- /dev/null
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<manifest xmlns="http://tizen.org/ns/packages" api-version="2.3" package="package0id" version="1.0.0">
+    <watch-application appid="package0id.appid" exec="testapp" type="capp"  ambient-support="invalid">
+    </watch-application>
+</manifest>
diff --git a/src/unit_tests/test_samples/manifest/ManifestTest.WatchApplicationElement_AmbientSupport_Missing/tizen-manifest.xml b/src/unit_tests/test_samples/manifest/ManifestTest.WatchApplicationElement_AmbientSupport_Missing/tizen-manifest.xml
new file mode 100644 (file)
index 0000000..8e9bcce
--- /dev/null
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<manifest xmlns="http://tizen.org/ns/packages" api-version="2.3" package="package0id" version="1.0.0">
+    <watch-application appid="package0id.appid" exec="testapp" type="capp">
+    </watch-application>
+</manifest>
diff --git a/src/unit_tests/test_samples/manifest/ManifestTest.WatchApplicationElement_AmbientSupport_True/tizen-manifest.xml b/src/unit_tests/test_samples/manifest/ManifestTest.WatchApplicationElement_AmbientSupport_True/tizen-manifest.xml
new file mode 100644 (file)
index 0000000..edc9a21
--- /dev/null
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<manifest xmlns="http://tizen.org/ns/packages" api-version="2.3" package="package0id" version="1.0.0">
+    <watch-application appid="package0id.appid" exec="testapp" type="capp" ambient-support="true">
+    </watch-application>
+</manifest>
diff --git a/src/unit_tests/test_samples/manifest/ManifestTest.WatchApplicationElement_Appid_Invalid/tizen-manifest.xml b/src/unit_tests/test_samples/manifest/ManifestTest.WatchApplicationElement_Appid_Invalid/tizen-manifest.xml
new file mode 100644 (file)
index 0000000..9603ec3
--- /dev/null
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<manifest xmlns="http://tizen.org/ns/packages" api-version="2.3" package="package0id" version="1.0.0">
+    <watch-application appid="package/id.appid" exec="testapp" type="capp">
+    </watch-application>
+</manifest>
diff --git a/src/unit_tests/test_samples/manifest/ManifestTest.WatchApplicationElement_Appid_Missing/tizen-manifest.xml b/src/unit_tests/test_samples/manifest/ManifestTest.WatchApplicationElement_Appid_Missing/tizen-manifest.xml
new file mode 100644 (file)
index 0000000..1d9ee66
--- /dev/null
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<manifest xmlns="http://tizen.org/ns/packages" api-version="2.3" package="package0id" version="1.0.0">
+    <watch-application exec="testapp" type="capp">
+    </watch-application>
+</manifest>
diff --git a/src/unit_tests/test_samples/manifest/ManifestTest.WatchApplicationElement_Icon_Invalid/tizen-manifest.xml b/src/unit_tests/test_samples/manifest/ManifestTest.WatchApplicationElement_Icon_Invalid/tizen-manifest.xml
new file mode 100644 (file)
index 0000000..b5ceae8
--- /dev/null
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<manifest xmlns="http://tizen.org/ns/packages" api-version="2.3" package="package0id" version="1.0.0">
+    <watch-application appid="package0id.appid" exec="testapp" type="capp">
+        <icon />
+    </watch-application>
+</manifest>
diff --git a/src/unit_tests/test_samples/manifest/ManifestTest.WatchApplicationElement_Icon_Missing/tizen-manifest.xml b/src/unit_tests/test_samples/manifest/ManifestTest.WatchApplicationElement_Icon_Missing/tizen-manifest.xml
new file mode 100644 (file)
index 0000000..8e9bcce
--- /dev/null
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<manifest xmlns="http://tizen.org/ns/packages" api-version="2.3" package="package0id" version="1.0.0">
+    <watch-application appid="package0id.appid" exec="testapp" type="capp">
+    </watch-application>
+</manifest>
diff --git a/src/unit_tests/test_samples/manifest/ManifestTest.WatchApplicationElement_Icon_Valid/tizen-manifest.xml b/src/unit_tests/test_samples/manifest/ManifestTest.WatchApplicationElement_Icon_Valid/tizen-manifest.xml
new file mode 100644 (file)
index 0000000..4971e4e
--- /dev/null
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<manifest xmlns="http://tizen.org/ns/packages" api-version="2.3" package="package0id" version="1.0.0">
+    <watch-application appid="package0id.appid" exec="testapp" type="capp">
+        <icon>test_icon.png</icon>
+    </watch-application>
+</manifest>
diff --git a/src/unit_tests/test_samples/manifest/ManifestTest.WatchApplicationElement_Label_Invalid/tizen-manifest.xml b/src/unit_tests/test_samples/manifest/ManifestTest.WatchApplicationElement_Label_Invalid/tizen-manifest.xml
new file mode 100644 (file)
index 0000000..7c9b8d3
--- /dev/null
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<manifest xmlns="http://tizen.org/ns/packages" api-version="2.3" package="package0id" version="1.0.0">
+    <watch-application appid="package0id.appid" exec="testapp" type="capp">
+        <label></label>
+    </watch-application>
+</manifest>
diff --git a/src/unit_tests/test_samples/manifest/ManifestTest.WatchApplicationElement_Label_Missing/tizen-manifest.xml b/src/unit_tests/test_samples/manifest/ManifestTest.WatchApplicationElement_Label_Missing/tizen-manifest.xml
new file mode 100644 (file)
index 0000000..8e9bcce
--- /dev/null
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<manifest xmlns="http://tizen.org/ns/packages" api-version="2.3" package="package0id" version="1.0.0">
+    <watch-application appid="package0id.appid" exec="testapp" type="capp">
+    </watch-application>
+</manifest>
diff --git a/src/unit_tests/test_samples/manifest/ManifestTest.WatchApplicationElement_Label_Valid/tizen-manifest.xml b/src/unit_tests/test_samples/manifest/ManifestTest.WatchApplicationElement_Label_Valid/tizen-manifest.xml
new file mode 100644 (file)
index 0000000..bcd1ec8
--- /dev/null
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<manifest xmlns="http://tizen.org/ns/packages" api-version="2.3" package="package0id" version="1.0.0">
+    <watch-application appid="package0id.appid" exec="testapp" type="capp">
+        <label>label</label>
+    </watch-application>
+</manifest>
diff --git a/src/unit_tests/test_samples/manifest/ManifestTest.WatchApplicationElement_Valid/tizen-manifest.xml b/src/unit_tests/test_samples/manifest/ManifestTest.WatchApplicationElement_Valid/tizen-manifest.xml
new file mode 100644 (file)
index 0000000..8e9bcce
--- /dev/null
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<manifest xmlns="http://tizen.org/ns/packages" api-version="2.3" package="package0id" version="1.0.0">
+    <watch-application appid="package0id.appid" exec="testapp" type="capp">
+    </watch-application>
+</manifest>