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 MyAddressCollection : AddressCollection
23 public MyAddressCollection(IntPtr collection) : base(collection)
26 public void OnReleaseHandle()
35 tlog.Info(tag, "Init() is called!");
41 tlog.Info(tag, "Destroy() is called!");
46 [Description("ViewAccessibility.Address constructor.")]
47 [Property("SPEC", "Tizen.NUI.ViewAccessibility.Address.Address C")]
48 [Property("SPEC_URL", "-")]
49 [Property("CRITERIA", "CONSTR")]
50 [Property("AUTHOR", "guowei.wang@samsung.com")]
51 public void ViewAccessibilityAddressConstructor()
53 tlog.Debug(tag, $"ViewAccessibilityAddressConstructor START");
55 var testingTarget = new Address("ViewAccessibility", lottiePath);
56 Assert.IsNotNull(testingTarget, "Can't create success object Address");
57 Assert.IsInstanceOf<Address>(testingTarget, "Should be an instance of Address type.");
59 tlog.Debug(tag, $"ViewAccessibilityAddressConstructor END (OK)");
64 [Description("ViewAccessibility.AddressCollection constructor.")]
65 [Property("SPEC", "Tizen.NUI.ViewAccessibility.AddressCollection.Address C")]
66 [Property("SPEC_URL", "-")]
67 [Property("CRITERIA", "CONSTR")]
68 [Property("AUTHOR", "guowei.wang@samsung.com")]
69 public void ViewAccessibilityAddressCollectionConstructor()
71 tlog.Debug(tag, $"ViewAccessibilityAddressCollectionConstructor START");
73 using (View view = new ImageView())
75 var testingTarget = new AddressCollection(Interop.ControlDevel.DaliToolkitDevelControlNewGetAccessibilityRelations(view.SwigCPtr));
76 Assert.IsNotNull(testingTarget, "Can't create success object AddressCollection");
77 Assert.IsInstanceOf<AddressCollection>(testingTarget, "Should be an instance of AddressCollection type.");
80 tlog.Debug(tag, $"ViewAccessibilityAddressCollectionConstructor END (OK)");
85 [Description("ViewAccessibility.AddressCollection IsInvalid.")]
86 [Property("SPEC", "Tizen.NUI.ViewAccessibility.AddressCollection.IsInvalid A")]
87 [Property("SPEC_URL", "-")]
88 [Property("CRITERIA", "PRO")]
89 [Property("AUTHOR", "guowei.wang@samsung.com")]
90 public void ViewAccessibilityAddressCollectionIsInvalid()
92 tlog.Debug(tag, $"ViewAccessibilityAddressCollectionIsInvalid START");
94 using (View view = new ImageView())
96 var testingTarget = new AddressCollection(Interop.ControlDevel.DaliToolkitDevelControlNewGetAccessibilityRelations(view.SwigCPtr));
97 Assert.IsNotNull(testingTarget, "Can't create success object AddressCollection");
98 Assert.IsInstanceOf<AddressCollection>(testingTarget, "Should be an instance of AddressCollection type.");
100 Assert.IsFalse(testingTarget.IsInvalid);
103 tlog.Debug(tag, $"ViewAccessibilityAddressCollectionIsInvalid END (OK)");
108 [Description("ViewAccessibility.AddressCollection GetRelationSize.")]
109 [Property("SPEC", "Tizen.NUI.ViewAccessibility.AddressCollection.GetRelationSize M")]
110 [Property("SPEC_URL", "-")]
111 [Property("CRITERIA", "MR")]
112 [Property("AUTHOR", "guowei.wang@samsung.com")]
113 public void ViewAccessibilityAddressCollectionGetRelationSize()
115 tlog.Debug(tag, $"ViewAccessibilityAddressCollectionGetRelationSize START");
117 using (View view = new ImageView())
119 var testingTarget = new AddressCollection(Interop.ControlDevel.DaliToolkitDevelControlNewGetAccessibilityRelations(view.SwigCPtr));
120 Assert.IsNotNull(testingTarget, "Can't create success object AddressCollection");
121 Assert.IsInstanceOf<AddressCollection>(testingTarget, "Should be an instance of AddressCollection type.");
125 testingTarget.GetRelationSize(AccessibilityRelationType.DetailsFor);
129 tlog.Debug(tag, e.Message.ToString());
130 Assert.Fail("Caught Exception: Failed!");
134 tlog.Debug(tag, $"ViewAccessibilityAddressCollectionGetRelationSize END (OK)");
139 [Description("ViewAccessibility.AddressCollection ReleaseHandle.")]
140 [Property("SPEC", "Tizen.NUI.ViewAccessibility.AddressCollection.ReleaseHandle M")]
141 [Property("SPEC_URL", "-")]
142 [Property("CRITERIA", "MR")]
143 [Property("AUTHOR", "guowei.wang@samsung.com")]
144 public void ViewAccessibilityAddressCollectionReleaseHandle()
146 tlog.Debug(tag, $"ViewAccessibilityAddressCollectionReleaseHandle START");
148 using (View view = new ImageView())
150 var testingTarget = new MyAddressCollection(Interop.ControlDevel.DaliToolkitDevelControlNewGetAccessibilityRelations(view.SwigCPtr));
151 Assert.IsNotNull(testingTarget, "Can't create success object AddressCollection");
152 Assert.IsInstanceOf<AddressCollection>(testingTarget, "Should be an instance of AddressCollection type.");
156 testingTarget.OnReleaseHandle();
160 tlog.Debug(tag, e.Message.ToString());
161 Assert.Fail("Caught Exception: Failed!");
165 tlog.Debug(tag, $"ViewAccessibilityAddressCollectionReleaseHandle END (OK)");
170 [Description("ViewAccessibility.AccessibilityRange StartOffset.")]
171 [Property("SPEC", "Tizen.NUI.ViewAccessibility.AccessibilityRange.StartOffset A")]
172 [Property("SPEC_URL", "-")]
173 [Property("CRITERIA", "PRO")]
174 [Property("AUTHOR", "guowei.wang@samsung.com")]
175 public void ViewAccessibilityAccessibilityRangeStartOffset()
177 tlog.Debug(tag, $"ViewAccessibilityAccessibilityRangeStartOffset START");
179 var testingTarget = new AccessibilityRange();
180 Assert.IsNotNull(testingTarget, "Can't create success object AccessibilityRange");
181 Assert.IsInstanceOf<AccessibilityRange>(testingTarget, "Should be an instance of AccessibilityRange type.");
183 testingTarget.StartOffset = 10;
184 Assert.AreEqual(10, testingTarget.StartOffset, "Should be equal!");
186 tlog.Debug(tag, $"ViewAccessibilityAccessibilityRangeStartOffset END (OK)");
191 [Description("ViewAccessibility.AccessibilityRange EndOffset.")]
192 [Property("SPEC", "Tizen.NUI.ViewAccessibility.AccessibilityRange.EndOffset A")]
193 [Property("SPEC_URL", "-")]
194 [Property("CRITERIA", "PRO")]
195 [Property("AUTHOR", "guowei.wang@samsung.com")]
196 public void ViewAccessibilityAccessibilityRangeEndOffset()
198 tlog.Debug(tag, $"ViewAccessibilityAccessibilityRangeEndOffset START");
200 var testingTarget = new AccessibilityRange();
201 Assert.IsNotNull(testingTarget, "Can't create success object AccessibilityRange");
202 Assert.IsInstanceOf<AccessibilityRange>(testingTarget, "Should be an instance of AccessibilityRange type.");
204 testingTarget.EndOffset = 30;
205 Assert.AreEqual(30, testingTarget.EndOffset, "Should be equal!");
207 tlog.Debug(tag, $"ViewAccessibilityAccessibilityRangeEndOffset END (OK)");
212 [Description("ViewAccessibility.AccessibilityRange Content.")]
213 [Property("SPEC", "Tizen.NUI.ViewAccessibility.AccessibilityRange.Content A")]
214 [Property("SPEC_URL", "-")]
215 [Property("CRITERIA", "PRO")]
216 [Property("AUTHOR", "guowei.wang@samsung.com")]
217 public void ViewAccessibilityAccessibilityRangeContent()
219 tlog.Debug(tag, $"ViewAccessibilityAccessibilityRangeContent START");
221 var testingTarget = new AccessibilityRange();
222 Assert.IsNotNull(testingTarget, "Can't create success object AccessibilityRange");
223 Assert.IsInstanceOf<AccessibilityRange>(testingTarget, "Should be an instance of AccessibilityRange type.");
225 testingTarget.Content = "TextLabel";
226 Assert.AreEqual("TextLabel", testingTarget.Content, "Should be equal!");
228 tlog.Debug(tag, $"ViewAccessibilityAccessibilityRangeContent END (OK)");
233 [Description("ViewAccessibility.View.RemoveAccessibilityAttribute.")]
234 [Property("SPEC", "Tizen.NUI.ViewAccessibility.View.RemoveAccessibilityAttribute M")]
235 [Property("SPEC_URL", "-")]
236 [Property("CRITERIA", "MR")]
237 [Property("AUTHOR", "guowei.wang@samsung.com")]
238 public void ViewAccessibilityViewRemoveAccessibilityAttribute()
240 tlog.Debug(tag, $"ViewAccessibilityViewRemoveAccessibilityAttribute START");
242 var testingTarget = new View();
243 Assert.IsNotNull(testingTarget, "Can't create success object View");
244 Assert.IsInstanceOf<View>(testingTarget, "Should be an instance of View type.");
246 testingTarget.AppendAccessibilityAttribute("MyView", "test");
250 testingTarget.RemoveAccessibilityAttribute("MyView");
254 tlog.Debug(tag, e.Message.ToString());
255 Assert.Fail("Caught Exception: Failed!");
258 testingTarget.Dispose();
259 tlog.Debug(tag, $"ViewAccessibilityViewRemoveAccessibilityAttribute END (OK)");
264 [Description("ViewAccessibility.View.ClearAccessibilityAttributes.")]
265 [Property("SPEC", "Tizen.NUI.ViewAccessibility.View.ClearAccessibilityAttributes MR")]
266 [Property("SPEC_URL", "-")]
267 [Property("CRITERIA", "MR")]
268 [Property("AUTHOR", "guowei.wang@samsung.com")]
269 public void ViewAccessibilityViewClearAccessibilityAttributes()
271 tlog.Debug(tag, $"ViewAccessibilityViewClearAccessibilityAttributes START");
273 var testingTarget = new View();
274 Assert.IsNotNull(testingTarget, "Can't create success object View");
275 Assert.IsInstanceOf<View>(testingTarget, "Should be an instance of View type.");
277 testingTarget.AppendAccessibilityAttribute("MyView", "test");
281 testingTarget.ClearAccessibilityAttributes();
285 tlog.Debug(tag, e.Message.ToString());
286 Assert.Fail("Caught Exception: Failed!");
289 testingTarget.Dispose();
290 tlog.Debug(tag, $"ViewAccessibilityViewClearAccessibilityAttributes END (OK)");
295 [Description("ViewAccessibility.View.ClearAccessibilityHighlight.")]
296 [Property("SPEC", "Tizen.NUI.ViewAccessibility.View.ClearAccessibilityHighlight M")]
297 [Property("SPEC_URL", "-")]
298 [Property("CRITERIA", "MR")]
299 [Property("AUTHOR", "guowei.wang@samsung.com")]
300 public void ViewAccessibilityViewClearAccessibilityHighlight()
302 tlog.Debug(tag, $"ViewAccessibilityViewClearAccessibilityHighlight START");
304 var testingTarget = new View();
305 Assert.IsNotNull(testingTarget, "Can't create success object View");
306 Assert.IsInstanceOf<View>(testingTarget, "Should be an instance of View type.");
308 testingTarget.AccessibilityHighlightable = true;
312 var result = testingTarget.ClearAccessibilityHighlight();
313 tlog.Debug(tag, "ClearAccessibilityHighlight : " + result);
315 result = testingTarget.GrabAccessibilityHighlight();
316 tlog.Debug(tag, "GrabAccessibilityHighlight : " + result);
320 tlog.Debug(tag, e.Message.ToString());
321 Assert.Fail("Caught Exception: Failed!");
324 testingTarget.Dispose();
325 tlog.Debug(tag, $"ViewAccessibilityViewClearAccessibilityHighlight END (OK)");
330 [Description("ViewAccessibility.View.AppendAccessibilityRelation.")]
331 [Property("SPEC", "Tizen.NUI.ViewAccessibility.View.AppendAccessibilityRelation M")]
332 [Property("SPEC_URL", "-")]
333 [Property("CRITERIA", "MR")]
334 [Property("AUTHOR", "guowei.wang@samsung.com")]
335 public void ViewAccessibilityViewAppendAccessibilityRelation()
337 tlog.Debug(tag, $"ViewAccessibilityViewAppendAccessibilityRelation START");
339 var testingTarget = new View()
341 Size = new Size2D(100, 100),
342 PositionUsesPivotPoint = true,
343 ParentOrigin = ParentOrigin.TopCenter,
344 PivotPoint = PivotPoint.TopCenter,
345 BackgroundColor = Color.AquaMarine,
347 Assert.IsNotNull(testingTarget, "Can't create success object View");
348 Assert.IsInstanceOf<View>(testingTarget, "Should be an instance of View type.");
350 using (View child = new View())
354 testingTarget.AppendAccessibilityRelation(child, AccessibilityRelationType.MemberOf);
355 var result = testingTarget.GetAccessibilityRelations();
356 tlog.Debug(tag, "AccessibilityRelations : " + result);
358 testingTarget.RemoveAccessibilityRelation(child, AccessibilityRelationType.MemberOf);
359 testingTarget.ClearAccessibilityRelations();
363 tlog.Debug(tag, e.Message.ToString());
364 Assert.Fail("Caught Exception : Failed!");
368 testingTarget.Dispose();
369 tlog.Debug(tag, $"ViewAccessibilityViewAppendAccessibilityRelation END (OK)");
374 [Description("ViewAccessibility.View.AppendAccessibilityRelation.")]
375 [Property("SPEC", "Tizen.NUI.ViewAccessibility.View.AppendAccessibilityRelation M")]
376 [Property("SPEC_URL", "-")]
377 [Property("CRITERIA", "MR")]
378 [Property("AUTHOR", "guowei.wang@samsung.com")]
379 public void ViewAccessibilityViewAppendAccessibilityRelationNullValue()
381 tlog.Debug(tag, $"ViewAccessibilityViewAppendAccessibilityRelationNullValue START");
383 var testingTarget = new View()
385 Size = new Size2D(100, 100),
386 PositionUsesPivotPoint = true,
387 ParentOrigin = ParentOrigin.TopCenter,
388 PivotPoint = PivotPoint.TopCenter,
389 BackgroundColor = Color.AquaMarine,
391 Assert.IsNotNull(testingTarget, "Can't create success object View");
392 Assert.IsInstanceOf<View>(testingTarget, "Should be an instance of View type.");
397 testingTarget.AppendAccessibilityRelation(child, AccessibilityRelationType.MemberOf);
399 catch (ArgumentNullException)
401 testingTarget.Dispose();
402 tlog.Debug(tag, $"ViewAccessibilityViewAppendAccessibilityRelationNullValue END (OK)");
403 Assert.Pass("Caught ArgumentNullException : Passed!");
409 [Description("ViewAccessibility.View.SetAccessibilityReadingInfoTypes.")]
410 [Property("SPEC", "Tizen.NUI.ViewAccessibility.View.SetAccessibilityReadingInfoTypes M")]
411 [Property("SPEC_URL", "-")]
412 [Property("CRITERIA", "MR")]
413 [Property("AUTHOR", "guowei.wang@samsung.com")]
414 public void ViewAccessibilityViewSetAccessibilityReadingInfoTypes()
416 tlog.Debug(tag, $"ViewAccessibilityViewSetAccessibilityReadingInfoTypes START");
418 var testingTarget = new View()
420 Size = new Size2D(100, 100),
421 PositionUsesPivotPoint = true,
422 ParentOrigin = ParentOrigin.TopCenter,
423 PivotPoint = PivotPoint.TopCenter,
424 BackgroundColor = Color.AquaMarine,
426 Assert.IsNotNull(testingTarget, "Can't create success object View");
427 Assert.IsInstanceOf<View>(testingTarget, "Should be an instance of View type.");
430 testingTarget.SetAccessibilityReadingInfoTypes(AccessibilityReadingInfoTypes.Description);
431 var result = testingTarget.GetAccessibilityReadingInfoTypes();
432 tlog.Debug(tag, "AccessibilityReadingInfoTypes : " + result);
434 testingTarget.Dispose();
435 tlog.Debug(tag, $"ViewAccessibilityViewSetAccessibilityReadingInfoTypes END (OK)");
440 [Description("ViewAccessibility.View.NotifyAccessibilityStatesChange.")]
441 [Property("SPEC", "Tizen.NUI.ViewAccessibility.View.NotifyAccessibilityStatesChange M")]
442 [Property("SPEC_URL", "-")]
443 [Property("CRITERIA", "MR")]
444 [Property("AUTHOR", "guowei.wang@samsung.com")]
445 public void ViewAccessibilityViewNotifyAccessibilityStatesChange()
447 tlog.Debug(tag, $"ViewAccessibilityViewNotifyAccessibilityStatesChange START");
449 var testingTarget = new View()
451 Size = new Size2D(100, 100),
452 PositionUsesPivotPoint = true,
453 ParentOrigin = ParentOrigin.TopCenter,
454 PivotPoint = PivotPoint.TopCenter,
455 BackgroundColor = Color.AquaMarine,
457 Assert.IsNotNull(testingTarget, "Can't create success object View");
458 Assert.IsInstanceOf<View>(testingTarget, "Should be an instance of View type.");
460 testingTarget.NotifyAccessibilityStatesChange(AccessibilityStates.Busy, true);
461 var result = testingTarget.GetAccessibilityStates();
462 tlog.Debug(tag, "AccessibilityStates : " + result);
464 testingTarget.Dispose();
465 tlog.Debug(tag, $"ViewAccessibilityViewNotifyAccessibilityStatesChange END (OK)");
470 [Description("ViewAccessibility.View.RegisterDefaultLabel.")]
471 [Property("SPEC", "Tizen.NUI.ViewAccessibility.View.RegisterDefaultLabel M")]
472 [Property("SPEC_URL", "-")]
473 [Property("CRITERIA", "MR")]
474 [Property("AUTHOR", "guowei.wang@samsung.com")]
475 public void ViewAccessibilityRegisterDefaultLabel()
477 tlog.Debug(tag, $"ViewAccessibilityRegisterDefaultLabel START");
479 var testingTarget = new View()
481 Size = new Size2D(100, 100),
482 PositionUsesPivotPoint = true,
483 ParentOrigin = ParentOrigin.TopCenter,
484 PivotPoint = PivotPoint.TopCenter,
485 BackgroundColor = Color.AquaMarine,
487 Assert.IsNotNull(testingTarget, "Can't create success object View");
488 Assert.IsInstanceOf<View>(testingTarget, "Should be an instance of View type.");
492 testingTarget.RegisterDefaultLabel();
493 testingTarget.UnregisterDefaultLabel();
497 tlog.Debug(tag, e.Message.ToString());
498 Assert.Fail("Caught Exception : Failed!");
501 testingTarget.Dispose();
502 tlog.Debug(tag, $"ViewAccessibilityRegisterDefaultLabel END (OK)");
507 [Description("ViewAccessibility.EmitAccessibilityEvent.")]
508 [Property("SPEC", "Tizen.NUI.ViewAccessibility.EmitAccessibilityEvent M")]
509 [Property("SPEC_URL", "-")]
510 [Property("CRITERIA", "MR")]
511 [Property("AUTHOR", "guowei.wang@samsung.com")]
512 public void ViewAccessibilityEmitAccessibilityEvent()
514 tlog.Debug(tag, $"ViewAccessibilityEmitAccessibilityEvent START");
516 var testingTarget = new View()
518 Size = new Size2D(100, 100),
519 PositionUsesPivotPoint = true,
520 ParentOrigin = ParentOrigin.TopCenter,
521 PivotPoint = PivotPoint.TopCenter,
522 BackgroundColor = Color.AquaMarine,
524 Assert.IsNotNull(testingTarget, "Can't create success object View");
525 Assert.IsInstanceOf<View>(testingTarget, "Should be an instance of View type.");
529 testingTarget.EmitAccessibilityEvent(AccessibilityPropertyChangeEvent.Name);
533 tlog.Debug(tag, e.Message.ToString());
534 Assert.Fail("Caught Exception : Failed!");
537 testingTarget.Dispose();
538 tlog.Debug(tag, $"ViewAccessibilityEmitAccessibilityEvent END (OK)");
543 [Description("ViewAccessibility.EmitAccessibilityStatesChangedEvent.")]
544 [Property("SPEC", "Tizen.NUI.ViewAccessibility.EmitAccessibilityStatesChangedEvent M")]
545 [Property("SPEC_URL", "-")]
546 [Property("CRITERIA", "MR")]
547 [Property("AUTHOR", "guowei.wang@samsung.com")]
548 public void ViewAccessibilityEmitAccessibilityStatesChangedEvent()
550 tlog.Debug(tag, $"ViewAccessibilityEmitAccessibilityStatesChangedEvent START");
552 var testingTarget = new CheckBox()
554 Size = new Size2D(100, 100),
558 Assert.IsNotNull(testingTarget, "Can't create success object CheckBox.");
559 Assert.IsInstanceOf<CheckBox>(testingTarget, "Should be an instance of CheckBox type.");
563 testingTarget.EmitAccessibilityStatesChangedEvent(AccessibilityStates.Checked, true);
567 tlog.Debug(tag, e.Message.ToString());
568 Assert.Fail("Caught Exception : Failed!");
571 testingTarget.Dispose();
572 tlog.Debug(tag, $"ViewAccessibilityEmitAccessibilityStatesChangedEvent END (OK)");
577 [Description("ViewAccessibility.EmitTextInsertedEvent.")]
578 [Property("SPEC", "Tizen.NUI.ViewAccessibility.EmitTextInsertedEvent M")]
579 [Property("SPEC_URL", "-")]
580 [Property("CRITERIA", "MR")]
581 [Property("AUTHOR", "guowei.wang@samsung.com")]
582 public void ViewAccessibilityEmitTextInsertedEvent()
584 tlog.Debug(tag, $"ViewAccessibilityEmitTextInsertedEvent START");
586 var testingTarget = new TextLabel()
588 Text = "InsertedEvent"
590 Assert.IsNotNull(testingTarget, "Can't create success object View");
591 Assert.IsInstanceOf<View>(testingTarget, "Should be an instance of View type.");
595 testingTarget.EmitTextInsertedEvent(0, 4, "test");
596 testingTarget.EmitTextCursorMovedEvent(4);
597 testingTarget.EmitTextDeletedEvent(0, 4, "test");
601 tlog.Debug(tag, e.Message.ToString());
602 Assert.Fail("Caught Exception : Failed!");
605 testingTarget.Dispose();
606 tlog.Debug(tag, $"ViewAccessibilityEmitTextInsertedEvent END (OK)");