aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/testdir/test_goto.vim
diff options
context:
space:
mode:
Diffstat (limited to 'src/nvim/testdir/test_goto.vim')
-rw-r--r--src/nvim/testdir/test_goto.vim442
1 files changed, 0 insertions, 442 deletions
diff --git a/src/nvim/testdir/test_goto.vim b/src/nvim/testdir/test_goto.vim
deleted file mode 100644
index 6d029ffda2..0000000000
--- a/src/nvim/testdir/test_goto.vim
+++ /dev/null
@@ -1,442 +0,0 @@
-" Test commands that jump somewhere.
-
-" Create a new buffer using "lines" and place the cursor on the word after the
-" first occurrence of return and invoke "cmd". The cursor should now be
-" positioned at the given line and col.
-func XTest_goto_decl(cmd, lines, line, col)
- new
- call setline(1, a:lines)
- /return/
- normal! W
- execute 'norm! ' . a:cmd
- call assert_equal(a:line, line('.'))
- call assert_equal(a:col, col('.'))
- quit!
-endfunc
-
-func Test_gD()
- let lines =<< trim [CODE]
- int x;
-
- int func(void)
- {
- return x;
- }
- [CODE]
-
- call XTest_goto_decl('gD', lines, 1, 5)
-endfunc
-
-func Test_gD_too()
- let lines =<< trim [CODE]
- Filename x;
-
- int Filename
- int func() {
- Filename x;
- return x;
- [CODE]
-
- call XTest_goto_decl('gD', lines, 1, 10)
-endfunc
-
-func Test_gD_comment()
- let lines =<< trim [CODE]
- /* int x; */
- int x;
-
- int func(void)
- {
- return x;
- }
- [CODE]
-
- call XTest_goto_decl('gD', lines, 2, 5)
-endfunc
-
-func Test_gD_inline_comment()
- let lines =<< trim [CODE]
- int y /* , x */;
- int x;
-
- int func(void)
- {
- return x;
- }
- [CODE]
-
- call XTest_goto_decl('gD', lines, 2, 5)
-endfunc
-
-func Test_gD_string()
- let lines =<< trim [CODE]
- char *s[] = "x";
- int x = 1;
-
- int func(void)
- {
- return x;
- }
- [CODE]
-
- call XTest_goto_decl('gD', lines, 2, 5)
-endfunc
-
-func Test_gD_string_same_line()
- let lines =<< trim [CODE]
- char *s[] = "x", int x = 1;
-
- int func(void)
- {
- return x;
- }
- [CODE]
-
- call XTest_goto_decl('gD', lines, 1, 22)
-endfunc
-
-func Test_gD_char()
- let lines =<< trim [CODE]
- char c = 'x';
- int x = 1;
-
- int func(void)
- {
- return x;
- }
- [CODE]
-
- call XTest_goto_decl('gD', lines, 2, 5)
-endfunc
-
-func Test_gd()
- let lines =<< trim [CODE]
- int x;
-
- int func(int x)
- {
- return x;
- }
- [CODE]
-
- call XTest_goto_decl('gd', lines, 3, 14)
-endfunc
-
-" Using gd to jump to a declaration in a fold
-func Test_gd_with_fold()
- new
- let lines =<< trim END
- #define ONE 1
- #define TWO 2
- #define THREE 3
-
- TWO
- END
- call setline(1, lines)
- 1,3fold
- call feedkeys('Ggd', 'xt')
- call assert_equal(2, line('.'))
- call assert_equal(-1, foldclosedend(2))
- bw!
-endfunc
-
-func Test_gd_not_local()
- let lines =<< trim [CODE]
- int func1(void)
- {
- return x;
- }
-
- int func2(int x)
- {
- return x;
- }
- [CODE]
-
- call XTest_goto_decl('gd', lines, 3, 10)
-endfunc
-
-func Test_gd_kr_style()
- let lines =<< trim [CODE]
- int func(x)
- int x;
- {
- return x;
- }
- [CODE]
-
- call XTest_goto_decl('gd', lines, 2, 7)
-endfunc
-
-func Test_gd_missing_braces()
- let lines =<< trim [CODE]
- def func1(a)
- a + 1
- end
-
- a = 1
-
- def func2()
- return a
- end
- [CODE]
-
- call XTest_goto_decl('gd', lines, 1, 11)
-endfunc
-
-func Test_gd_comment()
- let lines =<< trim [CODE]
- int func(void)
- {
- /* int x; */
- int x;
- return x;
- }
- [CODE]
-
- call XTest_goto_decl('gd', lines, 4, 7)
-endfunc
-
-func Test_gd_comment_in_string()
- let lines =<< trim [CODE]
- int func(void)
- {
- char *s ="//"; int x;
- int x;
- return x;
- }
- [CODE]
-
- call XTest_goto_decl('gd', lines, 3, 22)
-endfunc
-
-func Test_gd_string_in_comment()
- set comments=
- let lines =<< trim [CODE]
- int func(void)
- {
- /* " */ int x;
- int x;
- return x;
- }
- [CODE]
-
- call XTest_goto_decl('gd', lines, 3, 15)
- set comments&
-endfunc
-
-func Test_gd_inline_comment()
- let lines =<< trim [CODE]
- int func(/* x is an int */ int x)
- {
- return x;
- }
- [CODE]
-
- call XTest_goto_decl('gd', lines, 1, 32)
-endfunc
-
-func Test_gd_inline_comment_only()
- let lines =<< trim [CODE]
- int func(void) /* one lonely x */
- {
- return x;
- }
- [CODE]
-
- call XTest_goto_decl('gd', lines, 3, 10)
-endfunc
-
-func Test_gd_inline_comment_body()
- let lines =<< trim [CODE]
- int func(void)
- {
- int y /* , x */;
-
- for (/* int x = 0 */; y < 2; y++);
-
- int x = 0;
-
- return x;
- }
- [CODE]
-
- call XTest_goto_decl('gd', lines, 7, 7)
-endfunc
-
-func Test_gd_trailing_multiline_comment()
- let lines =<< trim [CODE]
- int func(int x) /* x is an int */
- {
- return x;
- }
- [CODE]
-
- call XTest_goto_decl('gd', lines, 1, 14)
-endfunc
-
-func Test_gd_trailing_comment()
- let lines =<< trim [CODE]
- int func(int x) // x is an int
- {
- return x;
- }
- [CODE]
-
- call XTest_goto_decl('gd', lines, 1, 14)
-endfunc
-
-func Test_gd_string()
- let lines =<< trim [CODE]
- int func(void)
- {
- char *s = "x";
- int x = 1;
-
- return x;
- }
- [CODE]
-
- call XTest_goto_decl('gd', lines, 4, 7)
-endfunc
-
-func Test_gd_string_only()
- let lines =<< trim [CODE]
- int func(void)
- {
- char *s = "x";
-
- return x;
- }
- [CODE]
-
- call XTest_goto_decl('gd', lines, 5, 10)
-endfunc
-
-" Check that setting 'cursorline' does not change curswant
-func Test_cursorline_keep_col()
- new
- call setline(1, ['long long long line', 'short line'])
- normal ggfi
- let pos = getcurpos()
- normal j
- set cursorline
- normal k
- call assert_equal(pos, getcurpos())
- bwipe!
- set nocursorline
-endfunc
-
-func Test_gd_local_block()
- let lines =<< trim [CODE]
- int main()
- {
- char *a = "NOT NULL";
- if(a)
- {
- char *b = a;
- printf("%s\n", b);
- }
- else
- {
- char *b = "NULL";
- return b;
- }
-
- return 0;
- }
- [CODE]
-
- call XTest_goto_decl('1gd', lines, 11, 11)
-endfunc
-
-func Test_motion_if_elif_else_endif()
- new
- let lines =<< trim END
- /* Test pressing % on #if, #else #elsif and #endif,
- * with nested #if
- */
- #if FOO
- /* ... */
- # if BAR
- /* ... */
- # endif
- #elif BAR
- /* ... */
- #else
- /* ... */
- #endif
-
- #define FOO 1
- END
- call setline(1, lines)
- /#if FOO
- norm %
- call assert_equal([9, 1], getpos('.')[1:2])
- norm %
- call assert_equal([11, 1], getpos('.')[1:2])
- norm %
- call assert_equal([13, 1], getpos('.')[1:2])
- norm %
- call assert_equal([4, 1], getpos('.')[1:2])
- /# if BAR
- norm $%
- call assert_equal([8, 1], getpos('.')[1:2])
- norm $%
- call assert_equal([6, 1], getpos('.')[1:2])
-
- " Test for [# and ]# command
- call cursor(5, 1)
- normal [#
- call assert_equal([4, 1], getpos('.')[1:2])
- call cursor(5, 1)
- normal ]#
- call assert_equal([9, 1], getpos('.')[1:2])
- call cursor(10, 1)
- normal [#
- call assert_equal([9, 1], getpos('.')[1:2])
- call cursor(10, 1)
- normal ]#
- call assert_equal([11, 1], getpos('.')[1:2])
-
- " Finding a match before the first line or after the last line should fail
- normal gg
- call assert_beeps('normal [#')
- normal G
- call assert_beeps('normal ]#')
-
- " Finding a match for a macro definition (#define) should fail
- normal G
- call assert_beeps('normal %')
-
- bw!
-endfunc
-
-func Test_motion_c_comment()
- new
- a
-/*
- * Test pressing % on beginning/end
- * of C comments.
- */
-/* Another comment */
-.
- norm gg0%
- call assert_equal([4, 3], getpos('.')[1:2])
- norm %
- call assert_equal([1, 1], getpos('.')[1:2])
- norm gg0l%
- call assert_equal([4, 3], getpos('.')[1:2])
- norm h%
- call assert_equal([1, 1], getpos('.')[1:2])
-
- norm G^
- norm %
- call assert_equal([5, 21], getpos('.')[1:2])
- norm %
- call assert_equal([5, 1], getpos('.')[1:2])
-
- bw!
-endfunc
-
-" vim: shiftwidth=2 sts=2 expandtab