Skip to content

Commit ec3be19

Browse files
committed
refactor: Prefer integration level tests, but use unit-tests where appropriate
1 parent 0d159c2 commit ec3be19

File tree

3 files changed

+79
-77
lines changed

3 files changed

+79
-77
lines changed

git-object/src/borrowed/util.rs renamed to git-object/src/borrowed/util/mod.rs

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -109,3 +109,6 @@ pub(crate) fn parse_signature(i: &[u8]) -> IResult<&[u8], Signature, Error> {
109109
},
110110
))
111111
}
112+
113+
#[cfg(test)]
114+
mod tests;
Lines changed: 76 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,76 @@
1+
mod parse_signature {
2+
use crate::borrowed::util::parse_signature;
3+
use crate::borrowed::Signature;
4+
use crate::{Sign, Time};
5+
use bstr::ByteSlice;
6+
7+
fn signature(
8+
name: &'static str,
9+
email: &'static str,
10+
time: u32,
11+
sign: Sign,
12+
offset: i32,
13+
) -> Signature<'static> {
14+
Signature {
15+
name: name.as_bytes().as_bstr(),
16+
email: email.as_bytes().as_bstr(),
17+
time: Time { time, offset, sign },
18+
}
19+
}
20+
21+
#[test]
22+
fn tz_minus() {
23+
assert_eq!(
24+
parse_signature(b"Sebastian Thiel <byronimo@gmail.com> 1528473343 -0230")
25+
.unwrap()
26+
.1,
27+
signature(
28+
"Sebastian Thiel",
29+
"byronimo@gmail.com",
30+
1528473343,
31+
Sign::Minus,
32+
-9000
33+
)
34+
);
35+
}
36+
37+
#[test]
38+
fn tz_plus() {
39+
assert_eq!(
40+
parse_signature(b"Sebastian Thiel <byronimo@gmail.com> 1528473343 +0230")
41+
.unwrap()
42+
.1,
43+
signature(
44+
"Sebastian Thiel",
45+
"byronimo@gmail.com",
46+
1528473343,
47+
Sign::Plus,
48+
9000
49+
)
50+
);
51+
}
52+
53+
#[test]
54+
fn negative_offset_0000() {
55+
assert_eq!(
56+
parse_signature(b"Sebastian Thiel <byronimo@gmail.com> 1528473343 -0000")
57+
.unwrap()
58+
.1,
59+
signature(
60+
"Sebastian Thiel",
61+
"byronimo@gmail.com",
62+
1528473343,
63+
Sign::Minus,
64+
0
65+
)
66+
);
67+
}
68+
69+
#[test]
70+
fn empty_name_and_email() {
71+
assert_eq!(
72+
parse_signature(b" <> 12345 -1215").unwrap().1,
73+
signature("", "", 12345, Sign::Minus, -44100)
74+
);
75+
}
76+
}

git-object/src/tests/borrowed/mod.rs

Lines changed: 0 additions & 77 deletions
Original file line numberDiff line numberDiff line change
@@ -22,80 +22,3 @@ fn signature(time: u32) -> Signature<'static> {
2222
},
2323
}
2424
}
25-
26-
mod parse_signature {
27-
use crate::borrowed::util::parse_signature;
28-
use crate::borrowed::Signature;
29-
use crate::{Sign, Time};
30-
use bstr::ByteSlice;
31-
32-
fn signature(
33-
name: &'static str,
34-
email: &'static str,
35-
time: u32,
36-
sign: Sign,
37-
offset: i32,
38-
) -> Signature<'static> {
39-
Signature {
40-
name: name.as_bytes().as_bstr(),
41-
email: email.as_bytes().as_bstr(),
42-
time: Time { time, offset, sign },
43-
}
44-
}
45-
46-
#[test]
47-
fn tz_minus() {
48-
assert_eq!(
49-
parse_signature(b"Sebastian Thiel <byronimo@gmail.com> 1528473343 -0230")
50-
.unwrap()
51-
.1,
52-
signature(
53-
"Sebastian Thiel",
54-
"byronimo@gmail.com",
55-
1528473343,
56-
Sign::Minus,
57-
-9000
58-
)
59-
);
60-
}
61-
62-
#[test]
63-
fn tz_plus() {
64-
assert_eq!(
65-
parse_signature(b"Sebastian Thiel <byronimo@gmail.com> 1528473343 +0230")
66-
.unwrap()
67-
.1,
68-
signature(
69-
"Sebastian Thiel",
70-
"byronimo@gmail.com",
71-
1528473343,
72-
Sign::Plus,
73-
9000
74-
)
75-
);
76-
}
77-
78-
#[test]
79-
fn negative_offset_0000() {
80-
assert_eq!(
81-
parse_signature(b"Sebastian Thiel <byronimo@gmail.com> 1528473343 -0000")
82-
.unwrap()
83-
.1,
84-
signature(
85-
"Sebastian Thiel",
86-
"byronimo@gmail.com",
87-
1528473343,
88-
Sign::Minus,
89-
0
90-
)
91-
);
92-
}
93-
94-
#[test]
95-
fn empty_name_and_email() {
96-
assert_eq!(
97-
parse_signature(b" <> 12345 -1215").unwrap().1,
98-
signature("", "", 12345, Sign::Minus, -44100)
99-
);
100-
}
101-
}

0 commit comments

Comments
 (0)