返回 DeepSeek-Reasonix
topic_state_path_test.go
根目录 / internal / config / topic_state_path_test.go
1 package config
2
3 import (
4 "path/filepath"
5 "testing"
6 )
7
8 func TestDesktopTopicStatePathUsesStateHome(t *testing.T) {
9 stateHome := t.TempDir()
10 t.Setenv("REASONIX_STATE_HOME", stateHome)
11
12 if got, want := DesktopTopicStatePath(""), filepath.Join(stateHome, "desktop", "topic-state-v1.sqlite"); got != want {
13 t.Fatalf("global path = %q, want %q", got, want)
14 }
15 workspace := filepath.Join(t.TempDir(), "workspace")
16 abs, err := filepath.Abs(workspace)
17 if err != nil {
18 t.Fatal(err)
19 }
20 want := filepath.Join(stateHome, "projects", WorkspaceSlug(abs), "desktop", "topic-state-v1.sqlite")
21 if got := DesktopTopicStatePath(workspace); got != want {
22 t.Fatalf("project path = %q, want %q", got, want)
23 }
24 }
25
25 lines GO