mirror of
https://github.com/gui-cs/Terminal.Gui.git
synced 2026-01-02 01:03:29 +01:00
Added unit tests
This commit is contained in:
@@ -23,7 +23,7 @@ internal class ShadowView : View
|
||||
{
|
||||
attr = adornment.Parent.SuperView.GetNormalColor ();
|
||||
}
|
||||
else
|
||||
else if (Application.Top is { })
|
||||
{
|
||||
attr = Application.Top.GetNormalColor ();
|
||||
}
|
||||
|
||||
96
UnitTests/View/Adornment/ShadowStyletests.cs
Normal file
96
UnitTests/View/Adornment/ShadowStyletests.cs
Normal file
@@ -0,0 +1,96 @@
|
||||
using Xunit.Abstractions;
|
||||
|
||||
namespace Terminal.Gui.ViewTests;
|
||||
|
||||
public class ShadowStyleTests (ITestOutputHelper _output)
|
||||
{
|
||||
[Fact]
|
||||
public void Default_None ()
|
||||
{
|
||||
View view = new View ();
|
||||
Assert.Equal (ShadowStyle.None, view.ShadowStyle);
|
||||
Assert.Equal (ShadowStyle.None, view.Margin.ShadowStyle);
|
||||
view.Dispose ();
|
||||
|
||||
}
|
||||
|
||||
[Theory]
|
||||
[InlineData (ShadowStyle.None)]
|
||||
[InlineData (ShadowStyle.Opaque)]
|
||||
[InlineData (ShadowStyle.Transparent)]
|
||||
public void Set_View_Sets_Margin (ShadowStyle style)
|
||||
{
|
||||
View view = new View ();
|
||||
|
||||
view.ShadowStyle = style;
|
||||
Assert.Equal (style, view.ShadowStyle);
|
||||
Assert.Equal (style, view.Margin.ShadowStyle);
|
||||
view.Dispose ();
|
||||
|
||||
}
|
||||
|
||||
[Theory]
|
||||
[InlineData (ShadowStyle.None, 3)]
|
||||
[InlineData (ShadowStyle.Opaque, 4)]
|
||||
[InlineData (ShadowStyle.Transparent, 4)]
|
||||
public void Style_Changes_Magin_Thickness (ShadowStyle style, int expected)
|
||||
{
|
||||
View view = new View ();
|
||||
view.Margin.Thickness = new (3);
|
||||
view.ShadowStyle = style;
|
||||
Assert.Equal (new Thickness (3, 3, expected, expected), view.Margin.Thickness);
|
||||
|
||||
view.ShadowStyle = ShadowStyle.None;
|
||||
Assert.Equal (new Thickness (3), view.Margin.Thickness);
|
||||
view.Dispose ();
|
||||
|
||||
}
|
||||
|
||||
// Visual tests
|
||||
[Theory]
|
||||
[InlineData (ShadowStyle.None, """
|
||||
01#$
|
||||
AB#$
|
||||
!@#$
|
||||
!@#$
|
||||
""")]
|
||||
[InlineData (ShadowStyle.Opaque, """
|
||||
01#$
|
||||
AB▌$
|
||||
!▀▘$
|
||||
!@#$
|
||||
""")]
|
||||
[InlineData (ShadowStyle.Transparent, """
|
||||
01#$
|
||||
AB#$
|
||||
!@#$
|
||||
!@#$
|
||||
""")]
|
||||
[SetupFakeDriver]
|
||||
public void Visual_Test (ShadowStyle style, string expected)
|
||||
{
|
||||
View superView = new View ()
|
||||
{
|
||||
Width = 4,
|
||||
Height = 4,
|
||||
Text = "!@#$".Repeat (4)
|
||||
};
|
||||
superView.TextFormatter.WordWrap = true;
|
||||
|
||||
View view = new View ()
|
||||
{
|
||||
Text = "01\nAB",
|
||||
Width = Dim.Auto (),
|
||||
Height = Dim.Auto (),
|
||||
};
|
||||
view.ShadowStyle = style;
|
||||
superView.Add (view);
|
||||
superView.BeginInit();
|
||||
superView.EndInit();
|
||||
superView.Draw ();
|
||||
|
||||
// view.Draw ();
|
||||
TestHelpers.AssertDriverContentsWithFrameAre (expected, _output);
|
||||
view.Dispose ();
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user