Sha256: 565b7b3aca80069eb6f87fd5e2c7d532da8a8efe597bd46c6a290889eda18323

Contents?: true

Size: 1.96 KB

Versions: 8

Compression:

Stored size: 1.96 KB

Contents

require 'minitest/autorun'
require 'dnssd'

class TestDNSSDReply < MiniTest::Unit::TestCase

  def setup
    @reply = DNSSD::Reply.new nil, 0, 0
    @fullname = "Eric\\032Hodel._http._tcp.local."
  end

  def test_fullname
    @reply.set_fullname @fullname

    assert_equal "Eric\\032Hodel._http._tcp.local.", @reply.fullname

    @reply.instance_variable_set :@name, 'Dr. Pepper'

    assert_equal "Dr\\.\\032Pepper._http._tcp.local.", @reply.fullname
  end

  def test_inspect
    flags = DNSSD::Flags.new DNSSD::Flags::MoreComing
    @reply.instance_variable_set :@interface, 'lo0'
    @reply.instance_variable_set :@flags,     flags

    expected = "#<DNSSD::Reply:0x#{@reply.object_id.to_s 16} interface: lo0 flags: #{flags.inspect}>"
    assert_equal expected, @reply.inspect
  end

  def test_protocol
    @reply.set_fullname @fullname

    assert_equal 'tcp', @reply.protocol
  end

  def test_service_name
    @reply.set_fullname @fullname

    assert_equal 'http', @reply.service_name
  end

  def test_set_fullname
    @reply.set_fullname @fullname

    assert_equal "Eric Hodel", @reply.instance_variable_get(:@name)
    assert_equal '_http._tcp',    @reply.instance_variable_get(:@type)
    assert_equal 'local.',        @reply.instance_variable_get(:@domain)

    @reply.set_fullname "Dr\\.\\032Pepper._http._tcp.local."

    assert_equal "Dr. Pepper", @reply.instance_variable_get(:@name)
    assert_equal '_http._tcp',    @reply.instance_variable_get(:@type)
    assert_equal 'local.',        @reply.instance_variable_get(:@domain)

    @reply.set_fullname "Dr\\.\\032Pepper\\032\\0352._http._tcp.local."
    assert_equal "Dr. Pepper #2", @reply.instance_variable_get(:@name)
  end

  def test_set_names
    @reply.set_names "Dr\\.\032Pepper", '_http._tcp', 'local.'

    assert_equal "Dr.\032Pepper", @reply.instance_variable_get(:@name)
    assert_equal '_http._tcp',    @reply.instance_variable_get(:@type)
    assert_equal 'local.',        @reply.instance_variable_get(:@domain)
  end

end

Version data entries

8 entries across 8 versions & 2 rubygems

Version Path
dnssd-2.0.1 test/test_dnssd_reply.rb
dnssd-2.0 test/test_dnssd_reply.rb
dnssd-1.4 test/test_dnssd_reply.rb
dnssd-1.3.4 test/test_dnssd_reply.rb
dnssd-1.3.3 test/test_dnssd_reply.rb
dnssd-1.3.2 test/test_dnssd_reply.rb
rackjour-0.1.8 vendor/gems/gems/dnssd-1.3.1/test/test_dnssd_reply.rb
dnssd-1.3.1 test/test_dnssd_reply.rb