88 lines
2.3 KiB
Factor
88 lines
2.3 KiB
Factor
IN: ui.tools.interactor.tests
|
|
USING: ui.tools.interactor ui.gadgets.panes namespaces
|
|
ui.gadgets.editors concurrency.promises threads listener
|
|
tools.test kernel calendar parser accessors calendar io ;
|
|
|
|
\ <interactor> must-infer
|
|
|
|
[
|
|
[ ] [ <pane> <pane-stream> <interactor> "interactor" set ] unit-test
|
|
|
|
[ ] [ "interactor" get register-self ] unit-test
|
|
|
|
[ ] [ "[ 1 2 3" "interactor" get set-editor-string ] unit-test
|
|
|
|
[ ] [ <promise> "promise" set ] unit-test
|
|
|
|
[
|
|
self "interactor" get (>>thread)
|
|
"interactor" get stream-read-quot "promise" get fulfill
|
|
] "Interactor test" spawn drop
|
|
|
|
! This should not throw an exception
|
|
[ ] [ "interactor" get evaluate-input ] unit-test
|
|
|
|
[ ] [ [ "interactor" get interactor-busy? ] [ yield ] [ ] while ] unit-test
|
|
|
|
[ ] [ "[ 1 2 3 ]" "interactor" get set-editor-string ] unit-test
|
|
|
|
[ ] [ "interactor" get evaluate-input ] unit-test
|
|
|
|
[ [ [ 1 2 3 ] ] ] [ "promise" get 5 seconds ?promise-timeout ] unit-test
|
|
] with-interactive-vocabs
|
|
|
|
! 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
|