1 USING: continuations documents ui.tools.interactor
2 ui.tools.listener hashtables kernel namespaces parser sequences
3 tools.test ui.commands ui.gadgets ui.gadgets.editors
4 ui.gadgets.panes vocabs words tools.test.ui slots.private
5 threads arrays generic threads accessors listener ;
6 IN: ui.tools.listener.tests
8 [ f ] [ "word" source-editor command-map commands>> empty? ] unit-test
10 [ ] [ <listener-gadget> [ ] with-grafted-gadget ] unit-test
12 [ ] [ <listener-gadget> "listener" set ] unit-test
16 \ dup word-completion-string
20 [ \ array \ equal? method word-completion-string ] unit-test
22 <pane> <interactor> "i" set
24 [ t ] [ "i" get interactor? ] unit-test
26 [ ] [ "SYMBOL:" "i" get set-editor-string ] unit-test
29 "i" get [ { "SYMBOL:" } parse-lines ] [ go-to-error ] recover
33 "i" get model>> doc-end
34 "i" get editor-caret* =
37 ! Race condition discovered by SimonRC
40 "listener" get input>>
41 [ stream-read-quot drop ]
42 [ stream-read-quot drop ] bi
43 ] "OH, HAI" spawn drop
46 [ ] [ "listener" get clear-output ] unit-test
48 [ ] [ "listener" get restart-listener ] unit-test
50 [ ] [ 1000 sleep ] unit-test
52 [ ] [ "listener" get com-end ] unit-test