Mercurial > vim
diff src/testdir/test_channel.py @ 8159:d0958e22d9ff v7.4.1373
commit https://github.com/vim/vim/commit/ece61b06ef4726515177c9b293e1c20d2122a73f
Author: Bram Moolenaar <Bram@vim.org>
Date: Sat Feb 20 21:39:05 2016 +0100
patch 7.4.1373
Problem: Calling a Vim function over a channel requires turning the
arguments into a string.
Solution: Add the "call" command. (Damien) Also merge "expr" and "eval"
into one.
author | Christian Brabandt <cb@256bit.org> |
---|---|
date | Sat, 20 Feb 2016 21:45:04 +0100 |
parents | 240deebfadde |
children | b717dae2f26d |
line wrap: on
line diff
--- a/src/testdir/test_channel.py +++ b/src/testdir/test_channel.py @@ -78,26 +78,26 @@ class ThreadedTCPRequestHandler(socketse response = "ok" elif decoded[1] == 'eval-works': # Send an eval request. We ignore the response. - cmd = '["eval","\\"foo\\" . 123", -1]' + cmd = '["expr","\\"foo\\" . 123", -1]' print("sending: {}".format(cmd)) self.request.sendall(cmd.encode('utf-8')) response = "ok" elif decoded[1] == 'eval-fails': # Send an eval request that will fail. - cmd = '["eval","xxx", -2]' + cmd = '["expr","xxx", -2]' print("sending: {}".format(cmd)) self.request.sendall(cmd.encode('utf-8')) response = "ok" elif decoded[1] == 'eval-error': # Send an eval request that works but the result can't # be encoded. - cmd = '["eval","function(\\"tr\\")", -3]' + cmd = '["expr","function(\\"tr\\")", -3]' print("sending: {}".format(cmd)) self.request.sendall(cmd.encode('utf-8')) response = "ok" elif decoded[1] == 'eval-bad': # Send an eval request missing the third argument. - cmd = '["eval","xxx"]' + cmd = '["expr","xxx"]' print("sending: {}".format(cmd)) self.request.sendall(cmd.encode('utf-8')) response = "ok" @@ -107,6 +107,11 @@ class ThreadedTCPRequestHandler(socketse print("sending: {}".format(cmd)) self.request.sendall(cmd.encode('utf-8')) response = "ok" + elif decoded[1] == 'call-func': + cmd = '["call","MyFunction",[1,2,3], 0]' + print("sending: {}".format(cmd)) + self.request.sendall(cmd.encode('utf-8')) + response = "ok" elif decoded[1] == 'redraw': cmd = '["redraw",""]' print("sending: {}".format(cmd)) @@ -135,6 +140,9 @@ class ThreadedTCPRequestHandler(socketse print("sending: {}".format(cmd)) self.request.sendall(cmd.encode('utf-8')) response = "" + elif decoded[1] == 'wait a bit': + time.sleep(0.2) + response = "waited" elif decoded[1] == '!quit!': # we're done self.server.shutdown()