patch 7.4.1265
Problem: Not all channel commands are tested.
Solution: Add a test for "normal", "expr" and "redraw".
diff --git a/src/testdir/test_channel.py b/src/testdir/test_channel.py
index 66b8c5e..d8830c5 100644
--- a/src/testdir/test_channel.py
+++ b/src/testdir/test_channel.py
@@ -75,6 +75,12 @@
print("sending: {}".format(cmd))
self.request.sendall(cmd.encode('utf-8'))
response = "ok"
+ elif decoded[1] == 'do normal':
+ # Send a normal command.
+ cmd = '["normal","G$s more\u001b"]'
+ print("sending: {}".format(cmd))
+ self.request.sendall(cmd.encode('utf-8'))
+ response = "ok"
elif decoded[1] == 'eval-works':
# Send an eval request. We ignore the response.
cmd = '["eval","\\"foo\\" . 123", -1]'
@@ -93,6 +99,22 @@
print("sending: {}".format(cmd))
self.request.sendall(cmd.encode('utf-8'))
response = "ok"
+ elif decoded[1] == 'an expr':
+ # Send an expr request.
+ cmd = '["expr","setline(\\"$\\", [\\"one\\",\\"two\\",\\"three\\"])"]'
+ print("sending: {}".format(cmd))
+ self.request.sendall(cmd.encode('utf-8'))
+ response = "ok"
+ elif decoded[1] == 'redraw':
+ cmd = '["redraw",""]'
+ print("sending: {}".format(cmd))
+ self.request.sendall(cmd.encode('utf-8'))
+ response = "ok"
+ elif decoded[1] == 'redraw!':
+ cmd = '["redraw","force"]'
+ print("sending: {}".format(cmd))
+ self.request.sendall(cmd.encode('utf-8'))
+ response = "ok"
elif decoded[1] == 'empty-request':
cmd = '[]'
print("sending: {}".format(cmd))
diff --git a/src/testdir/test_channel.vim b/src/testdir/test_channel.vim
index 0966101..46bd364 100644
--- a/src/testdir/test_channel.vim
+++ b/src/testdir/test_channel.vim
@@ -93,6 +93,10 @@
call assert_equal('added1', getline(line('$') - 1))
call assert_equal('added2', getline('$'))
+ call assert_equal('ok', ch_sendexpr(handle, 'do normal'))
+ sleep 10m
+ call assert_equal('added more', getline('$'))
+
" Send a request with a specific handler.
call ch_sendexpr(handle, 'hello!', 's:RequestHandler')
sleep 10m
@@ -114,6 +118,19 @@
sleep 10m
call assert_equal([-2, 'ERROR'], ch_sendexpr(handle, 'eval-result'))
+ " Send an expr request
+ call assert_equal('ok', ch_sendexpr(handle, 'an expr'))
+ sleep 10m
+ call assert_equal('one', getline(line('$') - 2))
+ call assert_equal('two', getline(line('$') - 1))
+ call assert_equal('three', getline('$'))
+
+ " Request a redraw, we don't check for the effect.
+ call assert_equal('ok', ch_sendexpr(handle, 'redraw'))
+ call assert_equal('ok', ch_sendexpr(handle, 'redraw!'))
+
+ call assert_equal('ok', ch_sendexpr(handle, 'empty-request'))
+
" make the server quit, can't check if this works, should not hang.
call ch_sendexpr(handle, '!quit!', 0)