aboutsummaryrefslogtreecommitdiff
path: root/lib/git/git_test.go
diff options
context:
space:
mode:
authorShulhan <ms@kilabit.info>2026-01-05 21:47:09 +0700
committerShulhan <ms@kilabit.info>2026-01-06 14:56:07 +0700
commitf9567f0d4fc5cf6d0e1cea2d22289250c6b1cb2b (patch)
tree452d58882f84b694f56ff3bd9de1fdea2c55c246 /lib/git/git_test.go
parent18be916ab6f8911fd23d8f0a91f5a26f3c07f636 (diff)
downloadpakakeh.go-f9567f0d4fc5cf6d0e1cea2d22289250c6b1cb2b.tar.xz
lib/git: implement Equaler interface on Git
The Equaler interface provide the method Equal that when implemented can be used to compare two instances of struct.
Diffstat (limited to 'lib/git/git_test.go')
-rw-r--r--lib/git/git_test.go48
1 files changed, 48 insertions, 0 deletions
diff --git a/lib/git/git_test.go b/lib/git/git_test.go
index 70a9ccca..65fe572d 100644
--- a/lib/git/git_test.go
+++ b/lib/git/git_test.go
@@ -134,6 +134,35 @@ Use '--' to separate paths from revisions, like this:
}
}
+func TestGit_Equal(t *testing.T) {
+ type testCase struct {
+ v any
+ exp bool
+ }
+ var nilgit *Git
+ var listCase = []testCase{{
+ v: nil,
+ }, {
+ v: os.ErrExist,
+ }, {
+ v: nilgit,
+ }}
+
+ var agit *Git
+ var err error
+ agit, err = New(`testdata/Equal`)
+ if err != nil {
+ t.Fatal(err)
+ }
+
+ var tc testCase
+ var got bool
+ for _, tc = range listCase {
+ got = agit.Equal(tc.v)
+ test.Assert(t, fmt.Sprintf(`%T`, tc.v), tc.exp, got)
+ }
+}
+
func TestGetRemoteURL(t *testing.T) {
cases := []struct {
desc string
@@ -393,3 +422,22 @@ func TestRemoteChange(t *testing.T) {
test.Assert(t, "stdout", c.expStdout, mockStdout.String())
}
}
+
+func TestGit_String(t *testing.T) {
+ var agit *Git
+ var err error
+ agit, err = New(`testdata/Equal`)
+ if err != nil {
+ t.Fatal(err)
+ }
+
+ var wd string
+ wd, err = os.Getwd()
+ if err != nil {
+ t.Fatal(err)
+ }
+
+ var exp = fmt.Sprintf(`git+file://%s/testdata/Equal`, wd)
+ var got = agit.String()
+ test.Assert(t, `String`, exp, got)
+}