From 64f598334d464016b097cec19861fe924526998e Mon Sep 17 00:00:00 2001 From: Jeff Quast Date: Mon, 12 Oct 2015 20:23:49 -0700 Subject: issue discovered during integration with telnetlib3 --- tests/test_async.py | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/tests/test_async.py b/tests/test_async.py index ce75572..b918da6 100644 --- a/tests/test_async.py +++ b/tests/test_async.py @@ -43,9 +43,15 @@ class AsyncTests(PexpectTestCase): coro = p.expect('Blah', async=True) with self.assertRaises(pexpect.EOF): run(coro) - + def test_expect_exact(self): p = pexpect.spawn('%s list100.py' % sys.executable) assert run(p.expect_exact(b'5', async=True)) == 0 assert run(p.expect_exact(['wpeok', b'11'], async=True)) == 1 assert run(p.expect_exact([b'foo', pexpect.EOF], async=True)) == 1 + + def test_async_utf8(self): + p = pexpect.spawn('%s list100.py' % sys.executable, encoding='utf8') + assert run(p.expect_exact(u'5', async=True)) == 0 + assert run(p.expect_exact([u'wpeok', u'11'], async=True)) == 1 + assert run(p.expect_exact([u'foo', pexpect.EOF], async=True)) == 1 -- cgit v1.2.1 From 209eec225dbdcb1c7f1a3ec889873dfd3ef09e82 Mon Sep 17 00:00:00 2001 From: Jeff Quast Date: Tue, 13 Oct 2015 08:54:48 +0100 Subject: Async expect should process received data after decoding --- pexpect/async.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pexpect/async.py b/pexpect/async.py index ad75994..a798457 100644 --- a/pexpect/async.py +++ b/pexpect/async.py @@ -41,11 +41,11 @@ class PatternWaiter(asyncio.Protocol): spawn._log(s, 'read') if self.fut.done(): - spawn.buffer += data + spawn.buffer += s return try: - index = self.expecter.new_data(data) + index = self.expecter.new_data(s) if index is not None: # Found a match self.found(index) -- cgit v1.2.1