Sha256: a343653b4eee58f20aeec91e44e807eb7f4485e3b4283c0727032e54a291cce9

Contents?: true

Size: 1.15 KB

Versions: 24

Compression:

Stored size: 1.15 KB

Contents

require File.expand_path(File.dirname(__FILE__) + '/../spec_helper')
require "om"

describe "OM::XML::NodeGenerator" do
  
  
  before(:each) do
    @test_mods_term = OM::XML::Term.new(:mods)
    @test_volume_term = OM::XML::Term.new(:volume, :path=>"detail", :attributes=>{:type=>"volume"}, :default_content_path=>"number")
  end
  
  describe '#generate' do
    it "should use the corresponding builder template(s) to generate the node" do
      OM::XML::NodeGenerator.generate(@test_mods_term, "foo").root.to_xml.should == "<mods>foo</mods>"
      generated_node = OM::XML::NodeGenerator.generate(@test_volume_term, "108", {:attributes=>{"extraAttr"=>"my value"}})
      generated_node.xpath('./detail[@type="volume"][@extraAttr="my value"]').xpath("./number").text.should == "108"
      # Would be great if we wrote a have_node custom rspec matcher...
      # generated_node.should have_node 'role[@authority="marcrelator"][@type="code"]' do
      #   with_node "roleTerm", "creator"
      # end
    end
    it "should return Nokogiri Documents" do
      OM::XML::NodeGenerator.generate(@test_mods_term, "foo").class.should == Nokogiri::XML::Document
    end
  end
  
end

Version data entries

24 entries across 24 versions & 1 rubygems

Version Path
om-1.6.0 spec/unit/node_generator_spec.rb
om-1.6.0.rc3 spec/unit/node_generator_spec.rb
om-1.6.0.rc2 spec/unit/node_generator_spec.rb
om-1.6.0.rc1 spec/unit/node_generator_spec.rb
om-1.5.3 spec/unit/node_generator_spec.rb
om-1.5.2 spec/unit/node_generator_spec.rb
om-1.5.1 spec/unit/node_generator_spec.rb
om-1.5.0 spec/unit/node_generator_spec.rb
om-1.4.4 spec/unit/node_generator_spec.rb
om-1.4.3 spec/unit/node_generator_spec.rb
om-1.4.2 spec/unit/node_generator_spec.rb
om-1.4.0 spec/unit/node_generator_spec.rb
om-1.3.0 spec/unit/node_generator_spec.rb
om-1.2.5 spec/unit/node_generator_spec.rb
om-1.2.4 spec/unit/node_generator_spec.rb
om-1.2.3 spec/unit/node_generator_spec.rb
om-1.2.2 spec/unit/node_generator_spec.rb
om-1.2.1 spec/unit/node_generator_spec.rb
om-1.2.0 spec/unit/node_generator_spec.rb
om-1.1.1 spec/unit/node_generator_spec.rb