github.com/rjeczalik/buffalo@v0.11.1/render/template_helpers_test.go (about) 1 package render 2 3 import ( 4 "html/template" 5 "testing" 6 7 "github.com/gobuffalo/packr" 8 "github.com/gobuffalo/tags" 9 "github.com/stretchr/testify/require" 10 ) 11 12 func Test_javascriptTag(t *testing.T) { 13 r := require.New(t) 14 re := New(Options{ 15 AssetsBox: packr.NewBox(""), 16 }) 17 tr := re.Template("").(*templateRenderer) 18 h := tr.addAssetsHelpers(Helpers{}) 19 f := h["javascriptTag"].(func(string, tags.Options) (template.HTML, error)) 20 s, err := f("application.js", nil) 21 r.NoError(err) 22 r.Equal(template.HTML(`<script src="/assets/application.js" type="text/javascript"></script>`), s) 23 } 24 25 func Test_javascriptTag_Options(t *testing.T) { 26 r := require.New(t) 27 re := New(Options{ 28 AssetsBox: packr.NewBox(""), 29 }) 30 tr := re.Template("").(*templateRenderer) 31 h := tr.addAssetsHelpers(Helpers{}) 32 f := h["javascriptTag"].(func(string, tags.Options) (template.HTML, error)) 33 s, err := f("application.js", tags.Options{"class": "foo"}) 34 r.NoError(err) 35 r.Equal(template.HTML(`<script class="foo" src="/assets/application.js" type="text/javascript"></script>`), s) 36 37 } 38 func Test_stylesheetTag(t *testing.T) { 39 r := require.New(t) 40 re := New(Options{ 41 AssetsBox: packr.NewBox(""), 42 }) 43 tr := re.Template("").(*templateRenderer) 44 h := tr.addAssetsHelpers(Helpers{}) 45 f := h["stylesheetTag"].(func(string, tags.Options) (template.HTML, error)) 46 s, err := f("application.css", nil) 47 r.NoError(err) 48 r.Equal(template.HTML(`<link href="/assets/application.css" media="screen" rel="stylesheet" />`), s) 49 } 50 51 func Test_stylesheetTag_Options(t *testing.T) { 52 r := require.New(t) 53 re := New(Options{ 54 AssetsBox: packr.NewBox(""), 55 }) 56 tr := re.Template("").(*templateRenderer) 57 h := tr.addAssetsHelpers(Helpers{}) 58 f := h["stylesheetTag"].(func(string, tags.Options) (template.HTML, error)) 59 s, err := f("application.css", tags.Options{"class": "foo"}) 60 r.NoError(err) 61 r.Equal(template.HTML(`<link class="foo" href="/assets/application.css" media="screen" rel="stylesheet" />`), s) 62 } 63 func Test_imgTag(t *testing.T) { 64 r := require.New(t) 65 re := New(Options{ 66 AssetsBox: packr.NewBox(""), 67 }) 68 tr := re.Template("").(*templateRenderer) 69 h := tr.addAssetsHelpers(Helpers{}) 70 f := h["imgTag"].(func(string, tags.Options) (template.HTML, error)) 71 s, err := f("foo.png", nil) 72 r.NoError(err) 73 r.Equal(template.HTML(`<img src="/assets/foo.png" />`), s) 74 } 75 76 func Test_imgTag_Options(t *testing.T) { 77 r := require.New(t) 78 re := New(Options{ 79 AssetsBox: packr.NewBox(""), 80 }) 81 tr := re.Template("").(*templateRenderer) 82 h := tr.addAssetsHelpers(Helpers{}) 83 f := h["imgTag"].(func(string, tags.Options) (template.HTML, error)) 84 s, err := f("foo.png", tags.Options{"class": "foo"}) 85 r.NoError(err) 86 r.Equal(template.HTML(`<img class="foo" src="/assets/foo.png" />`), s) 87 }