forked from joejulian/gio
c515b7804e
Curiously, InvalidateCmd is probably the only command that is appropriate to call during layout. Signed-off-by: Elias Naur <mail@eliasnaur.com>
35 lines
669 B
Go
35 lines
669 B
Go
// SPDX-License-Identifier: Unlicense OR MIT
|
|
|
|
package input
|
|
|
|
import (
|
|
"testing"
|
|
|
|
"gioui.org/io/pointer"
|
|
"gioui.org/op"
|
|
)
|
|
|
|
func TestNoFilterAllocs(t *testing.T) {
|
|
b := testing.Benchmark(func(b *testing.B) {
|
|
var r Router
|
|
s := r.Source()
|
|
b.ReportAllocs()
|
|
b.ResetTimer()
|
|
for i := 0; i < b.N; i++ {
|
|
s.Event(nil, pointer.Filter{})
|
|
}
|
|
})
|
|
if allocs := b.AllocsPerOp(); allocs != 0 {
|
|
t.Fatalf("expected 0 AllocsPerOp, got %d", allocs)
|
|
}
|
|
}
|
|
|
|
func TestRouterWakeup(t *testing.T) {
|
|
r := new(Router)
|
|
r.Source().Execute(op.InvalidateCmd{})
|
|
r.Frame(new(op.Ops))
|
|
if _, wake := r.WakeupTime(); !wake {
|
|
t.Errorf("InvalidateCmd did not trigger a redraw")
|
|
}
|
|
}
|