Fix tests

This commit is contained in:
tznind
2023-03-30 02:36:53 +01:00
parent b30dd8e065
commit cfb2058bc0
3 changed files with 49 additions and 43 deletions

View File

@@ -78,14 +78,16 @@ namespace Terminal.Gui.ViewTests {
Assert.Equal (Point.Empty, tv.CursorPosition);
Assert.NotNull (tv.Autocomplete);
Assert.Empty (tv.Autocomplete.AllSuggestions);
tv.Autocomplete.AllSuggestions = Regex.Matches (tv.Text.ToString (), "\\w+")
var g = (SingleWordSuggestionGenerator)tv.Autocomplete.SuggestionGenerator;
Assert.Empty (g.AllSuggestions);
g.AllSuggestions = Regex.Matches (tv.Text.ToString (), "\\w+")
.Select (s => s.Value)
.Distinct ().ToList ();
Assert.Equal (3, tv.Autocomplete.AllSuggestions.Count);
Assert.Equal ("Fortunately", tv.Autocomplete.AllSuggestions [0]);
Assert.Equal ("super", tv.Autocomplete.AllSuggestions [1]);
Assert.Equal ("feature", tv.Autocomplete.AllSuggestions [^1]);
Assert.Equal (3, g.AllSuggestions.Count);
Assert.Equal ("Fortunately", g.AllSuggestions [0]);
Assert.Equal ("super", g.AllSuggestions [1]);
Assert.Equal ("feature", g.AllSuggestions [^1]);
Assert.Equal (0, tv.Autocomplete.SelectedIdx);
Assert.Empty (tv.Autocomplete.Suggestions);
Assert.True (tv.ProcessKey (new KeyEvent (Key.F, new KeyModifiers ())));
@@ -93,73 +95,73 @@ namespace Terminal.Gui.ViewTests {
Assert.Equal ($"F Fortunately super feature.", tv.Text);
Assert.Equal (new Point (1, 0), tv.CursorPosition);
Assert.Equal (2, tv.Autocomplete.Suggestions.Count);
Assert.Equal ("Fortunately", tv.Autocomplete.Suggestions [0]);
Assert.Equal ("feature", tv.Autocomplete.Suggestions [^1]);
Assert.Equal ("Fortunately", tv.Autocomplete.Suggestions[0].Replacement);
Assert.Equal ("feature", tv.Autocomplete.Suggestions[^1].Replacement);
Assert.Equal (0, tv.Autocomplete.SelectedIdx);
Assert.Equal ("Fortunately", tv.Autocomplete.Suggestions [tv.Autocomplete.SelectedIdx]);
Assert.Equal ("Fortunately", tv.Autocomplete.Suggestions[tv.Autocomplete.SelectedIdx].Replacement);
Assert.True (tv.ProcessKey (new KeyEvent (Key.CursorDown, new KeyModifiers ())));
top.Redraw (tv.Bounds);
Assert.Equal ($"F Fortunately super feature.", tv.Text);
Assert.Equal (new Point (1, 0), tv.CursorPosition);
Assert.Equal (2, tv.Autocomplete.Suggestions.Count);
Assert.Equal ("Fortunately", tv.Autocomplete.Suggestions [0]);
Assert.Equal ("feature", tv.Autocomplete.Suggestions [^1]);
Assert.Equal ("Fortunately", tv.Autocomplete.Suggestions[0].Replacement);
Assert.Equal ("feature", tv.Autocomplete.Suggestions[^1].Replacement);
Assert.Equal (1, tv.Autocomplete.SelectedIdx);
Assert.Equal ("feature", tv.Autocomplete.Suggestions [tv.Autocomplete.SelectedIdx]);
Assert.Equal ("feature", tv.Autocomplete.Suggestions[tv.Autocomplete.SelectedIdx].Replacement);
Assert.True (tv.ProcessKey (new KeyEvent (Key.CursorDown, new KeyModifiers ())));
top.Redraw (tv.Bounds);
Assert.Equal ($"F Fortunately super feature.", tv.Text);
Assert.Equal (new Point (1, 0), tv.CursorPosition);
Assert.Equal (2, tv.Autocomplete.Suggestions.Count);
Assert.Equal ("Fortunately", tv.Autocomplete.Suggestions [0]);
Assert.Equal ("feature", tv.Autocomplete.Suggestions [^1]);
Assert.Equal ("Fortunately", tv.Autocomplete.Suggestions[0].Replacement);
Assert.Equal ("feature", tv.Autocomplete.Suggestions[^1].Replacement);
Assert.Equal (0, tv.Autocomplete.SelectedIdx);
Assert.Equal ("Fortunately", tv.Autocomplete.Suggestions [tv.Autocomplete.SelectedIdx]);
Assert.Equal ("Fortunately", tv.Autocomplete.Suggestions[tv.Autocomplete.SelectedIdx].Replacement);
Assert.True (tv.ProcessKey (new KeyEvent (Key.CursorUp, new KeyModifiers ())));
top.Redraw (tv.Bounds);
Assert.Equal ($"F Fortunately super feature.", tv.Text);
Assert.Equal (new Point (1, 0), tv.CursorPosition);
Assert.Equal (2, tv.Autocomplete.Suggestions.Count);
Assert.Equal ("Fortunately", tv.Autocomplete.Suggestions [0]);
Assert.Equal ("feature", tv.Autocomplete.Suggestions [^1]);
Assert.Equal ("Fortunately", tv.Autocomplete.Suggestions[0].Replacement);
Assert.Equal ("feature", tv.Autocomplete.Suggestions[^1].Replacement);
Assert.Equal (1, tv.Autocomplete.SelectedIdx);
Assert.Equal ("feature", tv.Autocomplete.Suggestions [tv.Autocomplete.SelectedIdx]);
Assert.Equal ("feature", tv.Autocomplete.Suggestions[tv.Autocomplete.SelectedIdx].Replacement);
Assert.True (tv.ProcessKey (new KeyEvent (Key.CursorUp, new KeyModifiers ())));
top.Redraw (tv.Bounds);
Assert.Equal ($"F Fortunately super feature.", tv.Text);
Assert.Equal (new Point (1, 0), tv.CursorPosition);
Assert.Equal (2, tv.Autocomplete.Suggestions.Count);
Assert.Equal ("Fortunately", tv.Autocomplete.Suggestions [0]);
Assert.Equal ("feature", tv.Autocomplete.Suggestions [^1]);
Assert.Equal ("Fortunately", tv.Autocomplete.Suggestions[0].Replacement);
Assert.Equal ("feature", tv.Autocomplete.Suggestions[^1].Replacement);
Assert.Equal (0, tv.Autocomplete.SelectedIdx);
Assert.Equal ("Fortunately", tv.Autocomplete.Suggestions [tv.Autocomplete.SelectedIdx]);
Assert.Equal ("Fortunately", tv.Autocomplete.Suggestions[tv.Autocomplete.SelectedIdx].Replacement);
Assert.True (tv.Autocomplete.Visible);
top.Redraw (tv.Bounds);
Assert.True (tv.ProcessKey (new KeyEvent (tv.Autocomplete.CloseKey, new KeyModifiers ())));
Assert.Equal ($"F Fortunately super feature.", tv.Text);
Assert.Equal (new Point (1, 0), tv.CursorPosition);
Assert.Empty (tv.Autocomplete.Suggestions);
Assert.Equal (3, tv.Autocomplete.AllSuggestions.Count);
Assert.Equal (3, g.AllSuggestions.Count);
Assert.False (tv.Autocomplete.Visible);
top.Redraw (tv.Bounds);
Assert.True (tv.ProcessKey (new KeyEvent (tv.Autocomplete.Reopen, new KeyModifiers ())));
Assert.Equal ($"F Fortunately super feature.", tv.Text);
Assert.Equal (new Point (1, 0), tv.CursorPosition);
Assert.Equal (2, tv.Autocomplete.Suggestions.Count);
Assert.Equal (3, tv.Autocomplete.AllSuggestions.Count);
Assert.Equal (3, g.AllSuggestions.Count);
Assert.True (tv.ProcessKey (new KeyEvent (tv.Autocomplete.SelectionKey, new KeyModifiers ())));
Assert.Equal ($"Fortunately Fortunately super feature.", tv.Text);
Assert.Equal (new Point (11, 0), tv.CursorPosition);
Assert.Equal (2, tv.Autocomplete.Suggestions.Count);
Assert.Equal ("Fortunately", tv.Autocomplete.Suggestions [0]);
Assert.Equal ("feature", tv.Autocomplete.Suggestions [^1]);
Assert.Equal ("Fortunately", tv.Autocomplete.Suggestions[0].Replacement);
Assert.Equal ("feature", tv.Autocomplete.Suggestions[^1].Replacement);
Assert.Equal (0, tv.Autocomplete.SelectedIdx);
Assert.Equal ("Fortunately", tv.Autocomplete.Suggestions [tv.Autocomplete.SelectedIdx]);
Assert.Equal ("Fortunately", tv.Autocomplete.Suggestions[tv.Autocomplete.SelectedIdx].Replacement);
Assert.True (tv.ProcessKey (new KeyEvent (tv.Autocomplete.CloseKey, new KeyModifiers ())));
Assert.Equal ($"Fortunately Fortunately super feature.", tv.Text);
Assert.Equal (new Point (11, 0), tv.CursorPosition);
Assert.Empty (tv.Autocomplete.Suggestions);
Assert.Equal (3, tv.Autocomplete.AllSuggestions.Count);
Assert.Equal (3, g.AllSuggestions.Count);
}
[Fact, AutoInitShutdown]
@@ -170,7 +172,9 @@ namespace Terminal.Gui.ViewTests {
Height = 5,
Text = "This a long line and against TextView."
};
tv.Autocomplete.AllSuggestions = Regex.Matches (tv.Text.ToString (), "\\w+")
var g = (SingleWordSuggestionGenerator)tv.Autocomplete.SuggestionGenerator;
g.AllSuggestions = Regex.Matches (tv.Text.ToString (), "\\w+")
.Select (s => s.Value)
.Distinct ().ToList ();
var top = Application.Top;

View File

@@ -2497,6 +2497,8 @@ line.
Assert.False (tv.ReadOnly);
Assert.True (tv.CanFocus);
var g = (SingleWordSuggestionGenerator)tv.Autocomplete.SuggestionGenerator;
tv.CanFocus = false;
Assert.True (tv.ProcessKey (new KeyEvent (Key.CursorLeft, new KeyModifiers ())));
tv.CanFocus = true;
@@ -2510,7 +2512,7 @@ line.
Assert.Equal (new Point (23, 2), tv.CursorPosition);
Assert.False (tv.ProcessKey (new KeyEvent (Key.CursorRight, new KeyModifiers ())));
Assert.NotNull (tv.Autocomplete);
Assert.Empty (tv.Autocomplete.AllSuggestions);
Assert.Empty (g.AllSuggestions);
Assert.True (tv.ProcessKey (new KeyEvent (Key.F, new KeyModifiers ())));
tv.Redraw (tv.Bounds);
Assert.Equal ($"This is the first line.{Environment.NewLine}This is the second line.{Environment.NewLine}This is the third line.F", tv.Text);
@@ -2529,31 +2531,31 @@ line.
Assert.True (tv.ProcessKey (new KeyEvent (Key.Backspace, new KeyModifiers ())));
Assert.Equal ($"This is the first line.{Environment.NewLine}This is the second line.{Environment.NewLine}This is the third line.", tv.Text);
Assert.Equal (new Point (23, 2), tv.CursorPosition);
tv.Autocomplete.AllSuggestions = Regex.Matches (tv.Text.ToString (), "\\w+")
g.AllSuggestions = Regex.Matches (tv.Text.ToString (), "\\w+")
.Select (s => s.Value)
.Distinct ().ToList ();
Assert.Equal (7, tv.Autocomplete.AllSuggestions.Count);
Assert.Equal ("This", tv.Autocomplete.AllSuggestions [0]);
Assert.Equal ("is", tv.Autocomplete.AllSuggestions [1]);
Assert.Equal ("the", tv.Autocomplete.AllSuggestions [2]);
Assert.Equal ("first", tv.Autocomplete.AllSuggestions [3]);
Assert.Equal ("line", tv.Autocomplete.AllSuggestions [4]);
Assert.Equal ("second", tv.Autocomplete.AllSuggestions [5]);
Assert.Equal ("third", tv.Autocomplete.AllSuggestions [^1]);
Assert.Equal (7, g.AllSuggestions.Count);
Assert.Equal ("This", g.AllSuggestions [0]);
Assert.Equal ("is", g.AllSuggestions [1]);
Assert.Equal ("the", g.AllSuggestions [2]);
Assert.Equal ("first", g.AllSuggestions [3]);
Assert.Equal ("line", g.AllSuggestions [4]);
Assert.Equal ("second", g.AllSuggestions [5]);
Assert.Equal ("third", g.AllSuggestions [^1]);
Assert.True (tv.ProcessKey (new KeyEvent (Key.F, new KeyModifiers ())));
tv.Redraw (tv.Bounds);
Assert.Equal ($"This is the first line.{Environment.NewLine}This is the second line.{Environment.NewLine}This is the third line.F", tv.Text);
Assert.Equal (new Point (24, 2), tv.CursorPosition);
Assert.Single (tv.Autocomplete.Suggestions);
Assert.Equal ("first", tv.Autocomplete.Suggestions [0]);
Assert.Equal ("first", tv.Autocomplete.Suggestions[0].Replacement);
Assert.True (tv.ProcessKey (new KeyEvent (Key.Enter, new KeyModifiers ())));
Assert.Equal ($"This is the first line.{Environment.NewLine}This is the second line.{Environment.NewLine}This is the third line.first", tv.Text);
Assert.Equal (new Point (28, 2), tv.CursorPosition);
Assert.Single (tv.Autocomplete.Suggestions);
Assert.Equal ("first", tv.Autocomplete.Suggestions [0]);
tv.Autocomplete.AllSuggestions = new List<string> ();
Assert.Equal ("first", tv.Autocomplete.Suggestions[0].Replacement);
g.AllSuggestions = new List<string> ();
tv.Autocomplete.ClearSuggestions ();
Assert.Empty (tv.Autocomplete.AllSuggestions);
Assert.Empty (g.AllSuggestions);
Assert.Empty (tv.Autocomplete.Suggestions);
Assert.True (tv.ProcessKey (new KeyEvent (Key.PageUp, new KeyModifiers ())));
Assert.Equal (24, tv.GetCurrentLine ().Count);