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  }