htmgo/framework/config/project_test.go
2024-10-14 10:14:22 -05:00

50 lines
1.2 KiB
Go

package config
import (
"github.com/stretchr/testify/assert"
"os"
"path"
"testing"
)
func TestDefaultProjectConfig(t *testing.T) {
t.Parallel()
cfg := DefaultProjectConfig()
assert.Equal(t, true, cfg.Tailwind)
assert.Equal(t, 4, len(cfg.WatchIgnore))
assert.Equal(t, 8, len(cfg.WatchFiles))
}
func TestNoConfigFileUsesDefault(t *testing.T) {
t.Parallel()
cfg := FromConfigFile("non-existing-dir")
assert.Equal(t, true, cfg.Tailwind)
assert.Equal(t, 4, len(cfg.WatchIgnore))
assert.Equal(t, 8, len(cfg.WatchFiles))
}
func TestPartialConfigMerges(t *testing.T) {
t.Parallel()
dir := writeConfigFile(t, "tailwind: false")
cfg := FromConfigFile(dir)
assert.Equal(t, false, cfg.Tailwind)
assert.Equal(t, 4, len(cfg.WatchIgnore))
assert.Equal(t, 8, len(cfg.WatchFiles))
}
func TestShouldNotSetTailwindTrue(t *testing.T) {
t.Parallel()
dir := writeConfigFile(t, "someValue: true")
cfg := FromConfigFile(dir)
assert.Equal(t, false, cfg.Tailwind)
assert.Equal(t, 4, len(cfg.WatchIgnore))
assert.Equal(t, 8, len(cfg.WatchFiles))
}
func writeConfigFile(t *testing.T, content string) string {
temp := os.TempDir()
os.Mkdir(temp, 0755)
err := os.WriteFile(path.Join(temp, "htmgo.yml"), []byte(content), 0644)
assert.Nil(t, err)
return temp
}