summaryrefslogtreecommitdiff
path: root/spec/ruby/library/ipaddr/hton_spec.rb
blob: 9c0b821abf5934005f010bade8deab87cc53239f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
require_relative '../../spec_helper'
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