diff options
| author | s <[email protected]> | 2025-11-04 11:06:35 -0500 |
|---|---|---|
| committer | s <[email protected]> | 2025-11-04 11:06:35 -0500 |
| commit | 4486b6659640102dd542fea007f4c33ac02511ff (patch) | |
| tree | 3e991f3722e3b0062a6078078ff6aa1478c3ab00 /internal/utils/version_test.go | |
| parent | 3c06eede8ac8cb79272601aad3b2d3359657443a (diff) | |
| download | dborg-4486b6659640102dd542fea007f4c33ac02511ff.tar.gz dborg-4486b6659640102dd542fea007f4c33ac02511ff.zip | |
feat: add version checking and auto-update functionality
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) + } + }) + } +} |
