require "spec_helper" require "nokogiri" RSpec.describe IsoDoc do it "processes IsoXML metadata" do c = IsoDoc::Convert.new({}) arr = c.convert_init(<<~"INPUT", "test", false) INPUT expect(Hash[c.info(Nokogiri::XML(<<~"INPUT"), nil).sort]).to be_equivalent_to <<~"OUTPUT" The Incredible Mr Ripley Cereals and pulses URL A URL B URL C URL D URL E 17301-1 17301 2011 2012 20102011 2013 2014 ISO ISO en Committee Draft 2016 ISO Food products Cereals and pulses Rice Group GB 2 2016-05-01 0.4 INPUT {:accesseddate=>"2012", :activateddate=>"2013", :agency=>"ISO", :confirmeddate=>"XXX", :createddate=>"2010–2011", :doc=>"URL E", :docnumber=>"17301-1", :doctitle=>"Cereals and pulses", :doctype=>"International Standard", :docyear=>"2016", :draft=>"0.4", :draftinfo=>" (draft 0.4, 2016-05-01)", :editorialgroup=>["TC 34", "SC 4", "WG 3"], :html=>"URL B", :ics=>"XXX", :implementeddate=>"XXX", :issueddate=>"XXX", :obsoleteddate=>"2014", :obsoletes=>nil, :obsoletes_part=>nil, :pdf=>"URL D", :publisheddate=>"2011", :receiveddate=>"XXX", :revdate=>"2016-05-01", :sc=>"SC 4", :secretariat=>"GB", :status=>"Committee draft", :tc=>"TC 34", :unpublished=>false, :updateddate=>"XXX", :url=>"URL A", :wg=>"WG 3", :xml=>"URL C"} OUTPUT end it "processes IsoXML metadata" do c = IsoDoc::Convert.new({}) arr = c.convert_init(<<~"INPUT", "test", false) INPUT expect(Hash[c.info(Nokogiri::XML(<<~"INPUT"), nil).sort]).to be_equivalent_to <<~"OUTPUT" Céréales et légumineuses</ti> <title language="en" format="text/plain">Cereals and pulses 17301-1-3 17301 ISO ISO IEC en Published 2016 International Organization for Standardization 3.1 IEC 8121 Food products Cereals and pulses Rice Group 1.2.3 1.2.3 2 2016-05-01 12 INPUT {:accesseddate=>"XXX", :agency=>"ISO/IEC", :confirmeddate=>"XXX", :createddate=>"XXX", :docnumber=>"17301-1-3", :doctitle=>"Cereals and pulses", :doctype=>"International Standard", :docyear=>"2016", :draft=>"12", :draftinfo=>" (draft 12, 2016-05-01)", :editorialgroup=>["ABC 34", "DEF 4", "GHI 3"], :ics=>"1.2.3, 1.2.3", :implementeddate=>"XXX", :issueddate=>"XXX", :obsoleteddate=>"XXX", :obsoletes=>"IEC 8121", :obsoletes_part=>"3.1", :publisheddate=>"XXX", :receiveddate=>"XXX", :revdate=>"2016-05-01", :sc=>"DEF 4", :secretariat=>"XXXX", :status=>"Published", :tc=>"ABC 34", :unpublished=>true, :updateddate=>"XXX", :wg=>"GHI 3"} OUTPUT end end