2015-04-09 10:19:43 +08:00
|
|
|
package termui
|
|
|
|
|
|
|
|
import "testing"
|
|
|
|
|
|
|
|
func TestBlock_InnerBounds(t *testing.T) {
|
|
|
|
b := NewBlock()
|
|
|
|
b.X = 10
|
|
|
|
b.Y = 11
|
|
|
|
b.Width = 12
|
|
|
|
b.Height = 13
|
|
|
|
|
|
|
|
assert := func(name string, x, y, w, h int) {
|
|
|
|
t.Log(name)
|
2015-05-13 20:57:11 +08:00
|
|
|
area := b.InnerBounds()
|
|
|
|
cx := area.Min.X
|
|
|
|
cy := area.Min.Y
|
|
|
|
cw := area.Dx()
|
|
|
|
ch := area.Dy()
|
2015-04-09 10:19:43 +08:00
|
|
|
if cx != x {
|
|
|
|
t.Errorf("expected x to be %d but got %d", x, cx)
|
|
|
|
}
|
|
|
|
if cy != y {
|
|
|
|
t.Errorf("expected y to be %d but got %d", y, cy)
|
|
|
|
}
|
|
|
|
if cw != w {
|
|
|
|
t.Errorf("expected width to be %d but got %d", w, cw)
|
|
|
|
}
|
|
|
|
if ch != h {
|
|
|
|
t.Errorf("expected height to be %d but got %d", h, ch)
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2015-05-13 20:57:11 +08:00
|
|
|
b.Border = false
|
2015-04-09 10:19:43 +08:00
|
|
|
assert("no border, no padding", 10, 11, 12, 13)
|
|
|
|
|
2015-05-13 20:57:11 +08:00
|
|
|
b.Border = true
|
2015-04-09 10:19:43 +08:00
|
|
|
assert("border, no padding", 11, 12, 10, 11)
|
|
|
|
|
|
|
|
b.PaddingBottom = 2
|
|
|
|
assert("border, 2b padding", 11, 12, 10, 9)
|
|
|
|
|
|
|
|
b.PaddingTop = 3
|
|
|
|
assert("border, 2b 3t padding", 11, 15, 10, 6)
|
|
|
|
|
|
|
|
b.PaddingLeft = 4
|
|
|
|
assert("border, 2b 3t 4l padding", 15, 15, 6, 6)
|
|
|
|
|
|
|
|
b.PaddingRight = 5
|
|
|
|
assert("border, 2b 3t 4l 5r padding", 15, 15, 1, 6)
|
|
|
|
}
|