aboutsummaryrefslogtreecommitdiff
path: root/crates/libeditor/tests
diff options
context:
space:
mode:
authorAleksey Kladov <[email protected]>2018-08-22 09:56:36 +0100
committerAleksey Kladov <[email protected]>2018-08-22 09:56:36 +0100
commit641659d5a8dcca0b8a1c36ff6d1c517a91296116 (patch)
tree8ed23d27c1839d525cd69be56bbba2fb6cf52598 /crates/libeditor/tests
parent9909875bfe89d2b901c35c0667bed018338b44e1 (diff)
Smarter extend selection
Diffstat (limited to 'crates/libeditor/tests')
-rw-r--r--crates/libeditor/tests/test.rs35
1 files changed, 26 insertions, 9 deletions
diff --git a/crates/libeditor/tests/test.rs b/crates/libeditor/tests/test.rs
index a2e26003a..f8365949e 100644
--- a/crates/libeditor/tests/test.rs
+++ b/crates/libeditor/tests/test.rs
@@ -12,15 +12,32 @@ use libeditor::{
12 12
13#[test] 13#[test]
14fn test_extend_selection() { 14fn test_extend_selection() {
15 let file = file(r#"fn foo() { 15 fn do_check(before: &str, afters: &[&str]) {
16 1 + 1 16 let (cursor, before) = extract_cursor(before);
17} 17 let file = file(&before);
18"#); 18 let mut range = TextRange::offset_len(cursor, 0.into());
19 let range = TextRange::offset_len(18.into(), 0.into()); 19 for &after in afters {
20 let range = extend_selection(&file, range).unwrap(); 20 range = extend_selection(&file, range)
21 assert_eq!(range, TextRange::from_to(17.into(), 18.into())); 21 .unwrap();
22 let range = extend_selection(&file, range).unwrap(); 22 let actual = &before[range];
23 assert_eq!(range, TextRange::from_to(15.into(), 20.into())); 23 assert_eq!(after, actual);
24 }
25 }
26
27 do_check(
28 r#"fn foo() { <|>1 + 1 }"#,
29 &["1", "1 + 1", "{ 1 + 1 }"],
30 );
31
32 do_check(
33 r#"
34impl S {
35<|> fn foo() {
36
37 }
38}"#,
39 &["fn foo() {\n\n }"]
40 );
24} 41}
25 42
26#[test] 43#[test]