diff --git a/spec/ameba/presenter/rule_collection_presenter_spec.cr b/spec/ameba/presenter/rule_collection_presenter_spec.cr index cba4129b3..fbbd60577 100644 --- a/spec/ameba/presenter/rule_collection_presenter_spec.cr +++ b/spec/ameba/presenter/rule_collection_presenter_spec.cr @@ -2,13 +2,9 @@ require "../../spec_helper" module Ameba private def with_rule_collection_presenter(&) - with_presenter(Presenter::RuleCollectionPresenter) do |presenter, io| - rules = Config.load.rules - presenter.run(rules) - - output = io.to_s - output = Formatter::Util.deansify(output).to_s + rules = Config.load.rules + with_presenter(Presenter::RuleCollectionPresenter, rules) do |presenter, output| yield rules, output, presenter end end diff --git a/spec/ameba/presenter/rule_presenter_spec.cr b/spec/ameba/presenter/rule_presenter_spec.cr index 5f76007ac..c763dd5d1 100644 --- a/spec/ameba/presenter/rule_presenter_spec.cr +++ b/spec/ameba/presenter/rule_presenter_spec.cr @@ -2,14 +2,10 @@ require "../../spec_helper" module Ameba private def rule_presenter_each_rule(&) - with_presenter(Presenter::RulePresenter) do |presenter, io| - rules = Config.load.rules - rules.each do |rule| - presenter.run(rule) - - output = io.to_s - output = Formatter::Util.deansify(output).to_s + rules = Config.load.rules + rules.each do |rule| + with_presenter(Presenter::RulePresenter, rule) do |presenter, output| yield rule, output, presenter end end diff --git a/spec/ameba/presenter/rule_versions_presenter_spec.cr b/spec/ameba/presenter/rule_versions_presenter_spec.cr index 282a45497..3fd91a5f8 100644 --- a/spec/ameba/presenter/rule_versions_presenter_spec.cr +++ b/spec/ameba/presenter/rule_versions_presenter_spec.cr @@ -2,13 +2,9 @@ require "../../spec_helper" module Ameba private def with_rule_versions_presenter(&) - with_presenter(Presenter::RuleVersionsPresenter) do |presenter, io| - rules = Config.load.rules - presenter.run(rules) - - output = io.to_s - output = Formatter::Util.deansify(output).to_s + rules = Config.load.rules + with_presenter(Presenter::RuleVersionsPresenter, rules) do |presenter, output| yield rules, output, presenter end end diff --git a/spec/spec_helper.cr b/spec/spec_helper.cr index acfcc3dac..e8de14918 100644 --- a/spec/spec_helper.cr +++ b/spec/spec_helper.cr @@ -294,11 +294,16 @@ module Ameba end end -def with_presenter(klass, &) +def with_presenter(klass, *args, deansify = true, **kwargs, &) io = IO::Memory.new + presenter = klass.new(io) + presenter.run(*args, **kwargs) + + output = io.to_s + output = Ameba::Formatter::Util.deansify(output).to_s if deansify - yield presenter, io + yield presenter, output end def as_node(source)