shithub: hugo

Download patch

ref: 1b5c7e327c7f98cf8e9fff920f3328198f67a598
parent: 05d83b6c08089c20ca1d99bcd224188ed5d127d4
author: Bjørn Erik Pedersen <[email protected]>
date: Tue Sep 3 08:25:41 EDT 2019

hugolib: Add a Sass includePaths test

See #6274

--- a/hugolib/resource_chain_test.go
+++ b/hugolib/resource_chain_test.go
@@ -168,6 +168,54 @@
 
 }
 
+// https://github.com/gohugoio/hugo/issues/6274
+func TestSCSSWithIncludePathsSass(t *testing.T) {
+	if !scss.Supports() {
+		t.Skip("Skip SCSS")
+	}
+	c := qt.New(t)
+	workDir, clean, err := htesting.CreateTempDir(hugofs.Os, "hugo-scss-includepaths")
+	c.Assert(err, qt.IsNil)
+	defer clean()
+
+	v := viper.New()
+	v.Set("workingDir", workDir)
+	v.Set("theme", "mytheme")
+	b := newTestSitesBuilder(t).WithLogger(loggers.NewErrorLogger())
+	// Need to use OS fs for this.
+	b.Fs = hugofs.NewDefault(v)
+	b.WithWorkingDir(workDir)
+	b.WithViper(v)
+
+	hulmaDir := filepath.Join(workDir, "node_modules", "hulma")
+	scssDir := filepath.Join(workDir, "themes/mytheme/assets", "scss")
+	c.Assert(os.MkdirAll(hulmaDir, 0777), qt.IsNil)
+	c.Assert(os.MkdirAll(scssDir, 0777), qt.IsNil)
+
+	b.WithSourceFile(filepath.Join(scssDir, "main.scss"), `
+@import "hulma/hulma";
+
+`)
+
+	b.WithSourceFile(filepath.Join(hulmaDir, "hulma.sass"), `
+$hulma: #ccc;
+
+foo
+  color: $hulma;
+
+`)
+
+	b.WithTemplatesAdded("index.html", `
+ {{ $scssOptions := (dict "targetPath" "css/styles.css" "enableSourceMap" false "includePaths" (slice "node_modules")) }}
+{{ $r := resources.Get "scss/main.scss" |  toCSS $scssOptions  | minify  }}
+T1: {{ $r.Content }}
+`)
+	b.Build(BuildCfg{})
+
+	b.AssertFileContent(filepath.Join(workDir, "public/index.html"), `T1: foo{color:#ccc}`)
+
+}
+
 func TestResourceChainBasic(t *testing.T) {
 	t.Parallel()