Sha256: 4b4b23f3601917463a0fa0443b388c47ea74351388ed5d998cbc06abc7d6906f

Contents?: true

Size: 1.57 KB

Versions: 36

Compression:

Stored size: 1.57 KB

Contents

# encoding: utf-8
# This file is distributed under New Relic's license terms.
# See https://github.com/newrelic/rpm/blob/master/LICENSE for complete details.

require File.expand_path(File.join(File.dirname(__FILE__),'..','..','..','test_helper'))

module NewRelic::Agent::Configuration
  class DottedHashTest < Minitest::Test
    def test_without_nesting
      hash = DottedHash.new({ :turtle => 1 })
      assert_equal({ :turtle => 1 }, hash)
    end

    def test_with_nesting
      hash = DottedHash.new({ :turtle => { :turtle => 1 } })
      assert_equal({ :'turtle.turtle' => 1 }, hash)
    end

    def test_with_multiple_layers_of_nesting
      hash = DottedHash.new({ :turtle => { :turtle => { :turtle => 1 } } })
      assert_equal({ :'turtle.turtle.turtle' => 1 }, hash)
    end

    def test_turns_keys_to_symbols
      hash = DottedHash.new({ "turtle" => { "turtle" => { "turtle" => 1 } } })
      assert_equal({ :'turtle.turtle.turtle' => 1 }, hash)
    end

    def test_to_hash
      dotted = DottedHash.new({ "turtle" => { "turtle" => { "turtle" => 1 } } })
      hash = dotted.to_hash

      assert_instance_of(Hash, hash)
      assert_equal({ :'turtle.turtle.turtle' => 1 }, hash)
    end

    def test_option_to_keep_nesting
      hash = DottedHash.new({ :turtle => { :turtle => 1 } }, true)
      expected = {
        :turtle => { :turtle => 1},
        :'turtle.turtle' => 1,
      }

      assert_equal(expected, hash)
    end

    def test_borks_with_non_symbolizing_key
      assert_raises(NoMethodError) do
        DottedHash.new({ Object.new => 2 }, true)
      end
    end
  end
end

Version data entries

36 entries across 36 versions & 2 rubygems

Version Path
newrelic_rpm-4.1.0.333 test/new_relic/agent/configuration/dotted_hash_test.rb
newrelic_rpm-4.0.0.332 test/new_relic/agent/configuration/dotted_hash_test.rb
newrelic_rpm-3.18.1.330 test/new_relic/agent/configuration/dotted_hash_test.rb
newrelic_rpm-3.18.0.329 test/new_relic/agent/configuration/dotted_hash_test.rb
newrelic_rpm-3.17.2.327 test/new_relic/agent/configuration/dotted_hash_test.rb
newrelic_rpm-3.17.1.326 test/new_relic/agent/configuration/dotted_hash_test.rb
newrelic_rpm-3.17.0.325 test/new_relic/agent/configuration/dotted_hash_test.rb
newrelic_rpm-3.16.3.323 test/new_relic/agent/configuration/dotted_hash_test.rb
newrelic_rpm-3.16.2.321 test/new_relic/agent/configuration/dotted_hash_test.rb
newrelic_rpm-3.16.1.320 test/new_relic/agent/configuration/dotted_hash_test.rb
newrelic_rpm-3.16.0.318 test/new_relic/agent/configuration/dotted_hash_test.rb
ish_lib_manager-0.0.1 test/dummy/vendor/bundle/ruby/2.3.0/gems/newrelic_rpm-3.15.2.317/test/new_relic/agent/configuration/dotted_hash_test.rb
newrelic_rpm-3.15.2.317 test/new_relic/agent/configuration/dotted_hash_test.rb
newrelic_rpm-3.15.1.316 test/new_relic/agent/configuration/dotted_hash_test.rb
newrelic_rpm-3.15.0.314 test/new_relic/agent/configuration/dotted_hash_test.rb
newrelic_rpm-3.14.3.313 test/new_relic/agent/configuration/dotted_hash_test.rb
newrelic_rpm-3.14.2.312 test/new_relic/agent/configuration/dotted_hash_test.rb
newrelic_rpm-3.14.1.311 test/new_relic/agent/configuration/dotted_hash_test.rb
newrelic_rpm-3.14.0.305 test/new_relic/agent/configuration/dotted_hash_test.rb
newrelic_rpm-3.13.2.302 test/new_relic/agent/configuration/dotted_hash_test.rb