spec/isodoc/metadata_spec.rb in isodoc-1.6.4 vs spec/isodoc/metadata_spec.rb in isodoc-1.6.5
- old
+ new
@@ -2,393 +2,398 @@
require "nokogiri"
RSpec.describe IsoDoc do
it "processes IsoXML metadata" do
c = IsoDoc::Convert.new({})
- arr = c.convert_init(<<~"INPUT", "test", false)
- <iso-standard xmlns="http://riboseinc.com/isoxml">
+ c.convert_init(<<~"INPUT", "test", false)
+ <iso-standard xmlns="http://riboseinc.com/isoxml">
INPUT
- expect(metadata(c.info(Nokogiri::XML(<<~"INPUT"), nil))).to be_equivalent_to <<~"OUTPUT"
- <iso-standard xmlns="http://riboseinc.com/isoxml">
- <bibdata type="standard">
- <title>The Incredible Mr Ripley</title>
- <title language="en">Cereals and pulses</title>
- <uri>URL A</uri>
- <uri type="html">URL B</uri>
- <uri type="xml">URL C</uri>
- <uri type="pdf">URL D</uri>
- <uri type="doc">URL E</uri>
- <docidentifier>17301-1</docidentifier>
- <docidentifier type="ISBN">ISBN 13</docidentifier>
- <docidentifier type="ISBN10">ISBN 10</docidentifier>
- <docnumber>17301</docnumber>
- <date type="published"><on>2011</on></date>
- <date type="accessed"><on>2012</on></date>
- <date type="created"><from>2010</from><to>2011</to></date>
- <date type="activated"><on>2013</on></date>
- <date type="obsoleted"><on>2014</on></date>
- <date type="circulated"><on>2015</on></date>
- <date type="copied"><on>2016</on></date>
- <date type="confirmed"><on>2017</on></date>
- <date type="updated"><on>2018</on></date>
- <date type="unchanged"><on>2019</on></date>
- <date type="transmitted"><on>2020</on></date>
- <date type="vote-started"><on>2021</on></date>
- <date type="vote-ended"><on>2022</on></date>
- <edition>2</edition>
-<version>
- <revision-date>2016-05-01</revision-date>
- <draft>0.4</draft>
-</version>
- <contributor>
- <role type="author"/>
- <organization>
- <abbreviation>ISO</abbreviation>
- </organization>
- </contributor>
- <contributor>
- <role type="publisher"/>
- <organization>
- <abbreviation>ISO</abbreviation>
- </organization>
- </contributor>
- <contributor>
- <role type="editor"/>
- <person>
- <name>
- <forename>Barney</forename>
- <surname>Rubble</surname>
- </name>
- <affiliation>
- <organization><name>Slate Inc.</name>
- <subdivision>Hermeneutics Unit</subdivision>
- <subdivision>Exegesis Subunit</subdivision>
- <address>
- <formattedAddress>Bedrock</formattedAddress>
- </address>
- </organization>
- </affiliation>
- </person>
- </contributor>
- <contributor>
- <role type="author"/>
- <person>
- <name>
- <completename>Fred Flintstone</completename>
- </name>
- </person>
- </contributor>
- <note type="title-footnote"><p>A footnote</p></note>
- <note type="iso"><p>A note</p></note>
- <note type="title-footnote"><p>Another footnote</p></note>
- <language>en</language>
- <script>Latn</script>
- <status>
- <stage>Committee Draft</stage>
- <substage>Withdrawn</substage>
- <iteration>2</iteration>
- </status>
- <copyright>
- <from>2016</from>
- <owner>
- <organization>
- <abbreviation>ISO</abbreviation>
- </organization>
- </owner>
- </copyright>
- <keyword>KW2</keyword>
- <keyword>KW1</keyword>
- <keyword>KW3</keyword>
- <ext>
- <doctype>international-standard</doctype>
- </ext>
-</bibdata>
-</iso-standard>
-INPUT
-{:accesseddate=>"2012",
-:activateddate=>"2013",
-:agency=>"ISO",
-:authors=>["Barney Rubble", "Fred Flintstone"],
-:authors_affiliations=>{"Slate Inc., Hermeneutics Unit, Exegesis Subunit, Bedrock"=>["Barney Rubble"], ""=>["Fred Flintstone"]},
-:circulateddate=>"2015",
-:confirmeddate=>"2017",
-:copieddate=>"2016",
-:createddate=>"2010–2011",
-:doc=>"URL E",
-:docnumber=>"17301-1",
-:docnumeric=>"17301",
-:doctitle=>"Cereals and pulses",
-:doctype=>"International Standard",
-:doctype_display=>"International Standard",
-:docyear=>"2016",
-:draft=>"0.4",
-:draftinfo=>" (draft 0.4, 2016-05-01)",
-:edition=>"2",
-:html=>"URL B",
-:implementeddate=>"XXX",
-:isbn=>"ISBN 13",
-:isbn10=>"ISBN 10",
-:issueddate=>"XXX",
-:iteration=>"2",
-:keywords=>["KW2", "KW1", "KW3"],
-:lang=>"en",
-:obsoleteddate=>"2014",
-:pdf=>"URL D",
-:publisheddate=>"2011",
-:receiveddate=>"XXX",
-:revdate=>"2016-05-01",
-:revdate_monthyear=>"May 2016",
-:script=>"Latn",
-:stage=>"Committee Draft",
-:stage_display=>"Committee Draft",
-:stageabbr=>"CD",
-:substage=>"Withdrawn",
-:substage_display=>"Withdrawn",
-:title_footnote=>["A footnote", "Another footnote"],
-:transmitteddate=>"2020",
-:unchangeddate=>"2019",
-:unpublished=>true,
-:updateddate=>"2018",
-:url=>"URL A",
-:vote_endeddate=>"2022",
-:vote_starteddate=>"2021",
-:xml=>"URL C"}
-OUTPUT
+ input = <<~INPUT
+ <iso-standard xmlns="http://riboseinc.com/isoxml">
+ <bibdata type="standard">
+ <title>The Incredible Mr Ripley</title>
+ <title language="en">Cereals and pulses</title>
+ <uri>URL A</uri>
+ <uri type="html">URL B</uri>
+ <uri type="xml">URL C</uri>
+ <uri type="pdf">URL D</uri>
+ <uri type="doc">URL E</uri>
+ <docidentifier>17301-1</docidentifier>
+ <docidentifier type="ISBN">ISBN 13</docidentifier>
+ <docidentifier type="ISBN10">ISBN 10</docidentifier>
+ <docnumber>17301</docnumber>
+ <date type="published"><on>2011</on></date>
+ <date type="accessed"><on>2012</on></date>
+ <date type="created"><from>2010</from><to>2011</to></date>
+ <date type="activated"><on>2013</on></date>
+ <date type="obsoleted"><on>2014</on></date>
+ <date type="circulated"><on>2015</on></date>
+ <date type="copied"><on>2016</on></date>
+ <date type="confirmed"><on>2017</on></date>
+ <date type="updated"><on>2018</on></date>
+ <date type="unchanged"><on>2019</on></date>
+ <date type="transmitted"><on>2020</on></date>
+ <date type="vote-started"><on>2021</on></date>
+ <date type="vote-ended"><on>2022</on></date>
+ <edition>2</edition>
+ <version>
+ <revision-date>2016-05-01</revision-date>
+ <draft>0.4</draft>
+ </version>
+ <contributor>
+ <role type="author"/>
+ <organization>
+ <abbreviation>ISO</abbreviation>
+ </organization>
+ </contributor>
+ <contributor>
+ <role type="publisher"/>
+ <organization>
+ <abbreviation>ISO</abbreviation>
+ </organization>
+ </contributor>
+ <contributor>
+ <role type="editor"/>
+ <person>
+ <name>
+ <forename>Barney</forename>
+ <surname>Rubble</surname>
+ </name>
+ <affiliation>
+ <organization><name>Slate Inc.</name>
+ <subdivision>Hermeneutics Unit</subdivision>
+ <subdivision>Exegesis Subunit</subdivision>
+ <address>
+ <formattedAddress>Bedrock</formattedAddress>
+ </address>
+ </organization>
+ </affiliation>
+ </person>
+ </contributor>
+ <contributor>
+ <role type="author"/>
+ <person>
+ <name>
+ <completename>Fred Flintstone</completename>
+ </name>
+ </person>
+ </contributor>
+ <note type="title-footnote"><p>A footnote</p></note>
+ <note type="iso"><p>A note</p></note>
+ <note type="title-footnote"><p>Another footnote</p></note>
+ <language>en</language>
+ <script>Latn</script>
+ <status>
+ <stage>Committee Draft</stage>
+ <substage>Withdrawn</substage>
+ <iteration>2</iteration>
+ </status>
+ <copyright>
+ <from>2016</from>
+ <owner>
+ <organization>
+ <abbreviation>ISO</abbreviation>
+ </organization>
+ </owner>
+ </copyright>
+ <keyword>KW2</keyword>
+ <keyword>KW1</keyword>
+ <keyword>KW3</keyword>
+ <ext>
+ <doctype>international-standard</doctype>
+ </ext>
+ </bibdata>
+ </iso-standard>
+ INPUT
+ output = <<~OUTPUT
+ {:accesseddate=>"2012",
+ :activateddate=>"2013",
+ :agency=>"ISO",
+ :authors=>["Barney Rubble", "Fred Flintstone"],
+ :authors_affiliations=>{"Slate Inc., Hermeneutics Unit, Exegesis Subunit, Bedrock"=>["Barney Rubble"], ""=>["Fred Flintstone"]},
+ :circulateddate=>"2015",
+ :confirmeddate=>"2017",
+ :copieddate=>"2016",
+ :createddate=>"2010–2011",
+ :doc=>"URL E",
+ :docnumber=>"17301-1",
+ :docnumeric=>"17301",
+ :doctitle=>"Cereals and pulses",
+ :doctype=>"International Standard",
+ :doctype_display=>"International Standard",
+ :docyear=>"2016",
+ :draft=>"0.4",
+ :draftinfo=>" (draft 0.4, 2016-05-01)",
+ :edition=>"2",
+ :html=>"URL B",
+ :implementeddate=>"XXX",
+ :isbn=>"ISBN 13",
+ :isbn10=>"ISBN 10",
+ :issueddate=>"XXX",
+ :iteration=>"2",
+ :keywords=>["KW2", "KW1", "KW3"],
+ :lang=>"en",
+ :obsoleteddate=>"2014",
+ :pdf=>"URL D",
+ :publisheddate=>"2011",
+ :receiveddate=>"XXX",
+ :revdate=>"2016-05-01",
+ :revdate_monthyear=>"May 2016",
+ :script=>"Latn",
+ :stage=>"Committee Draft",
+ :stage_display=>"Committee Draft",
+ :stageabbr=>"CD",
+ :substage=>"Withdrawn",
+ :substage_display=>"Withdrawn",
+ :title_footnote=>["A footnote", "Another footnote"],
+ :transmitteddate=>"2020",
+ :unchangeddate=>"2019",
+ :unpublished=>true,
+ :updateddate=>"2018",
+ :url=>"URL A",
+ :vote_endeddate=>"2022",
+ :vote_starteddate=>"2021",
+ :xml=>"URL C"}
+ OUTPUT
+ expect(metadata(c.info(Nokogiri::XML(input), nil)))
+ .to be_equivalent_to output
end
it "processes IsoXML metadata" do
- c = IsoDoc::Convert.new({})
- arr = c.convert_init(<<~"INPUT", "test", false)
- <iso-standard xmlns="http://riboseinc.com/isoxml">
+ c = IsoDoc::Convert.new({})
+ c.convert_init(<<~"INPUT", "test", false)
+ <iso-standard xmlns="http://riboseinc.com/isoxml">
INPUT
- expect(metadata(c.info(Nokogiri::XML(<<~"INPUT"), nil))).to be_equivalent_to <<~"OUTPUT"
- <iso-standard xmlns="http://riboseinc.com/isoxml">
- <bibdata type="standard">
- <title language="fr" format="text/plain">Céréales et légumineuses</ti>
- <title language="en" format="text/plain">Cereals and pulses</title>
- <docidentifier>17301-1-3</docidentifier>
- <docnumber>17301</docnumber>
- <date type="published"><on>2011-01</on></date>
- <version>
- <revision-date>2016-05</revision-date>
-</version>
- <contributor>
- <role type="author"/>
- <organization>
- <name>ISO</name>
- </organization>
- </contributor>
- <contributor>
- <role type="publisher"/>
- <organization>
- <name>International Organization for Standardization</name>
- <subdivision>Subdivision</subdivision>
- <abbreviation>ISO</abbreviation>
- <address>
- <formattedAddress>1 Infinity Loop + California</formattedAddress>
-</address>
-<phone>3333333</phone>
-<phone type='fax'>4444444</phone>
-<email>x@example.com</email>
-<uri>http://www.example.com</uri>
- </organization>
- </contributor>
- <contributor>
- <role type="publisher"/>
- <organization>
- <name>International Electrotechnical Commission</name>
- <abbreviation>IEC</abbreviation>
- </organization>
- </contributor>
- <contributor>
- <role type="publisher"/>
- <organization>
- <name>Institute of Electrical and Electronics Engineers</name>
- <abbreviation>IEEE</abbreviation>
- </organization>
- </contributor>
- <language>en</language>
- <script>Latn</script>
- <status><stage>Published</stage></status>
- <copyright>
- <from>2016</from>
- <owner>
- <organization>
- <name>International Organization for Standardization</name>
- </organization>
- </owner>
- </copyright>
- <relation type="obsoletes">
- <locality type="clause"><referenceFrom>3.1</referenceFrom></locality>
- <docidentifier>IEC 8121</docidentifier>
- </relation>
- <relation type="partOf">
- <docidentifier>IEC 8122</docidentifier>
- </relation>
- <ext>
- <doctype>international-standard</doctype>
- </ext>
-</bibdata><version>
- <revision-date>2016-05-01</revision-date>
- <draft>12</draft>
-</version>
-</iso-standard>
-INPUT
-{:accesseddate=>"XXX",
-:agency=>"ISO/IEC/IEEE",
-:circulateddate=>"XXX",
-:confirmeddate=>"XXX",
-:copieddate=>"XXX",
-:createddate=>"XXX",
-:docnumber=>"17301-1-3",
-:docnumeric=>"17301",
-:doctitle=>"Cereals and pulses",
-:doctype=>"International Standard",
-:doctype_display=>"International Standard",
-:docyear=>"2016",
-:draft=>"12",
-:draftinfo=>" (draft 12, 2016-05)",
-:implementeddate=>"XXX",
-:issueddate=>"XXX",
-:lang=>"en",
-:obsoleteddate=>"XXX",
-:obsoletes=>"IEC 8121",
-:obsoletes_part=>"3.1",
-:partof=>"IEC 8122",
-:pub_address=>"1 Infinity Loop + California",
-:pub_email=>"x@example.com",
-:pub_fax=>"4444444",
-:pub_phone=>"3333333",
-:pub_uri=>"http://www.example.com",
-:publisheddate=>"2011-01",
-:publisher=>"International Organization for Standardization, International Electrotechnical Commission and Institute of Electrical and Electronics Engineers",
-:receiveddate=>"XXX",
-:revdate=>"2016-05",
-:revdate_monthyear=>"May 2016",
-:script=>"Latn",
-:stage=>"Published",
-:stage_display=>"Published",
-:subdivision=>"Subdivision",
-:transmitteddate=>"XXX",
-:unchangeddate=>"XXX",
-:unpublished=>false,
-:updateddate=>"XXX",
-:vote_endeddate=>"XXX",
-:vote_starteddate=>"XXX"}
-OUTPUT
+ input = <<~INPUT
+ <iso-standard xmlns="http://riboseinc.com/isoxml">
+ <bibdata type="standard">
+ <title language="fr" format="text/plain">Céréales et légumineuses</ti>
+ <title language="en" format="text/plain">Cereals and pulses</title>
+ <docidentifier>17301-1-3</docidentifier>
+ <docnumber>17301</docnumber>
+ <date type="published"><on>2011-01</on></date>
+ <version>
+ <draft>12</draft>
+ <revision-date>2016-05</revision-date>
+ </version>
+ <contributor>
+ <role type="author"/>
+ <organization>
+ <name>ISO</name>
+ </organization>
+ </contributor>
+ <contributor>
+ <role type="publisher"/>
+ <organization>
+ <name>International Organization for Standardization</name>
+ <subdivision>Subdivision</subdivision>
+ <abbreviation>ISO</abbreviation>
+ <address>
+ <formattedAddress>1 Infinity Loop + California</formattedAddress>
+ </address>
+ <phone>3333333</phone>
+ <phone type='fax'>4444444</phone>
+ <email>x@example.com</email>
+ <uri>http://www.example.com</uri>
+ </organization>
+ </contributor>
+ <contributor>
+ <role type="publisher"/>
+ <organization>
+ <name>International Electrotechnical Commission</name>
+ <abbreviation>IEC</abbreviation>
+ </organization>
+ </contributor>
+ <contributor>
+ <role type="publisher"/>
+ <organization>
+ <name>Institute of Electrical and Electronics Engineers</name>
+ <abbreviation>IEEE</abbreviation>
+ </organization>
+ </contributor>
+ <language>en</language>
+ <script>Latn</script>
+ <status><stage>Published</stage></status>
+ <copyright>
+ <from>2016</from>
+ <owner>
+ <organization>
+ <name>International Organization for Standardization</name>
+ </organization>
+ </owner>
+ </copyright>
+ <relation type="obsoletes">
+ <locality type="clause"><referenceFrom>3.1</referenceFrom></locality>
+ <docidentifier>IEC 8121</docidentifier>
+ </relation>
+ <relation type="partOf">
+ <docidentifier>IEC 8122</docidentifier>
+ </relation>
+ <ext>
+ <doctype>international-standard</doctype>
+ </ext>
+ </bibdata>
+ </iso-standard>
+ INPUT
+ output = <<~OUTPUT
+ {:accesseddate=>"XXX",
+ :agency=>"ISO/IEC/IEEE",
+ :circulateddate=>"XXX",
+ :confirmeddate=>"XXX",
+ :copieddate=>"XXX",
+ :createddate=>"XXX",
+ :docnumber=>"17301-1-3",
+ :docnumeric=>"17301",
+ :doctitle=>"Cereals and pulses",
+ :doctype=>"International Standard",
+ :doctype_display=>"International Standard",
+ :docyear=>"2016",
+ :draft=>"12",
+ :draftinfo=>" (draft 12, 2016-05)",
+ :implementeddate=>"XXX",
+ :issueddate=>"XXX",
+ :lang=>"en",
+ :obsoleteddate=>"XXX",
+ :obsoletes=>"IEC 8121",
+ :obsoletes_part=>"3.1",
+ :partof=>"IEC 8122",
+ :pub_address=>"1 Infinity Loop + California",
+ :pub_email=>"x@example.com",
+ :pub_fax=>"4444444",
+ :pub_phone=>"3333333",
+ :pub_uri=>"http://www.example.com",
+ :publisheddate=>"2011-01",
+ :publisher=>"International Organization for Standardization, International Electrotechnical Commission and Institute of Electrical and Electronics Engineers",
+ :receiveddate=>"XXX",
+ :revdate=>"2016-05",
+ :revdate_monthyear=>"May 2016",
+ :script=>"Latn",
+ :stage=>"Published",
+ :stage_display=>"Published",
+ :subdivision=>"Subdivision",
+ :transmitteddate=>"XXX",
+ :unchangeddate=>"XXX",
+ :unpublished=>false,
+ :updateddate=>"XXX",
+ :vote_endeddate=>"XXX",
+ :vote_starteddate=>"XXX"}
+ OUTPUT
+ expect(metadata(c.info(Nokogiri::XML(input), nil)))
+ .to be_equivalent_to output
end
- it "processes IsoXML metadata in French" do
- c = IsoDoc::Convert.new({})
- arr = c.convert_init(<<~"INPUT", "test", false)
- <iso-standard xmlns="http://riboseinc.com/isoxml">
- <bibdata type="standard">
- <language>fr</language>
- <script>Latn</script>
- <status>
- <stage lang="">Committee Draft</stage>
- <stage lang=fr">Projet de comité</stage>
- <substage lang="">Withdrawn</substage>
- <substage lang="fr">Rétiré</substage>
- <iteration>2</iteration>
- </status>
-<ext>
-<doctype lang="">international-standard</doctype>
-<doctype lang="fr">Standard international</doctype>
-</ext>
- </bibdata>
- </iso-standard>
+ it "processes IsoXML metadata in French" do
+ c = IsoDoc::Convert.new({})
+ c.convert_init(<<~"INPUT", "test", false)
+ <iso-standard xmlns="http://riboseinc.com/isoxml">
+ <bibdata type="standard">
+ <language>fr</language>
+ <script>Latn</script>
+ <status>
+ <stage lang="">Committee Draft</stage>
+ <stage lang=fr">Projet de comité</stage>
+ <substage lang="">Withdrawn</substage>
+ <substage lang="fr">Rétiré</substage>
+ <iteration>2</iteration>
+ </status>
+ <ext>
+ <doctype lang="">international-standard</doctype>
+ <doctype lang="fr">Standard international</doctype>
+ </ext>
+ </bibdata>
+ </iso-standard>
INPUT
- expect(metadata(c.info(Nokogiri::XML(<<~"INPUT"), nil))).to be_equivalent_to <<~"OUTPUT"
- <iso-standard xmlns="http://riboseinc.com/isoxml">
- <bibdata type="standard">
- <title language="fr" format="text/plain">Céréales et légumineuses</ti>
- <title language="en" format="text/plain">Cereals and pulses</title>
- <docidentifier>17301-1-3</docidentifier>
- <docnumber>17301</docnumber>
- <date type="published"><on>2011-01</on></date>
- <version>
- <revision-date>2016-05</revision-date>
-</version>
- <contributor>
- <role type="author"/>
- <organization>
- <name>ISO</name>
- </organization>
- </contributor>
- <contributor>
- <role type="publisher"/>
- <organization>
- <name>International Organization for Standardization</name>
- <abbreviation>ISO</abbreviation>
- </organization>
- </contributor>
- <contributor>
- <role type="publisher"/>
- <organization>
- <name>International Electrotechnical Commission</name>
- <abbreviation>IEC</abbreviation>
- </organization>
- </contributor>
- <language>fr</language>
- <script>Latn</script>
- <status>
- <stage language="">Committee Draft</stage>
- <stage language="fr">Projet de comité</stage>
- <substage language="">Withdrawn</substage>
- <substage language="fr">Rétiré</substage>
- <iteration>2</iteration>
- </status>
- <copyright>
- <from>2016</from>
- <owner>
- <organization>
- <name>International Organization for Standardization</name>
- </organization>
- </owner>
- </copyright>
-<ext>
-<doctype language="">international-standard</doctype>
-<doctype language="fr">Standard international</doctype>
-</ext>
-</bibdata>
-</iso-standard>
-INPUT
-{:accesseddate=>"XXX",
-:agency=>"ISO/IEC",
-:circulateddate=>"XXX",
-:confirmeddate=>"XXX",
-:copieddate=>"XXX",
-:createddate=>"XXX",
-:docnumber=>"17301-1-3",
-:docnumeric=>"17301",
-:doctitle=>"Céréales et légumineuses",
-:doctype=>"International Standard",
-:doctype_display=>"Standard International",
-:docyear=>"2016",
-:implementeddate=>"XXX",
-:issueddate=>"XXX",
-:iteration=>"2",
-:lang=>"fr",
-:obsoleteddate=>"XXX",
-:publisheddate=>"2011-01",
-:publisher=>"International Organization for Standardization et International Electrotechnical Commission",
-:receiveddate=>"XXX",
-:revdate=>"2016-05",
-:revdate_monthyear=>"Mai 2016",
-:script=>"Latn",
-:stage=>"Committee Draft",
-:stage_display=>"Projet De Comité",
-:stageabbr=>"CD",
-:substage=>"Withdrawn",
-:substage_display=>"Rétiré",
-:transmitteddate=>"XXX",
-:unchangeddate=>"XXX",
-:unpublished=>true,
-:updateddate=>"XXX",
-:vote_endeddate=>"XXX",
-:vote_starteddate=>"XXX"}
-OUTPUT
-end
-
-
+ input = <<~INPUT
+ <iso-standard xmlns="http://riboseinc.com/isoxml">
+ <bibdata type="standard">
+ <title language="fr" format="text/plain">Céréales et légumineuses</ti>
+ <title language="en" format="text/plain">Cereals and pulses</title>
+ <docidentifier>17301-1-3</docidentifier>
+ <docnumber>17301</docnumber>
+ <date type="published"><on>2011-01</on></date>
+ <version>
+ <revision-date>2016-05</revision-date>
+ </version>
+ <contributor>
+ <role type="author"/>
+ <organization>
+ <name>ISO</name>
+ </organization>
+ </contributor>
+ <contributor>
+ <role type="publisher"/>
+ <organization>
+ <name>International Organization for Standardization</name>
+ <abbreviation>ISO</abbreviation>
+ </organization>
+ </contributor>
+ <contributor>
+ <role type="publisher"/>
+ <organization>
+ <name>International Electrotechnical Commission</name>
+ <abbreviation>IEC</abbreviation>
+ </organization>
+ </contributor>
+ <language>fr</language>
+ <script>Latn</script>
+ <status>
+ <stage language="">Committee Draft</stage>
+ <stage language="fr">Projet de comité</stage>
+ <substage language="">Withdrawn</substage>
+ <substage language="fr">Rétiré</substage>
+ <iteration>2</iteration>
+ </status>
+ <copyright>
+ <from>2016</from>
+ <owner>
+ <organization>
+ <name>International Organization for Standardization</name>
+ </organization>
+ </owner>
+ </copyright>
+ <ext>
+ <doctype language="">international-standard</doctype>
+ <doctype language="fr">Standard international</doctype>
+ </ext>
+ </bibdata>
+ </iso-standard>
+ INPUT
+ output = <<~OUTPUT
+ {:accesseddate=>"XXX",
+ :agency=>"ISO/IEC",
+ :circulateddate=>"XXX",
+ :confirmeddate=>"XXX",
+ :copieddate=>"XXX",
+ :createddate=>"XXX",
+ :docnumber=>"17301-1-3",
+ :docnumeric=>"17301",
+ :doctitle=>"Céréales et légumineuses",
+ :doctype=>"International Standard",
+ :doctype_display=>"Standard International",
+ :docyear=>"2016",
+ :implementeddate=>"XXX",
+ :issueddate=>"XXX",
+ :iteration=>"2",
+ :lang=>"fr",
+ :obsoleteddate=>"XXX",
+ :publisheddate=>"2011-01",
+ :publisher=>"International Organization for Standardization et International Electrotechnical Commission",
+ :receiveddate=>"XXX",
+ :revdate=>"2016-05",
+ :revdate_monthyear=>"Mai 2016",
+ :script=>"Latn",
+ :stage=>"Committee Draft",
+ :stage_display=>"Projet De Comité",
+ :stageabbr=>"CD",
+ :substage=>"Withdrawn",
+ :substage_display=>"Rétiré",
+ :transmitteddate=>"XXX",
+ :unchangeddate=>"XXX",
+ :unpublished=>true,
+ :updateddate=>"XXX",
+ :vote_endeddate=>"XXX",
+ :vote_starteddate=>"XXX"}
+ OUTPUT
+ expect(metadata(c.info(Nokogiri::XML(input), nil)))
+ .to be_equivalent_to output
+ end
end