Repository navigation
Expand file tree
/
Copy pathdefault_wallpapers_test.go
More file actions
92 lines (80 loc) · 2.33 KB
/
Copy pathdefault_wallpapers_test.go
File metadata and controls
92 lines (80 loc) · 2.33 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
package main
import (
"os"
"path/filepath"
"testing"
)
func TestInstallDefaultWallpapers(t *testing.T) {
home := t.TempDir()
t.Setenv("HOME", home)
t.Setenv("XDG_CONFIG_HOME", t.TempDir())
if err := installDefaultWallpapers(); err != nil {
t.Fatal(err)
}
dir := filepath.Join(home, "Wallpapers", "Aether")
entries, err := os.ReadDir(dir)
if err != nil {
t.Fatal(err)
}
if got, want := len(entries), 8; got != want {
t.Fatalf("bundled wallpaper count = %d; want %d", got, want)
}
path := filepath.Join(dir, "aether-dark-2k.jpg")
if err := os.WriteFile(path, []byte("custom"), 0o644); err != nil {
t.Fatal(err)
}
if err := installDefaultWallpapers(); err != nil {
t.Fatal(err)
}
data, err := os.ReadFile(path)
if err != nil {
t.Fatal(err)
}
if got, want := string(data), "custom"; got != want {
t.Errorf("existing wallpaper = %q; want %q", got, want)
}
}
func TestInstallDefaultWallpapersUsesConfiguredFolder(t *testing.T) {
home := t.TempDir()
t.Setenv("HOME", home)
t.Setenv("XDG_CONFIG_HOME", t.TempDir())
folder := t.TempDir()
if err := NewApp().SaveSettings(map[string]interface{}{
wallpaperFolderSetting: folder,
}); err != nil {
t.Fatal(err)
}
if err := installDefaultWallpapers(); err != nil {
t.Fatal(err)
}
entries, err := os.ReadDir(filepath.Join(folder, "Aether"))
if err != nil {
t.Fatal(err)
}
if got, want := len(entries), 8; got != want {
t.Fatalf("bundled wallpaper count = %d; want %d", got, want)
}
if _, err := os.Stat(filepath.Join(home, "Wallpapers")); !os.IsNotExist(err) {
t.Errorf("~/Wallpapers stat error = %v; want not exist", err)
}
}
func TestInstallDefaultWallpapersSkipsMissingConfiguredFolder(t *testing.T) {
home := t.TempDir()
t.Setenv("HOME", home)
t.Setenv("XDG_CONFIG_HOME", t.TempDir())
missing := filepath.Join(t.TempDir(), "missing")
if err := NewApp().SaveSettings(map[string]interface{}{
wallpaperFolderSetting: missing,
}); err != nil {
t.Fatal(err)
}
if err := installDefaultWallpapers(); err == nil {
t.Fatal("installDefaultWallpapers() error = nil; want missing folder error")
}
if _, err := os.Stat(missing); !os.IsNotExist(err) {
t.Errorf("configured folder stat error = %v; want not exist", err)
}
if _, err := os.Stat(filepath.Join(home, "Wallpapers")); !os.IsNotExist(err) {
t.Errorf("~/Wallpapers stat error = %v; want not exist", err)
}
}