diff options
Diffstat (limited to 'internal/utils/version_test.go')
| -rw-r--r-- | internal/utils/version_test.go | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/internal/utils/version_test.go b/internal/utils/version_test.go new file mode 100644 index 0000000..dc1627d --- /dev/null +++ b/internal/utils/version_test.go @@ -0,0 +1,52 @@ +package utils + +import "testing" + +func TestIsNewerVersion(t *testing.T) { + tests := []struct { + name string + remote string + local string + expected bool + }{ + { + name: "newer version available", + remote: "v0.2.0", + local: "v0.1.0", + expected: true, + }, + { + name: "same version", + remote: "v0.1.0", + local: "v0.1.0", + expected: false, + }, + { + name: "local is newer", + remote: "v0.1.0", + local: "v0.2.0", + expected: false, + }, + { + name: "without v prefix", + remote: "0.2.0", + local: "0.1.0", + expected: true, + }, + { + name: "mixed prefix", + remote: "v0.2.0", + local: "0.1.0", + expected: true, + }, + } + + for _, tt := range tests { + t.Run(tt.name, func(t *testing.T) { + result := isNewerVersion(tt.remote, tt.local) + if result != tt.expected { + t.Errorf("isNewerVersion(%s, %s) = %v, expected %v", tt.remote, tt.local, result, tt.expected) + } + }) + } +} |
