Correct select all

Fixes assertion failure.
Set selection direction forward on select all.
This commit is contained in:
Pyfisch 2018-11-07 18:44:21 +01:00
parent 9c7efd9151
commit 7db13e93b7
2 changed files with 11 additions and 0 deletions

View file

@ -583,6 +583,7 @@ impl<T: ClipboardProvider> TextInput<T> {
let last_line = self.lines.len() - 1;
self.edit_point.line = last_line;
self.edit_point.index = self.lines[last_line].len();
self.selection_direction = SelectionDirection::Forward;
self.assert_ok_selection();
}

View file

@ -699,3 +699,13 @@ fn test_selection_bounds() {
assert_eq!(TextPoint { line: 0, index: 0 }, textinput.selection_start());
assert_eq!(TextPoint { line: 1, index: 0 }, textinput.selection_end());
}
#[test]
fn test_select_all() {
let mut textinput = text_input(Lines::Single, "abc");
textinput.set_selection_range(2, 3, SelectionDirection::Backward);
textinput.select_all();
assert_eq!(textinput.selection_direction(), SelectionDirection::Forward);
assert_eq!(TextPoint { line: 0, index: 0 }, textinput.selection_start());
assert_eq!(TextPoint { line: 0, index: 3 }, textinput.selection_end());
}