view src/testdir/test_assign.vim @ 18211:a493ab8e57ab v8.1.2100

patch 8.1.2100: :mksession is not sufficiently tested Commit: https://github.com/vim/vim/commit/ee1a2b5a2a44dde9b4e9b34141b4d1c7b0e0513f Author: Bram Moolenaar <Bram@vim.org> Date: Sun Sep 29 14:23:39 2019 +0200 patch 8.1.2100: :mksession is not sufficiently tested Problem: :mksession is not sufficiently tested. Solution: Add more test cases. (Yegappan Lakshmanan, closes https://github.com/vim/vim/issues/4993)
author Bram Moolenaar <Bram@vim.org>
date Sun, 29 Sep 2019 14:30:04 +0200
parents f01eb1aed348
children
line wrap: on
line source

" Test for assignment

func Test_no_type_checking()
  let v = 1
  let v = [1,2,3]
  let v = {'a': 1, 'b': 2}
  let v = 3.4
  let v = 'hello'
endfunc

func Test_let_termcap()
  " Terminal code
  let old_t_te = &t_te
  let &t_te = "\<Esc>[yes;"
  call assert_match('t_te.*^[[yes;', execute("set termcap"))
  let &t_te = old_t_te

  if exists("+t_k1")
    " Key code
    let old_t_k1 = &t_k1
    let &t_k1 = "that"
    call assert_match('t_k1.*that', execute("set termcap"))
    let &t_k1 = old_t_k1
  endif

  call assert_fails('let x = &t_xx', 'E113')
  let &t_xx = "yes"
  call assert_equal("yes", &t_xx)
  let &t_xx = ""
  call assert_fails('let x = &t_xx', 'E113')
endfunc

func Test_let_option_error()
  let _w = &tw
  let &tw = 80
  call assert_fails('let &tw .= 1', 'E734')
  call assert_equal(80, &tw)
  let &tw = _w

  let _w = &fillchars
  let &fillchars = "vert:|"
  call assert_fails('let &fillchars += "diff:-"', 'E734')
  call assert_equal("vert:|", &fillchars)
  let &fillchars = _w
endfunc

func Test_let_errors()
  let s = 'abcd'
  call assert_fails('let s[1] = 5', 'E689:')

  let l = [1, 2, 3]
  call assert_fails('let l[:] = 5', 'E709:')
endfunc