Преглед изворни кода

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) {
 					return;
 				}
-				if (value < 0 || value >= source.Count) {
+				if (value < -1 || value >= source.Count) {
 					throw new ArgumentException ("value");
 				}
 				selected = value;

+ 10 - 0
UnitTests/Views/ListViewTests.cs

@@ -529,5 +529,15 @@ Item 4
 Item 5
 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);
+		}
 	}
 }