瀏覽代碼

Fixes #2459. ListView SelectedItem throw exception if the value is -1.

BDisp 2 年之前
父節點
當前提交
c5ef409819
共有 2 個文件被更改,包括 11 次插入1 次删除
  1. 1 1
      Terminal.Gui/Views/ListView.cs
  2. 10 0
      UnitTests/Views/ListViewTests.cs

+ 1 - 1
Terminal.Gui/Views/ListView.cs

@@ -244,7 +244,7 @@ namespace Terminal.Gui {
 				if (source == null || source.Count == 0) {
 				if (source == null || source.Count == 0) {
 					return;
 					return;
 				}
 				}
-				if (value < 0 || value >= source.Count) {
+				if (value < -1 || value >= source.Count) {
 					throw new ArgumentException ("value");
 					throw new ArgumentException ("value");
 				}
 				}
 				selected = value;
 				selected = value;

+ 10 - 0
UnitTests/Views/ListViewTests.cs

@@ -529,5 +529,15 @@ Item 4
 Item 5
 Item 5
 Item 6", output);
 Item 6", output);
 		}
 		}
+
+		[Fact]
+		public void SelectedItem_Get_Set ()
+		{
+			var lv = new ListView (new List<string> { "One", "Two", "Three" });
+			Assert.Equal (-1, lv.SelectedItem);
+			Assert.Throws<ArgumentException> (() => lv.SelectedItem = 3);
+			var exception = Record.Exception (() => lv.SelectedItem = -1);
+			Assert.Null (exception);
+		}
 	}
 	}
 }
 }