Sha256: b8cb037b6e666e3d9e88fe9460ad17318d2ec1e5dde6718744a9dac0408486d2

Contents?: true

Size: 1.48 KB

Versions: 3

Compression:

Stored size: 1.48 KB

Contents

require '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

3 entries across 3 versions & 1 rubygems

Version Path
tailor-1.4.0 spec/unit/tailor/ruler_spec.rb
tailor-1.3.1 spec/unit/tailor/ruler_spec.rb
tailor-1.3.0 spec/unit/tailor/ruler_spec.rb