summaryrefslogtreecommitdiff
path: root/internal/config/config_test.go
diff options
context:
space:
mode:
authorPeter Stone <thepeterstone@gmail.com>2026-03-08 20:40:47 +0000
committerPeter Stone <thepeterstone@gmail.com>2026-03-08 20:40:47 +0000
commitdb1ebb7a3f9310ca2cc483d65e9c0e578c2eb4ff (patch)
treedd232a65b1a9b963df62eb431d79432ca1739cf2 /internal/config/config_test.go
parent7914153d3e65cec7a178e7454c9d4addbbbbdd3f (diff)
config: Default() returns error
Default() now returns (*Config, error) so callers can detect TOML parse failures rather than silently falling back to zero values. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Diffstat (limited to 'internal/config/config_test.go')
-rw-r--r--internal/config/config_test.go24
1 files changed, 24 insertions, 0 deletions
diff --git a/internal/config/config_test.go b/internal/config/config_test.go
new file mode 100644
index 0000000..766b856
--- /dev/null
+++ b/internal/config/config_test.go
@@ -0,0 +1,24 @@
+package config
+
+import (
+ "testing"
+)
+
+func TestDefault_EmptyHome_ReturnsError(t *testing.T) {
+ t.Setenv("HOME", "")
+ _, err := Default()
+ if err == nil {
+ t.Fatal("expected error when HOME is empty, got nil")
+ }
+}
+
+func TestDefault_ValidHome_ReturnsConfig(t *testing.T) {
+ t.Setenv("HOME", "/tmp/testhome")
+ cfg, err := Default()
+ if err != nil {
+ t.Fatalf("unexpected error: %v", err)
+ }
+ if cfg.DataDir != "/tmp/testhome/.claudomator" {
+ t.Errorf("DataDir = %q, want /tmp/testhome/.claudomator", cfg.DataDir)
+ }
+}