use std::convert::TryInto;use git_ref::{FullName, Target};#[test]fn strip_namespace() { let ns = git_ref::namespace::expand("ns").unwrap(); let mut r = git_ref::Reference { name: { let mut n: FullName = "refs/heads/main".try_into().unwrap(); n.prefix_namespace(&ns); n }, target: Target::Symbolic({ let mut n: FullName = "refs/tags/foo".try_into().unwrap(); n.prefix_namespace(&ns); n }), peeled: None, }; r.strip_namespace(&ns); assert_eq!(r.name.as_bstr(), "refs/heads/main", "name is stripped"); assert!( matches!(r.target, Target::Symbolic(n) if n.as_bstr() == "refs/tags/foo"), "and the symbolic target as well" );}
use std::convert::TryInto;
use git_ref::{FullName, Target};
#[test]
fn strip_namespace() {
let ns = git_ref::namespace::expand("ns").unwrap();
let mut r = git_ref::Reference {
name: {
let mut n: FullName = "refs/heads/main".try_into().unwrap();
n.prefix_namespace(&ns);
n
},
target: Target::Symbolic({
let mut n: FullName = "refs/tags/foo".try_into().unwrap();
n.prefix_namespace(&ns);
n
}),
peeled: None,
};
r.strip_namespace(&ns);
assert_eq!(r.name.as_bstr(), "refs/heads/main", "name is stripped");
assert!(
matches!(r.target, Target::Symbolic(n) if n.as_bstr() == "refs/tags/foo"),
"and the symbolic target as well"
);
}