@@ -192,20 +192,31 @@ func s:communicate(port)
192192 sleep 10 m
193193 call assert_equal ([-1 , ' foo123' ], ch_evalexpr (handle, ' eval-result' ))
194194
195+ " Send an eval request with special characters.
196+ call assert_equal (' ok' , ch_evalexpr (handle, ' eval-special' ))
197+ sleep 10 m
198+ call assert_equal ([-2 , " foo\x7f\x10\x01 bar" ], ch_evalexpr (handle, ' eval-result' ))
199+
200+ " Send an eval request to get a line with special characters.
201+ call setline (3 , " a\n b\<CR> c\x01 d\x7f e" )
202+ call assert_equal (' ok' , ch_evalexpr (handle, ' eval-getline' ))
203+ sleep 10 m
204+ call assert_equal ([-3 , " a\n b\<CR> c\x01 d\x7f e" ], ch_evalexpr (handle, ' eval-result' ))
205+
195206 " Send an eval request that fails.
196207 call assert_equal (' ok' , ch_evalexpr (handle, ' eval-fails' ))
197208 sleep 10 m
198- call assert_equal ([-2 , ' ERROR' ], ch_evalexpr (handle, ' eval-result' ))
209+ call assert_equal ([-4 , ' ERROR' ], ch_evalexpr (handle, ' eval-result' ))
199210
200211 " Send an eval request that works but can't be encoded.
201212 call assert_equal (' ok' , ch_evalexpr (handle, ' eval-error' ))
202213 sleep 10 m
203- call assert_equal ([-3 , ' ERROR' ], ch_evalexpr (handle, ' eval-result' ))
214+ call assert_equal ([-5 , ' ERROR' ], ch_evalexpr (handle, ' eval-result' ))
204215
205216 " Send a bad eval request. There will be no response.
206217 call assert_equal (' ok' , ch_evalexpr (handle, ' eval-bad' ))
207218 sleep 10 m
208- call assert_equal ([-3 , ' ERROR' ], ch_evalexpr (handle, ' eval-result' ))
219+ call assert_equal ([-5 , ' ERROR' ], ch_evalexpr (handle, ' eval-result' ))
209220
210221 " Send an expr request
211222 call assert_equal (' ok' , ch_evalexpr (handle, ' an expr' ))
0 commit comments