view src/testdir/test_smartindent.vim @ 16060:176872829dc2 v8.1.1035

patch 8.1.1035: prop_remove() second argument is not optional commit https://github.com/vim/vim/commit/0a2f578e22de7e4d82075578afdd5fc2d2dd8134 Author: Bram Moolenaar <Bram@vim.org> Date: Fri Mar 22 13:20:43 2019 +0100 patch 8.1.1035: prop_remove() second argument is not optional Problem: prop_remove() second argument is not optional. Solution: Fix argument count. Use "buf" instead of "curbuf". (closes https://github.com/vim/vim/issues/4147)
author Bram Moolenaar <Bram@vim.org>
date Fri, 22 Mar 2019 13:30:05 +0100
parents 63b02fcf1361
children 6d3c683466f4
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

" vim: shiftwidth=2 sts=2 expandtab