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