mirror of
https://github.com/gui-cs/Terminal.Gui.git
synced 2025-12-28 00:38:00 +01:00
99 lines
2.6 KiB
C#
99 lines
2.6 KiB
C#
using Xunit.Abstractions;
|
|
|
|
namespace Terminal.Gui.ViewTests;
|
|
|
|
public class ShadowStyleTests (ITestOutputHelper _output)
|
|
{
|
|
[Fact]
|
|
public void Default_None ()
|
|
{
|
|
var 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)
|
|
{
|
|
var 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)
|
|
{
|
|
var view = new View ();
|
|
view.Margin.Thickness = new (3);
|
|
view.ShadowStyle = style;
|
|
Assert.Equal (new (3, 3, expected, expected), view.Margin.Thickness);
|
|
|
|
view.ShadowStyle = ShadowStyle.None;
|
|
Assert.Equal (new (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)
|
|
{
|
|
var superView = new View
|
|
{
|
|
Width = 4,
|
|
Height = 4,
|
|
Text = "!@#$".Repeat (4)
|
|
};
|
|
superView.TextFormatter.WordWrap = true;
|
|
|
|
var view = new View
|
|
{
|
|
Text = "01\nAB",
|
|
Width = Dim.Auto (),
|
|
Height = Dim.Auto ()
|
|
};
|
|
view.ShadowStyle = style;
|
|
superView.Add (view);
|
|
superView.BeginInit ();
|
|
superView.EndInit ();
|
|
superView.Draw ();
|
|
|
|
TestHelpers.AssertDriverContentsWithFrameAre (expected, _output);
|
|
view.Dispose ();
|
|
}
|
|
}
|