diff options
| author | 2021-02-28 15:38:01 +0900 | |
|---|---|---|
| committer | 2021-02-28 17:05:33 +0900 | |
| commit | a40e56cd54672871ca94df53a253745bdd07f5ff (patch) | |
| tree | c0cd8068c03bd0a347be15005400f1b5b93304ec /test | |
| parent | Support sending arguments with out-of-band messages (diff) | |
Add tests for netrepl
Diffstat (limited to 'test')
| -rw-r--r-- | test/suite9.janet | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/test/suite9.janet b/test/suite9.janet new file mode 100644 index 0000000..b04fbf7 --- /dev/null +++ b/test/suite9.janet @@ -0,0 +1,47 @@ +(use ../spork/test) +(import ../spork/msg) +(import ../spork/netrepl) + +(start-suite 9) + +(defn wrk [m] + (netrepl/server "localhost" "8000")) + +(def wt (thread/new wrk 1 :h)) # we need heavy thread for the assert + +(os/sleep 0.1) # give server thread little time to start + +(defer (:close wt) + (def s (net/connect "localhost" "8000")) + (def recv (msg/make-recv s)) + (def send (msg/make-send s)) + (send "test") + + (assert (= (recv) "test:1: ") "Prompt 1") + (send "(+ 1 2)\n") + (assert (= (recv) "\e[32m3\e[0m\n") "Result 1") + + (assert (= (recv) "test:2: ") "Prompt 2") + (send "\xFF(parser/where (dyn :parser) 100)") + (assert (= (recv) "(true (100 0))") "Response 2") + (send "(+ 1 2)\n") + (assert (= (recv) "\e[32m3\e[0m\n") "Result 2") + + (assert (= (recv) "test:101: ") "Prompt 3") + (send "\xFEcancel") + (assert (= (recv) nil) "Response 3") + + (assert (= (recv) "test:101: ") "Prompt 4") + (send "\xFEsource \"foobar.janet\"") + (assert (= (recv) nil) "Response 4") + + (assert (= (recv) "test:101: ") "Prompt 5") + (send "(def foo :bar)\n") + (assert (= (recv) "\e[33m:bar\e[0m\n") "Result 5") + + (assert (= (recv) "test:102: ") "Prompt 6") + (send "(get (dyn 'foo) :source-map)\n") + (assert (= (recv) "(\e[35m\"foobar.janet\"\e[0m \e[32m101\e[0m \e[32m1\e[0m)\n") "Result 6") + + (assert (= (recv) "test:103: ") "Prompt 7")) +(end-suite) |
