Manifest tests - widget-application 82/61182/3
authorTomasz Iwanek <t.iwanek@samsung.com>
Fri, 4 Mar 2016 08:48:36 +0000 (09:48 +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.WidgetApplicationElement*

Passrate should be: 15/16

Requires:
 - https://review.tizen.org/gerrit/61181
 - https://review.tizen.org/gerrit/61180

Change-Id: I4eadcfe0d365eb8b7d38f568c15755703125ab41

20 files changed:
src/unit_tests/CMakeLists.txt
src/unit_tests/manifest_test_service_application.cc
src/unit_tests/manifest_test_ui_application.cc
src/unit_tests/manifest_test_widget_application.cc [new file with mode: 0644]
src/unit_tests/test_samples/manifest/ManifestTest.WidgetApplicationElement_Appid_Invalid/tizen-manifest.xml [new file with mode: 0644]
src/unit_tests/test_samples/manifest/ManifestTest.WidgetApplicationElement_Appid_Missing/tizen-manifest.xml [new file with mode: 0644]
src/unit_tests/test_samples/manifest/ManifestTest.WidgetApplicationElement_Icon_Invalid/tizen-manifest.xml [new file with mode: 0644]
src/unit_tests/test_samples/manifest/ManifestTest.WidgetApplicationElement_Icon_Missing/tizen-manifest.xml [new file with mode: 0644]
src/unit_tests/test_samples/manifest/ManifestTest.WidgetApplicationElement_Icon_Valid/tizen-manifest.xml [new file with mode: 0644]
src/unit_tests/test_samples/manifest/ManifestTest.WidgetApplicationElement_Label_Lang_Invalid/tizen-manifest.xml [new file with mode: 0644]
src/unit_tests/test_samples/manifest/ManifestTest.WidgetApplicationElement_Label_Many/tizen-manifest.xml [new file with mode: 0644]
src/unit_tests/test_samples/manifest/ManifestTest.WidgetApplicationElement_Label_Many_Invalid/tizen-manifest.xml [new file with mode: 0644]
src/unit_tests/test_samples/manifest/ManifestTest.WidgetApplicationElement_Label_Missing/tizen-manifest.xml [new file with mode: 0644]
src/unit_tests/test_samples/manifest/ManifestTest.WidgetApplicationElement_Label_Text_Invalid/tizen-manifest.xml [new file with mode: 0644]
src/unit_tests/test_samples/manifest/ManifestTest.WidgetApplicationElement_Label_Valid/tizen-manifest.xml [new file with mode: 0644]
src/unit_tests/test_samples/manifest/ManifestTest.WidgetApplicationElement_Main_Invalid/tizen-manifest.xml [new file with mode: 0644]
src/unit_tests/test_samples/manifest/ManifestTest.WidgetApplicationElement_Main_Invalid_BothMain/tizen-manifest.xml [new file with mode: 0644]
src/unit_tests/test_samples/manifest/ManifestTest.WidgetApplicationElement_Main_TakeFirst/tizen-manifest.xml [new file with mode: 0644]
src/unit_tests/test_samples/manifest/ManifestTest.WidgetApplicationElement_Main_TakeMarked/tizen-manifest.xml [new file with mode: 0644]
src/unit_tests/test_samples/manifest/ManifestTest.WidgetApplicationElement_Valid/tizen-manifest.xml [new file with mode: 0644]

index c09ddc3db7d98e129235984cf82391bbe1c519b1..a1fb8e6c79de39c70eb4f053a153f5e1e995ea47 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_widget_application.cc
 )
 
 TARGET_INCLUDE_DIRECTORIES(${TARGET_SMOKE_TEST} PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/../)
