Sha256: c59fad50954748a2221743399c590ea13c1705133621dea405d9c7d33756e48c

Contents?: true

Size: 1.03 KB

Versions: 3

Compression:

Stored size: 1.03 KB

Contents

require 'spec_helper'
require 'druid/elements'

describe Druid::Elements::UnOrderedList do
  let(:ul) { Druid::Elements::UnOrderedList.new(ul_element) }

  describe "interface" do
    let(:ul_element) { double('ul_element').as_null_object }
    let(:li_element) { double('li_element').as_null_object }

    it "should register with tag_name :ul" do
      expect(Druid::Elements.element_class_for(:ul)).to be Druid::Elements::UnOrderedList
    end

    context "for sub method" do
      before(:each) do
        allow(ul_element).to receive(:children).and_return([li_element, li_element])
        allow(li_element).to receive(:tag_name).and_return(:li)
      end

      it "should return a list item when indexed" do
        expect(ul[1]).to be_instance_of Druid::Elements::ListItem
      end

      it "should know how many items it contains" do
        expect(ul.items).to eql 2
      end

      it "should know how to iterate over the items" do
        count = 0
        ul.each { count += 1 }
        expect(count).to eql 2
      end
    end



  end
end

Version data entries

3 entries across 3 versions & 2 rubygems

Version Path
druid-s-1.0.0 spec/druid/elements/unordered_list_spec.rb
druid-ts-1.2.6 spec/druid/elements/unordered_list_spec.rb
druid-ts-1.2.5 spec/druid/elements/unordered_list_spec.rb