Mercurial > vim
view src/testdir/test_smartindent.vim @ 19812:7cde7ea94dd3
Added tag v8.2.0462 for changeset d1d840cfd135d18f52fb7833ba130289825f1f2a
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Fri, 27 Mar 2020 20:30:05 +0100 |
parents | 6d3c683466f4 |
children | 12518b40c161 |
line wrap: on
line source
" Tests for smartindent " Tests for not doing smart indenting when it isn't set. func Test_nosmartindent() new call append(0, [" some test text", \ " test text", \ "test text", \ " test text"]) set nocindent nosmartindent autoindent exe "normal! gg/some\<CR>" exe "normal! 2cc#test\<Esc>" call assert_equal(" #test", getline(1)) enew! | close endfunc func MyIndent() endfunc " When 'indentexpr' is set, setting 'si' has no effect. func Test_smartindent_has_no_effect() new exe "normal! i\<Tab>one\<Esc>" set noautoindent set smartindent set indentexpr= exe "normal! Gotwo\<Esc>" call assert_equal("\ttwo", getline("$")) set indentexpr=MyIndent exe "normal! Gothree\<Esc>" call assert_equal("three", getline("$")) delfunction! MyIndent set autoindent& set smartindent& set indentexpr& bwipe! endfunc " Test for inserting '{' and '} with smartindent func Test_smartindent_braces() new set smartindent shiftwidth=4 call setline(1, [' if (a)', "\tif (b)", "\t return 1"]) normal 2ggO{ normal 3ggA { normal 4ggo} normal o} normal 4ggO#define FOO 1 call assert_equal([ \ ' if (a)', \ ' {', \ "\tif (b) {", \ '#define FOO 1', \ "\t return 1", \ "\t}", \ ' }' \ ], getline(1, '$')) set si& sw& ai& close! endfunc " vim: shiftwidth=2 sts=2 expandtab