Sha256: ea5cfaf2b2f80c3228b9c2c115adad7a01d3e654c2dc01e92afee8087f77740a

Contents?: true

Size: 1.34 KB

Versions: 2

Compression:

Stored size: 1.34 KB

Contents

require_relative '../spec_helper'
require 'tailor/reporter'

describe Tailor::Reporter do
  describe "#initialize" do
    context "text formatter" do
      let(:formats) { ['text'] }

      it "creates a new Formatter object of the type passed in" do
        reporter = Tailor::Reporter.new(formats)
        reporter.formatters.first.should be_a Tailor::Formatter::Text
      end
    end
  end
  
  describe "#file_report" do
    let(:file_problems) { double "file problems" }
    let(:formatter) { double "Tailor::Formatter::SomeFormatter" }
    
    subject do
      t = Tailor::Reporter.new
      t.instance_variable_set(:@formatters, [formatter])
      
      t
    end 
    
    it "calls #file_report on each @formatters" do
      label = :some_label
      formatter.should_receive(:file_report).with(file_problems, label)

      subject.file_report(file_problems, label)
    end
  end

  describe "#summary_report" do
    let(:all_problems) { double "all problems" }
    let(:formatter) { double "Tailor::Formatter::SomeFormatter" }

    subject do
      t = Tailor::Reporter.new
      t.instance_variable_set(:@formatters, [formatter])

      t
    end

    it "calls #file_report on each @formatters" do
      label = :some_label
      formatter.should_receive(:summary_report).with(all_problems)

      subject.summary_report(all_problems)
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
tailor-1.0.0.alpha2 spec/tailor/reporter_spec.rb
tailor-1.0.0.alpha spec/tailor/reporter_spec.rb