FlowDirectionTests.cs 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. using Avalonia.Media;
  2. using Xunit;
  3. namespace Avalonia.Controls.UnitTests
  4. {
  5. public class FlowDirectionTests
  6. {
  7. [Fact]
  8. public void HasMirrorTransform_Should_Be_True()
  9. {
  10. var target = new Control
  11. {
  12. FlowDirection = FlowDirection.RightToLeft,
  13. };
  14. Assert.True(target.HasMirrorTransform);
  15. }
  16. [Fact]
  17. public void HasMirrorTransform_Of_LTR_Children_Should_Be_True_For_RTL_Parent()
  18. {
  19. Control child;
  20. var target = new Decorator
  21. {
  22. FlowDirection = FlowDirection.RightToLeft,
  23. Child = child = new Control()
  24. };
  25. child.FlowDirection = FlowDirection.LeftToRight;
  26. Assert.True(target.HasMirrorTransform);
  27. Assert.True(child.HasMirrorTransform);
  28. }
  29. [Fact]
  30. public void HasMirrorTransform_Of_Children_Is_Updated_After_Parent_Changeed()
  31. {
  32. Control child;
  33. var target = new Decorator
  34. {
  35. FlowDirection = FlowDirection.LeftToRight,
  36. Child = child = new Control()
  37. {
  38. FlowDirection = FlowDirection.LeftToRight,
  39. }
  40. };
  41. Assert.False(target.HasMirrorTransform);
  42. Assert.False(child.HasMirrorTransform);
  43. target.FlowDirection = FlowDirection.RightToLeft;
  44. Assert.True(target.HasMirrorTransform);
  45. Assert.True(child.HasMirrorTransform);
  46. }
  47. }
  48. }