@@ -572,7 +572,7 @@ def test_peek(self):
572572 self .assertEqual (memio .tell (), 0 )
573573 self .assertEqual (memio .peek (1 ), buf [:1 ])
574574 self .assertEqual (memio .peek (1 ), buf [:1 ])
575- self .assertEqual (memio .peek (), buf [: 1 ] )
575+ self .assertEqual (memio .peek (), buf )
576576 self .assertEqual (memio .peek (3 ), buf [:3 ])
577577 self .assertEqual (memio .peek (5 ), buf [:5 ])
578578 self .assertEqual (memio .peek (0 ), buf )
@@ -583,7 +583,7 @@ def test_peek(self):
583583 memio .read (1 )
584584 self .assertEqual (memio .tell (), 1 )
585585 self .assertEqual (memio .peek (1 ), buf [1 :2 ])
586- self .assertEqual (memio .peek (), buf [1 :2 ])
586+ self .assertEqual (memio .peek (), buf [1 :])
587587 self .assertEqual (memio .peek (3 ), buf [1 :4 ])
588588 self .assertEqual (memio .peek (5 ), buf [1 :6 ])
589589 self .assertEqual (memio .peek (0 ), buf [1 :])
@@ -604,11 +604,17 @@ def test_peek(self):
604604 memio .write (abc )
605605 self .assertEqual (memio .peek (), self .EOF )
606606 memio .seek (len (buf ))
607- self .assertEqual (memio .peek (), abc [: 1 ] )
607+ self .assertEqual (memio .peek (), abc )
608608 self .assertEqual (memio .peek (- 1 ), abc )
609609 self .assertEqual (memio .peek (len (abc ) + 100 ), abc )
610610 self .assertEqual (memio .tell (), len (buf ))
611611
612+ # Length of returned bytes object is capped to DEFAULT_BUFFER_SIZE
613+ buf = self .buftype ("a" * (io .DEFAULT_BUFFER_SIZE + 10 ))
614+ with self .ioclass (buf ) as memio :
615+ self .assertEqual (len (memio .peek ()), io .DEFAULT_BUFFER_SIZE )
616+ self .assertEqual (len (memio .peek (io .DEFAULT_BUFFER_SIZE + 1 )), io .DEFAULT_BUFFER_SIZE )
617+
612618 with self .ioclass (buf ) as memio :
613619 memio .seek (len (buf ))
614620 self .assertEqual (memio .peek (), self .EOF )
0 commit comments