require 'spec_helper' require 'avm/xmp' describe AVM::XMP do let(:xmp) { self.class.describes.new } subject { xmp } describe '#get_refs' do before { xmp.get_refs do |refs| refs[:dublin_core] << "" refs[:iptc] << "" refs[:photoshop] << '' end } it "should have gotten the refs correctly" do xmp.doc.at_xpath('//rdf:Description[@about="Dublin Core"]//rdf:addedToDublinCore').should_not be_nil xmp.doc.at_xpath('//rdf:Description[@about="IPTC"]//rdf:addedToIPTC').should_not be_nil end end describe '.from_string' do let(:xmp) { self.class.describes.from_string(string) } let(:string) { '' } specify { xmp.doc.at_xpath('//node').should_not be_nil } end describe '#ensure_descriptions_findable!' do let(:document) { <<-XML } #{content} XML let(:xmp) { self.class.describes.new(Nokogiri::XML(document)) } context 'no nodes within' do let(:content) { '' } [ 'Dublin Core', 'IPTC' ].each do |which| specify { xmp.doc.at_xpath(%{//rdf:Description[@about="#{which}"]}).should be_nil } end end context 'has identifying nodes within' do let(:content) { <<-XML } XML [ 'Dublin Core', 'IPTC' ].each do |which| specify { xmp.doc.at_xpath(%{//rdf:Description[@about="#{which}"]}).should_not be_nil } end end end end