2 * Copyright (c) 2017 Samsung Electronics Co., Ltd
4 * Licensed under the Flora License, Version 1.1 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
8 * http://floralicense.org/license/
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
17 using LibTVRefCommonPortable.Utils;
22 namespace LibTVRefCommonPortable.Stubs
25 /// A unit test stub for FileSystemUtils
27 public class FileSystemAPITestStub : IFileSystemAPIs
30 /// A directory path which should be used for app data storing.
32 public string AppDataStorage
36 return "test_app_data_path/";
41 /// A directory path which should be used for app resource storing.
43 public string AppResourceStorage
47 return "test_app_resource_path/";
52 /// A directory path which should be used for sharing between apps.
54 public string PlatformShareStorage
58 return "test_platform_share_path/";
63 /// A method closes the file.
65 /// <param name="stream">A file descriptor</param>
66 public void CloseFile(Stream stream)
71 /// A method flushing the stream to write remains.
73 /// <param name="stream">A file descriptor</param>
74 public void Flush(Stream stream)
79 /// A method checks if a file existence in the file system.
81 /// <param name="filePath">A file path</param>
82 /// <returns>An existence of the file</returns>
83 public bool IsFileExist(string filePath)
89 /// A method checks if file is read to use.
91 /// <param name="filePath">A file path</param>
92 /// <returns>A status of ready</returns>
93 public bool IsFileReady(string filePath)
99 /// A method opens a file on the given mode.
101 /// <param name="filePath">A file path</param>
102 /// <param name="mode">An opening mode</param>
103 /// <returns>A file descriptor</returns>
104 public Stream OpenFile(string filePath, UtilFileMode mode)
106 if (mode != UtilFileMode.Open)
108 throw new NotImplementedException();
111 if (filePath.Contains("pinned_apps_info"))
113 StringBuilder pinnedApps = new StringBuilder();
115 pinnedApps.Append("<?xml version=\"1.0\" encoding=\"utf-8\"?>");
116 pinnedApps.Append("<ArrayOfAppShortcutInfo");
117 pinnedApps.Append(" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"");
118 pinnedApps.Append(" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\">");
119 pinnedApps.Append(" <AppShortcutInfo>");
120 pinnedApps.Append(" <AppID>org.tizen.xahome</AppID>");
121 pinnedApps.Append(" </AppShortcutInfo>");
122 pinnedApps.Append(" <AppShortcutInfo>");
123 pinnedApps.Append(" <AppID>org.tizen.xaapps</AppID>");
124 pinnedApps.Append(" </AppShortcutInfo>");
125 pinnedApps.Append(" <AppShortcutInfo>");
126 pinnedApps.Append(" <AppID>org.tizen.xamediahub</AppID>");
127 pinnedApps.Append(" </AppShortcutInfo>");
128 pinnedApps.Append(" <AppShortcutInfo>");
129 pinnedApps.Append(" <AppID>org.tizen.settings</AppID>");
130 pinnedApps.Append(" </AppShortcutInfo>");
131 pinnedApps.Append(" <AppShortcutInfo>");
132 pinnedApps.Append(" <AppID>org.tizen.example.TocToc.Tizen</AppID>");
133 pinnedApps.Append(" </AppShortcutInfo>");
134 pinnedApps.Append(" <AppShortcutInfo>");
135 pinnedApps.Append(" <AppID>org.tizen.example.YouTube.Tizen</AppID>");
136 pinnedApps.Append(" </AppShortcutInfo>");
137 pinnedApps.Append(" <AppShortcutInfo>");
138 pinnedApps.Append(" <AppID>org.tizen.example.Toda.Tizen</AppID>");
139 pinnedApps.Append(" </AppShortcutInfo>");
140 pinnedApps.Append(" <AppShortcutInfo>");
141 pinnedApps.Append(" <AppID>org.tizen.example.Butterfly4.Tizen</AppID>");
142 pinnedApps.Append(" </AppShortcutInfo>");
143 pinnedApps.Append(" <AppShortcutInfo>");
144 pinnedApps.Append(" <AppID>org.tizen.example.Butterfly5.Tizen</AppID>");
145 pinnedApps.Append(" </AppShortcutInfo>");
146 pinnedApps.Append(" <AppShortcutInfo>");
147 pinnedApps.Append(" <AppID>org.tizen.example.Butterfly6.Tizen</AppID>");
148 pinnedApps.Append(" </AppShortcutInfo>");
149 pinnedApps.Append(" <AppShortcutInfo>");
150 pinnedApps.Append(" <AppID>org.tizen.example.Butterfly7.Tizen</AppID>");
151 pinnedApps.Append(" </AppShortcutInfo>");
152 pinnedApps.Append(" <AppShortcutInfo>");
153 pinnedApps.Append(" <AppID>org.tizen.example.Butterfly8.Tizen</AppID>");
154 pinnedApps.Append(" </AppShortcutInfo>");
155 pinnedApps.Append(" <AppShortcutInfo>");
156 pinnedApps.Append(" <AppID>org.tizen.example.Butterfly9.Tizen</AppID>");
157 pinnedApps.Append(" </AppShortcutInfo>");
158 pinnedApps.Append(" <AppShortcutInfo>");
159 pinnedApps.Append(" <AppID>org.tizen.example.Butterfly10.Tizen</AppID>");
160 pinnedApps.Append(" </AppShortcutInfo>");
161 pinnedApps.Append(" <AppShortcutInfo>");
162 pinnedApps.Append(" <AppID>org.tizen.example.Butterfly11.Tizen</AppID>");
163 pinnedApps.Append(" </AppShortcutInfo>");
164 pinnedApps.Append(" <AppShortcutInfo>");
165 pinnedApps.Append(" <AppID></AppID>");
166 pinnedApps.Append(" </AppShortcutInfo>");
167 pinnedApps.Append("</ArrayOfAppShortcutInfo>");
169 MemoryStream stream = new MemoryStream();
170 StreamWriter writer = new StreamWriter(stream);
171 writer.Write(pinnedApps.ToString());
177 throw new NotImplementedException();