]> gitweb.factorcode.org Git - factor.git/blob - core/namespaces/namespaces-tests.factor
27cd6a9d090ce30326eb42917a553e92dd5f7823
[factor.git] / core / namespaces / namespaces-tests.factor
1 USING: assocs compiler.tree.debugger kernel namespaces
2 tools.test words ;
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