Skip to content

Commit 70d8278

Browse files
committed
Refactor tests for more readable error messages
1 parent bfc8112 commit 70d8278

File tree

1 file changed

+19
-22
lines changed

1 file changed

+19
-22
lines changed

test/rubyblock_test.vim

Lines changed: 19 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -4,13 +4,16 @@ runtime! macros/matchit.vim
44
runtime! plugin/textobj/*.vim
55
set visualbell
66

7-
function! InvokeFromLine(line, type)
8-
execute "normal ".a:line."G"
9-
execute "normal v\<Plug>(textobj-rubyblock-".a:type.")\<Esc>"
7+
function! SelectInsideFrom(number, position)
8+
execute "normal ".a:number."G".a:position
9+
execute "normal v\<Plug>(textobj-rubyblock-i)\<Esc>"
10+
return [a:number, line("'<"), line("'>")]
1011
endfunction
1112

12-
function! SelectedRange()
13-
return [line("'<"), line("'>")]
13+
function! SelectAroundFrom(number, position)
14+
execute "normal ".a:number."G".a:position
15+
execute "normal v\<Plug>(textobj-rubyblock-a)\<Esc>"
16+
return [a:number, line("'<"), line("'>")]
1417
endfunction
1518

1619
describe 'rubyblock'
@@ -58,8 +61,7 @@ describe '<Plug>(textobj-rubyblock-i)'
5861
end
5962

6063
it 'selects inside of a class'
61-
execute "normal v\<Plug>(textobj-rubyblock-i)\<Esc>"
62-
Expect SelectedRange() ==# [2, 2]
64+
Expect SelectInsideFrom(1, '^') ==# [1, 2, 2]
6365
end
6466

6567
end
@@ -74,8 +76,7 @@ describe '<Plug>(textobj-rubyblock-a)'
7476
end
7577

7678
it 'selects all of a class'
77-
execute "normal v\<Plug>(textobj-rubyblock-a)\<Esc>"
78-
Expect SelectedRange() ==# [1, 3]
79+
Expect SelectAroundFrom(1, '^') ==# [1, 1, 3]
7980
end
8081

8182
end
@@ -92,7 +93,7 @@ describe '<Plug>(textobj-rubyblock-i)'
9293
it 'ignores "end" keyword inside of a comment'
9394
execute "normal v\<Plug>(textobj-rubyblock-i)\<Esc>"
9495
TODO
95-
Expect SelectedRange() ==# [2, 2]
96+
Expect SelectInsideFrom(1, '^') ==# [1, 2, 2]
9697
end
9798

9899
end
@@ -107,24 +108,20 @@ describe 'if/else blocks'
107108
end
108109

109110
it 'ignores nested if/else block'
110-
for num in [1,2,8]
111-
call InvokeFromLine(num, 'i')
112-
Expect SelectedRange() ==# [2, 7]
111+
for number in [1,2,8]
112+
Expect SelectInsideFrom(number, '^') ==# [number, 2, 7]
113113
endfor
114-
for num in [1,2,7,8]
115-
call InvokeFromLine(num, 'a')
116-
Expect SelectedRange() ==# [1, 8]
114+
for number in [1,2,7,8]
115+
Expect SelectAroundFrom(number, '^') ==# [number, 1, 8]
117116
endfor
118117
end
119118

120119
it 'selects nested if/else block'
121-
for num in [3,4,5,6,7]
122-
call InvokeFromLine(num, 'i')
123-
Expect SelectedRange() ==# [4, 6]
120+
for number in [3,4,5,6,7]
121+
Expect SelectInsideFrom(number, '^') ==# [number, 4, 6]
124122
endfor
125-
for num in [3,4,5,6]
126-
call InvokeFromLine(num, 'a')
127-
Expect SelectedRange() ==# [3, 7]
123+
for number in [3,4,5,6]
124+
Expect SelectAroundFrom(number, '^') ==# [number, 3, 7]
128125
endfor
129126
end
130127

0 commit comments

Comments
 (0)