1 USING: boxes kernel namespaces refs tools.test ;
6 H{ { "a" 3 } } "a" <value-ref> get-ref
10 4 H{ { "a" 3 } } clone "a" <value-ref>
16 H{ { "a" 3 } } "a" <key-ref> get-ref
20 "b" H{ { "a" 3 } } clone [
26 SYMBOLS: lion giraffe elephant rabbit ;
29 [ rabbit ] [ rabbit <obj-ref> get-ref ] unit-test
30 [ rabbit ] [ f <obj-ref> rabbit set-ref* get-ref ] unit-test
31 [ rabbit ] [ rabbit <obj-ref> take ] unit-test
32 [ rabbit f ] [ rabbit <obj-ref> [ take ] keep get-ref ] unit-test
33 [ lion ] [ rabbit <obj-ref> dup [ drop lion ] change-ref get-ref ] unit-test
36 [ giraffe ] [ [ giraffe rabbit set rabbit <var-ref> get-ref ] with-scope ] unit-test
42 rabbit rabbit set rabbit <var-ref> get-ref
51 rabbit rabbit set get-ref
70 rabbit set-ref* get-ref
86 [ lion ] [ lion rabbit set-global rabbit <global-var-ref> get-ref ] unit-test
87 [ giraffe ] [ rabbit <global-var-ref> giraffe set-ref* get-ref ] unit-test
93 : test-tuple ( -- tuple )
96 : test-slot-ref ( -- slot-ref )
97 test-tuple 2 <slot-ref> ; ! hack!
99 [ rabbit ] [ test-slot-ref get-ref ] unit-test
100 [ lion ] [ test-slot-ref lion set-ref* get-ref ] unit-test
103 [ rabbit ] [ <box> rabbit set-ref* get-ref ] unit-test
104 [ <box> rabbit set-ref* lion set-ref* ] must-fail
105 [ <box> get-ref ] must-fail