25 lines
1.0 KiB
Go
25 lines
1.0 KiB
Go
package templates
|
|
|
|
import (
|
|
"testing"
|
|
|
|
"aego/scene"
|
|
)
|
|
|
|
func TestModulesSplitTheMenu(t *testing.T) {
|
|
r := New()
|
|
build := func(s *scene.Scene, parent scene.NodeHandle) scene.NodeHandle { return s.Create(parent, "X") }
|
|
r.Register(Template{ID: "engine.empty", Name: "Empty", Builtin: true, Build: build})
|
|
r.Register(Template{ID: "render3d.cube", Name: "Cube", Builtin: true, Space: scene.Space3D, Build: build})
|
|
r.Register(Template{ID: "game.enemy", Name: "Enemy", Module: "game", Category: "Actors", Build: build})
|
|
r.Register(Template{ID: "game.coin", Name: "Coin", Module: "game", Category: "Pickups", Build: build})
|
|
r.Register(Template{ID: "fx.spark", Name: "Spark", Module: "fx", Build: build})
|
|
secs := Layout(r, Place{})
|
|
if len(secs) != 4 || len(secs[0].Items) != 1 || secs[1].Title != Category3D || secs[2].Title != "fx" || secs[3].Title != "game" {
|
|
t.Fatalf("sections = %+v", secs)
|
|
}
|
|
if g := secs[3]; len(g.Items) != 2 || g.Items[0].ID != "game.enemy" || len(g.Breaks) != 1 {
|
|
t.Fatalf("game = %+v", g)
|
|
}
|
|
}
|