Sha256: 6bbabca5d909926ce8023618bf83968196cf77e1a1c76ae1c820fd010b70d9ce

Contents?: true

Size: 1.5 KB

Versions: 8

Compression:

Stored size: 1.5 KB

Contents

require_relative '../../spec_helper'
require 'tailor/ruler'

describe Tailor::Ruler do
  before { Tailor::Logger.stub(:log) }

  describe "#add_child_ruler" do
    it "adds new rulers to @child_rulers" do
      ruler = double "Ruler"
      subject.add_child_ruler(ruler)
      subject.instance_variable_get(:@child_rulers).first.should == ruler
    end
  end

  describe "#problems" do
    context "no child_rulers" do
      context "@problems is empty" do
        specify { subject.problems.should be_empty }
      end

      context "@problems.size is 1" do
        before do
          problem = double "Problem"
          problem.should_receive(:[]).with :line
          subject.instance_variable_set(:@problems, [problem])
        end

        specify { subject.problems.size.should == 1 }
      end
    end

    context "child_rulers have problems" do
      before do
        problem = double "Problem"
        problem.should_receive(:[]).with :line
        child_ruler = double "Ruler"
        child_ruler.stub(:problems).and_return([problem])
        subject.instance_variable_set(:@child_rulers, [child_ruler])
      end

      context "@problems is empty" do
        specify { subject.problems.size.should == 1 }
      end

      context "@problems.size is 1" do
        before do
          problem = double "Problem"
          problem.should_receive(:[]).with :line
          subject.instance_variable_set(:@problems, [problem])
        end

        specify { subject.problems.size.should == 2 }
      end
    end
  end
end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
tailor-1.2.1 spec/unit/tailor/ruler_spec.rb
tailor-1.2.0 spec/unit/tailor/ruler_spec.rb
tailor-1.1.5 spec/unit/tailor/ruler_spec.rb
tailor-1.1.4 spec/unit/tailor/ruler_spec.rb
tailor-1.1.3 spec/unit/tailor/ruler_spec.rb
tailor-1.1.2 spec/unit/tailor/ruler_spec.rb
tailor-1.1.1 spec/unit/tailor/ruler_spec.rb
tailor-1.1.0 spec/unit/tailor/ruler_spec.rb