github.com/ruudk/buffalo@v0.11.0/render/plain_test.go (about)

     1  package render_test
     2  
     3  import (
     4  	"bytes"
     5  	"io/ioutil"
     6  	"os"
     7  	"path/filepath"
     8  	"testing"
     9  
    10  	"github.com/gobuffalo/buffalo/render"
    11  	"github.com/gobuffalo/packr"
    12  	"github.com/stretchr/testify/require"
    13  )
    14  
    15  func Test_Plain(t *testing.T) {
    16  	r := require.New(t)
    17  
    18  	tDir, err := ioutil.TempDir("", "templates")
    19  	if err != nil {
    20  		r.Fail("Could not set the templates dir")
    21  	}
    22  
    23  	tmpFile, err := os.Create(filepath.Join(tDir, "test"))
    24  	r.NoError(err)
    25  	defer os.Remove(tmpFile.Name())
    26  
    27  	_, err = tmpFile.Write([]byte("<%= name %>"))
    28  	r.NoError(err)
    29  
    30  	type ji func(...string) render.Renderer
    31  
    32  	j := render.New(render.Options{
    33  		TemplatesBox: packr.NewBox(tDir),
    34  	}).Plain
    35  
    36  	re := j(filepath.Base(tmpFile.Name()))
    37  	r.Equal("text/plain; charset=utf-8", re.ContentType())
    38  	var examples = []string{"Mark", "Jém"}
    39  	for _, example := range examples {
    40  		example := example
    41  		bb := &bytes.Buffer{}
    42  		err := re.Render(bb, map[string]interface{}{"name": example})
    43  		r.NoError(err)
    44  		r.Equal(example, bb.String())
    45  	}
    46  }