spec/support/rubocop_runner.rb (25 lines of code) (raw):

require "cc/engine/rubocop" require "tmpdir" module RubocopRunner def self.included(example_group) example_group.include FilesystemHelpers example_group.around do |example| Dir.mktmpdir do |code| @code = code example.run end end end def includes_check?(output, cop_name) issues(output).any? { |i| i["check_name"] =~ /#{cop_name}$/ } end def issues(output = @engine_output) output.split("\0").map { |x| JSON.parse(x) } end def run_engine(config = nil) io = StringIO.new rubocop = CC::Engine::Rubocop.new(@code, config, io) rubocop.run @engine_output = io.string end end