Release 9.0.0.16429
[platform/core/csapi/tizenfx.git] / test / Tizen.NUI.Tests / Tizen.NUI.Devel.Tests / testcase / public / Theme / TSTheme.cs
1 using NUnit.Framework;
2 using System;
3 using System.Collections.Generic;
4 using Tizen.NUI.BaseComponents;
5 using Tizen.NUI.Binding;
6
7 namespace Tizen.NUI.Devel.Tests
8 {
9     using tlog = Tizen.Log;
10
11     [TestFixture]
12     [Description("public/Theme/Theme")]
13     internal class PublicThemeTest
14     {
15         private const string tag = "NUITEST";
16
17         [SetUp]
18         public void Init()
19         {
20             tlog.Info(tag, "Init() is called!");
21         }
22
23         [TearDown]
24         public void Destroy()
25         {
26             tlog.Info(tag, "Destroy() is called!");
27         }
28
29         [Test]
30         [Category("P1")]
31         [Description("Create a Theme object.")]
32         [Property("SPEC", "Tizen.NUI.Theme.Theme C")]
33         [Property("SPEC_URL", "-")]
34         [Property("CRITERIA", "CONSTR")]
35         [Property("COVPARAM", "")]
36         public void ThemeConstructor()
37         {
38             tlog.Debug(tag, $"ThemeConstructor START");
39
40             Theme a1 = new Theme("");
41             Theme b1 = new Theme("/root/noexist.xml");
42             Theme C1 = new Theme("/etc/info.ini");
43
44             tlog.Debug(tag, $"ThemeConstructor END (OK)");
45             Assert.Pass("ThemeConstructor");
46         }
47
48         [Test]
49         [Category("P1")]
50         [Description("test Theme BasedOn.")]
51         [Property("SPEC", "Tizen.NUI.Theme.BasedOn A")]
52         [Property("SPEC_URL", "-")]
53         [Property("CRITERIA", "PRW")]
54         [Property("COVPARAM", "")]
55         public void ThemeBasedOn()
56         {
57             tlog.Debug(tag, $"ThemeBasedOn START");
58             Theme a1 = new Theme();
59
60             string b1 = a1.BasedOn;
61             a1.BasedOn = b1;
62
63             tlog.Debug(tag, $"ThemeBasedOn END (OK)");
64             Assert.Pass("ThemeBasedOn");
65         }
66
67         [Test]
68         [Category("P1")]
69         [Description("test Theme IsResourcesCreated .")]
70         [Property("SPEC", "Tizen.NUI.Theme.IsResourcesCreated  A")]
71         [Property("SPEC_URL", "-")]
72         [Property("CRITERIA", "PRW")]
73         [Property("COVPARAM", "")]
74         public void ThemeIsResourcesCreated()
75         {
76             tlog.Debug(tag, $"ThemeIsResourcesCreated START");
77             Theme a1 = new Theme();
78
79             bool b1 = a1.IsResourcesCreated;
80
81             tlog.Debug(tag, $"ThemeIsResourcesCreated END (OK)");
82             Assert.Pass("ThemeIsResourcesCreated");
83         }
84
85         [Test]
86         [Category("P1")]
87         [Description("test Theme Resources .")]
88         [Property("SPEC", "Tizen.NUI.Theme.Resources  A")]
89         [Property("SPEC_URL", "-")]
90         [Property("CRITERIA", "PRW")]
91         [Property("COVPARAM", "")]
92         public void ThemeResources()
93         {
94             tlog.Debug(tag, $"ThemeResources START");
95             Theme a1 = new Theme();
96
97             ResourceDictionary b1 = a1.Resources;
98
99             tlog.Debug(tag, $"ThemeResources END (OK)");
100             Assert.Pass("ThemeResources");
101         }
102
103         //[Test]
104         //[Category("P1")]
105         //[Description("test Theme this .")]
106         //[Property("SPEC", "Tizen.NUI.Theme.this A")]
107         //[Property("SPEC_URL", "-")]
108         //[Property("CRITERIA", "PRW")]
109         //[Property("COVPARAM", "")]
110         //public void Themethis()
111         //{
112         //    tlog.Debug(tag, $"Themethis START");
113         //    Theme a1 = new Theme();
114
115         //    ViewStyle b1 = a1.styleName;
116
117         //    tlog.Debug(tag, $"Themethis END (OK)");
118         //    Assert.Pass("Themethis");
119         //}
120
121         [Test]
122         [Category("P1")]
123         [Description("test Theme Clear .")]
124         [Property("SPEC", "Tizen.NUI.Theme.Clear  M")]
125         [Property("SPEC_URL", "-")]
126         [Property("CRITERIA", "MR")]
127         [Property("COVPARAM", "")]
128         public void ThemeClear()
129         {
130             tlog.Debug(tag, $"ThemeClear START");
131             Theme a1 = new Theme();
132
133             a1.Clear();
134
135             tlog.Debug(tag, $"ThemeClear END (OK)");
136             Assert.Pass("ThemeClear");
137         }
138
139         [Test]
140         [Category("P1")]
141         [Description("test Theme HasStyle .")]
142         [Property("SPEC", "Tizen.NUI.Theme.HasStyle  M")]
143         [Property("SPEC_URL", "-")]
144         [Property("CRITERIA", "MR")]
145         [Property("COVPARAM", "")]
146         public void ThemeHasStyle()
147         {
148             tlog.Debug(tag, $"ThemeHasStyle START");
149             Theme a1 = new Theme();
150
151             a1.HasStyle("red");
152
153             tlog.Debug(tag, $"ThemeHasStyle END (OK)");
154             Assert.Pass("ThemeHasStyle");
155         }
156
157         [Test]
158         [Category("P1")]
159         [Description("test Theme RemoveStyle .")]
160         [Property("SPEC", "Tizen.NUI.Theme.RemoveStyle  M")]
161         [Property("SPEC_URL", "-")]
162         [Property("CRITERIA", "MR")]
163         [Property("COVPARAM", "")]
164         public void ThemeRemoveStyle()
165         {
166             tlog.Debug(tag, $"ThemeRemoveStyle START");
167             Theme a1 = new Theme();
168
169             a1.RemoveStyle("red");
170
171             tlog.Debug(tag, $"ThemeRemoveStyle END (OK)");
172             Assert.Pass("ThemeRemoveStyle");
173         }
174
175         [Test]
176         [Category("P1")]
177         [Description("test Theme AddStyle .")]
178         [Property("SPEC", "Tizen.NUI.Theme.AddStyle  M")]
179         [Property("SPEC_URL", "-")]
180         [Property("CRITERIA", "MR")]
181         [Property("COVPARAM", "")]
182         public void ThemeAddStyle()
183         {
184             tlog.Debug(tag, $"ThemeAddStyle START");
185             Theme a1 = new Theme();
186
187             ViewStyle v1 = new ViewStyle();
188             a1.AddStyle("red", v1);
189
190             a1.AddStyle(null, v1);
191
192             tlog.Debug(tag, $"ThemeAddStyle END (OK)");
193             Assert.Pass("ThemeAddStyle");
194         }
195
196         [Test]
197         [Category("P1")]
198         [Description("test Theme Clone .")]
199         [Property("SPEC", "Tizen.NUI.Theme.Clone  M")]
200         [Property("SPEC_URL", "-")]
201         [Property("CRITERIA", "MR")]
202         [Property("COVPARAM", "")]
203         public void ThemeClone()
204         {
205             tlog.Debug(tag, $"ThemeClone START");
206             Theme a1 = new Theme();
207
208             a1.Clone();
209
210             tlog.Debug(tag, $"ThemeAddStyle END (OK)");
211             Assert.Pass("ThemeAddStyle");
212         }
213
214         [Test]
215         [Category("P1")]
216         [Description("test Theme Merge .")]
217         [Property("SPEC", "Tizen.NUI.Theme.Merge  M")]
218         [Property("SPEC_URL", "-")]
219         [Property("CRITERIA", "MR")]
220         [Property("COVPARAM", "")]
221         public void ThemeMerge()
222         {
223             tlog.Debug(tag, $"ThemeMerge START");
224             Theme a1 = new Theme();
225
226             a1.Merge("./opt/etc/skel/apps_rw/mobilebff/tizen-manifest.xml");
227             Theme t1 = new Theme();
228             a1.Merge(t1);
229
230             Theme t2 = null;
231             a1.Merge(t2);
232
233             tlog.Debug(tag, $"ThemeMerge END (OK)");
234             Assert.Pass("ThemeMerge");
235         }
236
237         [Test]
238         [Category("P1")]
239         [Description("test Theme MergeWithoutClone .")]
240         [Property("SPEC", "Tizen.NUI.Theme.MergeWithoutClone  M")]
241         [Property("SPEC_URL", "-")]
242         [Property("CRITERIA", "MR")]
243         [Property("COVPARAM", "")]
244         public void ThemeMergeWithoutClone()
245         {
246             tlog.Debug(tag, $"ThemeMergeWithoutClone START");
247             Theme a1 = new Theme();
248             Theme b1 = new Theme();
249
250             Theme t2 = null;
251             a1.Merge(t2);
252
253             string tmp = a1.Id;
254             a1.Id = null;
255
256             a1.Merge(b1);
257
258             a1.Id = tmp;
259             tmp = a1.Version;
260             a1.Version = null;
261             a1.Merge(b1);
262
263             tlog.Debug(tag, $"ThemeMergeWithoutClone END (OK)");
264             Assert.Pass("ThemeMergeWithoutClone");
265         }
266
267         [Test]
268         [Category("P1")]
269         [Description("test Theme ApplyExternalTheme .")]
270         [Property("SPEC", "Tizen.NUI.Theme.ApplyExternalTheme  M")]
271         [Property("SPEC_URL", "-")]
272         [Property("CRITERIA", "MR")]
273         [Property("COVPARAM", "")]
274         public void ThemeApplyExternalTheme()
275         {
276             tlog.Debug(tag, $"ThemeApplyExternalTheme START");
277             Theme a1 = new Theme();
278             Theme b1 = new Theme();
279
280             Dictionary<string, string> theme = new Dictionary<string, string>
281             {
282                 { "aaa", "111" },
283                 { "bbb", "222" }
284             };
285
286             DictionaryExternalTheme c1 = new DictionaryExternalTheme("myid", "myversion", theme);
287
288             Type componentType = typeof(string);
289             Type styleType = typeof(string);
290             ExternalThemeKeyList e1 = new ExternalThemeKeyList(componentType, styleType);
291
292             HashSet<ExternalThemeKeyList> keyListSet = new HashSet<ExternalThemeKeyList>
293             {
294                 e1
295             };
296
297             a1.ApplyExternalTheme(c1, keyListSet);
298             a1.ApplyExternalTheme(c1, null);
299
300             tlog.Debug(tag, $"ThemeApplyExternalTheme END (OK)");
301             Assert.Pass("ThemeApplyExternalTheme");
302         }
303
304         [Test]
305         [Category("P1")]
306         [Description("test Theme HasSameIdAndVersion .")]
307         [Property("SPEC", "Tizen.NUI.Theme.HasSameIdAndVersion  M")]
308         [Property("SPEC_URL", "-")]
309         [Property("CRITERIA", "MR")]
310         [Property("COVPARAM", "")]
311         public void ThemeHasSameIdAndVersion()
312         {
313             tlog.Debug(tag, $"ThemeHasSameIdAndVersion START");
314             Theme a1 = new Theme();
315             a1.HasSameIdAndVersion(null);
316
317             tlog.Debug(tag, $"ThemeHasSameIdAndVersion END (OK)");
318             Assert.Pass("ThemeHasSameIdAndVersion");
319         }
320         [Test]
321         [Category("P1")]
322         [Description("test Theme OnThemeResourcesChanged .")]
323         [Property("SPEC", "Tizen.NUI.Theme.OnThemeResourcesChanged  M")]
324         [Property("SPEC_URL", "-")]
325         [Property("CRITERIA", "MR")]
326         [Property("COVPARAM", "")]
327         public void ThemeOnThemeResourcesChanged()
328         {
329             tlog.Debug(tag, $"ThemeOnThemeResourcesChanged START");
330             Theme a1 = new Theme();
331
332             a1.OnThemeResourcesChanged();
333
334             tlog.Debug(tag, $"ThemeOnThemeResourcesChanged END (OK)");
335             Assert.Pass("ThemeOnThemeResourcesChanged");
336         }
337     }
338 }
339