index f5fbeca356a3ece6055ce530497d02a0df1e38d3..11cac23c5165cdf07ba93f1e226bd7c26108f2dd 100644 (file)
@@ -23,6 +23,7 @@ TEST_F(ManifestTest, ServiceApplicationElement_Valid) {
   application_x* app = *apps.begin();
   ASSERT_CSTR_EQ(app->appid, "package0id.appid");
   ASSERT_CSTR_EQ(app->component_type, "svcapp");
+  ASSERT_CSTR_EQ(app->mainapp, "true");
 }
 
 TEST_F(ManifestTest, ServiceApplicationElement_Appid_Missing) {
index 95748492a55df572bc5aa5dd0c23ce6a0a395d3b..2f77f30954ccd453b62696d88e97057957520a83 100644 (file)
@@ -23,6 +23,7 @@ TEST_F(ManifestTest, UIApplicationElement_Valid) {
   application_x* app = *apps.begin();
   ASSERT_CSTR_EQ(app->appid, "package0id.appid");
   ASSERT_CSTR_EQ(app->component_type, "uiapp");
+  ASSERT_CSTR_EQ(app->mainapp, "true");
 }
 
 TEST_F(ManifestTest, UIApplicationElement_MissingNoApp) {
diff --git a/src/unit_tests/manifest_test_widget_application.cc b/src/unit_tests/manifest_test_widget_application.cc
new file mode 100644 (file)
index 0000000..fc6a32d
--- /dev/null
@@ -0,0 +1,165 @@
+// 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, WidgetApplicationElement_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, "widgetapp");
+}
+
+TEST_F(ManifestTest, WidgetApplicationElement_Appid_Missing) {
+  StepParseRunner runner(GetMyName());
+  ASSERT_FALSE(runner.Run());
+}
+
+TEST_F(ManifestTest, WidgetApplicationElement_Appid_Invalid) {
+  StepParseRunner runner(GetMyName());
+  ASSERT_FALSE(runner.Run());
+}
+
+TEST_F(ManifestTest, WidgetApplicationElement_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, WidgetApplicationElement_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, WidgetApplicationElement_Label_Text_Invalid) {
+  StepParseRunner runner(GetMyName());
+  ASSERT_FALSE(runner.Run());
+}
+
+TEST_F(ManifestTest, WidgetApplicationElement_Label_Lang_Invalid) {
+  StepParseRunner runner(GetMyName());
+  ASSERT_FALSE(runner.Run());
+}
+
+TEST_F(ManifestTest, WidgetApplicationElement_Label_Many) {
+  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), 2);
+  ASSERT_CSTR_EQ((*labels.begin())->text, "label");
+  ASSERT_CSTR_EQ((*labels.begin())->lang, DEFAULT_LOCALE);
+  ASSERT_CSTR_EQ((*++labels.begin())->text, "label_GB");
+  ASSERT_CSTR_EQ((*++labels.begin())->lang, "en-GB");
+}
+
+TEST_F(ManifestTest, WidgetApplicationElement_Label_Many_Invalid) {
+  StepParseRunner runner(GetMyName());
+  ASSERT_FALSE(runner.Run());
+}
+
+TEST_F(ManifestTest, WidgetApplicationElement_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, WidgetApplicationElement_Icon_Invalid) {
+  StepParseRunner runner(GetMyName());
+  ASSERT_FALSE(runner.Run());
+}
+
+TEST_F(ManifestTest, WidgetApplicationElement_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, WidgetApplicationElement_Main_Invalid) {
+  StepParseRunner runner(GetMyName());
+  ASSERT_FALSE(runner.Run());
+}
+
+TEST_F(ManifestTest, WidgetApplicationElement_Main_Invalid_BothMain) {
+  StepParseRunner runner(GetMyName());
+  ASSERT_FALSE(runner.Run());
+}
+
+TEST_F(ManifestTest, WidgetApplicationElement_Main_TakeFirst) {
+  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), 2);
+  application_x* app1 = *apps.begin();
+  application_x* app2 = *++apps.begin();
+  ASSERT_CSTR_EQ(app1->appid, "package0id.appid1");
+  ASSERT_CSTR_EQ(app1->mainapp, "true");
+  ASSERT_CSTR_EQ(app2->appid, "package0id.appid2");
+  ASSERT_CSTR_EQ(app2->mainapp, "false");
+  ASSERT_CSTR_EQ(m->mainapp_id, "package0id.appid1");
+}
+
+TEST_F(ManifestTest, WidgetApplicationElement_Main_TakeMarked) {
+  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), 2);
+  application_x* app1 = *apps.begin();
+  application_x* app2 = *++apps.begin();
+  ASSERT_CSTR_EQ(app1->appid, "package0id.appid1");
+  ASSERT_CSTR_EQ(app1->mainapp, "false");
+  ASSERT_CSTR_EQ(app2->appid, "package0id.appid2");
+  ASSERT_CSTR_EQ(app2->mainapp, "true");
+  ASSERT_CSTR_EQ(m->mainapp_id, "package0id.appid2");
+}
+
+// preview, update-period, support-size are supposed to be parsed by plugin
diff --git a/src/unit_tests/test_samples/manifest/ManifestTest.WidgetApplicationElement_Appid_Invalid/tizen-manifest.xml b/src/unit_tests/test_samples/manifest/ManifestTest.WidgetApplicationElement_Appid_Invalid/tizen-manifest.xml
new file mode 100644 (file)
index 0000000..bf08f47
--- /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">
+    <widget-application appid="package/id.appid" exec="testapp" type="capp">
+    </widget-application>
+</manifest>
diff --git a/src/unit_tests/test_samples/manifest/ManifestTest.WidgetApplicationElement_Appid_Missing/tizen-manifest.xml b/src/unit_tests/test_samples/manifest/ManifestTest.WidgetApplicationElement_Appid_Missing/tizen-manifest.xml
new file mode 100644 (file)
index 0000000..da37c53
--- /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">
+    <widget-application exec="testapp" type="capp">
+    </widget-application>
+</manifest>
diff --git a/src/unit_tests/test_samples/manifest/ManifestTest.WidgetApplicationElement_Icon_Invalid/tizen-manifest.xml b/src/unit_tests/test_samples/manifest/ManifestTest.WidgetApplicationElement_Icon_Invalid/tizen-manifest.xml
new file mode 100644 (file)
index 0000000..0324d67
--- /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">
+    <widget-application appid="package0id.appid" exec="testapp" type="capp">
+        <icon />
+    </widget-application>
+</manifest>
diff --git a/src/unit_tests/test_samples/manifest/ManifestTest.WidgetApplicationElement_Icon_Missing/tizen-manifest.xml b/src/unit_tests/test_samples/manifest/ManifestTest.WidgetApplicationElement_Icon_Missing/tizen-manifest.xml
new file mode 100644 (file)
index 0000000..55e6da9
--- /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">
+    <widget-application appid="package0id.appid" exec="testapp" type="capp">
+    </widget-application>
+</manifest>
diff --git a/src/unit_tests/test_samples/manifest/ManifestTest.WidgetApplicationElement_Icon_Valid/tizen-manifest.xml b/src/unit_tests/test_samples/manifest/ManifestTest.WidgetApplicationElement_Icon_Valid/tizen-manifest.xml
new file mode 100644 (file)
index 0000000..8dfbf62
--- /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">
+    <widget-application appid="package0id.appid" exec="testapp" type="capp">
+        <icon>test_icon.png</icon>
+    </widget-application>
+</manifest>
diff --git a/src/unit_tests/test_samples/manifest/ManifestTest.WidgetApplicationElement_Label_Lang_Invalid/tizen-manifest.xml b/src/unit_tests/test_samples/manifest/ManifestTest.WidgetApplicationElement_Label_Lang_Invalid/tizen-manifest.xml
new file mode 100644 (file)
index 0000000..5f9f05c
--- /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">
+    <widget-application appid="package0id.appid" exec="testapp" type="capp">
+        <label xml:lang="invalid">label</label>
+    </widget-application>
+</manifest>
diff --git a/src/unit_tests/test_samples/manifest/ManifestTest.WidgetApplicationElement_Label_Many/tizen-manifest.xml b/src/unit_tests/test_samples/manifest/ManifestTest.WidgetApplicationElement_Label_Many/tizen-manifest.xml
new file mode 100644 (file)
index 0000000..41c4707
--- /dev/null
@@ -0,0 +1,7 @@
+<?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">
+    <widget-application appid="package0id.appid" exec="testapp" type="capp">
+        <label>label</label>
+        <label xml:lang="en-GB">label_GB</label>
+    </widget-application>
+</manifest>
diff --git a/src/unit_tests/test_samples/manifest/ManifestTest.WidgetApplicationElement_Label_Many_Invalid/tizen-manifest.xml b/src/unit_tests/test_samples/manifest/ManifestTest.WidgetApplicationElement_Label_Many_Invalid/tizen-manifest.xml
new file mode 100644 (file)
index 0000000..ce72881
--- /dev/null
@@ -0,0 +1,8 @@
+<?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">
+    <widget-application appid="package0id.appid" exec="testapp" type="capp">
+        <label>label</label>
+        <label xml:lang="en-GB">label_GB</label>
+        <label xml:lang="en-US"></label>
+    </widget-application>
+</manifest>
diff --git a/src/unit_tests/test_samples/manifest/ManifestTest.WidgetApplicationElement_Label_Missing/tizen-manifest.xml b/src/unit_tests/test_samples/manifest/ManifestTest.WidgetApplicationElement_Label_Missing/tizen-manifest.xml
new file mode 100644 (file)
index 0000000..55e6da9
--- /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">
+    <widget-application appid="package0id.appid" exec="testapp" type="capp">
+    </widget-application>
+</manifest>
diff --git a/src/unit_tests/test_samples/manifest/ManifestTest.WidgetApplicationElement_Label_Text_Invalid/tizen-manifest.xml b/src/unit_tests/test_samples/manifest/ManifestTest.WidgetApplicationElement_Label_Text_Invalid/tizen-manifest.xml
new file mode 100644 (file)
index 0000000..4fb778f
--- /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">
+    <widget-application appid="package0id.appid" exec="testapp" type="capp">
+        <label></label>
+    </widget-application>
+</manifest>
diff --git a/src/unit_tests/test_samples/manifest/ManifestTest.WidgetApplicationElement_Label_Valid/tizen-manifest.xml b/src/unit_tests/test_samples/manifest/ManifestTest.WidgetApplicationElement_Label_Valid/tizen-manifest.xml
new file mode 100644 (file)
index 0000000..840b648
--- /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">
+    <widget-application appid="package0id.appid" exec="testapp" type="capp">
+        <label>label</label>
+    </widget-application>
+</manifest>
diff --git a/src/unit_tests/test_samples/manifest/ManifestTest.WidgetApplicationElement_Main_Invalid/tizen-manifest.xml b/src/unit_tests/test_samples/manifest/ManifestTest.WidgetApplicationElement_Main_Invalid/tizen-manifest.xml
new file mode 100644 (file)
index 0000000..b1a7bbb
--- /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">
+    <widget-application appid="package0id.appid" exec="testapp" type="capp" main="invalid">
+    </widget-application>
+</manifest>
diff --git a/src/unit_tests/test_samples/manifest/ManifestTest.WidgetApplicationElement_Main_Invalid_BothMain/tizen-manifest.xml b/src/unit_tests/test_samples/manifest/ManifestTest.WidgetApplicationElement_Main_Invalid_BothMain/tizen-manifest.xml
new file mode 100644 (file)
index 0000000..c1388e8
--- /dev/null
@@ -0,0 +1,7 @@
+<?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">
+    <widget-application appid="package0id.appid1" exec="testapp" type="capp" main="true">
+    </widget-application>
+    <widget-application appid="package0id.appid2" exec="testapp" type="capp" main="true">
+    </widget-application>
+</manifest>
diff --git a/src/unit_tests/test_samples/manifest/ManifestTest.WidgetApplicationElement_Main_TakeFirst/tizen-manifest.xml b/src/unit_tests/test_samples/manifest/ManifestTest.WidgetApplicationElement_Main_TakeFirst/tizen-manifest.xml
new file mode 100644 (file)
index 0000000..30db744
--- /dev/null
@@ -0,0 +1,7 @@
+<?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">
+    <widget-application appid="package0id.appid1" exec="testapp" type="capp">
+    </widget-application>
+    <widget-application appid="package0id.appid2" exec="testapp" type="capp">
+    </widget-application>
+</manifest>
diff --git a/src/unit_tests/test_samples/manifest/ManifestTest.WidgetApplicationElement_Main_TakeMarked/tizen-manifest.xml b/src/unit_tests/test_samples/manifest/ManifestTest.WidgetApplicationElement_Main_TakeMarked/tizen-manifest.xml
new file mode 100644 (file)
index 0000000..4e21373
--- /dev/null
@@ -0,0 +1,7 @@
+<?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">
+    <widget-application appid="package0id.appid1" exec="testapp" type="capp" main="false">
+    </widget-application>
+    <widget-application appid="package0id.appid2" exec="testapp" type="capp" main="true">
+    </widget-application>
+</manifest>
diff --git a/src/unit_tests/test_samples/manifest/ManifestTest.WidgetApplicationElement_Valid/tizen-manifest.xml b/src/unit_tests/test_samples/manifest/ManifestTest.WidgetApplicationElement_Valid/tizen-manifest.xml
new file mode 100644 (file)
index 0000000..55e6da9
--- /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">
+    <widget-application appid="package0id.appid" exec="testapp" type="capp">
+    </widget-application>
+</manifest>