Skip to content

Commit b91e4bd

Browse files
committed
match test structure with crate structure (#382)
1 parent fc61c0d commit b91e4bd

File tree

10 files changed

+47
-49
lines changed

10 files changed

+47
-49
lines changed

git-repository/tests/easy/mod.rs

Lines changed: 0 additions & 4 deletions
This file was deleted.

git-repository/tests/easy/reference.rs

Lines changed: 0 additions & 43 deletions
This file was deleted.

git-repository/tests/repo.rs renamed to git-repository/tests/git.rs

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,8 @@ fn basic_rw_repo() -> crate::Result<(Repository, tempfile::TempDir)> {
2929
}
3030

3131
mod discover;
32-
mod easy;
32+
mod id;
3333
mod init;
34+
mod object;
3435
mod reference;
35-
mod state;
36+
mod repository;
File renamed without changes.

git-repository/tests/reference/mod.rs

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,3 +18,46 @@ mod log {
1818
);
1919
}
2020
}
21+
mod find {
22+
use std::convert::TryInto;
23+
24+
use git_ref as refs;
25+
use git_testtools::hex_to_id;
26+
27+
fn repo() -> crate::Result<git_repository::Repository> {
28+
crate::repo("make_references_repo.sh").map(Into::into)
29+
}
30+
31+
#[test]
32+
fn and_peel() -> crate::Result {
33+
let repo = repo()?;
34+
let mut packed_tag_ref = repo.try_find_reference("dt1")?.expect("tag to exist");
35+
assert_eq!(packed_tag_ref.name(), "refs/tags/dt1".try_into()?);
36+
37+
assert_eq!(
38+
packed_tag_ref.inner.target,
39+
refs::Target::Peeled(hex_to_id("4c3f4cce493d7beb45012e478021b5f65295e5a3")),
40+
"it points to a tag object"
41+
);
42+
43+
let object = packed_tag_ref.peel_to_id_in_place()?;
44+
let the_commit = hex_to_id("134385f6d781b7e97062102c6a483440bfda2a03");
45+
assert_eq!(object, the_commit, "it is assumed to be fully peeled");
46+
assert_eq!(
47+
object,
48+
packed_tag_ref.peel_to_id_in_place()?,
49+
"peeling again yields the same object"
50+
);
51+
52+
let mut symbolic_ref = repo.find_reference("multi-link-target1")?;
53+
assert_eq!(symbolic_ref.name(), "refs/heads/multi-link-target1".try_into()?);
54+
assert_eq!(symbolic_ref.peel_to_id_in_place()?, the_commit);
55+
assert_eq!(
56+
symbolic_ref.name(),
57+
"refs/remotes/origin/multi-link-target3".try_into()?,
58+
"it follows symbolic refs, too"
59+
);
60+
assert_eq!(symbolic_ref.into_fully_peeled_id()?, the_commit, "idempotency");
61+
Ok(())
62+
}
63+
}
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,3 @@
11
mod object;
22
mod reference;
3+
mod state;

0 commit comments

Comments
 (0)