summaryrefslogtreecommitdiffhomepage
path: root/mrbgems/mruby-socket/test/ipsocket.rb
diff options
context:
space:
mode:
authorYukihiro "Matz" Matsumoto <[email protected]>2017-12-07 18:11:13 +0900
committerYukihiro "Matz" Matsumoto <[email protected]>2017-12-07 18:11:13 +0900
commit73ef548c6386a1101b5d95654bcb142ab83149c7 (patch)
tree8b9a653db38f95ab8bc6858cfc62c9277e6362fb /mrbgems/mruby-socket/test/ipsocket.rb
parentd75266dd1bade53255044460a9cd74596addaa84 (diff)
parentab54185005ec87fe4f5b10df95ad29659884141b (diff)
downloadmruby-73ef548c6386a1101b5d95654bcb142ab83149c7.tar.gz
mruby-73ef548c6386a1101b5d95654bcb142ab83149c7.zip
Add 'mrbgems/mruby-socket/' from commit 'ab54185005ec87fe4f5b10df95ad29659884141b'
git-subtree-dir: mrbgems/mruby-socket git-subtree-mainline: d75266dd1bade53255044460a9cd74596addaa84 git-subtree-split: ab54185005ec87fe4f5b10df95ad29659884141b
Diffstat (limited to 'mrbgems/mruby-socket/test/ipsocket.rb')
-rw-r--r--mrbgems/mruby-socket/test/ipsocket.rb40
1 files changed, 40 insertions, 0 deletions
diff --git a/mrbgems/mruby-socket/test/ipsocket.rb b/mrbgems/mruby-socket/test/ipsocket.rb
new file mode 100644
index 000000000..2b9f7e1d7
--- /dev/null
+++ b/mrbgems/mruby-socket/test/ipsocket.rb
@@ -0,0 +1,40 @@
+# Note: most of tests below will fail if UDPSocket is broken.
+
+assert('IPSocket.getaddress') do
+ l = IPSocket.getaddress("localhost")
+ assert_true (l == "127.0.0.1" or l == "::1")
+end
+
+assert('IPSocket.addr') do
+ localhost = "127.0.0.1"
+ s = UDPSocket.new
+ s.bind(localhost, 0)
+ port = Addrinfo.new(s.getsockname).ip_port
+
+ a = s.addr
+ assert_equal "AF_INET", a[0]
+ assert_equal port, a[1]
+ assert_equal localhost, a[2]
+ assert_equal localhost, a[3]
+ s.close
+ true
+end
+
+assert('IPSocket.peeraddr') do
+ localhost = "127.0.0.1"
+ server = UDPSocket.new
+ server.bind(localhost, 0)
+ port = server.local_address.ip_port
+
+ client = UDPSocket.new
+ client.connect(localhost, port)
+
+ a = client.peeraddr
+ assert_equal "AF_INET", a[0]
+ assert_equal port, a[1]
+ assert_equal localhost, a[2]
+ assert_equal localhost, a[3]
+ client.close
+ server.close
+ true
+end