From 4dbf2f4cfd5aeb8488a9cb9f8f268339631979e2 Mon Sep 17 00:00:00 2001 From: tznind Date: Sun, 23 Jul 2023 17:47:18 +0100 Subject: [PATCH] Add test for marking event Handled and demo how to do custom drawing --- UnitTests/Views/TreeViewTests.cs | 41 ++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) diff --git a/UnitTests/Views/TreeViewTests.cs b/UnitTests/Views/TreeViewTests.cs index bf8ff84e3..cf6f5e212 100644 --- a/UnitTests/Views/TreeViewTests.cs +++ b/UnitTests/Views/TreeViewTests.cs @@ -1123,6 +1123,47 @@ oot two Assert.Equal ("root two", eventArgs [2].Model.Text); } + [Fact, AutoInitShutdown] + public void TestTreeView_DrawLineEvent_Handled () + { + var tv = new TreeView { Width = 20, Height = 10 }; + + tv.DrawLine += (s, e) => { + if(e.Model.Text.Equals("leaf 1")) { + e.Handled = true; + + for (int i = 0; i < 10; i++) { + + e.Tree.AddRune (i,e.Y,new System.Text.Rune('F')); + } + } + }; + + var n1 = new TreeNode ("root one"); + var n1_1 = new TreeNode ("leaf 1"); + var n1_2 = new TreeNode ("leaf 2"); + n1.Children.Add (n1_1); + n1.Children.Add (n1_2); + + var n2 = new TreeNode ("root two"); + tv.AddObject (n1); + tv.AddObject (n2); + tv.Expand (n1); + + tv.ColorScheme = new ColorScheme (); + tv.LayoutSubviews (); + tv.Draw (); + + // Normal drawing of the tree view + TestHelpers.AssertDriverContentsAre ( +@" +├-root one +FFFFFFFFFF +│ └─leaf 2 +└─root two +", output); + } + [Fact, AutoInitShutdown] public void TestTreeView_Filter () {