add await_get and switch code to use it
[scpubgit/TenDotTcl.git] / t / connection.t
CommitLineData
0e93bc12 1BEGIN { exec(tclsh => 't/tcl/harness.tcl' => $0) }
2
3package require ten
4package require json::write
5
6set connector [ten::connector::perl %AUTO%]
7
8set conn [$connector connect]
9
61761da2 10proc jws {args} {
11 set ret {}
12 foreach str $args {
13 lappend ret [ json::write string $str ]
14 }
15 return $ret
16}
17
0e93bc12 18set f1 [
61761da2 19 $conn send call {*}[jws class_call_handler 0 call Sys::Hostname hostname]
0e93bc12 20]
21
22set ready_args ""
23
24$f1 on_ready [list apply {{name future} {set $name [$future get]}} "[namespace current]::ready_args" ]
25
9540dca1 26set my_host [exec hostname]
27
47f04c56 28is [$f1 await_get] $my_host "hostname returned ok via get"
9540dca1 29
30is $ready_args $my_host "hostname returned ok via on_ready"
61761da2 31
32done_testing