@@ -926,6 +926,14 @@ mod tests {
926926 assert_eq ! ( vec![ 1 , 2 , 3 ] , executor:: block_on( collect:: <_, Vec <_>>( stream) ) ) ;
927927 }
928928
929+ #[ test]
930+ fn test_take_more_than_size ( ) {
931+ let stream = iter ( 1 ..=3 ) ;
932+ let stream = take ( stream, 10 ) ;
933+
934+ assert_eq ! ( vec![ 1 , 2 , 3 ] , executor:: block_on( collect:: <_, Vec <_>>( stream) ) ) ;
935+ }
936+
929937 #[ test]
930938 fn test_repeat ( ) {
931939 let stream = repeat ( 9 ) ;
@@ -962,6 +970,14 @@ mod tests {
962970 assert_eq ! ( vec![ 6 , 7 , 8 , 9 , 10 ] , executor:: block_on( collect:: <_, Vec <_>>( stream) ) ) ;
963971 }
964972
973+ #[ test]
974+ fn test_skip_more_than_size ( ) {
975+ let stream = iter ( 1 ..=10 ) ;
976+ let stream = skip ( stream, 15 ) ;
977+
978+ assert ! ( executor:: block_on( collect:: <_, Vec <_>>( stream) ) . is_empty( ) ) ;
979+ }
980+
965981 #[ test]
966982 fn test_zip ( ) {
967983 let stream1 = iter ( 1 ..=3 ) ;
@@ -988,6 +1004,14 @@ mod tests {
9881004 assert_eq ! ( vec![ 1 , 2 , 3 , 4 , 5 ] , executor:: block_on( collect:: <_, Vec <_>>( stream) ) ) ;
9891005 }
9901006
1007+ #[ test]
1008+ fn test_take_while_more_than_size ( ) {
1009+ let stream = iter ( 1 ..=3 ) ;
1010+ let stream = take_while ( stream, |x| ready ( * x <= 5 ) ) ;
1011+
1012+ assert_eq ! ( vec![ 1 , 2 , 3 ] , executor:: block_on( collect:: <_, Vec <_>>( stream) ) ) ;
1013+ }
1014+
9911015 #[ test]
9921016 fn test_skip_while ( ) {
9931017 let stream = iter ( 1 ..=10 ) ;
@@ -996,6 +1020,14 @@ mod tests {
9961020 assert_eq ! ( vec![ 6 , 7 , 8 , 9 , 10 ] , executor:: block_on( collect:: <_, Vec <_>>( stream) ) ) ;
9971021 }
9981022
1023+ #[ test]
1024+ fn test_skip_while_more_than_size ( ) {
1025+ let stream = iter ( 1 ..=3 ) ;
1026+ let stream = skip_while ( stream, |x| ready ( * x <= 5 ) ) ;
1027+
1028+ assert ! ( executor:: block_on( collect:: <_, Vec <_>>( stream) ) . is_empty( ) ) ;
1029+ }
1030+
9991031 #[ test]
10001032 fn test_fold ( ) {
10011033 let stream = iter ( 0 ..6 ) ;
0 commit comments