Sha256: 3b5a5aac21a201b23b0276d600dafe939a58766bd314f0deb21fc895d291d408
Contents?: true
Size: 1.06 KB
Versions: 3
Compression:
Stored size: 1.06 KB
Contents
[:json_eq, :json_like].each do |it| def as_matcher_json(obj, options = {}) new_options = options.with_indifferent_access new_options['only'] = [*new_options['only']].map &:to_s if new_options['only'] new_options['except'] = [*new_options['except']].map &:to_s if new_options['except'] if obj.instance_of? String JSON.parse(obj).as_json new_options else JSON.parse(JSON.unparse obj).as_json new_options end end RSpec::Matchers.define it do |expected, options={}| match do |actual| as_matcher_json(actual, options) == as_matcher_json(expected, options) end failure_message_for_should do |actual| <<-EOS expected: #{as_matcher_json(expected, options)} (#{expected.class}) got: #{as_matcher_json(actual, options)} (#{actual.class}) EOS end failure_message_for_should_not do |actual| <<-EOS expected: value != #{as_matcher_json(expected, options)} (#{expected.class}) got: #{as_matcher_json(actual, options)} (#{actual.class}) EOS end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
mumukit-core-1.2.1 | lib/mumukit/core/rspec.rb |
mumukit-core-1.2.0 | lib/mumukit/core/rspec.rb |
mumukit-core-1.1.0 | lib/mumukit/core/rspec.rb |