@@ -2,46 +2,50 @@ use bstr::ByteSlice;
2
2
use futures_lite:: { future, prelude:: * } ;
3
3
use git_packetline:: Writer ;
4
4
5
- //
6
- // const MAX_DATA_LEN: usize = 65516;
7
- // const MAX_LINE_LEN: usize = 4 + MAX_DATA_LEN;
8
- //
5
+ const MAX_DATA_LEN : usize = 65516 ;
6
+ const MAX_LINE_LEN : usize = 4 + MAX_DATA_LEN ;
7
+
9
8
#[ test]
10
- fn each_write_results_in_one_line ( ) {
9
+ fn each_write_results_in_one_line ( ) -> crate :: Result {
11
10
let buf = future:: block_on ( async {
12
11
let mut w = Writer :: new ( Vec :: new ( ) ) ;
13
12
w. write_all ( b"hello" ) . await ?;
14
13
w. write ( b"world!" ) . await ?;
15
14
Ok :: < _ , std:: io:: Error > ( w. into_inner ( ) )
16
- } )
17
- . unwrap ( ) ;
15
+ } ) ?;
18
16
assert_eq ! ( buf. as_bstr( ) , b"0009hello000aworld!" . as_bstr( ) ) ;
19
- // Ok(())
17
+ Ok ( ( ) )
18
+ }
19
+
20
+ #[ test]
21
+ fn write_text_and_write_binary ( ) -> crate :: Result {
22
+ let buf = future:: block_on ( async {
23
+ let mut w = Writer :: new ( Vec :: new ( ) ) . text_mode ( ) ;
24
+ w. write_all ( b"hello" ) . await ?;
25
+ w = w. binary_mode ( ) ;
26
+ w. write ( b"world" ) . await ?;
27
+ Ok :: < _ , std:: io:: Error > ( w. into_inner ( ) )
28
+ } ) ?;
29
+ assert_eq ! ( buf. as_bstr( ) , b"000ahello\n 0009world" . as_bstr( ) ) ;
30
+ Ok ( ( ) )
20
31
}
21
- //
22
- // #[test]
23
- // fn write_text_and_write_binary() -> crate::Result {
24
- // let mut w = Writer::new(Vec::new()).text_mode();
25
- // w.write_all(b"hello")?;
26
- // w = w.binary_mode();
27
- // w.write(b"world")?;
28
- // assert_eq!(w.inner.as_bstr(), b"000ahello\n0009world".as_bstr());
29
- // Ok(())
30
- // }
31
- //
32
- // #[test]
33
- // fn huge_writes_are_split_into_lines() -> crate::Result {
34
- // let data = {
35
- // let mut v = Vec::new();
36
- // v.resize(MAX_DATA_LEN * 2, 0);
37
- // v
38
- // };
39
- // let mut w = Writer::new(Vec::new());
40
- // w.write(&data)?;
41
- // assert_eq!(w.inner.len(), MAX_LINE_LEN * 2);
42
- // Ok(())
43
- // }
44
- //
32
+
33
+ #[ test]
34
+ fn huge_writes_are_split_into_lines ( ) -> crate :: Result {
35
+ let buf = future:: block_on ( async {
36
+ let data = {
37
+ let mut v = Vec :: new ( ) ;
38
+ v. resize ( MAX_DATA_LEN * 2 , 0 ) ;
39
+ v
40
+ } ;
41
+ let mut w = Writer :: new ( Vec :: new ( ) ) ;
42
+ w. write ( & data) . await ?;
43
+ Ok :: < _ , std:: io:: Error > ( w. into_inner ( ) )
44
+ } ) ?;
45
+ assert_eq ! ( buf. len( ) , MAX_LINE_LEN * 2 ) ;
46
+ Ok ( ( ) )
47
+ }
48
+
45
49
#[ test]
46
50
fn empty_writes_fail_with_error ( ) {
47
51
assert_eq ! (
0 commit comments