view src/testdir/test_let.vim @ 14085:59e76d550c10 v8.1.0060

patch 8.1.0060: crash when autocommands delete the current buffer commit https://github.com/vim/vim/commit/600323b4ef51a58a8e800d8ca469383a3c911db7 Author: Bram Moolenaar <Bram@vim.org> Date: Sat Jun 16 22:16:47 2018 +0200 patch 8.1.0060: crash when autocommands delete the current buffer Problem: Crash when autocommands delete the current buffer. (Dominique Pelle) Solution: Check that autocommands don't change the buffer.
author Christian Brabandt <cb@256bit.org>
date Sat, 16 Jun 2018 22:30:06 +0200
parents 0240e7e3d736
children dff66c4670b1
line wrap: on
line source

" Tests for the :let command.

func Test_let()
  " Test to not autoload when assigning.  It causes internal error.
  set runtimepath+=./sautest
  let Test104#numvar = function('tr')
  call assert_equal("function('tr')", string(Test104#numvar))

  let a = 1
  let b = 2

  let out = execute('let a b')
  let s = "\na                     #1\nb                     #2"
  call assert_equal(s, out)

  let out = execute('let {0 == 1 ? "a" : "b"}')
  let s = "\nb                     #2"
  call assert_equal(s, out)

  let out = execute('let {0 == 1 ? "a" : "b"} a')
  let s = "\nb                     #2\na                     #1"
  call assert_equal(s, out)

  let out = execute('let a {0 == 1 ? "a" : "b"}')
  let s = "\na                     #1\nb                     #2"
  call assert_equal(s, out)
endfunc