Bram Moolenaar | f6f32c3 | 2016-03-12 19:03:59 +0100 | [diff] [blame] | 1 | " Test for assignment |
| 2 | |
| 3 | func Test_no_type_checking() |
| 4 | let v = 1 |
| 5 | let v = [1,2,3] |
| 6 | let v = {'a': 1, 'b': 2} |
| 7 | let v = 3.4 |
| 8 | let v = 'hello' |
| 9 | endfunc |
Bram Moolenaar | e353c40 | 2017-02-04 19:49:16 +0100 | [diff] [blame] | 10 | |
| 11 | func Test_let_termcap() |
| 12 | " Terminal code |
| 13 | let old_t_te = &t_te |
| 14 | let &t_te = "\<Esc>[yes;" |
| 15 | call assert_match('t_te.*^[[yes;', execute("set termcap")) |
| 16 | let &t_te = old_t_te |
| 17 | |
Bram Moolenaar | 1c41040 | 2017-02-23 15:20:03 +0100 | [diff] [blame] | 18 | if exists("+t_k1") |
Bram Moolenaar | 1fb0d49 | 2017-02-04 21:50:19 +0100 | [diff] [blame] | 19 | " Key code |
| 20 | let old_t_k1 = &t_k1 |
| 21 | let &t_k1 = "that" |
| 22 | call assert_match('t_k1.*that', execute("set termcap")) |
| 23 | let &t_k1 = old_t_k1 |
| 24 | endif |
Bram Moolenaar | e353c40 | 2017-02-04 19:49:16 +0100 | [diff] [blame] | 25 | |
Bram Moolenaar | c0f5a78 | 2019-01-13 15:16:13 +0100 | [diff] [blame] | 26 | call assert_fails('let x = &t_xx', 'E113') |
Bram Moolenaar | e353c40 | 2017-02-04 19:49:16 +0100 | [diff] [blame] | 27 | let &t_xx = "yes" |
| 28 | call assert_equal("yes", &t_xx) |
| 29 | let &t_xx = "" |
Bram Moolenaar | c0f5a78 | 2019-01-13 15:16:13 +0100 | [diff] [blame] | 30 | call assert_fails('let x = &t_xx', 'E113') |
Bram Moolenaar | e353c40 | 2017-02-04 19:49:16 +0100 | [diff] [blame] | 31 | endfunc |
Bram Moolenaar | 2a6a6c3 | 2017-10-02 19:29:48 +0200 | [diff] [blame] | 32 | |
| 33 | func Test_let_option_error() |
| 34 | let _w = &tw |
| 35 | let &tw = 80 |
| 36 | call assert_fails('let &tw .= 1', 'E734') |
| 37 | call assert_equal(80, &tw) |
| 38 | let &tw = _w |
| 39 | |
| 40 | let _w = &fillchars |
| 41 | let &fillchars = "vert:|" |
| 42 | call assert_fails('let &fillchars += "diff:-"', 'E734') |
| 43 | call assert_equal("vert:|", &fillchars) |
| 44 | let &fillchars = _w |
| 45 | endfunc |
Bram Moolenaar | c0f5a78 | 2019-01-13 15:16:13 +0100 | [diff] [blame] | 46 | |
| 47 | func Test_let_errors() |
| 48 | let s = 'abcd' |
| 49 | call assert_fails('let s[1] = 5', 'E689:') |
| 50 | |
| 51 | let l = [1, 2, 3] |
| 52 | call assert_fails('let l[:] = 5', 'E709:') |
| 53 | endfunc |