ae14cc764d078698c8a4f3d1c39409715f535375
[platform/core/csapi/tizenfx.git] / test / Tizen.NUI.Tests / Tizen.NUI.Devel.Tests / testcase / internal / WebView / TSWebSettings.cs
1 using global::System;
2 using NUnit.Framework;
3 using NUnit.Framework.TUnit;
4 using Tizen.NUI.Components;
5 using Tizen.NUI.BaseComponents;
6 using System.Threading.Tasks;
7
8 namespace Tizen.NUI.Devel.Tests
9 {
10     using tlog = Tizen.Log;
11
12     [TestFixture]
13     [Description("internal/WebView/WebSettings")]
14     public class InternalWebSettingsTest
15     {
16         private const string tag = "NUITEST";
17         private string url = $"file://{Tizen.Applications.Application.Current.DirectoryInfo.Resource}webview/index.html";
18
19         private BaseComponents.WebView webview_ = null;
20
21         [SetUp]
22         public void Init()
23         {
24             tlog.Info(tag, "Init() is called!");
25             webview_ = new BaseComponents.WebView()
26             {
27                 Size = new Size(500, 200),
28             };
29         }
30
31         [TearDown]
32         public void Destroy()
33         {
34             tlog.Info(tag, "Destroy() is being called!");
35             webview_.Dispose();
36             tlog.Info(tag, "Destroy() is called!");
37         }
38
39         [Test]
40         [Category("P1")]
41         [Description("WebSettings MixedContentsAllowed.")]
42         [Property("SPEC", "Tizen.NUI.WebSettings.MixedContentsAllowed A")]
43         [Property("SPEC_URL", "-")]
44         [Property("CRITERIA", "PRW")]
45         [Property("COVPARAM", "")]
46         [Property("AUTHOR", "guowei.wang@samsung.com")]
47         public async Task WebSettingsMixedContentsAllowed()
48         {
49             tlog.Debug(tag, $"WebSettingsMixedContentsAllowed START");
50
51             TaskCompletionSource<bool> tcs = new TaskCompletionSource<bool>(false);
52             EventHandler<WebViewPageLoadEventArgs> onLoadFinished = (s, e) =>
53             {
54                 tcs.TrySetResult(true);
55             };
56             webview_.PageLoadFinished += onLoadFinished;
57
58             webview_.LoadUrl(url);
59             var result = await tcs.Task;
60             Assert.IsTrue(result, "PageLoadFinished event should be invoked");
61
62             webview_.PageLoadFinished -= onLoadFinished;
63
64             var webSettings = webview_.Settings;
65             tlog.Debug(tag, "MixedContentsAllowed : " + webSettings.MixedContentsAllowed);
66
67             webSettings.MixedContentsAllowed = true;
68             Assert.AreEqual(true, webSettings.MixedContentsAllowed, "Should be equal!");
69
70             webSettings.MixedContentsAllowed = false;
71             Assert.AreEqual(false, webSettings.MixedContentsAllowed, "Should be equal!");
72
73             webSettings.Dispose();
74             tlog.Debug(tag, $"WebSettingsMixedContentsAllowed END (OK)");
75         }
76
77         [Test]
78         [Category("P1")]
79         [Description("WebSettings SpatialNavigationEnabled.")]
80         [Property("SPEC", "Tizen.NUI.WebSettings.SpatialNavigationEnabled A")]
81         [Property("SPEC_URL", "-")]
82         [Property("CRITERIA", "PRW")]
83         [Property("COVPARAM", "")]
84         [Property("AUTHOR", "guowei.wang@samsung.com")]
85         public async Task WebSettingsSpatialNavigationEnabled()
86         {
87             tlog.Debug(tag, $"WebSettingsSpatialNavigationEnabled START");
88
89             TaskCompletionSource<bool> tcs = new TaskCompletionSource<bool>(false);
90             EventHandler<WebViewPageLoadEventArgs> onLoadFinished = (s, e) =>
91             {
92                 tcs.TrySetResult(true);
93             };
94             webview_.PageLoadFinished += onLoadFinished;
95
96             webview_.LoadUrl(url);
97             var result = await tcs.Task;
98             Assert.IsTrue(result, "PageLoadFinished event should be invoked");
99
100             webview_.PageLoadFinished -= onLoadFinished;
101
102             var webSettings = webview_.Settings;
103             tlog.Debug(tag, "SpatialNavigationEnabled : " + webSettings.SpatialNavigationEnabled);
104
105             webSettings.SpatialNavigationEnabled = true;
106             Assert.AreEqual(true, webSettings.SpatialNavigationEnabled, "Should be equal!");
107
108             webSettings.SpatialNavigationEnabled = false;
109             Assert.AreEqual(false, webSettings.SpatialNavigationEnabled, "Should be equal!");
110
111             webSettings.Dispose();
112             tlog.Debug(tag, $"WebSettingsSpatialNavigationEnabled END (OK)");
113         }
114
115         [Test]
116         [Category("P1")]
117         [Description("WebSettings WebSecurityEnabled.")]
118         [Property("SPEC", "Tizen.NUI.WebSettings.WebSecurityEnabled A")]
119         [Property("SPEC_URL", "-")]
120         [Property("CRITERIA", "PRW")]
121         [Property("COVPARAM", "")]
122         [Property("AUTHOR", "guowei.wang@samsung.com")]
123         public async Task WebSettingsWebSecurityEnabled()
124         {
125             tlog.Debug(tag, $"WebSettingsWebSecurityEnabled START");
126
127             TaskCompletionSource<bool> tcs = new TaskCompletionSource<bool>(false);
128             EventHandler<WebViewPageLoadEventArgs> onLoadFinished = (s, e) =>
129             {
130                 tcs.TrySetResult(true);
131             };
132             webview_.PageLoadFinished += onLoadFinished;
133
134             webview_.LoadUrl(url);
135             var result = await tcs.Task;
136             Assert.IsTrue(result, "PageLoadFinished event should be invoked");
137
138             webview_.PageLoadFinished -= onLoadFinished;
139
140             var webSettings = webview_.Settings;
141             tlog.Debug(tag, "WebSecurityEnabled : " + webSettings.WebSecurityEnabled);
142
143             webSettings.WebSecurityEnabled = true;
144             Assert.AreEqual(true, webSettings.WebSecurityEnabled, "Should be equal!");
145
146             webSettings.WebSecurityEnabled = false;
147             Assert.AreEqual(false, webSettings.WebSecurityEnabled, "Should be equal!");
148
149             webSettings.Dispose();
150             tlog.Debug(tag, $"WebSettingsWebSecurityEnabled END (OK)");
151         }
152
153         [Test]
154         [Category("P1")]
155         [Description("WebSettings CacheBuilderEnabled.")]
156         [Property("SPEC", "Tizen.NUI.WebSettings.CacheBuilderEnabled A")]
157         [Property("SPEC_URL", "-")]
158         [Property("CRITERIA", "PRW")]
159         [Property("COVPARAM", "")]
160         [Property("AUTHOR", "guowei.wang@samsung.com")]
161         public async Task WebSettingsCacheBuilderEnabled()
162         {
163             tlog.Debug(tag, $"WebSettingsCacheBuilderEnabled START");
164
165             TaskCompletionSource<bool> tcs = new TaskCompletionSource<bool>(false);
166             EventHandler<WebViewPageLoadEventArgs> onLoadFinished = (s, e) =>
167             {
168                 tcs.TrySetResult(true);
169             };
170             webview_.PageLoadFinished += onLoadFinished;
171
172             webview_.LoadUrl(url);
173             var result = await tcs.Task;
174             Assert.IsTrue(result, "PageLoadFinished event should be invoked");
175
176             webview_.PageLoadFinished -= onLoadFinished;
177
178             var webSettings = webview_.Settings;
179             tlog.Debug(tag, "CacheBuilderEnabled : " + webSettings.CacheBuilderEnabled);
180
181             webSettings.CacheBuilderEnabled = true;
182             Assert.AreEqual(true, webSettings.CacheBuilderEnabled, "Should be equal!");
183
184             webSettings.CacheBuilderEnabled = false;
185             Assert.AreEqual(false, webSettings.CacheBuilderEnabled, "Should be equal!");
186
187             webSettings.Dispose();
188             tlog.Debug(tag, $"WebSettingsCacheBuilderEnabled END (OK)");
189         }
190
191         [Test]
192         [Category("P1")]
193         [Description("WebSettings DoNotTrackEnabled.")]
194         [Property("SPEC", "Tizen.NUI.WebSettings.DoNotTrackEnabled A")]
195         [Property("SPEC_URL", "-")]
196         [Property("CRITERIA", "PRW")]
197         [Property("COVPARAM", "")]
198         [Property("AUTHOR", "guowei.wang@samsung.com")]
199         public async Task WebSettingsDoNotTrackEnabled()
200         {
201             tlog.Debug(tag, $"WebSettingsDoNotTrackEnabled START");
202
203             TaskCompletionSource<bool> tcs = new TaskCompletionSource<bool>(false);
204             EventHandler<WebViewPageLoadEventArgs> onLoadFinished = (s, e) =>
205             {
206                 tcs.TrySetResult(true);
207             };
208             webview_.PageLoadFinished += onLoadFinished;
209
210             webview_.LoadUrl(url);
211             var result = await tcs.Task;
212             Assert.IsTrue(result, "PageLoadFinished event should be invoked");
213
214             webview_.PageLoadFinished -= onLoadFinished;
215
216             var webSettings = webview_.Settings;
217             tlog.Debug(tag, "DoNotTrackEnabled : " + webSettings.DoNotTrackEnabled);
218
219             webSettings.DoNotTrackEnabled = true;
220             Assert.AreEqual(true, webSettings.DoNotTrackEnabled, "Should be equal!");
221
222             webSettings.DoNotTrackEnabled = false;
223             Assert.AreEqual(false, webSettings.DoNotTrackEnabled, "Should be equal!");
224
225             webSettings.Dispose();
226             tlog.Debug(tag, $"WebSettingsDoNotTrackEnabled END (OK)");
227         }
228
229         [Test]
230         [Category("P1")]
231         [Description("WebSettings ScrollbarThumbFocusNotificationsUsed.")]
232         [Property("SPEC", "Tizen.NUI.WebSettings.ScrollbarThumbFocusNotificationsUsed A")]
233         [Property("SPEC_URL", "-")]
234         [Property("CRITERIA", "PRW")]
235         [Property("COVPARAM", "")]
236         [Property("AUTHOR", "guowei.wang@samsung.com")]
237         public async Task WebSettingsScrollbarThumbFocusNotificationsUsed()
238         {
239             tlog.Debug(tag, $"WebSettingsScrollbarThumbFocusNotificationsUsed START");
240
241             TaskCompletionSource<bool> tcs = new TaskCompletionSource<bool>(false);
242             EventHandler<WebViewPageLoadEventArgs> onLoadFinished = (s, e) =>
243             {
244                 tcs.TrySetResult(true);
245             };
246             webview_.PageLoadFinished += onLoadFinished;
247
248             webview_.LoadUrl(url);
249             var result = await tcs.Task;
250             Assert.IsTrue(result, "PageLoadFinished event should be invoked");
251
252             webview_.PageLoadFinished -= onLoadFinished;
253
254             var webSettings = webview_.Settings;
255             tlog.Debug(tag, "ScrollbarThumbFocusNotificationsUsed : " + webSettings.ScrollbarThumbFocusNotificationsUsed);
256
257             webSettings.ScrollbarThumbFocusNotificationsUsed = true;
258             tlog.Debug(tag, "ScrollbarThumbFocusNotificationsUsed : " + webSettings.ScrollbarThumbFocusNotificationsUsed);
259
260             webSettings.DoNotTrackEnabled = false;
261             tlog.Debug(tag, "ScrollbarThumbFocusNotificationsUsed : " + webSettings.ScrollbarThumbFocusNotificationsUsed);
262
263             webSettings.Dispose();
264             tlog.Debug(tag, $"WebSettingsScrollbarThumbFocusNotificationsUsed END (OK)");
265         }
266
267         [Test]
268         [Category("P1")]
269         [Description("WebSettings FileAccessFromExternalUrlAllowed.")]
270         [Property("SPEC", "Tizen.NUI.WebSettings.FileAccessFromExternalUrlAllowed A")]
271         [Property("SPEC_URL", "-")]
272         [Property("CRITERIA", "PRW")]
273         [Property("COVPARAM", "")]
274         [Property("AUTHOR", "guowei.wang@samsung.com")]
275         public async Task WebSettingsFileAccessFromExternalUrlAllowed()
276         {
277             tlog.Debug(tag, $"WebSettingsFileAccessFromExternalUrlAllowed START");
278
279             TaskCompletionSource<bool> tcs = new TaskCompletionSource<bool>(false);
280             EventHandler<WebViewPageLoadEventArgs> onLoadFinished = (s, e) =>
281             {
282                 tcs.TrySetResult(true);
283             };
284             webview_.PageLoadFinished += onLoadFinished;
285
286             webview_.LoadUrl(url);
287             var result = await tcs.Task;
288             Assert.IsTrue(result, "PageLoadFinished event should be invoked");
289
290             webview_.PageLoadFinished -= onLoadFinished;
291
292             var webSettings = webview_.Settings;
293             tlog.Debug(tag, "FileAccessFromExternalUrlAllowed : " + webSettings.FileAccessFromExternalUrlAllowed);
294
295             webSettings.FileAccessFromExternalUrlAllowed = true;
296             Assert.AreEqual(true, webSettings.FileAccessFromExternalUrlAllowed, "Should be equal!");
297
298             webSettings.FileAccessFromExternalUrlAllowed = false;
299             Assert.AreEqual(false, webSettings.FileAccessFromExternalUrlAllowed, "Should be equal!");
300
301             webSettings.Dispose();
302             tlog.Debug(tag, $"WebSettingsFileAccessFromExternalUrlAllowed END (OK)");
303         }
304
305         [Test]
306         [Category("P1")]
307         [Description("WebSettings AutoFittingEnabled.")]
308         [Property("SPEC", "Tizen.NUI.WebSettings.AutoFittingEnabled A")]
309         [Property("SPEC_URL", "-")]
310         [Property("CRITERIA", "PRW")]
311         [Property("COVPARAM", "")]
312         [Property("AUTHOR", "guowei.wang@samsung.com")]
313         public async Task WebSettingsAutoFittingEnabled()
314         {
315             tlog.Debug(tag, $"WebSettingsAutoFittingEnabled START");
316
317             TaskCompletionSource<bool> tcs = new TaskCompletionSource<bool>(false);
318             EventHandler<WebViewPageLoadEventArgs> onLoadFinished = (s, e) =>
319             {
320                 tcs.TrySetResult(true);
321             };
322             webview_.PageLoadFinished += onLoadFinished;
323
324             webview_.LoadUrl(url);
325             var result = await tcs.Task;
326             Assert.IsTrue(result, "PageLoadFinished event should be invoked");
327
328             webview_.PageLoadFinished -= onLoadFinished;
329
330             var webSettings = webview_.Settings;
331             tlog.Debug(tag, "AutoFittingEnabled : " + webSettings.AutoFittingEnabled);
332
333             webSettings.AutoFittingEnabled = true;
334             Assert.AreEqual(true, webSettings.AutoFittingEnabled, "Should be equal!");
335
336             webSettings.AutoFittingEnabled = false;
337             Assert.AreEqual(false, webSettings.AutoFittingEnabled, "Should be equal!");
338
339             webSettings.Dispose();
340             tlog.Debug(tag, $"WebSettingsAutoFittingEnabled END (OK)");
341         }
342
343         [Test]
344         [Category("P1")]
345         [Description("WebSettings PluginsEnabled.")]
346         [Property("SPEC", "Tizen.NUI.WebSettings.PluginsEnabled A")]
347         [Property("SPEC_URL", "-")]
348         [Property("CRITERIA", "PRW")]
349         [Property("COVPARAM", "")]
350         [Property("AUTHOR", "guowei.wang@samsung.com")]
351         public async Task WebSettingsPluginsEnabled()
352         {
353             tlog.Debug(tag, $"WebSettingsPluginsEnabled START");
354
355             TaskCompletionSource<bool> tcs = new TaskCompletionSource<bool>(false);
356             EventHandler<WebViewPageLoadEventArgs> onLoadFinished = (s, e) =>
357             {
358                 tcs.TrySetResult(true);
359             };
360             webview_.PageLoadFinished += onLoadFinished;
361
362             webview_.LoadUrl(url);
363             var result = await tcs.Task;
364             Assert.IsTrue(result, "PageLoadFinished event should be invoked");
365
366             webview_.PageLoadFinished -= onLoadFinished;
367
368             var webSettings = webview_.Settings;
369             tlog.Debug(tag, "PluginsEnabled : " + webSettings.PluginsEnabled);
370
371             webSettings.PluginsEnabled = true;
372             Assert.AreEqual(true, webSettings.PluginsEnabled, "Should be equal!");
373
374             webSettings.PluginsEnabled = false;
375             Assert.AreEqual(false, webSettings.PluginsEnabled, "Should be equal!");
376
377             webSettings.Dispose();
378             tlog.Debug(tag, $"WebSettingsPluginsEnabled END (OK)");
379         }
380
381         [Test]
382         [Category("P1")]
383         [Description("WebSettings PrivateBrowsingEnabled.")]
384         [Property("SPEC", "Tizen.NUI.WebSettings.PrivateBrowsingEnabled A")]
385         [Property("SPEC_URL", "-")]
386         [Property("CRITERIA", "PRW")]
387         [Property("COVPARAM", "")]
388         [Property("AUTHOR", "guowei.wang@samsung.com")]
389         public async Task WebSettingsPrivateBrowsingEnabled()
390         {
391             tlog.Debug(tag, $"WebSettingsPrivateBrowsingEnabled START");
392
393             TaskCompletionSource<bool> tcs = new TaskCompletionSource<bool>(false);
394             EventHandler<WebViewPageLoadEventArgs> onLoadFinished = (s, e) =>
395             {
396                 tcs.TrySetResult(true);
397             };
398             webview_.PageLoadFinished += onLoadFinished;
399
400             webview_.LoadUrl(url);
401             var result = await tcs.Task;
402             Assert.IsTrue(result, "PageLoadFinished event should be invoked");
403
404             webview_.PageLoadFinished -= onLoadFinished;
405
406             var webSettings = webview_.Settings;
407             tlog.Debug(tag, "PrivateBrowsingEnabled : " + webSettings.PrivateBrowsingEnabled);
408
409             webSettings.PrivateBrowsingEnabled = true;
410             tlog.Debug(tag, "PrivateBrowsingEnabled : " + webSettings.PrivateBrowsingEnabled);
411
412             webSettings.PrivateBrowsingEnabled = false;
413             tlog.Debug(tag, "PrivateBrowsingEnabled : " + webSettings.PrivateBrowsingEnabled);
414
415             webSettings.Dispose();
416             tlog.Debug(tag, $"WebSettingsPrivateBrowsingEnabled END (OK)");
417         }
418
419         [Test]
420         [Category("P1")]
421         [Description("WebSettings LinkMagnifierEnabled.")]
422         [Property("SPEC", "Tizen.NUI.WebSettings.LinkMagnifierEnabled A")]
423         [Property("SPEC_URL", "-")]
424         [Property("CRITERIA", "PRW")]
425         [Property("COVPARAM", "")]
426         [Property("AUTHOR", "guowei.wang@samsung.com")]
427         public async Task WebSettingsLinkMagnifierEnabled()
428         {
429             tlog.Debug(tag, $"WebSettingsLinkMagnifierEnabled START");
430
431             TaskCompletionSource<bool> tcs = new TaskCompletionSource<bool>(false);
432             EventHandler<WebViewPageLoadEventArgs> onLoadFinished = (s, e) =>
433             {
434                 tcs.TrySetResult(true);
435             };
436             webview_.PageLoadFinished += onLoadFinished;
437
438             webview_.LoadUrl(url);
439             var result = await tcs.Task;
440             Assert.IsTrue(result, "PageLoadFinished event should be invoked");
441
442             webview_.PageLoadFinished -= onLoadFinished;
443
444             var webSettings = webview_.Settings;
445             tlog.Debug(tag, "LinkMagnifierEnabled : " + webSettings.LinkMagnifierEnabled);
446
447             webSettings.LinkMagnifierEnabled = true;
448             tlog.Debug(tag, "LinkMagnifierEnabled : " + webSettings.LinkMagnifierEnabled);
449
450             webSettings.LinkMagnifierEnabled = false;
451             tlog.Debug(tag, "LinkMagnifierEnabled : " + webSettings.LinkMagnifierEnabled);
452
453             webSettings.Dispose();
454             tlog.Debug(tag, $"WebSettingsLinkMagnifierEnabled END (OK)");
455         }
456
457         [Test]
458         [Category("P1")]
459         [Description("WebSettings KeypadWithoutUserActionUsed.")]
460         [Property("SPEC", "Tizen.NUI.WebSettings.KeypadWithoutUserActionUsed A")]
461         [Property("SPEC_URL", "-")]
462         [Property("CRITERIA", "PRW")]
463         [Property("COVPARAM", "")]
464         [Property("AUTHOR", "guowei.wang@samsung.com")]
465         public async Task WebSettingsKeypadWithoutUserActionUsed()
466         {
467             tlog.Debug(tag, $"WebSettingsKeypadWithoutUserActionUsed START");
468
469             TaskCompletionSource<bool> tcs = new TaskCompletionSource<bool>(false);
470             EventHandler<WebViewPageLoadEventArgs> onLoadFinished = (s, e) =>
471             {
472                 tcs.TrySetResult(true);
473             };
474             webview_.PageLoadFinished += onLoadFinished;
475
476             webview_.LoadUrl(url);
477             var result = await tcs.Task;
478             Assert.IsTrue(result, "PageLoadFinished event should be invoked");
479
480             webview_.PageLoadFinished -= onLoadFinished;
481
482             var webSettings = webview_.Settings;
483             tlog.Debug(tag, "KeypadWithoutUserActionUsed : " + webSettings.KeypadWithoutUserActionUsed);
484
485             webSettings.KeypadWithoutUserActionUsed = true;
486             Assert.AreEqual(true, webSettings.KeypadWithoutUserActionUsed, "Should be equal!");
487
488             webSettings.KeypadWithoutUserActionUsed = false;
489             Assert.AreEqual(false, webSettings.KeypadWithoutUserActionUsed, "Should be equal!");
490
491             webSettings.Dispose();
492             tlog.Debug(tag, $"WebSettingsKeypadWithoutUserActionUsed END (OK)");
493         }
494
495         [Test]
496         [Category("P1")]
497         [Description("WebSettings AutofillPasswordFormEnabled.")]
498         [Property("SPEC", "Tizen.NUI.WebSettings.AutofillPasswordFormEnabled A")]
499         [Property("SPEC_URL", "-")]
500         [Property("CRITERIA", "PRW")]
501         [Property("COVPARAM", "")]
502         [Property("AUTHOR", "guowei.wang@samsung.com")]
503         public async Task WebSettingsAutofillPasswordFormEnabled()
504         {
505             tlog.Debug(tag, $"WebSettingsAutofillPasswordFormEnabled START");
506
507             TaskCompletionSource<bool> tcs = new TaskCompletionSource<bool>(false);
508             EventHandler<WebViewPageLoadEventArgs> onLoadFinished = (s, e) =>
509             {
510                 tcs.TrySetResult(true);
511             };
512             webview_.PageLoadFinished += onLoadFinished;
513
514             webview_.LoadUrl(url);
515             var result = await tcs.Task;
516             Assert.IsTrue(result, "PageLoadFinished event should be invoked");
517
518             webview_.PageLoadFinished -= onLoadFinished;
519
520             var webSettings = webview_.Settings;
521             tlog.Debug(tag, "AutofillPasswordFormEnabled : " + webSettings.AutofillPasswordFormEnabled);
522
523             webSettings.AutofillPasswordFormEnabled = true;
524             Assert.AreEqual(true, webSettings.AutofillPasswordFormEnabled, "Should be equal!");
525
526             webSettings.AutofillPasswordFormEnabled = false;
527             Assert.AreEqual(false, webSettings.AutofillPasswordFormEnabled, "Should be equal!");
528
529             webSettings.Dispose();
530             tlog.Debug(tag, $"WebSettingsAutofillPasswordFormEnabled END (OK)");
531         }
532
533         [Test]
534         [Category("P1")]
535         [Description("WebSettings FormCandidateDataEnabled.")]
536         [Property("SPEC", "Tizen.NUI.WebSettings.FormCandidateDataEnabled A")]
537         [Property("SPEC_URL", "-")]
538         [Property("CRITERIA", "PRW")]
539         [Property("COVPARAM", "")]
540         [Property("AUTHOR", "guowei.wang@samsung.com")]
541         public async Task WebSettingsFormCandidateDataEnabled()
542         {
543             tlog.Debug(tag, $"WebSettingsFormCandidateDataEnabled START");
544
545             TaskCompletionSource<bool> tcs = new TaskCompletionSource<bool>(false);
546             EventHandler<WebViewPageLoadEventArgs> onLoadFinished = (s, e) =>
547             {
548                 tcs.TrySetResult(true);
549             };
550             webview_.PageLoadFinished += onLoadFinished;
551
552             webview_.LoadUrl(url);
553             var result = await tcs.Task;
554             Assert.IsTrue(result, "PageLoadFinished event should be invoked");
555
556             webview_.PageLoadFinished -= onLoadFinished;
557
558             var webSettings = webview_.Settings;
559             tlog.Debug(tag, "FormCandidateDataEnabled : " + webSettings.FormCandidateDataEnabled);
560
561             webSettings.FormCandidateDataEnabled = true;
562             Assert.AreEqual(true, webSettings.FormCandidateDataEnabled, "Should be equal!");
563
564             webSettings.FormCandidateDataEnabled = false;
565             Assert.AreEqual(false, webSettings.FormCandidateDataEnabled, "Should be equal!");
566
567             webSettings.Dispose();
568             tlog.Debug(tag, $"WebSettingsFormCandidateDataEnabled END (OK)");
569         }
570
571         [Test]
572         [Category("P1")]
573         [Description("WebSettings TextSelectionEnabled.")]
574         [Property("SPEC", "Tizen.NUI.WebSettings.TextSelectionEnabled A")]
575         [Property("SPEC_URL", "-")]
576         [Property("CRITERIA", "PRW")]
577         [Property("COVPARAM", "")]
578         [Property("AUTHOR", "guowei.wang@samsung.com")]
579         public async Task WebSettingsTextSelectionEnabled()
580         {
581             tlog.Debug(tag, $"WebSettingsTextSelectionEnabled START");
582
583             TaskCompletionSource<bool> tcs = new TaskCompletionSource<bool>(false);
584             EventHandler<WebViewPageLoadEventArgs> onLoadFinished = (s, e) =>
585             {
586                 tcs.TrySetResult(true);
587             };
588             webview_.PageLoadFinished += onLoadFinished;
589
590             webview_.LoadUrl(url);
591             var result = await tcs.Task;
592             Assert.IsTrue(result, "PageLoadFinished event should be invoked");
593
594             webview_.PageLoadFinished -= onLoadFinished;
595
596             var webSettings = webview_.Settings;
597             tlog.Debug(tag, "TextSelectionEnabled : " + webSettings.TextSelectionEnabled);
598
599             webSettings.TextSelectionEnabled = true;
600             Assert.AreEqual(true, webSettings.TextSelectionEnabled, "Should be equal!");
601
602             webSettings.TextSelectionEnabled = false;
603             Assert.AreEqual(false, webSettings.TextSelectionEnabled, "Should be equal!");
604
605             webSettings.Dispose();
606             tlog.Debug(tag, $"WebSettingsTextSelectionEnabled END (OK)");
607         }
608
609         [Test]
610         [Category("P1")]
611         [Description("WebSettings TextAutosizingEnabled.")]
612         [Property("SPEC", "Tizen.NUI.WebSettings.TextAutosizingEnabled A")]
613         [Property("SPEC_URL", "-")]
614         [Property("CRITERIA", "PRW")]
615         [Property("COVPARAM", "")]
616         [Property("AUTHOR", "guowei.wang@samsung.com")]
617         public async Task WebSettingsTextAutosizingEnabled()
618         {
619             tlog.Debug(tag, $"WebSettingsTextAutosizingEnabled START");
620
621             TaskCompletionSource<bool> tcs = new TaskCompletionSource<bool>(false);
622             EventHandler<WebViewPageLoadEventArgs> onLoadFinished = (s, e) =>
623             {
624                 tcs.TrySetResult(true);
625             };
626             webview_.PageLoadFinished += onLoadFinished;
627
628             webview_.LoadUrl(url);
629             var result = await tcs.Task;
630             Assert.IsTrue(result, "PageLoadFinished event should be invoked");
631
632             webview_.PageLoadFinished -= onLoadFinished;
633
634             var webSettings = webview_.Settings;
635             tlog.Debug(tag, "TextAutosizingEnabled : " + webSettings.TextAutosizingEnabled);
636
637             webSettings.TextAutosizingEnabled = true;
638             Assert.AreEqual(true, webSettings.TextAutosizingEnabled, "Should be equal!");
639
640             webSettings.TextAutosizingEnabled = false;
641             Assert.AreEqual(false, webSettings.TextAutosizingEnabled, "Should be equal!");
642
643             webSettings.Dispose();
644             tlog.Debug(tag, $"WebSettingsTextAutosizingEnabled END (OK)");
645         }
646
647         [Test]
648         [Category("P1")]
649         [Description("WebSettings ArrowScrollEnabled.")]
650         [Property("SPEC", "Tizen.NUI.WebSettings.ArrowScrollEnabled A")]
651         [Property("SPEC_URL", "-")]
652         [Property("CRITERIA", "PRW")]
653         [Property("COVPARAM", "")]
654         [Property("AUTHOR", "guowei.wang@samsung.com")]
655         public async Task WebSettingsArrowScrollEnabled()
656         {
657             tlog.Debug(tag, $"WebSettingsArrowScrollEnabled START");
658
659             TaskCompletionSource<bool> tcs = new TaskCompletionSource<bool>(false);
660             EventHandler<WebViewPageLoadEventArgs> onLoadFinished = (s, e) =>
661             {
662                 tcs.TrySetResult(true);
663             };
664             webview_.PageLoadFinished += onLoadFinished;
665
666             webview_.LoadUrl(url);
667             var result = await tcs.Task;
668             Assert.IsTrue(result, "PageLoadFinished event should be invoked");
669
670             webview_.PageLoadFinished -= onLoadFinished;
671
672             var webSettings = webview_.Settings;
673             tlog.Debug(tag, "ArrowScrollEnabled : " + webSettings.ArrowScrollEnabled);
674
675             webSettings.ArrowScrollEnabled = true;
676             tlog.Debug(tag, "ArrowScrollEnabled" + webSettings.ArrowScrollEnabled);
677
678             webSettings.ArrowScrollEnabled = false;
679             tlog.Debug(tag, "ArrowScrollEnabled" + webSettings.ArrowScrollEnabled);
680
681             webSettings.Dispose();
682             tlog.Debug(tag, $"WebSettingsArrowScrollEnabled END (OK)");
683         }
684
685         [Test]
686         [Category("P1")]
687         [Description("WebSettings ClipboardEnabled.")]
688         [Property("SPEC", "Tizen.NUI.WebSettings.ClipboardEnabled A")]
689         [Property("SPEC_URL", "-")]
690         [Property("CRITERIA", "PRW")]
691         [Property("COVPARAM", "")]
692         [Property("AUTHOR", "guowei.wang@samsung.com")]
693         public async Task WebSettingsClipboardEnabled()
694         {
695             tlog.Debug(tag, $"WebSettingsClipboardEnabled START");
696
697             TaskCompletionSource<bool> tcs = new TaskCompletionSource<bool>(false);
698             EventHandler<WebViewPageLoadEventArgs> onLoadFinished = (s, e) =>
699             {
700                 tcs.TrySetResult(true);
701             };
702             webview_.PageLoadFinished += onLoadFinished;
703
704             webview_.LoadUrl(url);
705             var result = await tcs.Task;
706             Assert.IsTrue(result, "PageLoadFinished event should be invoked");
707
708             webview_.PageLoadFinished -= onLoadFinished;
709
710             var webSettings = webview_.Settings;
711             tlog.Debug(tag, "ClipboardEnabled : " + webSettings.ClipboardEnabled);
712
713             webSettings.ClipboardEnabled = true;
714             tlog.Debug(tag, "ClipboardEnabled" + webSettings.ClipboardEnabled);
715
716             webSettings.ClipboardEnabled = false;
717             tlog.Debug(tag, "ClipboardEnabled" + webSettings.ClipboardEnabled);
718
719             webSettings.Dispose();
720             tlog.Debug(tag, $"WebSettingsClipboardEnabled END (OK)");
721         }
722
723         [Test]
724         [Category("P1")]
725         [Description("WebSettings ImePanelEnabled.")]
726         [Property("SPEC", "Tizen.NUI.WebSettings.ImePanelEnabled A")]
727         [Property("SPEC_URL", "-")]
728         [Property("CRITERIA", "PRW")]
729         [Property("COVPARAM", "")]
730         [Property("AUTHOR", "guowei.wang@samsung.com")]
731         public async Task WebSettingsImePanelEnabled()
732         {
733             tlog.Debug(tag, $"WebSettingsImePanelEnabled START");
734
735             TaskCompletionSource<bool> tcs = new TaskCompletionSource<bool>(false);
736             EventHandler<WebViewPageLoadEventArgs> onLoadFinished = (s, e) =>
737             {
738                 tcs.TrySetResult(true);
739             };
740             webview_.PageLoadFinished += onLoadFinished;
741
742             webview_.LoadUrl(url);
743             var result = await tcs.Task;
744             Assert.IsTrue(result, "PageLoadFinished event should be invoked");
745
746             webview_.PageLoadFinished -= onLoadFinished;
747
748             var webSettings = webview_.Settings;
749             tlog.Debug(tag, "ImePanelEnabled : " + webSettings.ImePanelEnabled);
750
751             webSettings.ImePanelEnabled = true;
752             Assert.AreEqual(true, webSettings.ImePanelEnabled, "Should be equal!");
753
754             webSettings.ImePanelEnabled = false;
755             Assert.AreEqual(false, webSettings.ImePanelEnabled, "Should be equal!");
756
757             webSettings.Dispose();
758             tlog.Debug(tag, $"WebSettingsImePanelEnabled END (OK)");
759         }
760
761         [Test]
762         [Category("P1")]
763         [Description("WebSettings ScriptsOpenWindowsAllowed.")]
764         [Property("SPEC", "Tizen.NUI.WebSettings.ScriptsOpenWindowsAllowed A")]
765         [Property("SPEC_URL", "-")]
766         [Property("CRITERIA", "PRW")]
767         [Property("COVPARAM", "")]
768         [Property("AUTHOR", "guowei.wang@samsung.com")]
769         public async Task WebSettingsScriptsOpenWindowsAllowed()
770         {
771             tlog.Debug(tag, $"WebSettingsScriptsOpenWindowsAllowed START");
772
773             TaskCompletionSource<bool> tcs = new TaskCompletionSource<bool>(false);
774             EventHandler<WebViewPageLoadEventArgs> onLoadFinished = (s, e) =>
775             {
776                 tcs.TrySetResult(true);
777             };
778             webview_.PageLoadFinished += onLoadFinished;
779
780             webview_.LoadUrl(url);
781             var result = await tcs.Task;
782             Assert.IsTrue(result, "PageLoadFinished event should be invoked");
783
784             webview_.PageLoadFinished -= onLoadFinished;
785
786             var webSettings = webview_.Settings;
787             tlog.Debug(tag, "ScriptsOpenWindowsAllowed : " + webSettings.ScriptsOpenWindowsAllowed);
788
789             webSettings.ScriptsOpenWindowsAllowed = true;
790             Assert.AreEqual(true, webSettings.ScriptsOpenWindowsAllowed, "Should be equal!");
791
792             webSettings.ScriptsOpenWindowsAllowed = false;
793             Assert.AreEqual(false, webSettings.ScriptsOpenWindowsAllowed, "Should be equal!");
794
795             webSettings.Dispose();
796             tlog.Debug(tag, $"WebSettingsScriptsOpenWindowsAllowed END (OK)");
797         }
798
799         [Test]
800         [Category("P1")]
801         [Description("WebSettings ViewportMetaTag.")]
802         [Property("SPEC", "Tizen.NUI.WebSettings.ViewportMetaTag A")]
803         [Property("SPEC_URL", "-")]
804         [Property("CRITERIA", "PRW")]
805         [Property("COVPARAM", "")]
806         [Property("AUTHOR", "guowei.wang@samsung.com")]
807         public async Task WebSettingsViewportMetaTag()
808         {
809             tlog.Debug(tag, $"WebSettingsViewportMetaTag START");
810
811             TaskCompletionSource<bool> tcs = new TaskCompletionSource<bool>(false);
812             EventHandler<WebViewPageLoadEventArgs> onLoadFinished = (s, e) =>
813             {
814                 tcs.TrySetResult(true);
815             };
816             webview_.PageLoadFinished += onLoadFinished;
817
818             webview_.LoadUrl(url);
819             var result = await tcs.Task;
820             Assert.IsTrue(result, "PageLoadFinished event should be invoked");
821
822             webview_.PageLoadFinished -= onLoadFinished;
823
824             var webSettings = webview_.Settings;
825             tlog.Debug(tag, "ViewportMetaTag : " + webSettings.ViewportMetaTag);
826
827             webSettings.ViewportMetaTag = true;
828             Assert.AreEqual(true, webSettings.ViewportMetaTag, "Should be equal!");
829
830             webSettings.ViewportMetaTag = false;
831             Assert.AreEqual(false, webSettings.ViewportMetaTag, "Should be equal!");
832
833             webSettings.Dispose();
834             tlog.Debug(tag, $"WebSettingsViewportMetaTag END (OK)");
835         }
836
837         [Test]
838         [Category("P1")]
839         [Description("WebSettings ZoomForced.")]
840         [Property("SPEC", "Tizen.NUI.WebSettings.ZoomForced A")]
841         [Property("SPEC_URL", "-")]
842         [Property("CRITERIA", "PRW")]
843         [Property("COVPARAM", "")]
844         [Property("AUTHOR", "guowei.wang@samsung.com")]
845         public async Task WebSettingsZoomForced()
846         {
847             tlog.Debug(tag, $"WebSettingsZoomForced START");
848
849             TaskCompletionSource<bool> tcs = new TaskCompletionSource<bool>(false);
850             EventHandler<WebViewPageLoadEventArgs> onLoadFinished = (s, e) =>
851             {
852                 tcs.TrySetResult(true);
853             };
854             webview_.PageLoadFinished += onLoadFinished;
855
856             webview_.LoadUrl(url);
857             var result = await tcs.Task;
858             Assert.IsTrue(result, "PageLoadFinished event should be invoked");
859
860             webview_.PageLoadFinished -= onLoadFinished;
861
862             var webSettings = webview_.Settings;
863             tlog.Debug(tag, "ZoomForced : " + webSettings.ZoomForced);
864
865             webSettings.ZoomForced = true;
866             Assert.AreEqual(true, webSettings.ZoomForced, "Should be equal!");
867
868             webSettings.ZoomForced = false;
869             Assert.AreEqual(false, webSettings.ZoomForced, "Should be equal!");
870
871             webSettings.Dispose();
872             tlog.Debug(tag, $"WebSettingsZoomForced END (OK)");
873         }
874
875         [Test]
876         [Category("P1")]
877         [Description("WebSettings TextZoomEnabled.")]
878         [Property("SPEC", "Tizen.NUI.WebSettings.TextZoomEnabled A")]
879         [Property("SPEC_URL", "-")]
880         [Property("CRITERIA", "PRW")]
881         [Property("COVPARAM", "")]
882         [Property("AUTHOR", "guowei.wang@samsung.com")]
883         public async Task WebSettingsTextZoomEnabled()
884         {
885             tlog.Debug(tag, $"WebSettingsTextZoomEnabled START");
886
887             TaskCompletionSource<bool> tcs = new TaskCompletionSource<bool>(false);
888             EventHandler<WebViewPageLoadEventArgs> onLoadFinished = (s, e) =>
889             {
890                 tcs.TrySetResult(true);
891             };
892             webview_.PageLoadFinished += onLoadFinished;
893
894             webview_.LoadUrl(url);
895             var result = await tcs.Task;
896             Assert.IsTrue(result, "PageLoadFinished event should be invoked");
897
898             webview_.PageLoadFinished -= onLoadFinished;
899
900             var webSettings = webview_.Settings;
901             tlog.Debug(tag, "TextZoomEnabled : " + webSettings.TextZoomEnabled);
902
903             webSettings.TextZoomEnabled = true;
904             Assert.AreEqual(true, webSettings.TextZoomEnabled, "Should be equal!");
905
906             webSettings.TextZoomEnabled = false;
907             Assert.AreEqual(false, webSettings.TextZoomEnabled, "Should be equal!");
908
909             webSettings.Dispose();
910             tlog.Debug(tag, $"WebSettingsTextZoomEnabled END (OK)");
911         }
912
913         [Test]
914         [Category("P1")]
915         [Description("WebSettings EnableExtraFeature.")]
916         [Property("SPEC", "Tizen.NUI.WebSettings.EnableExtraFeature M")]
917         [Property("SPEC_URL", "-")]
918         [Property("CRITERIA", "MR")]
919         [Property("COVPARAM", "")]
920         [Property("AUTHOR", "guowei.wang@samsung.com")]
921         public async Task WebSettingsEnableExtraFeature()
922         {
923             tlog.Debug(tag, $"WebSettingsEnableExtraFeature START");
924
925             TaskCompletionSource<bool> tcs = new TaskCompletionSource<bool>(false);
926             EventHandler<WebViewPageLoadEventArgs> onLoadFinished = (s, e) =>
927             {
928                 tcs.TrySetResult(true);
929             };
930             webview_.PageLoadFinished += onLoadFinished;
931
932             webview_.LoadUrl(url);
933             var result = await tcs.Task;
934             Assert.IsTrue(result, "PageLoadFinished event should be invoked");
935
936             webview_.PageLoadFinished -= onLoadFinished;
937
938             var webSettings = webview_.Settings;
939
940             bool newValue = !webSettings.IsExtraFeatureEnabled("longpress,enable");
941             webSettings.EnableExtraFeature("longpress,enable", newValue);
942
943             webSettings.Dispose();
944
945             tlog.Debug(tag, $"WebSettingsEnableExtraFeature END (OK)");
946         }
947     }
948 }