Sha256: e5ffcb8f4800e4330d7ac88f76f702145965baa4a75f6d328f5f9685716a856f

Contents?: true

Size: 806 Bytes

Versions: 4

Compression:

Stored size: 806 Bytes

Contents

require 'bundler/setup'
require 'minitest/autorun'

$LOAD_PATH.unshift(File.dirname(__FILE__))
$LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
require 'hash_digest'

require 'benchmark/ips'
require 'active_support/core_ext'

module TestHelper
  def as_digest1(hsh)
    ordered_list = if hsh.is_a?(::Hash)
      hsh = hsh.stringify_keys
      hsh.keys.sort.map { |k| hsh[k].to_query k }
    elsif hsh.is_a?(::Array)
      ary = []
      hsh.each_with_index { |v, i| ary.push v.to_query(i.to_s) }
      ary
    else
      raise ::ArgumentError, "[hash_digest gem] Can only digest Hashes and Arrays, not #{hsh.class}"
    end
    ordered_list.join('&')
  end

  def assert_same_as_old(a)
    expected = as_digest1(a)
    got = HashDigest.as_digest1(a)
    got.must_equal expected
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
hash_digest-1.1.3 test/helper.rb
hash_digest-1.1.2 test/helper.rb
hash_digest-1.1.1 test/helper.rb
hash_digest-1.1.0 test/helper.rb