-
Notifications
You must be signed in to change notification settings - Fork 7
Expand file tree
/
Copy pathrenderers_sass_test.go
More file actions
42 lines (32 loc) · 1.12 KB
/
renderers_sass_test.go
File metadata and controls
42 lines (32 loc) · 1.12 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
//go:build amd64
// +build amd64
package diecast
import (
"bytes"
"io"
"net/http/httptest"
"testing"
"github.com/ghetzel/go-stockutil/typeutil"
"github.com/ghetzel/testify/require"
)
func TestSassRenderer(t *testing.T) {
var assert = require.New(t)
var server = NewServer(`./examples/hello-world`)
var mounts = getTestMounts(assert)
server.SetMounts(mounts)
assert.NoError(server.Initialize())
var renderer = new(SassRenderer)
renderer.SetServer(server)
var request = httptest.NewRequest(`GET`, `/css/for-sass.scss`, nil)
var recorder = httptest.NewRecorder()
var testsass = `$c1: red; $c2: blue; .parent { td { color: $c1; } tr { color: $c2 }}; @import '/css/for-sass';`
assert.NoError(renderer.Render(recorder, request, RenderOptions{
Input: io.NopCloser(bytes.NewBufferString(testsass)),
}))
var res = recorder.Result()
assert.NotNil(res)
assert.Equal(`text/css; charset=utf-8`, res.Header.Get(`Content-Type`))
assert.NotNil(res.Body)
assert.Equal(".parent td {\n color: red;\n}\n\n.parent tr {\n color: blue;\n}\n\nh1 {\n color: red;\n}\n", typeutil.String(res.Body))
t.Logf("Test complete")
}