|
1 |
| -using System.ComponentModel; |
| 1 | +using System; |
| 2 | +using System.ComponentModel; |
2 | 3 | using System.Threading.Tasks;
|
3 | 4 | using System.Windows.Controls.Primitives;
|
4 | 5 | using System.Windows.Media;
|
@@ -86,5 +87,47 @@ public async Task OnClickChoiceChipListBox_ChangesSelectedItem(string listBoxSty
|
86 | 87 |
|
87 | 88 | recorder.Success();
|
88 | 89 | }
|
| 90 | + |
| 91 | + [Fact] |
| 92 | + public async Task ScrollBarAssist_ButtonsVisibility_HidesButtonsOnMinimalistStyle() |
| 93 | + { |
| 94 | + await using var recorder = new TestRecorder(App); |
| 95 | + |
| 96 | + string xaml = @"<ListBox Height=""300"" Width=""300"" |
| 97 | +materialDesign:ScrollBarAssist.ButtonsVisibility=""Collapsed"" |
| 98 | +ScrollViewer.HorizontalScrollBarVisibility=""Visible"" |
| 99 | +ScrollViewer.VerticalScrollBarVisibility=""Visible""> |
| 100 | +<ListBox.Resources> |
| 101 | + <Style BasedOn=""{StaticResource MaterialDesignScrollBarMinimal}"" TargetType=""{x:Type ScrollBar}"" /> |
| 102 | +</ListBox.Resources> |
| 103 | +"; |
| 104 | + for(int i = 0; i < 50; i++) |
| 105 | + { |
| 106 | + xaml += $" <ListBoxItem>This is a pretty long meaningless text just to make horizontal scrollbar visibile</ListBoxItem>{Environment.NewLine}"; |
| 107 | + } |
| 108 | + xaml += "</ListBox>"; |
| 109 | + |
| 110 | + IVisualElement listBox = await LoadXaml(xaml); |
| 111 | + IVisualElement verticalScrollBar = await listBox.GetElement("PART_VerticalScrollBar"); |
| 112 | + IVisualElement horizontalScrollBar = await listBox.GetElement("PART_HorizontalScrollBar"); |
| 113 | + |
| 114 | + Assert.Equal(17, await verticalScrollBar.GetActualWidth()); |
| 115 | + var verticalThumb = await verticalScrollBar.GetElement("/Thumb~border"); |
| 116 | + Assert.Equal(10, await verticalThumb.GetActualWidth()); |
| 117 | + var upButton = await verticalScrollBar.GetElement("PART_LineUpButton"); |
| 118 | + Assert.False(await upButton.GetIsVisible()); |
| 119 | + var downButton = await verticalScrollBar.GetElement("PART_LineDownButton"); |
| 120 | + Assert.False(await downButton.GetIsVisible()); |
| 121 | + |
| 122 | + Assert.Equal(17, await horizontalScrollBar.GetActualHeight()); |
| 123 | + var horizontalThumb = await horizontalScrollBar.GetElement("/Thumb~border"); |
| 124 | + Assert.Equal(10, await horizontalThumb.GetActualHeight()); |
| 125 | + var leftButton = await horizontalScrollBar.GetElement("PART_LineLeftButton"); |
| 126 | + Assert.False(await upButton.GetIsVisible()); |
| 127 | + var rightButton = await horizontalScrollBar.GetElement("PART_LineRightButton"); |
| 128 | + Assert.False(await downButton.GetIsVisible()); |
| 129 | + |
| 130 | + recorder.Success(); |
| 131 | + } |
89 | 132 | }
|
90 | 133 | }
|
0 commit comments