source: code/trunk/zs_test.go@ 1

Last change on this file since 1 was 1, checked in by zaitsev.serge, 11 years ago

initial commit

File size: 1.3 KB
Line 
1package main
2
3import "testing"
4
5func TestSplit2(t *testing.T) {
6 if a, b := split2("a:b", ":"); a != "a" || b != "b" {
7 t.Fail()
8 }
9 if a, b := split2(":b", ":"); a != "" || b != "b" {
10 t.Fail()
11 }
12 if a, b := split2("a:", ":"); a != "a" || b != "" {
13 t.Fail()
14 }
15 if a, b := split2(":", ":"); a != "" || b != "" {
16 t.Fail()
17 }
18 if a, b := split2("a", ":"); a != "a" || b != "" {
19 t.Fail()
20 }
21 if a, b := split2("", ":"); a != "" || b != "" {
22 t.Fail()
23 }
24}
25
26func TestMD(t *testing.T) {
27 v, body := md(`
28 title: Hello, world!
29 keywords: foo, bar, baz
30 empty:
31 bayan: [:|||:]
32
33this: is a content`)
34 if v["title"] != "Hello, world!" {
35 t.Error()
36 }
37 if v["keywords"] != "foo, bar, baz" {
38 t.Error()
39 }
40 if s, ok := v["empty"]; !ok || len(s) != 0 {
41 t.Error()
42 }
43 if v["bayan"] != "[:|||:]" {
44 t.Error()
45 }
46 if body != "this: is a content" {
47 t.Error(body)
48 }
49}
50
51func TestRender(t *testing.T) {
52 eval := func(a []string) ([]byte, error) {
53 return []byte("hello"), nil
54 }
55 vars := map[string]string{"foo": "bar"}
56
57 if s, err := render("plain text", vars, eval); err != nil || s != "plain text" {
58 t.Error()
59 }
60 if s, err := render("a {{greet}} text", vars, eval); err != nil || s != "a hello text" {
61 t.Error()
62 }
63 if s, err := render("{{greet}} x{{foo}}z", vars, eval); err != nil || s != "hello xbarz" {
64 t.Error()
65 }
66}
Note: See TracBrowser for help on using the repository browser.