Mercurial > vim
view src/testdir/test_smartindent.vim @ 19697:a8b2821181c2 v8.2.0405
patch 8.2.0405: MSVC: build fails with some combination of features
Commit: https://github.com/vim/vim/commit/3fa5e1326290e181215f805db17793f42cf73079
Author: Bram Moolenaar <Bram@vim.org>
Date: Thu Mar 19 13:36:56 2020 +0100
patch 8.2.0405: MSVC: build fails with some combination of features
Problem: MSVC: build fails with some combination of features.
Solution: Enable CHANNEL if TERMINAL is enabled. (Mike Williams)
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Thu, 19 Mar 2020 13:45:04 +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