require 'ipaddr' describe "IPAddr#hton" do it "converts IPAddr to network byte order" do addr = '' IPAddr.new("1234:5678:9abc:def0:1234:5678:9abc:def0").hton.each_byte do |c| addr += sprintf("%02x", c) end addr.should == "123456789abcdef0123456789abcdef0" addr = '' IPAddr.new("123.45.67.89").hton.each_byte do |c| addr += sprintf("%02x", c) end addr.should == sprintf("%02x%02x%02x%02x", 123, 45, 67, 89) end end describe "IPAddr#new_ntoh" do it "creates a new IPAddr using hton notation" do a = IPAddr.new("3ffe:505:2::") IPAddr.new_ntoh(a.hton).to_s.should == "3ffe:505:2::" a = IPAddr.new("192.168.2.1") IPAddr.new_ntoh(a.hton).to_s.should == "192.168.2.1" end end