blob: 9e93a55eb0fb20c901f3e35d686ffa597b09f43b [file] [log] [blame]
Bram Moolenaar69a76fe2017-08-03 17:54:03 +02001" Tests for smartindent
Bram Moolenaar53f16732016-09-07 20:46:39 +02002
3" Tests for not doing smart indenting when it isn't set.
4function! Test_nosmartindent()
5 new
6 call append(0, [" some test text",
7 \ " test text",
8 \ "test text",
9 \ " test text"])
10 set nocindent nosmartindent autoindent
11 exe "normal! gg/some\<CR>"
12 exe "normal! 2cc#test\<Esc>"
13 call assert_equal(" #test", getline(1))
14 enew! | close
15endfunction
Bram Moolenaar69a76fe2017-08-03 17:54:03 +020016
17function MyIndent()
18endfunction
19
20" When 'indentexpr' is set, setting 'si' has no effect.
21function Test_smartindent_has_no_effect()
22 new
23 exe "normal! i\<Tab>one\<Esc>"
24 set noautoindent
25 set smartindent
26 set indentexpr=
27 exe "normal! Gotwo\<Esc>"
28 call assert_equal("\ttwo", getline("$"))
29
30 set indentexpr=MyIndent
31 exe "normal! Gothree\<Esc>"
32 call assert_equal("three", getline("$"))
33
34 delfunction! MyIndent
35 set autoindent&
36 set smartindent&
37 set indentexpr&
38 bwipe!
39endfunction
40
41" vim: shiftwidth=2 sts=2 expandtab