]> gitweb.factorcode.org Git - factor.git/blob - core/namespaces/namespaces-tests.factor
functors: inline the parts of interpolate this needs
[factor.git] / core / namespaces / namespaces-tests.factor
1 USING: assocs compiler.tree.debugger kernel namespaces
2 tools.test ;
3 IN: namespaces.tests
4
5 H{ } clone "test-namespace" set
6
7 : test-namespace ( -- ? )
8     H{ } clone dup [ namespace = ] with-variables ;
9
10 { t } [ test-namespace ] unit-test
11
12 10 "some-global" set
13 { f }
14 [ H{ } clone [ f "some-global" set "some-global" get ] with-variables ]
15 unit-test
16
17 SYMBOL: test-initialize
18
19 f test-initialize set-global
20
21 test-initialize [ 1 ] initialize
22 test-initialize [ 2 ] initialize
23
24 { 1 } [ test-initialize get-global ] unit-test
25
26 f test-initialize set-global
27 test-initialize [ 5 ] initialize
28
29 { 5 } [ test-initialize get-global ] unit-test
30
31 SYMBOL: toggle-test
32 { f } [ toggle-test get ] unit-test
33 { t } [ toggle-test [ toggle ] [ get ] bi ] unit-test
34 { f } [ toggle-test [ toggle ] [ get ] bi ] unit-test
35
36 { t } [ toggle-test [ on ] [ get ] bi ] unit-test
37 { f } [ toggle-test [ off ] [ get ] bi ] unit-test
38
39 { t } [ [ test-initialize get-global ] { at* set-at } inlined? ] unit-test
40 { t } [ [ test-initialize set-global ] { at* set-at } inlined? ] unit-test