3 using NUnit.Framework.TUnit;
4 using Tizen.NUI.Components;
5 using Tizen.NUI.BaseComponents;
6 using System.Collections.Generic;
9 namespace Tizen.NUI.Devel.Tests
11 using tlog = Tizen.Log;
14 [Description("public/BaseComponents/ViewAccessibility")]
15 public class PublicViewAccessibilityTest
17 private const string tag = "NUITEST";
18 private string url = Tizen.Applications.Application.Current.DirectoryInfo.Resource + "/picture.png";
19 private string lottiePath = Tizen.Applications.Application.Current.DirectoryInfo.Resource + "/lottie.json";
21 internal class MyView : View
23 public MyView() : base()
26 public string GetAccessibilityAttributes(string key)
28 return AccessibilityAttributes[key];
31 public void SetAccessibilityAttributes(string key, string value)
33 AccessibilityAttributes[key] = value;
36 public void ClearAccessibilityAttributes()
38 AccessibilityAttributes.Clear();
41 public void RemoveAccessibilityAttributes(string key)
43 AccessibilityAttributes.Remove(key);
50 tlog.Info(tag, "Init() is called!");
56 tlog.Info(tag, "Destroy() is called!");
61 [Description("ViewAccessibility.AccessibilityRange StartOffset.")]
62 [Property("SPEC", "Tizen.NUI.ViewAccessibility.AccessibilityRange.StartOffset A")]
63 [Property("SPEC_URL", "-")]
64 [Property("CRITERIA", "PRO")]
65 [Property("AUTHOR", "guowei.wang@samsung.com")]
66 public void ViewAccessibilityAccessibilityRangeStartOffset()
68 tlog.Debug(tag, $"ViewAccessibilityAccessibilityRangeStartOffset START");
70 var testingTarget = new AccessibilityRange();
71 Assert.IsNotNull(testingTarget, "Can't create success object AccessibilityRange");
72 Assert.IsInstanceOf<AccessibilityRange>(testingTarget, "Should be an instance of AccessibilityRange type.");
74 testingTarget.StartOffset = 10;
75 Assert.AreEqual(10, testingTarget.StartOffset, "Should be equal!");
77 tlog.Debug(tag, $"ViewAccessibilityAccessibilityRangeStartOffset END (OK)");
82 [Description("ViewAccessibility.AccessibilityRange EndOffset.")]
83 [Property("SPEC", "Tizen.NUI.ViewAccessibility.AccessibilityRange.EndOffset A")]
84 [Property("SPEC_URL", "-")]
85 [Property("CRITERIA", "PRO")]
86 [Property("AUTHOR", "guowei.wang@samsung.com")]
87 public void ViewAccessibilityAccessibilityRangeEndOffset()
89 tlog.Debug(tag, $"ViewAccessibilityAccessibilityRangeEndOffset START");
91 var testingTarget = new AccessibilityRange();
92 Assert.IsNotNull(testingTarget, "Can't create success object AccessibilityRange");
93 Assert.IsInstanceOf<AccessibilityRange>(testingTarget, "Should be an instance of AccessibilityRange type.");
95 testingTarget.EndOffset = 30;
96 Assert.AreEqual(30, testingTarget.EndOffset, "Should be equal!");
98 tlog.Debug(tag, $"ViewAccessibilityAccessibilityRangeEndOffset END (OK)");
103 [Description("ViewAccessibility.AccessibilityRange Content.")]
104 [Property("SPEC", "Tizen.NUI.ViewAccessibility.AccessibilityRange.Content A")]
105 [Property("SPEC_URL", "-")]
106 [Property("CRITERIA", "PRO")]
107 [Property("AUTHOR", "guowei.wang@samsung.com")]
108 public void ViewAccessibilityAccessibilityRangeContent()
110 tlog.Debug(tag, $"ViewAccessibilityAccessibilityRangeContent START");
112 var testingTarget = new AccessibilityRange();
113 Assert.IsNotNull(testingTarget, "Can't create success object AccessibilityRange");
114 Assert.IsInstanceOf<AccessibilityRange>(testingTarget, "Should be an instance of AccessibilityRange type.");
116 testingTarget.Content = "TextLabel";
117 Assert.AreEqual("TextLabel", testingTarget.Content, "Should be equal!");
119 tlog.Debug(tag, $"ViewAccessibilityAccessibilityRangeContent END (OK)");
124 [Description("ViewAccessibility.View.AccessibilityAttributes.Remove.")]
125 [Property("SPEC", "Tizen.NUI.ViewAccessibility.View.AccessibilityAttributes.Remove M")]
126 [Property("SPEC_URL", "-")]
127 [Property("CRITERIA", "MR")]
128 [Property("AUTHOR", "guowei.wang@samsung.com")]
129 public void ViewAccessibilityViewRemoveAccessibilityAttribute()
131 tlog.Debug(tag, $"ViewAccessibilityViewRemoveAccessibilityAttribute START");
133 var testingTarget = new MyView();
134 Assert.IsNotNull(testingTarget, "Can't create success object View");
135 Assert.IsInstanceOf<View>(testingTarget, "Should be an instance of View type.");
137 testingTarget.SetAccessibilityAttributes("view", "test");
138 var result = testingTarget.GetAccessibilityAttributes("view");
139 Assert.AreEqual("test", result, "Should be equal.");
143 testingTarget.RemoveAccessibilityAttributes("view");
147 tlog.Debug(tag, e.Message.ToString());
148 Assert.Fail("Caught Exception: Failed!");
151 testingTarget.Dispose();
152 tlog.Debug(tag, $"ViewAccessibilityViewRemoveAccessibilityAttribute END (OK)");
157 [Description("ViewAccessibility.View.AccessibilityAttributes.Clear.")]
158 [Property("SPEC", "Tizen.NUI.ViewAccessibility.View.AccessibilityAttributes.Clear MR")]
159 [Property("SPEC_URL", "-")]
160 [Property("CRITERIA", "MR")]
161 [Property("AUTHOR", "guowei.wang@samsung.com")]
162 public void ViewAccessibilityViewClearAccessibilityAttributes()
164 tlog.Debug(tag, $"ViewAccessibilityViewClearAccessibilityAttributes START");
166 var testingTarget = new MyView();
167 Assert.IsNotNull(testingTarget, "Can't create success object View");
168 Assert.IsInstanceOf<View>(testingTarget, "Should be an instance of View type.");
170 testingTarget.SetAccessibilityAttributes("view", "test");
174 testingTarget.ClearAccessibilityAttributes();
178 tlog.Debug(tag, e.Message.ToString());
179 Assert.Fail("Caught Exception: Failed!");
182 testingTarget.Dispose();
183 tlog.Debug(tag, $"ViewAccessibilityViewClearAccessibilityAttributes END (OK)");
188 [Description("ViewAccessibility.View.ClearAccessibilityHighlight.")]
189 [Property("SPEC", "Tizen.NUI.ViewAccessibility.View.ClearAccessibilityHighlight M")]
190 [Property("SPEC_URL", "-")]
191 [Property("CRITERIA", "MR")]
192 [Property("AUTHOR", "guowei.wang@samsung.com")]
193 public void ViewAccessibilityViewClearAccessibilityHighlight()
195 tlog.Debug(tag, $"ViewAccessibilityViewClearAccessibilityHighlight START");
197 var testingTarget = new View();
198 Assert.IsNotNull(testingTarget, "Can't create success object View");
199 Assert.IsInstanceOf<View>(testingTarget, "Should be an instance of View type.");
201 testingTarget.AccessibilityHighlightable = true;
205 var result = testingTarget.ClearAccessibilityHighlight();
206 tlog.Debug(tag, "ClearAccessibilityHighlight : " + result);
208 result = testingTarget.GrabAccessibilityHighlight();
209 tlog.Debug(tag, "GrabAccessibilityHighlight : " + result);
213 tlog.Debug(tag, e.Message.ToString());
214 Assert.Fail("Caught Exception: Failed!");
217 testingTarget.Dispose();
218 tlog.Debug(tag, $"ViewAccessibilityViewClearAccessibilityHighlight END (OK)");
223 [Description("ViewAccessibility.View.AppendAccessibilityRelation.")]
224 [Property("SPEC", "Tizen.NUI.ViewAccessibility.View.AppendAccessibilityRelation M")]
225 [Property("SPEC_URL", "-")]
226 [Property("CRITERIA", "MR")]
227 [Property("AUTHOR", "guowei.wang@samsung.com")]
228 public void ViewAccessibilityViewAppendAccessibilityRelation()
230 tlog.Debug(tag, $"ViewAccessibilityViewAppendAccessibilityRelation START");
232 var testingTarget = new View()
234 Size = new Size2D(100, 100),
235 PositionUsesPivotPoint = true,
236 ParentOrigin = ParentOrigin.TopCenter,
237 PivotPoint = PivotPoint.TopCenter,
238 BackgroundColor = Color.AquaMarine,
240 Assert.IsNotNull(testingTarget, "Can't create success object View");
241 Assert.IsInstanceOf<View>(testingTarget, "Should be an instance of View type.");
243 using (View child = new View())
247 testingTarget.AppendAccessibilityRelation(child, AccessibilityRelationType.MemberOf);
248 var result = testingTarget.GetAccessibilityRelations();
249 tlog.Debug(tag, "AccessibilityRelations : " + result);
251 testingTarget.RemoveAccessibilityRelation(child, AccessibilityRelationType.MemberOf);
252 testingTarget.ClearAccessibilityRelations();
256 tlog.Debug(tag, e.Message.ToString());
257 Assert.Fail("Caught Exception : Failed!");
261 testingTarget.Dispose();
262 tlog.Debug(tag, $"ViewAccessibilityViewAppendAccessibilityRelation END (OK)");
267 [Description("ViewAccessibility.View.AppendAccessibilityRelation.")]
268 [Property("SPEC", "Tizen.NUI.ViewAccessibility.View.AppendAccessibilityRelation M")]
269 [Property("SPEC_URL", "-")]
270 [Property("CRITERIA", "MR")]
271 [Property("AUTHOR", "guowei.wang@samsung.com")]
272 public void ViewAccessibilityViewAppendAccessibilityRelationNullValue()
274 tlog.Debug(tag, $"ViewAccessibilityViewAppendAccessibilityRelationNullValue START");
276 var testingTarget = new View()
278 Size = new Size2D(100, 100),
279 PositionUsesPivotPoint = true,
280 ParentOrigin = ParentOrigin.TopCenter,
281 PivotPoint = PivotPoint.TopCenter,
282 BackgroundColor = Color.AquaMarine,
284 Assert.IsNotNull(testingTarget, "Can't create success object View");
285 Assert.IsInstanceOf<View>(testingTarget, "Should be an instance of View type.");
290 testingTarget.AppendAccessibilityRelation(child, AccessibilityRelationType.MemberOf);
292 catch (ArgumentNullException)
294 testingTarget.Dispose();
295 tlog.Debug(tag, $"ViewAccessibilityViewAppendAccessibilityRelationNullValue END (OK)");
296 Assert.Pass("Caught ArgumentNullException : Passed!");
302 [Description("ViewAccessibility.View.SetAccessibilityReadingInfoTypes.")]
303 [Property("SPEC", "Tizen.NUI.ViewAccessibility.View.SetAccessibilityReadingInfoTypes M")]
304 [Property("SPEC_URL", "-")]
305 [Property("CRITERIA", "MR")]
306 [Property("AUTHOR", "guowei.wang@samsung.com")]
307 public void ViewAccessibilityViewSetAccessibilityReadingInfoTypes()
309 tlog.Debug(tag, $"ViewAccessibilityViewSetAccessibilityReadingInfoTypes START");
311 var testingTarget = new View()
313 Size = new Size2D(100, 100),
314 PositionUsesPivotPoint = true,
315 ParentOrigin = ParentOrigin.TopCenter,
316 PivotPoint = PivotPoint.TopCenter,
317 BackgroundColor = Color.AquaMarine,
319 Assert.IsNotNull(testingTarget, "Can't create success object View");
320 Assert.IsInstanceOf<View>(testingTarget, "Should be an instance of View type.");
323 testingTarget.SetAccessibilityReadingInfoTypes(AccessibilityReadingInfoTypes.Description);
324 var result = testingTarget.GetAccessibilityReadingInfoTypes();
325 tlog.Debug(tag, "AccessibilityReadingInfoTypes : " + result);
327 testingTarget.Dispose();
328 tlog.Debug(tag, $"ViewAccessibilityViewSetAccessibilityReadingInfoTypes END (OK)");
333 [Description("ViewAccessibility.View.NotifyAccessibilityStatesChange.")]
334 [Property("SPEC", "Tizen.NUI.ViewAccessibility.View.NotifyAccessibilityStatesChange M")]
335 [Property("SPEC_URL", "-")]
336 [Property("CRITERIA", "MR")]
337 [Property("AUTHOR", "guowei.wang@samsung.com")]
338 public void ViewAccessibilityViewNotifyAccessibilityStatesChange()
340 tlog.Debug(tag, $"ViewAccessibilityViewNotifyAccessibilityStatesChange START");
342 var testingTarget = new View()
344 Size = new Size2D(100, 100),
345 PositionUsesPivotPoint = true,
346 ParentOrigin = ParentOrigin.TopCenter,
347 PivotPoint = PivotPoint.TopCenter,
348 BackgroundColor = Color.AquaMarine,
350 Assert.IsNotNull(testingTarget, "Can't create success object View");
351 Assert.IsInstanceOf<View>(testingTarget, "Should be an instance of View type.");
353 testingTarget.NotifyAccessibilityStatesChange(new AccessibilityStates(AccessibilityState.Busy), AccessibilityStatesNotifyMode.Recursive);
354 var result = testingTarget.GetAccessibilityStates();
355 tlog.Debug(tag, "AccessibilityStates : " + result);
357 testingTarget.Dispose();
358 tlog.Debug(tag, $"ViewAccessibilityViewNotifyAccessibilityStatesChange END (OK)");
363 [Description("ViewAccessibility.View.RegisterDefaultLabel.")]
364 [Property("SPEC", "Tizen.NUI.ViewAccessibility.View.RegisterDefaultLabel M")]
365 [Property("SPEC_URL", "-")]
366 [Property("CRITERIA", "MR")]
367 [Property("AUTHOR", "guowei.wang@samsung.com")]
368 public void ViewAccessibilityRegisterDefaultLabel()
370 tlog.Debug(tag, $"ViewAccessibilityRegisterDefaultLabel START");
372 var testingTarget = new View()
374 Size = new Size2D(100, 100),
375 PositionUsesPivotPoint = true,
376 ParentOrigin = ParentOrigin.TopCenter,
377 PivotPoint = PivotPoint.TopCenter,
378 BackgroundColor = Color.AquaMarine,
380 Assert.IsNotNull(testingTarget, "Can't create success object View");
381 Assert.IsInstanceOf<View>(testingTarget, "Should be an instance of View type.");
385 testingTarget.RegisterDefaultLabel();
386 testingTarget.UnregisterDefaultLabel();
390 tlog.Debug(tag, e.Message.ToString());
391 Assert.Fail("Caught Exception : Failed!");
394 testingTarget.Dispose();
395 tlog.Debug(tag, $"ViewAccessibilityRegisterDefaultLabel END (OK)");
400 [Description("ViewAccessibility.EmitAccessibilityEvent.")]
401 [Property("SPEC", "Tizen.NUI.ViewAccessibility.EmitAccessibilityEvent M")]
402 [Property("SPEC_URL", "-")]
403 [Property("CRITERIA", "MR")]
404 [Property("AUTHOR", "guowei.wang@samsung.com")]
405 public void ViewAccessibilityEmitAccessibilityEvent()
407 tlog.Debug(tag, $"ViewAccessibilityEmitAccessibilityEvent START");
409 var testingTarget = new View()
411 Size = new Size2D(100, 100),
412 PositionUsesPivotPoint = true,
413 ParentOrigin = ParentOrigin.TopCenter,
414 PivotPoint = PivotPoint.TopCenter,
415 BackgroundColor = Color.AquaMarine,
417 Assert.IsNotNull(testingTarget, "Can't create success object View");
418 Assert.IsInstanceOf<View>(testingTarget, "Should be an instance of View type.");
422 testingTarget.EmitAccessibilityEvent(AccessibilityPropertyChangeEvent.Name);
426 tlog.Debug(tag, e.Message.ToString());
427 Assert.Fail("Caught Exception : Failed!");
430 testingTarget.Dispose();
431 tlog.Debug(tag, $"ViewAccessibilityEmitAccessibilityEvent END (OK)");
436 [Description("ViewAccessibility.EmitAccessibilityStateChangedEvent.")]
437 [Property("SPEC", "Tizen.NUI.ViewAccessibility.EmitAccessibilityStateChangedEvent M")]
438 [Property("SPEC_URL", "-")]
439 [Property("CRITERIA", "MR")]
440 [Property("AUTHOR", "guowei.wang@samsung.com")]
441 public void ViewAccessibilityEmitAccessibilityStateChangedEvent()
443 tlog.Debug(tag, $"ViewAccessibilityEmitAccessibilityStateChangedEvent START");
445 var testingTarget = new CheckBox()
447 Size = new Size2D(100, 100),
451 Assert.IsNotNull(testingTarget, "Can't create success object CheckBox.");
452 Assert.IsInstanceOf<CheckBox>(testingTarget, "Should be an instance of CheckBox type.");
456 testingTarget.EmitAccessibilityStateChangedEvent(AccessibilityState.Checked, true);
460 tlog.Debug(tag, e.Message.ToString());
461 Assert.Fail("Caught Exception : Failed!");
464 testingTarget.Dispose();
465 tlog.Debug(tag, $"ViewAccessibilityEmitAccessibilityStateChangedEvent END (OK)");
470 [Description("ViewAccessibility.EmitTextInsertedEvent.")]
471 [Property("SPEC", "Tizen.NUI.ViewAccessibility.EmitTextInsertedEvent M")]
472 [Property("SPEC_URL", "-")]
473 [Property("CRITERIA", "MR")]
474 [Property("AUTHOR", "guowei.wang@samsung.com")]
475 public void ViewAccessibilityEmitTextInsertedEvent()
477 tlog.Debug(tag, $"ViewAccessibilityEmitTextInsertedEvent START");
479 var testingTarget = new TextLabel()
481 Text = "InsertedEvent"
483 Assert.IsNotNull(testingTarget, "Can't create success object View");
484 Assert.IsInstanceOf<View>(testingTarget, "Should be an instance of View type.");
488 testingTarget.EmitTextInsertedEvent(0, 4, "test");
489 testingTarget.EmitTextCursorMovedEvent(4);
490 testingTarget.EmitTextDeletedEvent(0, 4, "test");
494 tlog.Debug(tag, e.Message.ToString());
495 Assert.Fail("Caught Exception : Failed!");
498 testingTarget.Dispose();
499 tlog.Debug(tag, $"ViewAccessibilityEmitTextInsertedEvent END (OK)");