From ebfc67ee0d9290226cb95120ba7561eb0f69eb9a Mon Sep 17 00:00:00 2001 From: Aleksey Kulikov Date: Fri, 3 Sep 2021 16:51:54 +0300 Subject: [PATCH] test(tree): add test for tree creation --- lib/libgit2dart.dart | 1 + test/tree_test.dart | 18 ++++++++++++++++++ test/treebuilder_test.dart | 1 - 3 files changed, 19 insertions(+), 1 deletion(-) diff --git a/lib/libgit2dart.dart b/lib/libgit2dart.dart index 96601d9..767e751 100644 --- a/lib/libgit2dart.dart +++ b/lib/libgit2dart.dart @@ -11,5 +11,6 @@ export 'src/signature.dart'; export 'src/revwalk.dart'; export 'src/blob.dart'; export 'src/tag.dart'; +export 'src/treebuilder.dart'; export 'src/error.dart'; export 'src/enums.dart'; diff --git a/test/tree_test.dart b/test/tree_test.dart index d2a9bb1..ae80b60 100644 --- a/test/tree_test.dart +++ b/test/tree_test.dart @@ -67,5 +67,23 @@ void main() { test('throws when nothing found for provided path', () { expect(() => tree['invalid/path'], throwsA(isA())); }); + + test('successfully creates tree', () { + final fileOid = repo.createBlob('blob content'); + final builder = TreeBuilder(repo); + + builder.add('filename', fileOid, GitFilemode.blob); + final newTree = Tree.lookup(repo, builder.write()); + + final entry = newTree['filename']; + expect(newTree.length, 1); + expect(entry.name, 'filename'); + expect(entry.filemode, GitFilemode.blob); + expect(entry.id, fileOid); + + builder.free(); + entry.free(); + newTree.free(); + }); }); } diff --git a/test/treebuilder_test.dart b/test/treebuilder_test.dart index 30bae20..579f36b 100644 --- a/test/treebuilder_test.dart +++ b/test/treebuilder_test.dart @@ -2,7 +2,6 @@ import 'dart:io'; import 'package:test/test.dart'; import 'package:libgit2dart/libgit2dart.dart'; -import 'package:libgit2dart/src/treebuilder.dart'; import 'helpers/util.dart'; void main() {