581953cd45a1521be48925808532901724d03d38
[platform/framework/web/crosswalk.git] / src / xwalk / application / common / manifest_handlers / unittest_util.cc
1 // Copyright (c) 2014 Samsung Electronics Co., Ltd All Rights Reserved
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 #include "xwalk/application/common/manifest_handlers/unittest_util.h"
6
7 #include <string>
8 #include "xwalk/application/common/application_manifest_constants.h"
9
10 namespace xwalk {
11
12 namespace manifest_keys = application_manifest_keys;
13 namespace widget_keys = application_widget_keys;
14
15 namespace application {
16
17 namespace {
18
19 const char kDefaultVersion[] = "0";
20 const char kDefaultName[] = "no name";
21
22 #if defined(OS_TIZEN)
23
24 const char kDefaultPackageId[] = "abcdefghij";
25 const char kDefaultApplicationName[] = "noname";
26 const char kDefaultRequiredVersion[] = "0";
27
28 #endif  // defined(OS_TIZEN)
29
30 std::string DotConnect(const std::string& first, const std::string& second) {
31   return first + '.' + second;
32 }
33
34 }  // namespace
35
36 scoped_ptr<base::DictionaryValue> CreateDefaultManifestConfig() {
37   scoped_ptr<base::DictionaryValue> manifest(new base::DictionaryValue());
38
39   manifest->SetString(manifest_keys::kXWalkVersionKey, kDefaultVersion);
40   manifest->SetString(manifest_keys::kNameKey, kDefaultName);
41
42   return manifest.Pass();
43 }
44
45 scoped_ptr<base::DictionaryValue> CreateDefaultWidgetConfig() {
46   scoped_ptr<base::DictionaryValue> manifest(new base::DictionaryValue());
47
48   // widget attributes
49
50   manifest->SetString(
51       DotConnect(widget_keys::kWidgetKey, widget_keys::kNamespaceKey),
52       kW3CNamespacePrefix);
53   manifest->SetString(widget_keys::kVersionKey, kDefaultVersion);
54   manifest->SetString(widget_keys::kNameKey, kDefaultName);
55
56 #if defined(OS_TIZEN)
57
58   // widget.application attributes
59
60   manifest->SetString(
61       DotConnect(widget_keys::kTizenApplicationKey,
62                  widget_keys::kNamespaceKey),
63       kTizenNamespacePrefix);
64   manifest->SetString(
65       DotConnect(widget_keys::kTizenApplicationKey,
66                  widget_keys::kTizenApplicationIdKey),
67       DotConnect(kDefaultPackageId, kDefaultApplicationName));
68   manifest->SetString(
69       DotConnect(widget_keys::kTizenApplicationKey,
70                  widget_keys::kTizenApplicationPackageKey),
71       kDefaultPackageId);
72   manifest->SetString(
73       DotConnect(widget_keys::kTizenApplicationKey,
74                  widget_keys::kTizenApplicationRequiredVersionKey),
75       kDefaultRequiredVersion);
76
77 #endif
78
79   return manifest.Pass();
80 }
81
82 scoped_refptr<ApplicationData> CreateApplication(Manifest::Type type,
83     const base::DictionaryValue& manifest) {
84   std::string error;
85   scoped_refptr<ApplicationData> application = ApplicationData::Create(
86       base::FilePath(), std::string(), ApplicationData::LOCAL_DIRECTORY,
87       make_scoped_ptr(new Manifest(make_scoped_ptr(manifest.DeepCopy()), type)),
88       &error);
89   return application;
90 }
91
92 }  // namespace application
93 }  // namespace xwalk