Mercurial > yakumo_izuru > aya
comparison zs_test.go @ 18:ae3116ea938b draft
started migration to go templates
author | zaitsev.serge |
---|---|
date | Sat, 29 Aug 2015 16:46:05 +0000 |
parents | 0214b1b5f5eb |
children | 802b96e67bae |
comparison
equal
deleted
inserted
replaced
17:0214b1b5f5eb | 18:ae3116ea938b |
---|---|
7 "log" | 7 "log" |
8 "os" | 8 "os" |
9 "os/exec" | 9 "os/exec" |
10 "strings" | 10 "strings" |
11 "testing" | 11 "testing" |
12 "text/template" | |
12 ) | 13 ) |
13 | 14 |
14 func TestSplit2(t *testing.T) { | 15 func TestSplit2(t *testing.T) { |
15 if a, b := split2("a:b", ":"); a != "a" || b != "b" { | 16 if a, b := split2("a:b", ":"); a != "a" || b != "b" { |
16 t.Fail() | 17 t.Fail() |
74 t.Error(v, body) | 75 t.Error(v, body) |
75 } | 76 } |
76 } | 77 } |
77 | 78 |
78 func TestRender(t *testing.T) { | 79 func TestRender(t *testing.T) { |
79 eval := func(a []string, vars Vars) (string, error) { | 80 vars := map[string]string{"foo": "bar"} |
80 return "hello", nil | 81 funcs := template.FuncMap{ |
82 "greet": func(s ...string) string { | |
83 if len(s) == 0 { | |
84 return "hello" | |
85 } else { | |
86 return "hello " + strings.Join(s, " ") | |
87 } | |
88 }, | |
81 } | 89 } |
82 vars := map[string]string{"foo": "bar"} | |
83 | 90 |
84 if s, err := render("plain text", vars, eval); err != nil || s != "plain text" { | 91 if s, err := render("plain text", funcs, vars); err != nil || s != "plain text" { |
85 t.Error() | 92 t.Error(s, err) |
86 } | 93 } |
87 if s, err := render("a {{greet}} text", vars, eval); err != nil || s != "a hello text" { | 94 if s, err := render("a {{greet}} text", funcs, vars); err != nil || s != "a hello text" { |
88 t.Error() | 95 t.Error(s, err) |
89 } | 96 } |
90 if s, err := render("{{greet}} x{{foo}}z", vars, eval); err != nil || s != "hello xbarz" { | 97 if s, err := render("{{greet}} x{{foo}}z", funcs, vars); err != nil || s != "hello xbarz" { |
91 t.Error() | 98 t.Error(s, err) |
92 } | 99 } |
93 // Test error case | 100 // Test error case |
94 if s, err := render("a {{greet text ", vars, eval); err == nil || len(s) != 0 { | 101 if s, err := render("a {{greet text ", funcs, vars); err == nil || len(s) != 0 { |
95 t.Error() | 102 t.Error(s, err) |
96 } | 103 } |
97 } | 104 } |
98 | 105 |
99 func TestEnv(t *testing.T) { | 106 func TestEnv(t *testing.T) { |
100 e := env(map[string]string{"foo": "bar", "baz": "hello world"}) | 107 e := env(map[string]string{"foo": "bar", "baz": "hello world"}) |