summaryrefslogtreecommitdiffhomepage
path: root/mrbgems/mruby-socket/test/socket.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/socket.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/socket.rb')
-rw-r--r--mrbgems/mruby-socket/test/socket.rb34
1 files changed, 34 insertions, 0 deletions
diff --git a/mrbgems/mruby-socket/test/socket.rb b/mrbgems/mruby-socket/test/socket.rb
new file mode 100644
index 000000000..517f5a00c
--- /dev/null
+++ b/mrbgems/mruby-socket/test/socket.rb
@@ -0,0 +1,34 @@
+assert('Socket.gethostname') do
+ assert_true(Socket.gethostname.is_a? String)
+end
+
+assert('Socket::getaddrinfo') do
+ ret = Socket.getaddrinfo("localhost", "domain", Socket::AF_INET, Socket::SOCK_DGRAM)
+ assert_true ret.size >= 1
+ a = ret[0]
+ assert_equal "AF_INET", a[0]
+ assert_equal 53, a[1]
+ # documents says it's a hostname but CRuby returns an address
+ #assert_equal "127.0.0.1", a[2]
+ assert_equal "127.0.0.1", a[3]
+ assert_equal Socket::AF_INET, a[4]
+ assert_equal Socket::SOCK_DGRAM, a[5]
+ assert_equal Socket::IPPROTO_UDP, a[6]
+end
+
+assert('Socket#recvfrom') do
+ begin
+ sstr = "abcdefg"
+ s = Socket.new(Socket::AF_INET, Socket::SOCK_DGRAM, 0)
+ c = Socket.new(Socket::AF_INET, Socket::SOCK_DGRAM, 0)
+ s.bind(Socket.sockaddr_in(0, "127.0.0.1"))
+ c.send sstr, 0, s.getsockname
+ rstr, ai = s.recvfrom sstr.size
+
+ assert_equal sstr, rstr
+ assert_true "127.0.0.1", ai.ip_address
+ ensure
+ s.close rescue nil
+ c.close rescue nil
+ end
+end