github.com/bingoohuang/gg@v0.0.0-20240325092523-45da7dee9335/pkg/gtf/gtf_text_test.go (about) 1 package gtf 2 3 import ( 4 "bytes" 5 "testing" 6 "text/template" 7 ) 8 9 func TextTemplateParseTest(buffer *bytes.Buffer, body string, data interface{}) { 10 tpl := template.New("test").Funcs(TextFuncMap) 11 tpl.Parse(body) 12 tpl.Execute(buffer, data) 13 } 14 15 func TestTextTemplateGtfFuncMap(t *testing.T) { 16 var buffer bytes.Buffer 17 18 TextTemplateParseTest(&buffer, "{{ \"The Go Programming Language\" | replace \" \" }}", "") 19 AssertEqual(t, &buffer, "TheGoProgrammingLanguage") 20 21 TextTemplateParseTest(&buffer, "{{ \"The Go Programming Language\" | findreplace \" \" \"X\" }}", "") 22 AssertEqual(t, &buffer, "TheXGoXProgrammingXLanguage") 23 24 TextTemplateParseTest(&buffer, "{{ \"The Go Programming Language\" | length }}", "") 25 AssertEqual(t, &buffer, "27") 26 27 TextTemplateParseTest(&buffer, "{{ 21 | divisibleby 3 }}", "") 28 AssertEqual(t, &buffer, "true") 29 }