@@ -391,7 +391,7 @@ public static void OverwriteStream()
391391 }
392392
393393 [ Fact ]
394- public static async Task RegressionIssue256 ( )
394+ public static async Task RegressionIssue256Async ( )
395395 {
396396 const int dataSize = 128 + 3105 + 66 + 3111 + 66 + 3105 + 66 + 2513 + 128 ;
397397 ReadOnlyMemory < byte > expected = RandomBytes ( dataSize ) ;
@@ -413,6 +413,30 @@ public static async Task RegressionIssue256()
413413 Equal ( expected . Slice ( 3303 , 3107 ) , buffer . Slice ( 0 , 3107 ) ) ;
414414 }
415415 }
416+
417+ [ Fact ]
418+ public static void RegressionIssue256 ( )
419+ {
420+ const int dataSize = 128 + 3105 + 66 + 3111 + 66 + 3105 + 66 + 2513 + 128 ;
421+ ReadOnlySpan < byte > expected = RandomBytes ( dataSize ) ;
422+ using var ms = new MemoryStream ( ) ;
423+
424+ using ( var buffered = new PoolingBufferedStream ( ms , leaveOpen : true ) { MaxBufferSize = 8192 } )
425+ {
426+ buffered . Write ( expected ) ;
427+ buffered . Flush ( ) ;
428+ }
429+
430+ ms . Position = 0 ;
431+ using ( var reader = new PoolingBufferedStream ( ms , leaveOpen : true ) { MaxBufferSize = 4096 } )
432+ {
433+ Span < byte > buffer = new byte [ dataSize ] ;
434+ reader . ReadExactly ( buffer . Slice ( 0 , 3175 ) ) ;
435+ reader . Position = 3303 ;
436+ reader . ReadExactly ( buffer . Slice ( 0 , 3107 ) ) ;
437+ Equal ( expected . Slice ( 3303 , 3107 ) , buffer . Slice ( 0 , 3107 ) ) ;
438+ }
439+ }
416440
417441 [ Fact ]
418442 public static void RepeatableReads ( )
0 commit comments