factor/basis/ui/tools/interactor/interactor-tests.factor

88 lines
2.3 KiB
Factor
Raw Normal View History

2008-03-01 17:00:45 -05:00
IN: ui.tools.interactor.tests
2008-04-10 22:49:08 -04:00
USING: ui.tools.interactor ui.gadgets.panes namespaces
ui.gadgets.editors concurrency.promises threads listener
tools.test kernel calendar parser accessors calendar io ;
2008-04-27 04:16:12 -04:00
\ <interactor> must-infer
2008-04-10 22:49:08 -04:00
2008-04-27 04:16:12 -04:00
[
2008-04-11 17:39:53 -04:00
[ ] [ <pane> <pane-stream> <interactor> "interactor" set ] unit-test
2008-04-10 22:49:08 -04:00
2008-05-07 03:32:58 -04:00
[ ] [ "interactor" get register-self ] unit-test
2008-04-11 17:39:53 -04:00
[ ] [ "[ 1 2 3" "interactor" get set-editor-string ] unit-test
2008-04-10 22:49:08 -04:00
2008-04-11 17:39:53 -04:00
[ ] [ <promise> "promise" set ] unit-test
2008-04-10 22:49:08 -04:00
2008-04-11 17:39:53 -04:00
[
2008-04-27 04:16:12 -04:00
self "interactor" get (>>thread)
2008-04-11 17:39:53 -04:00
"interactor" get stream-read-quot "promise" get fulfill
] "Interactor test" spawn drop
2008-04-10 22:49:08 -04:00
2008-04-11 17:39:53 -04:00
! This should not throw an exception
[ ] [ "interactor" get evaluate-input ] unit-test
2008-04-10 22:49:08 -04:00
2008-04-11 17:39:53 -04:00
[ ] [ [ "interactor" get interactor-busy? ] [ yield ] [ ] while ] unit-test
2008-04-10 22:49:08 -04:00
2008-04-11 17:39:53 -04:00
[ ] [ "[ 1 2 3 ]" "interactor" get set-editor-string ] unit-test
2008-04-10 22:49:08 -04:00
2008-04-11 17:39:53 -04:00
[ ] [ "interactor" get evaluate-input ] unit-test
2008-04-10 22:49:08 -04:00
2008-04-11 17:39:53 -04:00
[ [ [ 1 2 3 ] ] ] [ "promise" get 5 seconds ?promise-timeout ] unit-test
] with-interactive-vocabs
2008-04-27 04:16:12 -04:00
! Hang
[ ] [ <pane> <pane-stream> <interactor> "interactor" set ] unit-test
[ ] [ [ "interactor" get stream-read-quot drop ] "A" spawn drop ] unit-test
[ ] [ [ "interactor" get stream-read-quot drop ] "B" spawn drop ] unit-test
[ ] [ 1000 sleep ] unit-test
[ ] [ "interactor" get interactor-eof ] unit-test
[ ] [ <pane> <pane-stream> <interactor> "interactor" set ] unit-test
: text "Hello world.\nThis is a test." ;
[ ] [ text "interactor" get set-editor-string ] unit-test
[ ] [ <promise> "promise" set ] unit-test
[ ] [
[
"interactor" get register-self
"interactor" get contents "promise" get fulfill
] in-thread
] unit-test
[ ] [ 100 sleep ] unit-test
[ ] [ "interactor" get evaluate-input ] unit-test
[ ] [ 100 sleep ] unit-test
[ ] [ "interactor" get interactor-eof ] unit-test
[ t ] [ "promise" get 2 seconds ?promise-timeout text = ] unit-test
[ ] [ <pane> <pane-stream> <interactor> "interactor" set ] unit-test
[ ] [ text "interactor" get set-editor-string ] unit-test
[ ] [ <promise> "promise" set ] unit-test
[ ] [
[
"interactor" get register-self
"interactor" get stream-read1 "promise" get fulfill
] in-thread
] unit-test
[ ] [ 100 sleep ] unit-test
[ ] [ "interactor" get evaluate-input ] unit-test
[ CHAR: H ] [ "promise" get 2 seconds ?promise-timeout ] unit-test