[NUI] Add TCs of WebView & Update some TCs of NUI.Devel.
[platform/core/csapi/tizenfx.git] / test / Tizen.NUI.Tests / Tizen.NUI.Devel.Tests / testcase / internal / WebView / TSWebContextMenuItemList.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/WebContextMenuItemList")]
14     public class InternalWebContextMenuItemListTest
15     {
16         private const string tag = "NUITEST";
17         private string url = Tizen.Applications.Application.Current.DirectoryInfo.Resource + "picture.png";
18         private static string[] runtimeArgs = { "Tizen.NUI.Devel.Tests", "--enable-dali-window", "--enable-spatial-navigation" };
19         private const string USER_AGENT = "Mozilla/5.0 (SMART-TV; Linux; Tizen 6.0) AppleWebKit/537.36 (KHTML, like Gecko) SamsungBrowser/4.0 Chrome/76.0.3809.146 TV Safari/537.36";
20
21         internal class MyWebContextMenuItemList : WebContextMenuItemList
22         {
23             public MyWebContextMenuItemList(global::System.IntPtr cPtr, bool cMemoryOwn) : base(cPtr, cMemoryOwn)
24             { }
25
26             public void OnReleaseSwigCPtr(global::System.Runtime.InteropServices.HandleRef swigCPtr)
27             {
28                 base.ReleaseSwigCPtr(swigCPtr);
29             }
30         }
31
32         [SetUp]
33         public void Init()
34         {
35             tlog.Info(tag, "Init() is called!");
36         }
37
38         [TearDown]
39         public void Destroy()
40         {
41             tlog.Info(tag, "Destroy() is called!");
42         }
43
44         [Test]
45         [Category("P1")]
46         [Description("WebContextMenuItemList constructor.")]
47         [Property("SPEC", "Tizen.NUI.WebContextMenuItemList.WebContextMenuItemList C")]
48         [Property("SPEC_URL", "-")]
49         [Property("CRITERIA", "CONSTR")]
50         [Property("COVPARAM", "")]
51         [Property("AUTHOR", "guowei.wang@samsung.com")]
52         public void WebContextMenuItemListConstructor()
53         {
54             tlog.Debug(tag, $"WebContextMenuItemListConstructor START");
55
56             using (Tizen.NUI.BaseComponents.WebView webview = new Tizen.NUI.BaseComponents.WebView("Shanghai", "Asia/Shanghai"))
57             {
58                 WebContextMenu menu = new WebContextMenu(webview.SwigCPtr.Handle, false);
59
60                 var testingTarget = new WebContextMenuItemList(menu.SwigCPtr.Handle, false);
61                 Assert.IsNotNull(testingTarget, "null handle");
62                 Assert.IsInstanceOf<WebContextMenuItemList>(testingTarget, "Should return WebContextMenuItemList instance.");
63
64                 menu.Dispose();
65                 testingTarget.Dispose();
66             }
67
68             tlog.Debug(tag, $"WebContextMenuItemListConstructor END (OK)");
69         }
70
71         [Test]
72         [Category("P1")]
73         [Description("WebContextMenuItemList ItemCount.")]
74         [Property("SPEC", "Tizen.NUI.WebContextMenuItemList.ItemCount A")]
75         [Property("SPEC_URL", "-")]
76         [Property("CRITERIA", "PRO")]
77         [Property("COVPARAM", "")]
78         [Property("AUTHOR", "guowei.wang@samsung.com")]
79         public void WebContextMenuItemListItemCount()
80         {
81             tlog.Debug(tag, $"WebContextMenuItemListItemCount START");
82
83             var webview = new Tizen.NUI.BaseComponents.WebView(runtimeArgs)
84             {
85                 Size = new Size(500, 200),
86                 UserAgent = USER_AGENT
87             };
88             Assert.IsNotNull(webview, "null handle");
89             Assert.IsInstanceOf<Tizen.NUI.BaseComponents.WebView>(webview, "Should return Tizen.NUI.BaseComponents.WebView instance.");
90
91             webview.LoadUrl("http://www.163.com");
92
93             var testingTarget = new WebContextMenuItemList(webview.SwigCPtr.Handle, false);
94             Assert.IsNotNull(testingTarget, "null handle");
95             Assert.IsInstanceOf<WebContextMenuItemList>(testingTarget, "Should return WebContextMenuItemList instance.");
96            
97             tlog.Error(tag, "ItemCount : " + testingTarget.ItemCount);
98
99             testingTarget.Dispose();
100             tlog.Debug(tag, $"WebContextMenuItemListItemCount END (OK)");
101         }
102
103         [Test]
104         [Category("P1")]
105         [Description("WebContextMenuItemList GetItemAtIndex.")]
106         [Property("SPEC", "Tizen.NUI.WebContextMenuItemList.GetItemAtIndex M")]
107         [Property("SPEC_URL", "-")]
108         [Property("CRITERIA", "MR")]
109         [Property("COVPARAM", "")]
110         [Property("AUTHOR", "guowei.wang@samsung.com")]
111         public void WebContextMenuItemListGetItemAtIndex()
112         {
113             tlog.Debug(tag, $"WebContextMenuItemListGetItemAtIndex START");
114
115             using (Tizen.NUI.BaseComponents.WebView webview = new Tizen.NUI.BaseComponents.WebView("Shanghai", "Asia/Shanghai"))
116             {
117                 webview.LoadUrl(url);
118                 WebContextMenu menu = new WebContextMenu(webview.SwigCPtr.Handle, false);
119
120                 var testingTarget = new WebContextMenuItemList(menu.SwigCPtr.Handle, false);
121                 Assert.IsNotNull(testingTarget, "null handle");
122                 Assert.IsInstanceOf<WebContextMenuItemList>(testingTarget, "Should return WebContextMenuItemList instance.");
123
124                 var result = testingTarget.GetItemAtIndex(0);
125                 tlog.Error(tag, "WebContextMenuItem  : " + result);
126
127                 menu.Dispose();
128                 testingTarget.Dispose();
129             }
130
131             tlog.Debug(tag, $"WebContextMenuItemListGetItemAtIndex END (OK)");
132         }
133     }
134 }