diff options
author | Bjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com> | 2020-03-16 17:49:47 +0100 |
---|---|---|
committer | Bjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com> | 2020-03-16 23:21:44 +0100 |
commit | 1a8af7d4f087256710ae0bdf504ed53c0c24a211 (patch) | |
tree | 26201be3abd1d64c7cba69cf02c0c24f265c2688 /hugolib/resource_chain_test.go | |
parent | 03b93bb9884ea479c855c2699e8c7b039dce6224 (diff) |
Add workaround for regular CSS imports in SCSS
Fixes #7059
Diffstat (limited to 'hugolib/resource_chain_test.go')
-rw-r--r-- | hugolib/resource_chain_test.go | 63 |
1 files changed, 63 insertions, 0 deletions
diff --git a/hugolib/resource_chain_test.go b/hugolib/resource_chain_test.go index 3b5150deb..39279b5bc 100644 --- a/hugolib/resource_chain_test.go +++ b/hugolib/resource_chain_test.go @@ -87,6 +87,69 @@ T1: {{ $r.Content }} } +func TestSCSSWithRegularCSSImport(t *testing.T) { + if !scss.Supports() { + t.Skip("Skip SCSS") + } + c := qt.New(t) + workDir, clean, err := htesting.CreateTempDir(hugofs.Os, "hugo-scss-include") + c.Assert(err, qt.IsNil) + defer clean() + + v := viper.New() + v.Set("workingDir", workDir) + b := newTestSitesBuilder(t).WithLogger(loggers.NewErrorLogger()) + // Need to use OS fs for this. + b.Fs = hugofs.NewDefault(v) + b.WithWorkingDir(workDir) + b.WithViper(v) + + scssDir := filepath.Join(workDir, "assets", "scss") + c.Assert(os.MkdirAll(filepath.Join(workDir, "content", "sect"), 0777), qt.IsNil) + c.Assert(os.MkdirAll(filepath.Join(workDir, "data"), 0777), qt.IsNil) + c.Assert(os.MkdirAll(filepath.Join(workDir, "i18n"), 0777), qt.IsNil) + c.Assert(os.MkdirAll(filepath.Join(workDir, "layouts", "shortcodes"), 0777), qt.IsNil) + c.Assert(os.MkdirAll(filepath.Join(workDir, "layouts", "_default"), 0777), qt.IsNil) + c.Assert(os.MkdirAll(filepath.Join(scssDir), 0777), qt.IsNil) + + b.WithSourceFile(filepath.Join(scssDir, "_moo.scss"), ` +$moolor: #fff; + +moo { + color: $moolor; +} +`) + + b.WithSourceFile(filepath.Join(scssDir, "main.scss"), ` +@import "moo"; +@import "regular.css"; +@import "moo"; +@import "another.css"; + +/* foo */ +`) + + b.WithTemplatesAdded("index.html", ` +{{ $r := resources.Get "scss/main.scss" | toCSS }} +T1: {{ $r.Content | safeHTML }} +`) + b.Build(BuildCfg{}) + + b.AssertFileContent(filepath.Join(workDir, "public/index.html"), ` + T1: moo { + color: #fff; } + +@import "regular.css"; +moo { + color: #fff; } + +@import "another.css"; +/* foo */ + +`) + +} + func TestSCSSWithThemeOverrides(t *testing.T) { if !scss.Supports() { t.Skip("Skip SCSS") |