public async Task OnTextCleared_MultilineTextBox()
        {
            await using var recorder = new TestRecorder(App);

            //Arrange
            IVisualElement grid = await LoadXaml(@"
<Grid>
    <TextBox Style=""{StaticResource MaterialDesignFilledTextBox}""
             materialDesign:HintAssist.Hint=""Floating hint in a box""
             VerticalAlignment=""Top""/>
</Grid>");

            IVisualElement textBox = await grid.GetElement("/TextBox");

            Rect initialRect = await textBox.GetCoordinates();

            double initialHeight = await textBox.GetActualHeight();

            await textBox.SetText($"Line 1{Environment.NewLine}Line 2");

            double twoLineHeight = await textBox.GetActualHeight();

            //Act
            await textBox.SetText("");

            //Assert
            await Wait.For(async() => Assert.Equal(initialHeight, await textBox.GetActualHeight()));

            Rect rect = await textBox.GetCoordinates();

            Assert.Equal(initialRect, rect);
            recorder.Success();
        }
        public async Task OnClearButtonWithHintShown_ControlHeighDoesNotChange()
        {
            await using var recorder = new TestRecorder(App);

            //Arrange
            IVisualElement grid = await LoadXaml(@"
<Grid Margin=""30"">
    <TextBox Style=""{StaticResource MaterialDesignFloatingHintTextBox}""
        VerticalAlignment=""Top""
        materialDesign:TextFieldAssist.HasClearButton=""True""
        materialDesign:TextFieldAssist.PrefixText =""$""
        materialDesign:TextFieldAssist.SuffixText = ""mm"">
        <materialDesign:HintAssist.Hint>
            <StackPanel Orientation=""Horizontal"" Margin=""-2 0 0 0"">
                <materialDesign:PackIcon Kind=""AccessPoint"" />
                <TextBlock>WiFi</TextBlock>
            </StackPanel>
         </materialDesign:HintAssist.Hint >
    </TextBox>
</Grid>");

            IVisualElement textBox = await grid.GetElement("/TextBox");

            IVisualElement clearButton = await grid.GetElement("PART_ClearButton");

            double initialHeight = await textBox.GetActualHeight();

            //Act
            await textBox.MoveKeyboardFocus();

            //Delay needed to accout for transition storyboard
            await Task.Delay(MaterialDesignTextBox.FocusedAimationTime);

            //Assert
            double height = await textBox.GetActualHeight();

            Assert.Equal(initialHeight, height);

            recorder.Success();
        }
示例#3
0
        public async Task ScrollBarAssist_ButtonsVisibility_HidesButtonsOnMinimalistStyle()
        {
            await using var recorder = new TestRecorder(App);

            string xaml = @"<ListBox Height=""300"" Width=""300""
materialDesign:ScrollBarAssist.ButtonsVisibility=""Collapsed"" 
ScrollViewer.HorizontalScrollBarVisibility=""Visible"" 
ScrollViewer.VerticalScrollBarVisibility=""Visible"">
<ListBox.Resources>
    <Style BasedOn=""{StaticResource MaterialDesignScrollBarMinimal}"" TargetType=""{x:Type ScrollBar}"" />
</ListBox.Resources>
";

            for (int i = 0; i < 50; i++)
            {
                xaml += $"    <ListBoxItem>This is a pretty long meaningless text just to make horizontal scrollbar visibile</ListBoxItem>{Environment.NewLine}";
            }
            xaml += "</ListBox>";

            IVisualElement listBox = await LoadXaml(xaml);

            IVisualElement verticalScrollBar = await listBox.GetElement("PART_VerticalScrollBar");

            IVisualElement horizontalScrollBar = await listBox.GetElement("PART_HorizontalScrollBar");

            Assert.Equal(17, await verticalScrollBar.GetActualWidth());
            var verticalThumb = await verticalScrollBar.GetElement("/Thumb~border");

            Assert.Equal(10, await verticalThumb.GetActualWidth());
            var upButton = await verticalScrollBar.GetElement("PART_LineUpButton");

            Assert.False(await upButton.GetIsVisible());
            var downButton = await verticalScrollBar.GetElement("PART_LineDownButton");

            Assert.False(await downButton.GetIsVisible());

            Assert.Equal(17, await horizontalScrollBar.GetActualHeight());
            var horizontalThumb = await horizontalScrollBar.GetElement("/Thumb~border");

            Assert.Equal(10, await horizontalThumb.GetActualHeight());
            var leftButton = await horizontalScrollBar.GetElement("PART_LineLeftButton");

            Assert.False(await upButton.GetIsVisible());
            var rightButton = await horizontalScrollBar.GetElement("PART_LineRightButton");

            Assert.False(await downButton.GetIsVisible());

            recorder.Success();
        }
        public async Task OnClearButtonShown_ControlHeighDoesNotChange()
        {
            await using var recorder = new TestRecorder(App);

            //Arrange
            IVisualElement grid = await LoadXaml(@"
<Grid Margin=""30"">
    <TextBox VerticalAlignment=""Top""
             Text=""Some Text""
             materialDesign:TextFieldAssist.HasClearButton=""True"">
    </TextBox>
</Grid>");

            IVisualElement textBox = await grid.GetElement("/TextBox");

            IVisualElement clearButton = await grid.GetElement("PART_ClearButton");

            await textBox.MoveKeyboardFocus();

            //Delay needed to accout for transition storyboard
            await Task.Delay(MaterialDesignTextBox.FocusedAimationTime);

            double initialHeight = await textBox.GetActualHeight();

            //Act
            await clearButton.Click();

            //Assert
            await Task.Delay(MaterialDesignTextBox.FocusedAimationTime);

            double height = await textBox.GetActualHeight();

            Assert.Equal(initialHeight, height);

            recorder.Success();
        }