htmgo/framework/config/project_test.go

83 lines
2.3 KiB
Go
Raw Normal View History

2024-10-14 15:02:04 +00:00
package config
import (
"github.com/stretchr/testify/assert"
"os"
2024-10-14 15:14:22 +00:00
"path"
2024-10-14 15:02:04 +00:00
"testing"
)
func TestDefaultProjectConfig(t *testing.T) {
2024-10-14 15:05:14 +00:00
t.Parallel()
2024-10-14 15:02:04 +00:00
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) {
2024-10-14 15:05:14 +00:00
t.Parallel()
2024-10-14 15:14:22 +00:00
cfg := FromConfigFile("non-existing-dir")
2024-10-14 15:02:04 +00:00
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) {
2024-10-14 15:05:14 +00:00
t.Parallel()
2024-10-14 15:14:22 +00:00
dir := writeConfigFile(t, "tailwind: false")
cfg := FromConfigFile(dir)
2024-10-14 15:02:04 +00:00
assert.Equal(t, false, cfg.Tailwind)
assert.Equal(t, 4, len(cfg.WatchIgnore))
assert.Equal(t, 8, len(cfg.WatchFiles))
}
2024-10-14 15:05:14 +00:00
func TestShouldNotSetTailwindTrue(t *testing.T) {
t.Parallel()
2024-10-14 15:14:22 +00:00
dir := writeConfigFile(t, "someValue: true")
cfg := FromConfigFile(dir)
2024-10-14 15:05:14 +00:00
assert.Equal(t, false, cfg.Tailwind)
assert.Equal(t, 4, len(cfg.WatchIgnore))
assert.Equal(t, 8, len(cfg.WatchFiles))
}
2024-10-14 15:14:22 +00:00
func TestShouldPrefixAutomaticPageRoutingIgnore(t *testing.T) {
t.Parallel()
cfg := DefaultProjectConfig()
cfg.AutomaticPageRoutingIgnore = []string{"somefile"}
cfg.Enhance()
assert.Equal(t, []string{"pages/somefile"}, cfg.AutomaticPageRoutingIgnore)
}
func TestShouldPrefixAutomaticPageRoutingIgnore_1(t *testing.T) {
t.Parallel()
cfg := DefaultProjectConfig()
cfg.AutomaticPageRoutingIgnore = []string{"pages/somefile/*"}
cfg.Enhance()
assert.Equal(t, []string{"pages/somefile/*"}, cfg.AutomaticPageRoutingIgnore)
}
func TestShouldPrefixAutomaticPartialRoutingIgnore(t *testing.T) {
t.Parallel()
cfg := DefaultProjectConfig()
cfg.AutomaticPartialRoutingIgnore = []string{"somefile/*"}
cfg.Enhance()
assert.Equal(t, []string{"partials/somefile/*"}, cfg.AutomaticPartialRoutingIgnore)
}
func TestShouldPrefixAutomaticPartialRoutingIgnore_1(t *testing.T) {
t.Parallel()
cfg := DefaultProjectConfig()
cfg.AutomaticPartialRoutingIgnore = []string{"partials/somefile/*"}
cfg.Enhance()
assert.Equal(t, []string{"partials/somefile/*"}, cfg.AutomaticPartialRoutingIgnore)
}
2024-10-14 15:14:22 +00:00
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
}