1
0

FlowDirectionTests.cs 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  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 Visual
  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. var child = new Visual()
  20. {
  21. FlowDirection = FlowDirection.LeftToRight,
  22. };
  23. var target = new Visual
  24. {
  25. FlowDirection = FlowDirection.RightToLeft,
  26. };
  27. target.VisualChildren.Add(child);
  28. child.InvalidateMirrorTransform();
  29. Assert.True(target.HasMirrorTransform);
  30. Assert.True(child.HasMirrorTransform);
  31. }
  32. [Fact]
  33. public void HasMirrorTransform_Of_Children_Is_Updated_After_Parent_Changed()
  34. {
  35. var child = new Visual()
  36. {
  37. FlowDirection = FlowDirection.LeftToRight,
  38. };
  39. var target = new Decorator
  40. {
  41. FlowDirection = FlowDirection.LeftToRight,
  42. };
  43. target.VisualChildren.Add(child);
  44. Assert.False(target.HasMirrorTransform);
  45. Assert.False(child.HasMirrorTransform);
  46. target.FlowDirection = FlowDirection.RightToLeft;
  47. Assert.True(target.HasMirrorTransform);
  48. Assert.True(child.HasMirrorTransform);
  49. }
  50. }
  51. }