]> gitweb.factorcode.org Git - factor.git/blob - extra/smalltalk/compiler/lexenv/lexenv-tests.factor
e6b648c3e4d3e7d234e03806a00e21ce74617a89
[factor.git] / extra / smalltalk / compiler / lexenv / lexenv-tests.factor
1 USING: smalltalk.compiler.lexenv tools.test kernel namespaces accessors ;
2 IN: smalltalk.compiler.lexenv.tests
3
4 TUPLE: some-class x y z ;
5
6 SYMBOL: fake-self
7
8 SYMBOL: fake-local
9
10 <lexenv>
11     some-class >>class
12     fake-self >>self
13     H{ { "mumble" fake-local } } >>local-readers
14     H{ { "jumble" fake-local } } >>local-writers
15 lexenv set
16
17 [ [ fake-local ] ] [ "mumble" lexenv get lookup-reader ] unit-test
18 [ [ fake-self x>> ] ] [ "x" lexenv get lookup-reader ] unit-test
19 [ [ \ tuple ] ] [ "Object" lexenv get lookup-reader ] unit-test
20
21 [ [ fake-local ] ] [ "jumble" lexenv get lookup-writer ] unit-test
22 [ [ fake-self y<< ] ] [ "y" lexenv get lookup-writer ] unit-test
23
24 [ "blahblah" lexenv get lookup-writer ] must-fail