Files
Terminal.Gui/Tests/UnitTests/View/Draw/TransparentTests.cs
Tig acb5979e6c Cleans up/Refactors View.Subviews (#3962)
* Subview clean up

* New Add/Remove event pattern

* Using Logging

* cleanup

* Subview -> SubView

* Test code cleanup. Killed many warnings.

* Fix tznind feedback

* Refactored AllViewTest helpers

* Moved keyboard tests to parallel

* Moved mouse tests to parallel

* Moved view tests to parallel

* Test code cleanup. Killed many warnings.

* dupe test

* Some mouse tests can't run in parallel because MouseGrabView

* Made SpinnerView more testable

* Moved more tests

* SubViews to IReadOnlyCollection<View>

* SubViews to IReadOnlyCollection<View> 2

* scrollbar tests

* shortcut tests

* Use InternalSubViews vs. _subviews

* Nuked View.IsAdded.
Added View.SuperViewChanged.

* API doc updats

* Unit Test tweak

* Unit Test tweak
2025-03-08 15:42:17 -07:00

108 lines
3.0 KiB
C#

#nullable enable
using UnitTests;
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 ();
_ = DriverAssert.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 ();
_ = DriverAssert.AssertDriverContentsWithFrameAre (
@"
░░░░░░░░░░░░░░░░░░░░
░┌─────────────┐░░░░
░│░░░subSub░░░░│░░░░
░└─────────────┘░░░░
░░░░░░░░░░░░░░░░░░░░", output);
}
}