Mercurial > vim
comparison src/testdir/test_messages.vim @ 15219:dada0b389d4f v8.1.0619
patch 8.1.0619: :echomsg and :echoerr do not handle List and Dict
commit https://github.com/vim/vim/commit/461a7fcfce3cd6414f990037e6468af3b5ccf119
Author: Bram Moolenaar <Bram@vim.org>
Date: Sat Dec 22 13:28:07 2018 +0100
patch 8.1.0619: :echomsg and :echoerr do not handle List and Dict
Problem: :echomsg and :echoerr do not handle List and Dict like :echo does.
(Daniel Hahler)
Solution: Be more tolerant about the expression result type.
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Sat, 22 Dec 2018 13:30:08 +0100 |
parents | 1946487c74ba |
children | 63b02fcf1361 |
comparison
equal
deleted
inserted
replaced
15218:d8a6097d1f52 | 15219:dada0b389d4f |
---|---|
1 " Tests for :messages | 1 " Tests for :messages, :echomsg, :echoerr |
2 | 2 |
3 function Test_messages() | 3 function Test_messages() |
4 let oldmore = &more | 4 let oldmore = &more |
5 try | 5 try |
6 set nomore | 6 set nomore |
62 | 62 |
63 func Test_message_completion() | 63 func Test_message_completion() |
64 call feedkeys(":message \<C-A>\<C-B>\"\<CR>", 'tx') | 64 call feedkeys(":message \<C-A>\<C-B>\"\<CR>", 'tx') |
65 call assert_equal('"message clear', @:) | 65 call assert_equal('"message clear', @:) |
66 endfunc | 66 endfunc |
67 | |
68 func Test_echomsg() | |
69 call assert_equal("\nhello", execute(':echomsg "hello"')) | |
70 call assert_equal("\n", execute(':echomsg ""')) | |
71 call assert_equal("\n12345", execute(':echomsg 12345')) | |
72 call assert_equal("\n[]", execute(':echomsg []')) | |
73 call assert_equal("\n[1, 2, 3]", execute(':echomsg [1, 2, 3]')) | |
74 call assert_equal("\n{}", execute(':echomsg {}')) | |
75 call assert_equal("\n{'a': 1, 'b': 2}", execute(':echomsg {"a": 1, "b": 2}')) | |
76 if has('float') | |
77 call assert_equal("\n1.23", execute(':echomsg 1.23')) | |
78 endif | |
79 call assert_match("function('<lambda>\\d*')", execute(':echomsg {-> 1234}')) | |
80 endfunc | |
81 | |
82 func Test_echoerr() | |
83 call test_ignore_error('IgNoRe') | |
84 call assert_equal("\nIgNoRe hello", execute(':echoerr "IgNoRe hello"')) | |
85 call assert_equal("\n12345 IgNoRe", execute(':echoerr 12345 "IgNoRe"')) | |
86 call assert_equal("\n[1, 2, 'IgNoRe']", execute(':echoerr [1, 2, "IgNoRe"]')) | |
87 call assert_equal("\n{'IgNoRe': 2, 'a': 1}", execute(':echoerr {"a": 1, "IgNoRe": 2}')) | |
88 if has('float') | |
89 call assert_equal("\n1.23 IgNoRe", execute(':echoerr 1.23 "IgNoRe"')) | |
90 endif | |
91 call test_ignore_error('<lambda>') | |
92 call assert_match("function('<lambda>\\d*')", execute(':echoerr {-> 1234}')) | |
93 call test_ignore_error('RESET') | |
94 endfunc |