-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathlayout_test.go
48 lines (43 loc) · 1.88 KB
/
layout_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
package goey
import (
"bitbucket.org/rj/goey/base"
"testing"
)
func TestCalculateHGap(t *testing.T) {
cases := []struct {
w1, w2 base.Element
expected base.Length
}{
{(*textinputElement)(nil), (*textinputElement)(nil), 11 * DIP}, // Space between unrelated controls
{(*textinputElement)(nil), (*buttonElement)(nil), 11 * DIP}, // Space between unrelated controls
{(*buttonElement)(nil), (*textinputElement)(nil), 11 * DIP}, // Space between unrelated controls
{(*buttonElement)(nil), (*buttonElement)(nil), 7 * DIP}, // Space between adjacent buttons
}
for _, v := range cases {
out := calculateHGap(v.w1, v.w2)
if out != v.expected {
t.Errorf("Incorrect horizontal gap calculated, %d =/= %d", out, v.expected)
}
}
}
func TestCalculateVGap(t *testing.T) {
cases := []struct {
w1, w2 base.Element
expected base.Length
}{
{(*textinputElement)(nil), (*textinputElement)(nil), 11 * DIP}, // Space between unrelated controls
{(*textinputElement)(nil), (*paragraphElement)(nil), 11 * DIP}, // Space between unrelated controls
{(*textinputElement)(nil), (*selectinputElement)(nil), 11 * DIP}, // Space between unrelated controls
{(*labelElement)(nil), (*textinputElement)(nil), 5 * DIP}, // Space between text labels and associated fields
{(*labelElement)(nil), (*selectinputElement)(nil), 5 * DIP}, // Space between text labels and associated fields
{(*labelElement)(nil), (*textareaElement)(nil), 5 * DIP}, // Space between text labels and associated fields
{(*checkboxElement)(nil), (*checkboxElement)(nil), 7 * DIP}, // Space between related controls
{(*paragraphElement)(nil), (*paragraphElement)(nil), 11 * DIP}, // Space between paragraphs of text
}
for _, v := range cases {
out := calculateVGap(v.w1, v.w2)
if out != v.expected {
t.Errorf("Incorrect vertical gap calculated, %d =/= %d", out, v.expected)
}
}
}