Skip to content

Commit f8e64fb

Browse files
committed
Merge branch 'master' of github.com:KeepSafe/aiohttp
2 parents a6a179c + eac52bd commit f8e64fb

File tree

3 files changed

+31
-6
lines changed

3 files changed

+31
-6
lines changed

aiohttp/streams.py

+4
Original file line numberDiff line numberDiff line change
@@ -363,6 +363,10 @@ def read(self):
363363
except EofStream:
364364
return EOF_MARKER
365365

366+
readany = read
367+
366368

367369
class FlowControlChunksQueue(FlowControlDataQueue, ChunksQueue):
368370
"""FlowControlChunksQueue resumes and pauses an underlying stream."""
371+
372+
readany = FlowControlDataQueue.read

tests/test_client.py

+21-6
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,11 @@
1212
import aiohttp
1313
from aiohttp.client import ClientRequest, ClientResponse, HttpClient
1414

15+
try:
16+
import chardet
17+
except ImportError:
18+
chardet = None
19+
1520

1621
class RequestTests(unittest.TestCase):
1722

@@ -186,9 +191,14 @@ def second_call(*args, **kwargs):
186191
content.read.side_effect = side_effect
187192
self.response.close = unittest.mock.Mock()
188193

189-
res = self.loop.run_until_complete(self.response.text())
190-
self.assertEqual(res, '{"тест": "пройден"}')
191-
self.assertTrue(self.response.close.called)
194+
if chardet is None:
195+
self.assertRaises(UnicodeDecodeError,
196+
self.loop.run_until_complete,
197+
self.response.text())
198+
else:
199+
res = self.loop.run_until_complete(self.response.text())
200+
self.assertEqual(res, '{"тест": "пройден"}')
201+
self.assertTrue(self.response.close.called)
192202

193203
def test_json(self):
194204
def side_effect(*args, **kwargs):
@@ -260,9 +270,14 @@ def second_call(*args, **kwargs):
260270
content.read.side_effect = side_effect
261271
self.response.close = unittest.mock.Mock()
262272

263-
res = self.loop.run_until_complete(self.response.json())
264-
self.assertEqual(res, {'тест': 'пройден'})
265-
self.assertTrue(self.response.close.called)
273+
if chardet is None:
274+
self.assertRaises(UnicodeDecodeError,
275+
self.loop.run_until_complete,
276+
self.response.json())
277+
else:
278+
res = self.loop.run_until_complete(self.response.json())
279+
self.assertEqual(res, {'тест': 'пройден'})
280+
self.assertTrue(self.response.close.called)
266281

267282
def test_override_flow_control(self):
268283
class MyResponse(ClientResponse):

tests/test_streams.py

+6
Original file line numberDiff line numberDiff line change
@@ -636,10 +636,16 @@ def test_read_until_eof(self):
636636
self.assertEqual(thing, b'')
637637
self.assertTrue(self.buffer.at_eof())
638638

639+
def test_readany(self):
640+
self.assertIs(self.buffer.read.__func__, self.buffer.readany.__func__)
641+
639642

640643
class FlowControlChunksQueueTests(FlowControlDataQueueTests):
641644

642645
def setUp(self):
643646
super().setUp()
644647
self.buffer = streams.FlowControlChunksQueue(self.stream,
645648
loop=self.loop)
649+
650+
def test_readany(self):
651+
self.assertIs(self.buffer.read.__func__, self.buffer.readany.__func__)

0 commit comments

Comments
 (0)