diff --git a/generate/input/descriptor.json b/generate/input/descriptor.json index dd767bf55..26d64eb73 100644 --- a/generate/input/descriptor.json +++ b/generate/input/descriptor.json @@ -1221,6 +1221,19 @@ "git_tag_foreach": { "ignore": true }, + "git_tag_list": { + "args": { + "tag_names": { + "isReturn": true, + "shouldAlloc": true, + "cppClassName": "Array", + "jsClassName": "Array", + "size": "count", + "key": "strings" + } + }, + "isAsync": true + }, "git_tag_target": { "args": { "target_out": { diff --git a/test/tests/tag.js b/test/tests/tag.js index 7a8ba14d5..2a93cc1bb 100644 --- a/test/tests/tag.js +++ b/test/tests/tag.js @@ -5,6 +5,7 @@ describe("Tag", function() { var reposPath = path.resolve("test/repos/workdir/.git"); var Repository = require("../../lib/repository"); + var Tag = require("../../lib/tag"); var Obj = require("../../lib/object"); var Oid = require("../../lib/oid"); @@ -60,4 +61,14 @@ describe("Tag", function() { testTag(tag); }); }); + + it("can list tags in a repo", function() { + return Tag.list(this.repo).then(function(tagNames) { + tagNames = tagNames.filter(function(tagNameTest) { + return tagNameTest == tagName; + }); + + assert.equal(tagNames.length, 1); + }); + }); });