Sha256: d1bb8dabc94288acfb96afd77ad1616c70a9e2ba836f487b23d0f0e385e4aa9a

Contents?: true

Size: 880 Bytes

Versions: 12

Compression:

Stored size: 880 Bytes

Contents

require "spec_helper"

module Sheep
  class Item
    include XmlMapper
  end

  class Navigator
    include XmlMapper
    tag 'navigator'

    # This is purposefully set to have the name 'items' with the tag 'item'.
    # The idea is that it should not find the empty items contained within the
    # xml and return an empty array. This exercises the order of how nodes
    # are searched for within an XML document.
    has_many :items, Item, tag: 'item'

    has_many :items_with_a_different_name, Item, tag: 'item'

  end
end

describe "emptyness" do
  let(:xml) do
    <<-EOF
    <navigator>
      <items/>
    </navigator>
    EOF
  end

  let(:navigator) do
    Sheep::Navigator.parse(xml)
  end

  it "returns an empty array" do
    navigator.items_with_a_different_name.should be_empty
  end

  it "returns an empty array" do
    navigator.items.should be_empty
  end
end

Version data entries

12 entries across 12 versions & 1 rubygems

Version Path
xmlmapper-0.8.1 spec/has_many_empty_array_spec.rb
xmlmapper-0.8.0 spec/has_many_empty_array_spec.rb
xmlmapper-0.7.3 spec/has_many_empty_array_spec.rb
xmlmapper-0.7.2 spec/has_many_empty_array_spec.rb
xmlmapper-0.7.1 spec/has_many_empty_array_spec.rb
xmlmapper-0.7.0 spec/has_many_empty_array_spec.rb
xmlmapper-0.6.5 spec/has_many_empty_array_spec.rb
xmlmapper-0.6.4 spec/has_many_empty_array_spec.rb
xmlmapper-0.6.3 spec/has_many_empty_array_spec.rb
xmlmapper-0.6.2 spec/has_many_empty_array_spec.rb
xmlmapper-0.6.1 spec/has_many_empty_array_spec.rb
xmlmapper-0.6.0 spec/has_many_empty_array_spec.rb