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");
141 testingTarget.RemoveAccessibilityAttributes("view");
145 tlog.Debug(tag, e.Message.ToString());
146 Assert.Fail("Caught Exception: Failed!");
149 Assert.IsEmpty(testingTarget.GetAccessibilityAttributes("view"));
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 Assert.IsEmpty(testingTarget.GetAccessibilityAttributes("view"));
184 testingTarget.Dispose();
185 tlog.Debug(tag, $"ViewAccessibilityViewClearAccessibilityAttributes END (OK)");
190 [Description("ViewAccessibility.View.ClearAccessibilityHighlight.")]
191 [Property("SPEC", "Tizen.NUI.ViewAccessibility.View.ClearAccessibilityHighlight M")]
192 [Property("SPEC_URL", "-")]
193 [Property("CRITERIA", "MR")]
194 [Property("AUTHOR", "guowei.wang@samsung.com")]
195 public void ViewAccessibilityViewClearAccessibilityHighlight()
197 tlog.Debug(tag, $"ViewAccessibilityViewClearAccessibilityHighlight START");
199 var testingTarget = new View();
200 Assert.IsNotNull(testingTarget, "Can't create success object View");
201 Assert.IsInstanceOf<View>(testingTarget, "Should be an instance of View type.");
203 testingTarget.AccessibilityHighlightable = true;
207 var result = testingTarget.ClearAccessibilityHighlight();
208 tlog.Debug(tag, "ClearAccessibilityHighlight : " + result);
210 result = testingTarget.GrabAccessibilityHighlight();
211 tlog.Debug(tag, "GrabAccessibilityHighlight : " + result);
215 tlog.Debug(tag, e.Message.ToString());
216 Assert.Fail("Caught Exception: Failed!");
219 testingTarget.Dispose();
220 tlog.Debug(tag, $"ViewAccessibilityViewClearAccessibilityHighlight END (OK)");
225 [Description("ViewAccessibility.View.AppendAccessibilityRelation.")]
226 [Property("SPEC", "Tizen.NUI.ViewAccessibility.View.AppendAccessibilityRelation M")]
227 [Property("SPEC_URL", "-")]
228 [Property("CRITERIA", "MR")]
229 [Property("AUTHOR", "guowei.wang@samsung.com")]
230 public void ViewAccessibilityViewAppendAccessibilityRelation()
232 tlog.Debug(tag, $"ViewAccessibilityViewAppendAccessibilityRelation START");
234 var testingTarget = new View()
236 Size = new Size2D(100, 100),
237 PositionUsesPivotPoint = true,
238 ParentOrigin = ParentOrigin.TopCenter,
239 PivotPoint = PivotPoint.TopCenter,
240 BackgroundColor = Color.AquaMarine,
242 Assert.IsNotNull(testingTarget, "Can't create success object View");
243 Assert.IsInstanceOf<View>(testingTarget, "Should be an instance of View type.");
245 using (View child = new View())
249 testingTarget.AppendAccessibilityRelation(child, AccessibilityRelationType.MemberOf);
250 var result = testingTarget.GetAccessibilityRelations();
251 tlog.Debug(tag, "AccessibilityRelations : " + result);
253 testingTarget.RemoveAccessibilityRelation(child, AccessibilityRelationType.MemberOf);
254 testingTarget.ClearAccessibilityRelations();
258 tlog.Debug(tag, e.Message.ToString());
259 Assert.Fail("Caught Exception : Failed!");
263 testingTarget.Dispose();
264 tlog.Debug(tag, $"ViewAccessibilityViewAppendAccessibilityRelation END (OK)");
269 [Description("ViewAccessibility.View.AppendAccessibilityRelation.")]
270 [Property("SPEC", "Tizen.NUI.ViewAccessibility.View.AppendAccessibilityRelation M")]
271 [Property("SPEC_URL", "-")]
272 [Property("CRITERIA", "MR")]
273 [Property("AUTHOR", "guowei.wang@samsung.com")]
274 public void ViewAccessibilityViewAppendAccessibilityRelationNullValue()
276 tlog.Debug(tag, $"ViewAccessibilityViewAppendAccessibilityRelationNullValue START");
278 var testingTarget = new View()
280 Size = new Size2D(100, 100),
281 PositionUsesPivotPoint = true,
282 ParentOrigin = ParentOrigin.TopCenter,
283 PivotPoint = PivotPoint.TopCenter,
284 BackgroundColor = Color.AquaMarine,
286 Assert.IsNotNull(testingTarget, "Can't create success object View");
287 Assert.IsInstanceOf<View>(testingTarget, "Should be an instance of View type.");
292 testingTarget.AppendAccessibilityRelation(child, AccessibilityRelationType.MemberOf);
294 catch (ArgumentNullException)
296 testingTarget.Dispose();
297 tlog.Debug(tag, $"ViewAccessibilityViewAppendAccessibilityRelationNullValue END (OK)");
298 Assert.Pass("Caught ArgumentNullException : Passed!");
304 [Description("ViewAccessibility.View.SetAccessibilityReadingInfoTypes.")]
305 [Property("SPEC", "Tizen.NUI.ViewAccessibility.View.SetAccessibilityReadingInfoTypes M")]
306 [Property("SPEC_URL", "-")]
307 [Property("CRITERIA", "MR")]
308 [Property("AUTHOR", "guowei.wang@samsung.com")]
309 public void ViewAccessibilityViewSetAccessibilityReadingInfoTypes()
311 tlog.Debug(tag, $"ViewAccessibilityViewSetAccessibilityReadingInfoTypes START");
313 var testingTarget = new View()
315 Size = new Size2D(100, 100),
316 PositionUsesPivotPoint = true,
317 ParentOrigin = ParentOrigin.TopCenter,
318 PivotPoint = PivotPoint.TopCenter,
319 BackgroundColor = Color.AquaMarine,
321 Assert.IsNotNull(testingTarget, "Can't create success object View");
322 Assert.IsInstanceOf<View>(testingTarget, "Should be an instance of View type.");
325 testingTarget.SetAccessibilityReadingInfoTypes(AccessibilityReadingInfoTypes.Description);
326 var result = testingTarget.GetAccessibilityReadingInfoTypes();
327 tlog.Debug(tag, "AccessibilityReadingInfoTypes : " + result);
329 testingTarget.Dispose();
330 tlog.Debug(tag, $"ViewAccessibilityViewSetAccessibilityReadingInfoTypes END (OK)");
335 [Description("ViewAccessibility.View.NotifyAccessibilityStatesChange.")]
336 [Property("SPEC", "Tizen.NUI.ViewAccessibility.View.NotifyAccessibilityStatesChange M")]
337 [Property("SPEC_URL", "-")]
338 [Property("CRITERIA", "MR")]
339 [Property("AUTHOR", "guowei.wang@samsung.com")]
340 public void ViewAccessibilityViewNotifyAccessibilityStatesChange()
342 tlog.Debug(tag, $"ViewAccessibilityViewNotifyAccessibilityStatesChange START");
344 var testingTarget = new View()
346 Size = new Size2D(100, 100),
347 PositionUsesPivotPoint = true,
348 ParentOrigin = ParentOrigin.TopCenter,
349 PivotPoint = PivotPoint.TopCenter,
350 BackgroundColor = Color.AquaMarine,
352 Assert.IsNotNull(testingTarget, "Can't create success object View");
353 Assert.IsInstanceOf<View>(testingTarget, "Should be an instance of View type.");
355 testingTarget.NotifyAccessibilityStatesChange(new AccessibilityStates(AccessibilityState.Busy), AccessibilityStatesNotifyMode.Recursive);
356 var result = testingTarget.GetAccessibilityStates();
357 tlog.Debug(tag, "AccessibilityStates : " + result);
359 testingTarget.Dispose();
360 tlog.Debug(tag, $"ViewAccessibilityViewNotifyAccessibilityStatesChange END (OK)");
365 [Description("ViewAccessibility.View.RegisterDefaultLabel.")]
366 [Property("SPEC", "Tizen.NUI.ViewAccessibility.View.RegisterDefaultLabel M")]
367 [Property("SPEC_URL", "-")]
368 [Property("CRITERIA", "MR")]
369 [Property("AUTHOR", "guowei.wang@samsung.com")]
370 public void ViewAccessibilityRegisterDefaultLabel()
372 tlog.Debug(tag, $"ViewAccessibilityRegisterDefaultLabel START");
374 var testingTarget = new View()
376 Size = new Size2D(100, 100),
377 PositionUsesPivotPoint = true,
378 ParentOrigin = ParentOrigin.TopCenter,
379 PivotPoint = PivotPoint.TopCenter,
380 BackgroundColor = Color.AquaMarine,
382 Assert.IsNotNull(testingTarget, "Can't create success object View");
383 Assert.IsInstanceOf<View>(testingTarget, "Should be an instance of View type.");
387 testingTarget.RegisterDefaultLabel();
388 testingTarget.UnregisterDefaultLabel();
392 tlog.Debug(tag, e.Message.ToString());
393 Assert.Fail("Caught Exception : Failed!");
396 testingTarget.Dispose();
397 tlog.Debug(tag, $"ViewAccessibilityRegisterDefaultLabel END (OK)");
402 [Description("ViewAccessibility.EmitAccessibilityEvent.")]
403 [Property("SPEC", "Tizen.NUI.ViewAccessibility.EmitAccessibilityEvent M")]
404 [Property("SPEC_URL", "-")]
405 [Property("CRITERIA", "MR")]
406 [Property("AUTHOR", "guowei.wang@samsung.com")]
407 public void ViewAccessibilityEmitAccessibilityEvent()
409 tlog.Debug(tag, $"ViewAccessibilityEmitAccessibilityEvent START");
411 var testingTarget = new View()
413 Size = new Size2D(100, 100),
414 PositionUsesPivotPoint = true,
415 ParentOrigin = ParentOrigin.TopCenter,
416 PivotPoint = PivotPoint.TopCenter,
417 BackgroundColor = Color.AquaMarine,
419 Assert.IsNotNull(testingTarget, "Can't create success object View");
420 Assert.IsInstanceOf<View>(testingTarget, "Should be an instance of View type.");
424 testingTarget.EmitAccessibilityEvent(AccessibilityPropertyChangeEvent.Name);
428 tlog.Debug(tag, e.Message.ToString());
429 Assert.Fail("Caught Exception : Failed!");
432 testingTarget.Dispose();
433 tlog.Debug(tag, $"ViewAccessibilityEmitAccessibilityEvent END (OK)");
438 [Description("ViewAccessibility.EmitAccessibilityStateChangedEvent.")]
439 [Property("SPEC", "Tizen.NUI.ViewAccessibility.EmitAccessibilityStateChangedEvent M")]
440 [Property("SPEC_URL", "-")]
441 [Property("CRITERIA", "MR")]
442 [Property("AUTHOR", "guowei.wang@samsung.com")]
443 public void ViewAccessibilityEmitAccessibilityStateChangedEvent()
445 tlog.Debug(tag, $"ViewAccessibilityEmitAccessibilityStateChangedEvent START");
447 var testingTarget = new CheckBox()
449 Size = new Size2D(100, 100),
453 Assert.IsNotNull(testingTarget, "Can't create success object CheckBox.");
454 Assert.IsInstanceOf<CheckBox>(testingTarget, "Should be an instance of CheckBox type.");
458 testingTarget.EmitAccessibilityStateChangedEvent(AccessibilityState.Checked, true);
462 tlog.Debug(tag, e.Message.ToString());
463 Assert.Fail("Caught Exception : Failed!");
466 testingTarget.Dispose();
467 tlog.Debug(tag, $"ViewAccessibilityEmitAccessibilityStateChangedEvent END (OK)");
472 [Description("ViewAccessibility.EmitTextInsertedEvent.")]
473 [Property("SPEC", "Tizen.NUI.ViewAccessibility.EmitTextInsertedEvent M")]
474 [Property("SPEC_URL", "-")]
475 [Property("CRITERIA", "MR")]
476 [Property("AUTHOR", "guowei.wang@samsung.com")]
477 public void ViewAccessibilityEmitTextInsertedEvent()
479 tlog.Debug(tag, $"ViewAccessibilityEmitTextInsertedEvent START");
481 var testingTarget = new TextLabel()
483 Text = "InsertedEvent"
485 Assert.IsNotNull(testingTarget, "Can't create success object View");
486 Assert.IsInstanceOf<View>(testingTarget, "Should be an instance of View type.");
490 testingTarget.EmitTextInsertedEvent(0, 4, "test");
491 testingTarget.EmitTextCursorMovedEvent(4);
492 testingTarget.EmitTextDeletedEvent(0, 4, "test");
496 tlog.Debug(tag, e.Message.ToString());
497 Assert.Fail("Caught Exception : Failed!");
500 testingTarget.Dispose();
501 tlog.Debug(tag, $"ViewAccessibilityEmitTextInsertedEvent END (OK)");