From 53ff0e178c169c4bf074803f96fa6431b2f5b8b3 Mon Sep 17 00:00:00 2001 From: Steven Kirk Date: Sun, 18 Feb 2018 18:17:33 +0100 Subject: [PATCH 1/2] Added failing test for #1376 --- .../TextBoxTests.cs | 24 +++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/tests/Avalonia.Controls.UnitTests/TextBoxTests.cs b/tests/Avalonia.Controls.UnitTests/TextBoxTests.cs index b091f6826e..5ddc8e71e7 100644 --- a/tests/Avalonia.Controls.UnitTests/TextBoxTests.cs +++ b/tests/Avalonia.Controls.UnitTests/TextBoxTests.cs @@ -4,10 +4,12 @@ using System; using System.Reactive.Linq; using Avalonia.Controls.Presenters; +using Avalonia.Controls.Primitives; using Avalonia.Controls.Templates; using Avalonia.Data; using Avalonia.Input; using Avalonia.Markup.Xaml.Data; +using Avalonia.Media; using Avalonia.Platform; using Avalonia.UnitTests; using Moq; @@ -245,6 +247,28 @@ namespace Avalonia.Controls.UnitTests } } + [Theory] + [InlineData(new object[] { false, TextWrapping.NoWrap, ScrollBarVisibility.Hidden })] + [InlineData(new object[] { false, TextWrapping.Wrap, ScrollBarVisibility.Hidden })] + [InlineData(new object[] { true, TextWrapping.NoWrap, ScrollBarVisibility.Auto })] + [InlineData(new object[] { true, TextWrapping.Wrap, ScrollBarVisibility.Disabled })] + public void Has_Correct_Horizontal_ScrollBar_Visibility( + bool acceptsReturn, + TextWrapping wrapping, + ScrollBarVisibility expected) + { + using (UnitTestApplication.Start(Services)) + { + var target = new TextBox + { + AcceptsReturn = acceptsReturn, + TextWrapping = wrapping, + }; + + Assert.Equal(expected, ScrollViewer.GetHorizontalScrollBarVisibility(target)); + } + } + private static TestServices Services => TestServices.MockThreadingInterface.With( standardCursorFactory: Mock.Of()); From 83f795480ba8b10431b925acd58854a1430eadec Mon Sep 17 00:00:00 2001 From: Steven Kirk Date: Sun, 18 Feb 2018 18:17:41 +0100 Subject: [PATCH 2/2] Fixed #1376 --- src/Avalonia.Controls/TextBox.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Avalonia.Controls/TextBox.cs b/src/Avalonia.Controls/TextBox.cs index e939ace66d..3ec3d6ed5b 100644 --- a/src/Avalonia.Controls/TextBox.cs +++ b/src/Avalonia.Controls/TextBox.cs @@ -103,7 +103,7 @@ namespace Avalonia.Controls if (acceptsReturn) { return wrapping == TextWrapping.NoWrap ? - ScrollBarVisibility.Visible : + ScrollBarVisibility.Auto : ScrollBarVisibility.Disabled; } else