view src/testdir/test_smartindent.vim @ 14057:be8fb2fd51fc v8.1.0046

patch 8.1.0046: loading a session file fails if 'winheight' is big commit https://github.com/vim/vim/commit/1c3c10492a291270fa89b3c8df11828792f927d3 Author: Bram Moolenaar <Bram@vim.org> Date: Tue Jun 12 16:49:30 2018 +0200 patch 8.1.0046: loading a session file fails if 'winheight' is big Problem: Loading a session file fails if 'winheight' is a big number. Solution: Set 'minwinheight' to zero at first. Don't give an error when setting 'minwinheight' while 'winheight' is a big number. Fix using vertical splits. Fix setting 'minwinwidth'. (closes #2970)
author Christian Brabandt <cb@256bit.org>
date Tue, 12 Jun 2018 17:00:07 +0200
parents 268b1036cd17
children 63b02fcf1361
line wrap: on
line source

" Tests for smartindent

" Tests for not doing smart indenting when it isn't set.
function! 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
endfunction

function MyIndent()
endfunction

" When 'indentexpr' is set, setting 'si' has no effect.
function 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!
endfunction

" vim: shiftwidth=2 sts=2 expandtab