浏览代码

Test for extending multi selection with keyboard over invisible column

tznind 2 年之前
父节点
当前提交
42656a5440
共有 1 个文件被更改,包括 19 次插入0 次删除
  1. 19 0
      UnitTests/TableViewTests.cs

+ 19 - 0
UnitTests/TableViewTests.cs

@@ -1370,6 +1370,25 @@ namespace Terminal.Gui.Views {
 			Assert.DoesNotContain(new Point(1,0),tableView.GetAllSelectedCells ());
 			Assert.DoesNotContain(new Point(1,0),tableView.GetAllSelectedCells ());
 		}
 		}
 
 
+		[Fact, AutoInitShutdown]
+		public void TestColumnStyle_VisibleFalse_MultiSelectingStepsOverInvisibleColumns ()
+		{
+			var tableView = GetABCDEFTableView (out var dt);
+
+			// if middle column is invisible
+			tableView.Style.GetOrCreateColumnStyle (dt.Columns ["B"]).Visible = false;
+
+			tableView.ProcessKey (new KeyEvent { Key = Key.CursorRight | Key.ShiftMask });
+
+			// Selection should extend from A to C but skip B
+			Assert.Equal (2, tableView.GetAllSelectedCells ().Count ());
+			Assert.True (tableView.IsSelected (0, 0));
+			Assert.False (tableView.IsSelected (1, 0));
+			Assert.True (tableView.IsSelected (2, 0));
+			Assert.False (tableView.IsSelected (3, 0));
+
+			Assert.DoesNotContain (new Point (1, 0), tableView.GetAllSelectedCells ());
+		}
 
 
 		[Fact]
 		[Fact]
 		public void LongColumnTest ()
 		public void LongColumnTest ()