mirror of
https://github.com/gui-cs/Terminal.Gui.git
synced 2025-12-27 16:27:55 +01:00
108 lines
3.0 KiB
C#
108 lines
3.0 KiB
C#
#nullable enable
|
|
using System.Text;
|
|
using Xunit.Abstractions;
|
|
|
|
namespace Terminal.Gui.ViewTests;
|
|
|
|
[Trait ("Category", "Output")]
|
|
public class TransparentTests (ITestOutputHelper _output)
|
|
{
|
|
[Fact]
|
|
[SetupFakeDriver]
|
|
|
|
public void Transparent_Text_Occludes ()
|
|
{
|
|
var super = new View
|
|
{
|
|
Id = "super",
|
|
Width = 20,
|
|
Height = 5,
|
|
};
|
|
super.DrawingContent += (sender, args) =>
|
|
{
|
|
var s = sender as View;
|
|
s!.FillRect(s!.Viewport, Glyphs.Stipple);
|
|
args.Cancel = true;
|
|
};
|
|
|
|
var sub = new View
|
|
{
|
|
X = 1,
|
|
Y = 1,
|
|
Width = 15,
|
|
Height = 3,
|
|
Id = "sub",
|
|
Text = "Sub",
|
|
ViewportSettings = ViewportSettings.Transparent,
|
|
BorderStyle = LineStyle.Single
|
|
};
|
|
|
|
super.Add (sub);
|
|
|
|
super.Layout ();
|
|
super.Draw ();
|
|
|
|
_ = TestHelpers.AssertDriverContentsWithFrameAre (
|
|
@"
|
|
░░░░░░░░░░░░░░░░░░░░
|
|
░┌─────────────┐░░░░
|
|
░│Sub░░░░░░░░░░│░░░░
|
|
░└─────────────┘░░░░
|
|
░░░░░░░░░░░░░░░░░░░░", _output);
|
|
}
|
|
|
|
[Fact]
|
|
[SetupFakeDriver]
|
|
|
|
public void Transparent_Subview_Occludes ()
|
|
{
|
|
var super = new View
|
|
{
|
|
Id = "super",
|
|
Width = 20,
|
|
Height = 5,
|
|
};
|
|
super.DrawingContent += (sender, args) =>
|
|
{
|
|
var s = sender as View;
|
|
s!.FillRect (s!.Viewport, Glyphs.Stipple);
|
|
args.Cancel = true;
|
|
};
|
|
|
|
var sub = new View
|
|
{
|
|
X = 1,
|
|
Y = 1,
|
|
Width = 15,
|
|
Height = 3,
|
|
Id = "sub",
|
|
ViewportSettings = ViewportSettings.Transparent,
|
|
BorderStyle = LineStyle.Single
|
|
};
|
|
|
|
var subSub = new View
|
|
{
|
|
X = Pos.Center(),
|
|
Y = Pos.Center(),
|
|
Width = Dim.Auto(),
|
|
Height = Dim.Auto(),
|
|
Id = "subSub",
|
|
Text = "subSub",
|
|
};
|
|
sub.Add (subSub);
|
|
|
|
super.Add (sub);
|
|
|
|
super.Layout ();
|
|
super.Draw ();
|
|
|
|
_ = TestHelpers.AssertDriverContentsWithFrameAre (
|
|
@"
|
|
░░░░░░░░░░░░░░░░░░░░
|
|
░┌─────────────┐░░░░
|
|
░│░░░subSub░░░░│░░░░
|
|
░└─────────────┘░░░░
|
|
░░░░░░░░░░░░░░░░░░░░", _output);
|
|
}
|
|
}
|