IN: temporary USING: gadgets gadgets-labels gadgets-layouts kernel namespaces test ; [ "Hello world" ] [ "frame" set "Hello world" "frame" get 1 2 frame-add "frame" get 1 2 frame-child label-text ] unit-test [ @{ @{ 2 2 2 }@ @{ 3 3 3 }@ @{ 4 4 4 }@ }@ ] [ @{ @{ @{ 0 0 0 }@ @{ 1 1 1 }@ @{ 2 2 2 }@ }@ @{ @{ 0 0 0 }@ @{ 3 3 3 }@ @{ 0 0 0 }@ }@ @{ @{ 0 0 0 }@ @{ 0 0 0 }@ @{ 4 4 4 }@ }@ }@ reduce-grid ] unit-test [ @{ 9 9 9 }@ ] [ @{ @{ @{ 0 0 0 }@ @{ 1 1 1 }@ @{ 2 2 2 }@ }@ @{ @{ 0 0 0 }@ @{ 3 3 3 }@ @{ 0 0 0 }@ }@ @{ @{ 0 0 0 }@ @{ 0 0 0 }@ @{ 4 4 4 }@ }@ }@ frame-pref-dim ] unit-test [ @{ @{ @{ 1 2 0 }@ @{ 2 2 0 }@ @{ 3 2 0 }@ }@ @{ @{ 1 4 0 }@ @{ 2 4 0 }@ @{ 3 4 0 }@ }@ }@ ] [ @{ 1 2 3 }@ @{ 2 4 }@ frame-layout ] unit-test : sized-gadget ( dim -- gadget ) [ set-rect-dim ] keep ; [ @{ 90 120 0 }@ ] [ "frame" set @{ 10 20 0 }@ sized-gadget "frame" get 1 2 frame-add @{ 30 40 0 }@ sized-gadget "frame" get 2 0 frame-add @{ 50 60 0 }@ sized-gadget "frame" get 0 1 frame-add "frame" get pref-dim ] unit-test [ @{ 180 210 0 }@ ] [ "frame" set @{ 10 20 0 }@ sized-gadget "frame" get @bottom frame-add @{ 30 40 0 }@ sized-gadget "frame" get @top-right frame-add @{ 50 60 0 }@ sized-gadget "frame" get @left frame-add @{ 100 150 0 }@ sized-gadget "frame" get @center frame-add "frame" get pref-dim ] unit-test [ @{ 30 60 0 }@ ] [ "frame" set @{ 10 20 0 }@ sized-gadget "frame" get @top frame-add @{ 30 40 0 }@ sized-gadget "frame" get @center frame-add "frame" get pref-dim ] unit-test