-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathhtml_test.go
62 lines (56 loc) · 2.64 KB
/
html_test.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
// -----------------------------------------------------------------------------
// ZR Library - Web Package zr-web/[html_test.go]
// (c) balarabe@protonmail.com License: MIT
// -----------------------------------------------------------------------------
package web
import (
"testing"
"github.com/balacode/zr"
)
// to test all items in html.go use:
// go test --run Test_html_
//
// to generate a test coverage report for the whole module use:
// go test -coverprofile cover.out
// go tool cover -html=cover.out
// go test --run Test_html_SetClass_
func Test_html_SetClass_(t *testing.T) {
zr.TBegin(t)
// SetClass(add bool, input string, classes ...string) string
//
// set classes on a blank string
zr.TEqual(t, SetClass(true, "", "A", "B", "C"), ("A B C"))
zr.TEqual(t, SetClass(true, "", "A", "BB", "CCC"), ("A BB CCC"))
zr.TEqual(t, SetClass(true, "", "AA", "BB", "CC"), ("AA BB CC"))
//
// cases where the added classes are already existing
zr.TEqual(t, SetClass(true, "A B C", "A"), ("A B C"))
zr.TEqual(t, SetClass(true, "A B C", "A", "B"), ("A B C"))
zr.TEqual(t, SetClass(true, "A B C", "A", "B", "C"), ("A B C"))
zr.TEqual(t, SetClass(true, "A BB CCC", "A"), ("A BB CCC"))
zr.TEqual(t, SetClass(true, "A BB CCC", "A", "BB"), ("A BB CCC"))
zr.TEqual(t, SetClass(true, "A BB CCC", "A", "BB", "CCC"), ("A BB CCC"))
zr.TEqual(t, SetClass(true, "AA BB CC", "AA"), ("AA BB CC"))
zr.TEqual(t, SetClass(true, "AA BB CC", "AA", "BB"), ("AA BB CC"))
zr.TEqual(t, SetClass(true, "AA BB CC", "AA", "BB", "CC"), ("AA BB CC"))
//
// remove some classes:
zr.TEqual(t, SetClass(false, "A B C", "A"), ("B C"))
zr.TEqual(t, SetClass(false, "A B C", "B"), ("A C"))
zr.TEqual(t, SetClass(false, "A B C", "C"), ("A B"))
zr.TEqual(t, SetClass(false, "A BB CCC", "A"), ("BB CCC"))
zr.TEqual(t, SetClass(false, "A BB CCC", "BB"), ("A CCC"))
zr.TEqual(t, SetClass(false, "A BB CCC", "CCC"), ("A BB"))
zr.TEqual(t, SetClass(false, "AA BB CC", "AA"), ("BB CC"))
zr.TEqual(t, SetClass(false, "AA BB CC", "BB"), ("AA CC"))
zr.TEqual(t, SetClass(false, "AA BB CC", "CC"), ("AA BB"))
//
// remove everything:
zr.TEqual(t, SetClass(false, "A B C", "A", "B", "C"), (""))
zr.TEqual(t, SetClass(false, "A B C", "A", "B", "C", "X"), (""))
zr.TEqual(t, SetClass(false, "A BB CCC", "A", "BB", "CCC"), (""))
zr.TEqual(t, SetClass(false, "A BB CCC", "A", "BB", "CCC", "X"), (""))
zr.TEqual(t, SetClass(false, "AA BB CC", "AA", "BB", "CC"), (""))
zr.TEqual(t, SetClass(false, "AA BB CC", "AA", "BB", "CC", "X"), (""))
} // Test_html_SetClass_
// end