source: EcnlProtoTool/trunk/mrbgems/mruby-socket/test/socket.rb@ 279

Last change on this file since 279 was 279, checked in by coas-nagasima, 7 years ago

ファイルを追加、更新。

  • Property svn:eol-style set to native
  • Property svn:mime-type set to text/x-ruby
File size: 1.0 KB
Line 
1assert('Socket.gethostname') do
2 assert_true(Socket.gethostname.is_a? String)
3end
4
5assert('Socket::getaddrinfo') do
6 ret = Socket.getaddrinfo("localhost", "domain", Socket::AF_INET, Socket::SOCK_DGRAM)
7 assert_true ret.size >= 1
8 a = ret[0]
9 assert_equal "AF_INET", a[0]
10 assert_equal 53, a[1]
11 # documents says it's a hostname but CRuby returns an address
12 #assert_equal "127.0.0.1", a[2]
13 assert_equal "127.0.0.1", a[3]
14 assert_equal Socket::AF_INET, a[4]
15 assert_equal Socket::SOCK_DGRAM, a[5]
16 assert_equal Socket::IPPROTO_UDP, a[6]
17end
18
19assert('Socket#recvfrom') do
20 begin
21 sstr = "abcdefg"
22 s = Socket.new(Socket::AF_INET, Socket::SOCK_DGRAM, 0)
23 c = Socket.new(Socket::AF_INET, Socket::SOCK_DGRAM, 0)
24 s.bind(Socket.sockaddr_in(0, "127.0.0.1"))
25 c.send sstr, 0, s.getsockname
26 rstr, ai = s.recvfrom sstr.size
27
28 assert_equal sstr, rstr
29 assert_true "127.0.0.1", ai.ip_address
30 ensure
31 s.close rescue nil
32 c.close rescue nil
33 end
34end
Note: See TracBrowser for help on using the repository browser.