From b61815b7499e7286e88d7de9fe667af08ab66f55 Mon Sep 17 00:00:00 2001 From: nsfisis Date: Thu, 27 Nov 2025 02:48:26 +0900 Subject: add tests --- cmd/git-extract-issue/main_test.go | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 cmd/git-extract-issue/main_test.go (limited to 'cmd') diff --git a/cmd/git-extract-issue/main_test.go b/cmd/git-extract-issue/main_test.go new file mode 100644 index 0000000..dbf88c5 --- /dev/null +++ b/cmd/git-extract-issue/main_test.go @@ -0,0 +1,35 @@ +package main + +import "testing" + +func TestExtractIssueNumberFromBranchName(t *testing.T) { + tests := []struct { + name string + branchName string + expected string + }{ + {"numeric only", "123", "#123"}, + {"numeric with suffix", "123-suffix", "#123"}, + + {"feature prefix", "feature/123", "#123"}, + {"feature prefix with suffix", "feature/123-suffix", "#123"}, + + {"project prefix", "feature/prefix-123", "prefix-123"}, + {"project prefix with suffix", "feature/prefix-123-suffix", "prefix-123"}, + + {"bugfix prefix", "bugfix/123", "#123"}, + {"hotfix prefix", "hotfix/456-fix", "#456"}, + + {"no number", "feature/no-number", ""}, + {"empty string", "", ""}, + } + + for _, tt := range tests { + t.Run(tt.name, func(t *testing.T) { + actual := extractIssueNumberFromBranchName(tt.branchName) + if actual != tt.expected { + t.Errorf("extractIssueNumberFromBranchName(%q) = %q, expected %q", tt.branchName, actual, tt.expected) + } + }) + } +} -- cgit v1.2.3-70-g09d2