Skip to content

Commit b07ec2c

Browse files
committed
Don't override Array.inspect, and use awesome_print in produce matcher.
1 parent 07a0aed commit b07ec2c

3 files changed

Lines changed: 9 additions & 48 deletions

File tree

lib/rdf/spec/inspects.rb

Lines changed: 0 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -31,38 +31,6 @@ def inspect
3131
end
3232
end
3333

34-
class Array
35-
alias_method :inspect_without_formatting, :inspect
36-
def inspect_with_formatting
37-
if all? { |item| item.is_a?(Hash) }
38-
string = "[\n"
39-
each do |item|
40-
string += " {\n"
41-
item.keys.sort_by(&:to_s).each do |key|
42-
string += " #{key.inspect}: #{item[key].inspect}\n"
43-
end
44-
string += " },\n"
45-
end
46-
string += "]"
47-
string
48-
elsif all? { |item| item.is_a?(RDF::Query::Solution)}
49-
string = "[\n"
50-
each do |item|
51-
string += " {\n"
52-
item.bindings.keys.sort_by(&:to_s).each do |key|
53-
string += " #{key.inspect}: #{item.bindings[key].inspect}\n"
54-
end
55-
string += " },\n"
56-
end
57-
string += "]"
58-
string
59-
else
60-
inspect_without_formatting
61-
end
62-
end
63-
alias_method :inspect, :inspect_with_formatting
64-
end
65-
6634
class RDF::Query::Solutions
6735
def inspect
6836
string = "vars: #{variable_names.join(",")}\n#{to_a.inspect}"

lib/rdf/spec/matchers.rb

Lines changed: 4 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
require 'rspec/matchers' # @see http://rubygems.org/gems/rspec
2+
require 'awesome_print'
23

34
module RDF; module Spec
45
##
@@ -329,15 +330,6 @@ def normalize(graph)
329330
end
330331
end
331332

332-
require 'json'
333-
JSON_STATE = ::JSON::State.new(
334-
indent: " ",
335-
space: " ",
336-
space_before: "",
337-
object_nl: "\n",
338-
array_nl: "\n"
339-
)
340-
341333
RSpec::Matchers.define :produce do |expected, info|
342334
match do |actual|
343335
@info = if (info.id rescue false)
@@ -355,8 +347,8 @@ def normalize(graph)
355347
failure_message do |actual|
356348
info = @info.respond_to?(:information) ? @info.information : @info.inspect
357349

358-
"Expected: #{expected.is_a?(String) ? expected : expected.to_json(JSON_STATE) rescue 'malformed json'}\n" +
359-
"Actual : #{actual.is_a?(String) ? actual : actual.to_json(JSON_STATE) rescue 'malformed json'}\n" +
350+
"Expected: #{expected.ai}\n" +
351+
"Actual : #{actual.ai}\n" +
360352
"\n#{info + "\n" unless info.empty?}" +
361353
"\nDebug:\n#{@info.logger}"
362354
end
@@ -365,7 +357,7 @@ def normalize(graph)
365357
info = @info.respond_to?(:information) ? @info.information : @info.inspect
366358

367359
"Expected not to produce the following:\n" +
368-
"Actual : #{actual.is_a?(String) ? actual : actual.to_json(JSON_STATE) rescue 'malformed json'}\n" +
360+
"Actual : #{actual.ai}\n" +
369361
"\n#{info + "\n" unless info.empty?}" +
370362
"\nDebug:\n#{@info.logger}"
371363
end

rdf-spec.gemspec

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -21,10 +21,11 @@ Gem::Specification.new do |gem|
2121
gem.required_ruby_version = '>= 2.4'
2222
gem.requirements = []
2323
gem.add_runtime_dependency 'rdf', '~> 3.1'
24-
gem.add_runtime_dependency 'rdf-isomorphic', '~> 3.0'
25-
gem.add_runtime_dependency 'rspec', '~> 3.9'
26-
gem.add_runtime_dependency 'rspec-its', '~> 1.3'
27-
gem.add_runtime_dependency 'webmock', '~> 3.7'
24+
gem.add_runtime_dependency 'awesome_print', '~> 1.8'
25+
gem.add_development_dependency 'rdf-isomorphic', '~> 3.0'
26+
gem.add_development_dependency 'rspec', '~> 3.9'
27+
gem.add_development_dependency 'rspec-its', '~> 1.3'
28+
gem.add_development_dependency 'webmock', '~> 3.7'
2829
gem.add_development_dependency 'yard' , '~> 0.9.20'
2930
gem.post_install_message = nil
3031
end

0 commit comments

Comments
 (0)