mirror of
https://github.com/SkinnyMind/libgit2dart.git
synced 2025-05-04 20:29:08 -04:00
test: improve coverage
This commit is contained in:
parent
d75acbfdd3
commit
d6eae1e9ed
71 changed files with 710 additions and 229 deletions
|
@ -64,7 +64,7 @@ void main() {
|
|||
test('returns the short name', () {
|
||||
final ref = repo.createReference(
|
||||
name: 'refs/remotes/origin/master',
|
||||
target: lastCommit,
|
||||
target: repo[lastCommit],
|
||||
);
|
||||
|
||||
final head = repo.head;
|
||||
|
@ -91,7 +91,7 @@ void main() {
|
|||
test('checks if reference is a remote branch', () {
|
||||
final ref = repo.createReference(
|
||||
name: 'refs/remotes/origin/master',
|
||||
target: lastCommit,
|
||||
target: repo[lastCommit],
|
||||
);
|
||||
|
||||
expect(ref.isRemote, true);
|
||||
|
@ -129,33 +129,11 @@ void main() {
|
|||
ref.free();
|
||||
});
|
||||
|
||||
test('successfully creates with SHA hash as target', () {
|
||||
final refFromHash = repo.createReference(
|
||||
name: 'refs/tags/from.hash',
|
||||
target: lastCommit,
|
||||
);
|
||||
|
||||
expect(repo.references, contains('refs/tags/from.hash'));
|
||||
|
||||
refFromHash.free();
|
||||
});
|
||||
|
||||
test('successfully creates with short SHA hash as target', () {
|
||||
final refFromHash = repo.createReference(
|
||||
name: 'refs/tags/from.short.hash',
|
||||
target: '78b8bf',
|
||||
);
|
||||
|
||||
expect(repo.references, contains('refs/tags/from.short.hash'));
|
||||
|
||||
refFromHash.free();
|
||||
});
|
||||
|
||||
test('successfully creates with log message', () {
|
||||
repo.setIdentity(name: 'name', email: 'email');
|
||||
final ref = repo.createReference(
|
||||
name: 'refs/heads/log.message',
|
||||
target: lastCommit,
|
||||
target: repo[lastCommit],
|
||||
logMessage: 'log message',
|
||||
);
|
||||
|
||||
|
@ -178,13 +156,21 @@ void main() {
|
|||
),
|
||||
throwsA(isA<LibGit2Error>()),
|
||||
);
|
||||
|
||||
expect(
|
||||
() => repo.createReference(
|
||||
name: 'refs/tags/invalid',
|
||||
target: 0,
|
||||
),
|
||||
throwsA(isA<ArgumentError>()),
|
||||
);
|
||||
});
|
||||
|
||||
test('throws if name is not valid', () {
|
||||
expect(
|
||||
() => repo.createReference(
|
||||
name: 'refs/tags/invalid~',
|
||||
target: lastCommit,
|
||||
target: repo[lastCommit],
|
||||
),
|
||||
throwsA(isA<LibGit2Error>()),
|
||||
);
|
||||
|
@ -193,12 +179,12 @@ void main() {
|
|||
test('successfully creates with force flag if name already exists', () {
|
||||
final ref = repo.createReference(
|
||||
name: 'refs/tags/test',
|
||||
target: lastCommit,
|
||||
target: repo[lastCommit],
|
||||
);
|
||||
|
||||
final forceRef = repo.createReference(
|
||||
name: 'refs/tags/test',
|
||||
target: lastCommit,
|
||||
target: repo[lastCommit],
|
||||
force: true,
|
||||
);
|
||||
|
||||
|
@ -211,13 +197,13 @@ void main() {
|
|||
test('throws if name already exists', () {
|
||||
final ref = repo.createReference(
|
||||
name: 'refs/tags/test',
|
||||
target: lastCommit,
|
||||
target: repo[lastCommit],
|
||||
);
|
||||
|
||||
expect(
|
||||
() => repo.createReference(
|
||||
name: 'refs/tags/test',
|
||||
target: lastCommit,
|
||||
target: repo[lastCommit],
|
||||
),
|
||||
throwsA(isA<LibGit2Error>()),
|
||||
);
|
||||
|
@ -309,7 +295,7 @@ void main() {
|
|||
test('successfully deletes reference', () {
|
||||
final ref = repo.createReference(
|
||||
name: 'refs/tags/test',
|
||||
target: lastCommit,
|
||||
target: repo[lastCommit],
|
||||
);
|
||||
expect(repo.references, contains('refs/tags/test'));
|
||||
|
||||
|
@ -384,6 +370,10 @@ void main() {
|
|||
() => ref.setTarget(target: 'refs/heads/invalid~'),
|
||||
throwsA(isA<LibGit2Error>()),
|
||||
);
|
||||
expect(
|
||||
() => ref.setTarget(target: 0),
|
||||
throwsA(isA<ArgumentError>()),
|
||||
);
|
||||
|
||||
ref.free();
|
||||
});
|
||||
|
@ -476,15 +466,32 @@ void main() {
|
|||
|
||||
test('successfully peels to object of provided type', () {
|
||||
final ref = repo.lookupReference('refs/heads/master');
|
||||
final blob = repo.lookupBlob(repo['9c78c21']);
|
||||
final blobRef = repo.createReference(
|
||||
name: 'refs/tags/blob',
|
||||
target: blob.oid,
|
||||
);
|
||||
final tagRef = repo.lookupReference('refs/tags/v0.2');
|
||||
final commit = repo.lookupCommit(ref.target);
|
||||
final tree = commit.tree;
|
||||
|
||||
final peeledCommit = ref.peel(GitObject.commit) as Commit;
|
||||
final peeledTree = ref.peel(GitObject.tree) as Tree;
|
||||
final peeledBlob = blobRef.peel(GitObject.blob) as Blob;
|
||||
final peeledTag = tagRef.peel(GitObject.tag) as Tag;
|
||||
|
||||
expect(peeledCommit.oid, commit.oid);
|
||||
expect(peeledTree.oid, tree.oid);
|
||||
expect(peeledBlob.content, 'Feature edit\n');
|
||||
expect(peeledTag.name, 'v0.2');
|
||||
|
||||
peeledTag.free();
|
||||
peeledBlob.free();
|
||||
peeledTree.free();
|
||||
peeledCommit.free();
|
||||
tagRef.free();
|
||||
blobRef.free();
|
||||
blob.free();
|
||||
commit.free();
|
||||
tree.free();
|
||||
ref.free();
|
||||
|
@ -501,5 +508,11 @@ void main() {
|
|||
final newRefs = repo.references;
|
||||
expect(newRefs, oldRefs);
|
||||
});
|
||||
|
||||
test('returns string representation of Reference object', () {
|
||||
final ref = repo.lookupReference('refs/heads/master');
|
||||
expect(ref.toString(), contains('Reference{'));
|
||||
ref.free();
|
||||
});
|
||||
});
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue