forked from joejulian/gio
2bdf8c3851
Signed-off-by: Elias Naur <mail@eliasnaur.com>
50 lines
973 B
Go
50 lines
973 B
Go
// SPDX-License-Identifier: Unlicense OR MIT
|
|
|
|
package layout
|
|
|
|
import (
|
|
"image"
|
|
"testing"
|
|
|
|
"gioui.org/op"
|
|
)
|
|
|
|
func TestStack(t *testing.T) {
|
|
gtx := Context{
|
|
Ops: new(op.Ops),
|
|
Constraints: Constraints{
|
|
Max: image.Pt(100, 100),
|
|
},
|
|
}
|
|
exp := image.Point{X: 60, Y: 70}
|
|
dims := Stack{Alignment: Center}.Layout(gtx,
|
|
Expanded(func(gtx Context) Dimensions {
|
|
return Dimensions{Size: exp}
|
|
}),
|
|
Stacked(func(gtx Context) Dimensions {
|
|
return Dimensions{Size: image.Point{X: 50, Y: 50}}
|
|
}),
|
|
)
|
|
if got := dims.Size; got != exp {
|
|
t.Errorf("Stack ignored Expanded size, got %v expected %v", got, exp)
|
|
}
|
|
}
|
|
|
|
func TestStackAllocs(t *testing.T) {
|
|
var ops op.Ops
|
|
allocs := testing.AllocsPerRun(1, func() {
|
|
ops.Reset()
|
|
gtx := Context{
|
|
Ops: &ops,
|
|
}
|
|
Stack{}.Layout(gtx,
|
|
Stacked(func(gtx Context) Dimensions {
|
|
return Dimensions{Size: image.Point{X: 50, Y: 50}}
|
|
}),
|
|
)
|
|
})
|
|
if allocs != 0 {
|
|
t.Errorf("expected no allocs, got %f", allocs)
|
|
}
|
|
}
|