github.com/suntong/easygen@v5.3.0+incompatible/t_readdatafile_test.go (about)

     1  package easygen_test
     2  
     3  import (
     4  	"os"
     5  
     6  	"github.com/go-easygen/easygen"
     7  	"github.com/go-easygen/easygen/egVar"
     8  )
     9  
    10  // for standalone test, change package to `main` and the next func def to,
    11  // func main() {
    12  func ExampleReadDataFile() {
    13  	tmplFileName := "test/var0"
    14  	tmpl0 := easygen.NewTemplate().Customize()
    15  	tmpl := tmpl0.Funcs(easygen.FuncDefs()).Funcs(egVar.FuncDefs())
    16  
    17  	// To use Execute(), TemplateFileName has to be exact
    18  	tmplFileNameFull := tmplFileName + ".tmpl"
    19  
    20  	m := easygen.ReadDataFile(tmplFileName)
    21  	easygen.Execute(tmpl, os.Stdout, tmplFileNameFull, m)
    22  
    23  	easygen.Opts.Debug = 0
    24  	m = easygen.ReadDataFile(tmplFileName + ".yaml")
    25  	easygen.Execute(tmpl, os.Stdout, tmplFileNameFull, m)
    26  
    27  	tmplFileName = "test/list0j"
    28  	tmplFileNameFull = tmplFileName + ".tmpl"
    29  
    30  	m = easygen.ReadDataFile(tmplFileName)
    31  	easygen.Execute(tmpl, os.Stdout, tmplFileNameFull, m)
    32  
    33  	m = easygen.ReadDataFile(tmplFileName + ".json")
    34  	easygen.Execute(tmpl, os.Stdout, tmplFileNameFull, m)
    35  
    36  	// Output:
    37  	// Input: "some-init-method"
    38  	// Output 1: "SomeInitMethod"
    39  	// Output 2: "SOME_INIT_METHOD"
    40  	// Input: "some-init-method"
    41  	// Output 1: "SomeInitMethod"
    42  	// Output 2: "SOME_INIT_METHOD"
    43  	// The colors are: red, blue, white, .
    44  	// The colors are: red, blue, white, .
    45  
    46  }