Sha256: a62c89bffeda5fb7eb7ebaf3224a19ec01ed13d4788083ae54c1d793149cceca
Contents?: true
Size: 1.03 KB
Versions: 2
Compression:
Stored size: 1.03 KB
Contents
[:json_eq, :json_like].each do |it| def as_matcher_json(obj, options = {}) if obj.instance_of? String JSON.parse(obj).with_indifferent_access.as_json options else obj.as_json options end end RSpec::Matchers.define it do |expected, options={}| match do |actual| as_matcher_json(actual, options) == as_matcher_json(expected, options) end message = proc do |actual| <<-EOS expected: #{as_matcher_json(expected, options)} (#{expected.class}) got: #{as_matcher_json(actual, options)} (#{actual.class}) EOS end negated_message = proc do |actual| <<-EOS expected: value != #{as_matcher_json(expected, options)} (#{expected.class}) got: #{as_matcher_json(actual, options)} (#{actual.class}) EOS end if respond_to? :failure_message failure_message(&message) failure_message_when_negated(&message) else failure_message_for_should(&:message) failure_message_for_should_not(&:message) end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
mumukit-core-1.6.0 | lib/mumukit/core/rspec.rb |
mumukit-core-1.5.2 | lib/mumukit/core/rspec.rb |