mods 2.0.1 → 2.0.2

Sign up to get free protection for your applications and to get access to all the features.
@@ -12,7 +12,7 @@ describe "Mods <physicalDescription> Element" do
12
12
 
13
13
  it "extent child element" do
14
14
  @mods_rec.from_str("<mods #{@ns_decl}><physicalDescription><extent>extent</extent></physicalDescription></mods>")
15
- @mods_rec.physical_description.extent.map { |n| n.text }.should == ["extent"]
15
+ expect(@mods_rec.physical_description.extent.map { |n| n.text }).to eq(["extent"])
16
16
  end
17
17
 
18
18
  context "note child element" do
@@ -26,10 +26,10 @@ describe "Mods <physicalDescription> Element" do
26
26
  @mods_rec.from_str(forms_and_notes)
27
27
  end
28
28
  it "should understand note element" do
29
- @mods_rec.physical_description.note.map { |n| n.text }.should == ["dimension text", "condition text"]
29
+ expect(@mods_rec.physical_description.note.map { |n| n.text }).to eq(["dimension text", "condition text"])
30
30
  end
31
31
  it "should understand displayLabel attribute on note element" do
32
- @mods_rec.physical_description.note.displayLabel.should == ["Dimensions", "Condition"]
32
+ expect(@mods_rec.physical_description.note.displayLabel).to eq(["Dimensions", "Condition"])
33
33
  end
34
34
  end
35
35
 
@@ -43,13 +43,13 @@ describe "Mods <physicalDescription> Element" do
43
43
  @mods_rec.from_str(forms_and_extent)
44
44
  end
45
45
  it "should understand form element" do
46
- @mods_rec.physical_description.form.map { |n| n.text }.should == ["map", "foo"]
46
+ expect(@mods_rec.physical_description.form.map { |n| n.text }).to eq(["map", "foo"])
47
47
  end
48
48
  it "should understand authority attribute on form element" do
49
- @mods_rec.physical_description.form.authority.should == ["smd"]
49
+ expect(@mods_rec.physical_description.form.authority).to eq(["smd"])
50
50
  end
51
51
  it "should understand type attribute on form element" do
52
- @mods_rec.physical_description.form.type_at.should == ["material"]
52
+ expect(@mods_rec.physical_description.form.type_at).to eq(["material"])
53
53
  end
54
54
  end
55
55
 
@@ -63,13 +63,13 @@ describe "Mods <physicalDescription> Element" do
63
63
  @mods_rec.from_str(digital)
64
64
  end
65
65
  it "should understand reformattingQuality child element" do
66
- @mods_rec.physical_description.reformattingQuality.map { |n| n.text }.should == ["preservation"]
66
+ expect(@mods_rec.physical_description.reformattingQuality.map { |n| n.text }).to eq(["preservation"])
67
67
  end
68
68
  it "should understand digitalOrigin child element" do
69
- @mods_rec.physical_description.digitalOrigin.map { |n| n.text }.should == ["reformatted digital"]
69
+ expect(@mods_rec.physical_description.digitalOrigin.map { |n| n.text }).to eq(["reformatted digital"])
70
70
  end
71
71
  it "should understand internetMediaType child element" do
72
- @mods_rec.physical_description.internetMediaType.map { |n| n.text }.should == ["image/jp2"]
72
+ expect(@mods_rec.physical_description.internetMediaType.map { |n| n.text }).to eq(["image/jp2"])
73
73
  end
74
74
  end
75
75
  end # WITH namespaces
@@ -77,7 +77,7 @@ describe "Mods <physicalDescription> Element" do
77
77
  context "WITHOUT namespaces" do
78
78
  it "extent child element" do
79
79
  @mods_rec.from_str('<mods><physicalDescription><extent>extent</extent></physicalDescription></mods>', false)
80
- @mods_rec.physical_description.extent.map { |n| n.text }.should == ["extent"]
80
+ expect(@mods_rec.physical_description.extent.map { |n| n.text }).to eq(["extent"])
81
81
  end
82
82
 
83
83
  context "note child element" do
@@ -91,10 +91,10 @@ describe "Mods <physicalDescription> Element" do
91
91
  @mods_rec.from_str(forms_and_notes, false)
92
92
  end
93
93
  it "should understand note element" do
94
- @mods_rec.physical_description.note.map { |n| n.text }.should == ["dimension text", "condition text"]
94
+ expect(@mods_rec.physical_description.note.map { |n| n.text }).to eq(["dimension text", "condition text"])
95
95
  end
96
96
  it "should understand displayLabel attribute on note element" do
97
- @mods_rec.physical_description.note.displayLabel.should == ["Dimensions", "Condition"]
97
+ expect(@mods_rec.physical_description.note.displayLabel).to eq(["Dimensions", "Condition"])
98
98
  end
99
99
  end
100
100
 
@@ -108,13 +108,13 @@ describe "Mods <physicalDescription> Element" do
108
108
  @mods_rec.from_str(forms_and_extent, false)
109
109
  end
110
110
  it "should understand form element" do
111
- @mods_rec.physical_description.form.map { |n| n.text }.should == ["map", "foo"]
111
+ expect(@mods_rec.physical_description.form.map { |n| n.text }).to eq(["map", "foo"])
112
112
  end
113
113
  it "should understand authority attribute on form element" do
114
- @mods_rec.physical_description.form.authority.should == ["smd"]
114
+ expect(@mods_rec.physical_description.form.authority).to eq(["smd"])
115
115
  end
116
116
  it "should understand type attribute on form element" do
117
- @mods_rec.physical_description.form.type_at.should == ["material"]
117
+ expect(@mods_rec.physical_description.form.type_at).to eq(["material"])
118
118
  end
119
119
  end
120
120
 
@@ -128,13 +128,13 @@ describe "Mods <physicalDescription> Element" do
128
128
  @mods_rec.from_str(digital, false)
129
129
  end
130
130
  it "should understand reformattingQuality child element" do
131
- @mods_rec.physical_description.reformattingQuality.map { |n| n.text }.should == ["preservation"]
131
+ expect(@mods_rec.physical_description.reformattingQuality.map { |n| n.text }).to eq(["preservation"])
132
132
  end
133
133
  it "should understand digitalOrigin child element" do
134
- @mods_rec.physical_description.digitalOrigin.map { |n| n.text }.should == ["reformatted digital"]
134
+ expect(@mods_rec.physical_description.digitalOrigin.map { |n| n.text }).to eq(["reformatted digital"])
135
135
  end
136
136
  it "should understand internetMediaType child element" do
137
- @mods_rec.physical_description.internetMediaType.map { |n| n.text }.should == ["image/jp2"]
137
+ expect(@mods_rec.physical_description.internetMediaType.map { |n| n.text }).to eq(["image/jp2"])
138
138
  end
139
139
  end
140
140
  end # WITHOUT namespaces
data/spec/reader_spec.rb CHANGED
@@ -8,21 +8,21 @@ describe "Mods::Reader" do
8
8
  # url is for a namespaced document
9
9
  @example_url = 'http://www.loc.gov/standards/mods/v3/mods99042030_linkedDataAdded.xml'
10
10
  @example_default_ns_str = '<mods xmlns="http://www.loc.gov/mods/v3"><note>default ns</note></mods>'
11
- @example_ns_str = '<mods:mods xmlns:mods="http://www.loc.gov/mods/v3"><mods:note>ns</mods:note></mods:mods>'
12
- @example_no_ns_str = '<mods><note>no ns</note></mods>'
13
- @example_wrong_ns_str = '<mods xmlns="wrong"><note>wrong ns</note></mods>'
11
+ @example_ns_str = '<mods:mods xmlns:mods="http://www.loc.gov/mods/v3"><mods:note>ns</mods:note></mods:mods>'
12
+ @example_no_ns_str = '<mods><note>no ns</note></mods>'
13
+ @example_wrong_ns_str = '<mods xmlns="wrong"><note>wrong ns</note></mods>'
14
14
  @doc_from_str_default_ns = Mods::Reader.new.from_str(@example_ns_str)
15
- @doc_from_str_ns = Mods::Reader.new.from_str(@example_ns_str)
16
- @doc_from_str_no_ns = Mods::Reader.new.from_str(@example_no_ns_str)
17
- @doc_from_str_wrong_ns = Mods::Reader.new.from_str(@example_wrong_ns_str)
15
+ @doc_from_str_ns = Mods::Reader.new.from_str(@example_ns_str)
16
+ @doc_from_str_no_ns = Mods::Reader.new.from_str(@example_no_ns_str)
17
+ @doc_from_str_wrong_ns = Mods::Reader.new.from_str(@example_wrong_ns_str)
18
18
  @from_url = Mods::Reader.new.from_url(@example_url)
19
19
  end
20
20
 
21
21
  it "from_str should turn an xml string into a Nokogiri::XML::Document object" do
22
22
  expect(@doc_from_str_default_ns).to be_instance_of(Nokogiri::XML::Document)
23
- expect(@doc_from_str_ns).to be_instance_of(Nokogiri::XML::Document)
24
- expect(@doc_from_str_no_ns).to be_instance_of(Nokogiri::XML::Document)
25
- expect(@doc_from_str_wrong_ns).to be_instance_of(Nokogiri::XML::Document)
23
+ expect(@doc_from_str_ns ).to be_instance_of(Nokogiri::XML::Document)
24
+ expect(@doc_from_str_no_ns ).to be_instance_of(Nokogiri::XML::Document)
25
+ expect(@doc_from_str_wrong_ns ).to be_instance_of(Nokogiri::XML::Document)
26
26
  end
27
27
 
28
28
  context "from_url" do
@@ -48,32 +48,32 @@ describe "Mods::Reader" do
48
48
  context "namespace awareness" do
49
49
  it "should care about namespace by default" do
50
50
  r = Mods::Reader.new
51
- r.namespace_aware.should == true
52
- @doc_from_str_default_ns.root.namespace.href.should == Mods::MODS_NS
53
- @doc_from_str_default_ns.xpath('/m:mods/m:note', @ns_hash).text.should == "ns"
54
- @doc_from_str_default_ns.xpath('/mods/note').size.should == 0
55
- @doc_from_str_ns.root.namespace.href.should == Mods::MODS_NS
56
- @doc_from_str_ns.xpath('/m:mods/m:note', @ns_hash).text.should == "ns"
57
- @doc_from_str_ns.xpath('/mods/note').size.should == 0
58
- @doc_from_str_no_ns.xpath('/m:mods/m:note', @ns_hash).size.should == 0
59
- @doc_from_str_no_ns.xpath('/mods/note').text.should == "no ns"
60
- @doc_from_str_wrong_ns.root.namespace.href.should == "wrong"
61
- @doc_from_str_wrong_ns.xpath('/m:mods/m:note', @ns_hash).size.should == 0
62
- @doc_from_str_wrong_ns.xpath('/mods/note').size.should == 0
51
+ expect(r.namespace_aware).to be_truthy
52
+ expect(@doc_from_str_default_ns.root.namespace.href).to eq(Mods::MODS_NS)
53
+ expect(@doc_from_str_default_ns.xpath('/m:mods/m:note', @ns_hash).text).to eq("ns")
54
+ expect(@doc_from_str_default_ns.xpath('/mods/note').size).to eq(0)
55
+ expect(@doc_from_str_ns.root.namespace.href).to eq(Mods::MODS_NS)
56
+ expect(@doc_from_str_ns.xpath('/m:mods/m:note', @ns_hash).text).to eq("ns")
57
+ expect(@doc_from_str_ns.xpath('/mods/note').size).to eq(0)
58
+ expect(@doc_from_str_no_ns.xpath('/m:mods/m:note', @ns_hash).size).to eq(0)
59
+ expect(@doc_from_str_no_ns.xpath('/mods/note').text).to eq("no ns")
60
+ expect(@doc_from_str_wrong_ns.root.namespace.href).to eq("wrong")
61
+ expect(@doc_from_str_wrong_ns.xpath('/m:mods/m:note', @ns_hash).size).to eq(0)
62
+ expect(@doc_from_str_wrong_ns.xpath('/mods/note').size).to eq(0)
63
63
  end
64
64
 
65
65
  it "should be allowed not to care about namespaces" do
66
66
  r = Mods::Reader.new(false)
67
- r.namespace_aware.should == false
67
+ expect(r.namespace_aware).to be_falsey
68
68
  my_from_str_ns = r.from_str(@example_ns_str)
69
- my_from_str_ns.xpath('/m:mods/m:note', @ns_hash).size.should == 0
70
- my_from_str_ns.xpath('/mods/note').text.should == "ns"
69
+ expect(my_from_str_ns.xpath('/m:mods/m:note', @ns_hash).size).to eq(0)
70
+ expect(my_from_str_ns.xpath('/mods/note').text).to eq("ns")
71
71
  my_from_str_no_ns = r.from_str(@example_no_ns_str)
72
- my_from_str_no_ns.xpath('/m:mods/m:note', @ns_hash).size.should == 0
73
- my_from_str_no_ns.xpath('/mods/note').text.should == "no ns"
72
+ expect(my_from_str_no_ns.xpath('/m:mods/m:note', @ns_hash).size).to eq(0)
73
+ expect(my_from_str_no_ns.xpath('/mods/note').text).to eq("no ns")
74
74
  my_from_str_wrong_ns = r.from_str(@example_wrong_ns_str)
75
- my_from_str_wrong_ns.xpath('/m:mods/m:note', @ns_hash).size.should == 0
76
- my_from_str_wrong_ns.xpath('/mods/note').text.should == "wrong ns"
75
+ expect(my_from_str_wrong_ns.xpath('/m:mods/m:note', @ns_hash).size).to eq(0)
76
+ expect(my_from_str_wrong_ns.xpath('/mods/note').text).to eq("wrong ns")
77
77
  end
78
78
  end
79
79
 
@@ -92,20 +92,20 @@ describe "Mods::Reader" do
92
92
  </mods:name>
93
93
  </mods:mods>'
94
94
  reader = Mods::Reader.new.from_str(utf_mods)
95
- reader.encoding.should eql("UTF-8")
95
+ expect(reader.encoding).to eql("UTF-8")
96
96
  end
97
97
  it "should remove xsi:schemaLocation attribute from mods element if removing namespaces" do
98
98
  str = '<ns3:mods xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns3="http://www.loc.gov/mods/v3" xsi:schemaLocation="http://www.loc.gov/mods/v3 http://www.loc.gov/standards/mods/v3/mods-3-2.xsd">
99
- <ns3:note>be very frightened</ns3:note></ns3:mods>'
100
- ng_xml = Nokogiri::XML(str)
101
- # Nokogiri treats namespaced attributes differently in jruby than in ruby
102
- (ng_xml.root.has_attribute?('schemaLocation') || ng_xml.root.has_attribute?('xsi:schemaLocation')).should == true
103
- r = Mods::Reader.new
99
+ <ns3:note>be very frightened</ns3:note></ns3:mods>'
100
+ ng_xml = Nokogiri::XML(str)
101
+ # Nokogiri treats namespaced attributes differently in jruby than in ruby
102
+ expect(ng_xml.root.has_attribute?('schemaLocation') || ng_xml.root.has_attribute?('xsi:schemaLocation')).to be_truthy
103
+ r = Mods::Reader.new
104
104
  r.namespace_aware = false
105
105
  r.from_nk_node(ng_xml)
106
106
  # the below are different depending on jruby or ruby ... oy
107
- r.mods_ng_xml.root.attributes.keys.should_not include('schemaLocation')
108
- r.mods_ng_xml.root.attributes.keys.should_not include('xsi:schemaLocation')
107
+ expect(r.mods_ng_xml.root.attributes.keys).not_to include('schemaLocation')
108
+ expect(r.mods_ng_xml.root.attributes.keys).not_to include('xsi:schemaLocation')
109
109
  end
110
110
  end
111
111
 
@@ -137,16 +137,17 @@ describe "Mods::Reader" do
137
137
  @mods_ng_doc = @r.from_nk_node(@mods_node)
138
138
  end
139
139
  it "should turn the Nokogiri::XML::Node into a Nokogiri::XML::Document object" do
140
- @mods_ng_doc.should be_kind_of(Nokogiri::XML::Document)
140
+ expect(@mods_ng_doc).to be_kind_of(Nokogiri::XML::Document)
141
141
  end
142
142
  it "should care about namespace by default" do
143
- @mods_ng_doc.xpath('/m:mods/m:titleInfo/m:title', @ns_hash).text.should == "boo"
143
+ expect(@mods_ng_doc.xpath('/m:mods/m:titleInfo/m:title', @ns_hash).text).to eq("boo")
144
144
  end
145
145
  it "should be able not to care about namespaces" do
146
146
  @r.namespace_aware = false
147
147
  mods_ng_doc = @r.from_nk_node(@mods_node)
148
- mods_ng_doc.xpath('/m:mods/m:titleInfo/m:title', @ns_hash).size.should == 0
149
- mods_ng_doc.xpath('/mods/titleInfo/title').text.should == "boo"
148
+ expect(mods_ng_doc).to be_kind_of(Nokogiri::XML::Document)
149
+ expect(mods_ng_doc.xpath('/m:mods/m:titleInfo/m:title', @ns_hash).size).to eq(0)
150
+ expect(mods_ng_doc.xpath('/mods/titleInfo/title').text).to eq("boo")
150
151
  @r.namespace_aware = true
151
152
  end
152
153
  end # context from_nk_node
@@ -51,153 +51,153 @@ describe "Mods <recordInfo> Element" do
51
51
  end
52
52
 
53
53
  it "should be a NodeSet" do
54
- [@rec_info, @rec_info2, @bnf, @rlin].each { |ri| ri.should be_an_instance_of(Nokogiri::XML::NodeSet) }
54
+ [@rec_info, @rec_info2, @bnf, @rlin].each { |ri| expect(ri).to be_an_instance_of(Nokogiri::XML::NodeSet) }
55
55
  end
56
56
  it "should have as many members as there are <recordInfo> elements in the xml" do
57
- [@rec_info, @rec_info2, @bnf, @rlin].each { |ri| ri.size.should == 1 }
57
+ [@rec_info, @rec_info2, @bnf, @rlin].each { |ri| expect(ri.size).to eq(1) }
58
58
  end
59
59
  it "should recognize language attributes on <recordInfo> element" do
60
60
  skip "problem with xml:lang"
61
61
  Mods::LANG_ATTRIBS.each { |a|
62
62
  @mods_rec.from_str("<mods #{@ns_decl}><recordInfo #{a}='val'><recordOrigin>nowhere</recordOrigin></recordInfo></mods>")
63
- @mods_rec.record_info.send(a.to_sym).should == ['val']
63
+ expect(@mods_rec.record_info.send(a.to_sym)).to eq(['val'])
64
64
  }
65
65
  end
66
66
  it "should recognize displayLabel attribute on <recordInfo> element" do
67
67
  @mods_rec.from_str("<mods #{@ns_decl}><recordInfo displayLabel='val'><recordOrigin>nowhere</recordOrigin></recordInfo></mods>")
68
- @mods_rec.record_info.displayLabel.should == ['val']
68
+ expect(@mods_rec.record_info.displayLabel).to eq(['val'])
69
69
  end
70
70
 
71
71
  context "<recordContentSource> child element" do
72
72
  it "should be a NodeSet" do
73
- [@rec_info, @rec_info2, @bnf, @rlin].each { |ri| ri.recordContentSource.should be_an_instance_of(Nokogiri::XML::NodeSet) }
73
+ [@rec_info, @rec_info2, @bnf, @rlin].each { |ri| expect(ri.recordContentSource).to be_an_instance_of(Nokogiri::XML::NodeSet) }
74
74
  end
75
75
  it "recordContentSource NodeSet should have as many Nodes as there are <recordContentSource> elements in the xml" do
76
- [@rec_info, @rec_info2, @bnf, @rlin].each { |ri| ri.recordContentSource.size.should == 1 }
76
+ [@rec_info, @rec_info2, @bnf, @rlin].each { |ri| expect(ri.recordContentSource.size).to eq(1) }
77
77
  end
78
78
  it "text should get element value" do
79
- @rec_info.recordContentSource.map { |n| n.text }.should == ["RQE"]
80
- @rec_info2.recordContentSource.map { |n| n.text }.should == ["AU@"]
81
- @bnf.recordContentSource.map { |n| n.text }.should == ["TEI Description"]
82
- @rlin.recordContentSource.map { |n| n.text }.should == ["CSt"]
79
+ expect(@rec_info.recordContentSource.map { |n| n.text }).to eq(["RQE"])
80
+ expect(@rec_info2.recordContentSource.map { |n| n.text }).to eq(["AU@"])
81
+ expect(@bnf.recordContentSource.map { |n| n.text }).to eq(["TEI Description"])
82
+ expect(@rlin.recordContentSource.map { |n| n.text }).to eq(["CSt"])
83
83
  end
84
84
  it "should recognize authority attribute" do
85
- [@rec_info, @rec_info2, @rlin].each { |ri| ri.recordContentSource.authority.should == ['marcorg'] }
86
- @bnf.recordContentSource.authority.size.should == 0
85
+ [@rec_info, @rec_info2, @rlin].each { |ri| expect(ri.recordContentSource.authority).to eq(['marcorg']) }
86
+ expect(@bnf.recordContentSource.authority.size).to eq(0)
87
87
  end
88
88
  it "should recognize all authority attributes" do
89
89
  Mods::AUTHORITY_ATTRIBS.each { |a|
90
90
  @mods_rec.from_str("<mods #{@ns_decl}><recordInfo><recordContentSource #{a}='attr_val'>zzz</recordContentSource></recordInfo></mods>")
91
- @mods_rec.record_info.recordContentSource.send(a.to_sym).should == ['attr_val']
91
+ expect(@mods_rec.record_info.recordContentSource.send(a.to_sym)).to eq(['attr_val'])
92
92
  }
93
93
  end
94
94
  end # <recordContentSource>
95
95
 
96
96
  context "<recordCreationDate> child element" do
97
97
  it "should be a NodeSet" do
98
- [@rec_info, @rec_info2, @bnf, @rlin].each { |ri| ri.recordCreationDate.should be_an_instance_of(Nokogiri::XML::NodeSet) }
98
+ [@rec_info, @rec_info2, @bnf, @rlin].each { |ri| expect(ri.recordCreationDate).to be_an_instance_of(Nokogiri::XML::NodeSet) }
99
99
  end
100
100
  it "recordCreationDate NodeSet should have as many Nodes as there are <recordCreationDate> elements in the xml" do
101
- [@rec_info, @rec_info2, @bnf, @rlin].each { |ri| ri.recordCreationDate.size.should == 1 }
101
+ [@rec_info, @rec_info2, @bnf, @rlin].each { |ri| expect(ri.recordCreationDate.size).to eq(1) }
102
102
  end
103
103
  it "text should get element value" do
104
- @rec_info.recordCreationDate.map { |n| n.text }.should == ['890517']
105
- @rec_info2.recordCreationDate.map { |n| n.text }.should == ['050921']
106
- @bnf.recordCreationDate.map { |n| n.text }.should == ['2011-12-07']
107
- @rlin.recordCreationDate.map { |n| n.text }.should == ['850416']
104
+ expect(@rec_info.recordCreationDate.map { |n| n.text }).to eq(['890517'])
105
+ expect(@rec_info2.recordCreationDate.map { |n| n.text }).to eq(['050921'])
106
+ expect(@bnf.recordCreationDate.map { |n| n.text }).to eq(['2011-12-07'])
107
+ expect(@rlin.recordCreationDate.map { |n| n.text }).to eq(['850416'])
108
108
  end
109
109
  it "should recognize encoding attribute" do
110
- [@rec_info, @rec_info2, @rlin].each { |ri| ri.recordCreationDate.encoding.should == ['marc'] }
111
- @bnf.recordCreationDate.encoding.should == ['w3cdtf']
110
+ [@rec_info, @rec_info2, @rlin].each { |ri| expect(ri.recordCreationDate.encoding).to eq(['marc']) }
111
+ expect(@bnf.recordCreationDate.encoding).to eq(['w3cdtf'])
112
112
  end
113
113
  it "should recognize all date attributes" do
114
114
  Mods::DATE_ATTRIBS.each { |a|
115
115
  @mods_rec.from_str("<mods #{@ns_decl}><recordInfo><recordCreationDate #{a}='attr_val'>zzz</recordCreationDate></recordInfo></mods>")
116
- @mods_rec.record_info.recordCreationDate.send(a.to_sym).should == ['attr_val']
116
+ expect(@mods_rec.record_info.recordCreationDate.send(a.to_sym)).to eq(['attr_val'])
117
117
  }
118
118
  end
119
119
  end # <recordCreationDate>
120
120
 
121
121
  context "<recordChangeDate> child element" do
122
122
  it "should be a NodeSet" do
123
- [@rec_info, @rec_info2, @bnf, @rlin].each { |ri| ri.recordChangeDate.should be_an_instance_of(Nokogiri::XML::NodeSet) }
123
+ [@rec_info, @rec_info2, @bnf, @rlin].each { |ri| expect(ri.recordChangeDate).to be_an_instance_of(Nokogiri::XML::NodeSet) }
124
124
  end
125
125
  it "recordChangeDate NodeSet should have as many Nodes as there are <recordChangeDate> elements in the xml" do
126
- [@rec_info, @rec_info2, @bnf].each { |ri| ri.recordChangeDate.size.should == 0 }
127
- @rlin.recordChangeDate.size.should == 1
126
+ [@rec_info, @rec_info2, @bnf].each { |ri| expect(ri.recordChangeDate.size).to eq(0) }
127
+ expect(@rlin.recordChangeDate.size).to eq(1)
128
128
  end
129
129
  it "text should get element value" do
130
- @rlin.recordChangeDate.map { |n| n.text }.should == ['19991012150824.0']
130
+ expect(@rlin.recordChangeDate.map { |n| n.text }).to eq(['19991012150824.0'])
131
131
  end
132
132
  it "should recognize encoding attribute" do
133
- @rlin.recordChangeDate.encoding.should == ['iso8601']
133
+ expect(@rlin.recordChangeDate.encoding).to eq(['iso8601'])
134
134
  end
135
135
  it "should recognize all date attributes" do
136
136
  Mods::DATE_ATTRIBS.each { |a|
137
137
  @mods_rec.from_str("<mods #{@ns_decl}><recordInfo><recordChangeDate #{a}='attr_val'>zzz</recordChangeDate></recordInfo></mods>")
138
- @mods_rec.record_info.recordChangeDate.send(a.to_sym).should == ['attr_val']
138
+ expect(@mods_rec.record_info.recordChangeDate.send(a.to_sym)).to eq(['attr_val'])
139
139
  }
140
140
  end
141
141
  end # <recordChangeDate>
142
142
 
143
143
  context "<recordIdentifier> child element" do
144
144
  it "should be a NodeSet" do
145
- [@rec_info, @rec_info2, @bnf, @rlin].each { |ri| ri.recordIdentifier.should be_an_instance_of(Nokogiri::XML::NodeSet) }
145
+ [@rec_info, @rec_info2, @bnf, @rlin].each { |ri| expect(ri.recordIdentifier).to be_an_instance_of(Nokogiri::XML::NodeSet) }
146
146
  end
147
147
  it "recordIdentifier NodeSet should have as many Nodes as there are <recordIdentifier> elements in the xml" do
148
- [@rec_info, @rec_info2, @bnf, @rlin].each { |ri| ri.recordIdentifier.size.should == 1 }
148
+ [@rec_info, @rec_info2, @bnf, @rlin].each { |ri| expect(ri.recordIdentifier.size).to eq(1) }
149
149
  end
150
150
  it "text should get element value" do
151
- @rec_info.recordIdentifier.map { |n| n.text }.should == ['a9079953']
152
- @rec_info2.recordIdentifier.map { |n| n.text }.should == ['a8837534']
153
- @bnf.recordIdentifier.map { |n| n.text }.should == ['']
154
- @rlin.recordIdentifier.map { |n| n.text }.should == ['a4083219']
151
+ expect(@rec_info.recordIdentifier.map { |n| n.text }).to eq(['a9079953'])
152
+ expect(@rec_info2.recordIdentifier.map { |n| n.text }).to eq(['a8837534'])
153
+ expect(@bnf.recordIdentifier.map { |n| n.text }).to eq([''])
154
+ expect(@rlin.recordIdentifier.map { |n| n.text }).to eq(['a4083219'])
155
155
  end
156
156
  it "should recognize source attribute" do
157
- [@rec_info, @rec_info2].each { |ri| ri.recordIdentifier.source.should == ['SIRSI'] }
158
- @bnf.recordIdentifier.source.should == ['BNF 2166']
159
- @rlin.recordIdentifier.source.should == ['CStRLIN']
157
+ [@rec_info, @rec_info2].each { |ri| expect(ri.recordIdentifier.source).to eq(['SIRSI']) }
158
+ expect(@bnf.recordIdentifier.source).to eq(['BNF 2166'])
159
+ expect(@rlin.recordIdentifier.source).to eq(['CStRLIN'])
160
160
  end
161
161
  it "should allow a source attribute without element content" do
162
- @bnf.recordIdentifier.source.should == ['BNF 2166']
163
- @bnf.recordIdentifier.map { |n| n.text }.should == ['']
162
+ expect(@bnf.recordIdentifier.source).to eq(['BNF 2166'])
163
+ expect(@bnf.recordIdentifier.map { |n| n.text }).to eq([''])
164
164
  end
165
165
  end # <recordIdentifier>
166
166
 
167
167
  context "<recordOrigin> child element" do
168
168
  it "should be a NodeSet" do
169
- [@rec_info, @rec_info2, @bnf, @rlin].each { |ri| ri.recordOrigin.should be_an_instance_of(Nokogiri::XML::NodeSet) }
169
+ [@rec_info, @rec_info2, @bnf, @rlin].each { |ri| expect(ri.recordOrigin).to be_an_instance_of(Nokogiri::XML::NodeSet) }
170
170
  end
171
171
  it "recordOrigin NodeSet should have as many Nodes as there are <recordOrigin> elements in the xml" do
172
- [@rec_info, @rec_info2, @rlin].each { |ri| ri.recordOrigin.size.should == 0 }
173
- @bnf.recordOrigin.size.should == 1
172
+ [@rec_info, @rec_info2, @rlin].each { |ri| expect(ri.recordOrigin.size).to eq(0) }
173
+ expect(@bnf.recordOrigin.size).to eq(1)
174
174
  end
175
175
  it "text should get element value" do
176
176
  @mods_rec.from_str("<mods #{@ns_decl}><recordInfo><recordOrigin>human prepared</recordOrigin></recordInfo></mods>")
177
- @mods_rec.record_info.recordOrigin.map {|n| n.text }.should == ['human prepared']
178
- @bnf.recordOrigin.map { |n| n.text }.should == ['']
177
+ expect(@mods_rec.record_info.recordOrigin.map {|n| n.text }).to eq(['human prepared'])
178
+ expect(@bnf.recordOrigin.map { |n| n.text }).to eq([''])
179
179
  end
180
180
  end # <recordOrigin>
181
181
 
182
182
  context "<languageOfCataloging> child element" do
183
183
  it "should be a NodeSet" do
184
- [@rec_info, @rec_info2, @bnf, @rlin].each { |ri| ri.languageOfCataloging.should be_an_instance_of(Nokogiri::XML::NodeSet) }
184
+ [@rec_info, @rec_info2, @bnf, @rlin].each { |ri| expect(ri.languageOfCataloging).to be_an_instance_of(Nokogiri::XML::NodeSet) }
185
185
  end
186
186
  it "languageOfCataloging NodeSet should have as many Nodes as there are <languageOfCataloging> elements in the xml" do
187
- [@rec_info2, @bnf].each { |ri| ri.languageOfCataloging.size.should == 1 }
188
- [@rec_info, @rlin].each { |ri| ri.languageOfCataloging.size.should == 0 }
187
+ [@rec_info2, @bnf].each { |ri| expect(ri.languageOfCataloging.size).to eq(1) }
188
+ [@rec_info, @rlin].each { |ri| expect(ri.languageOfCataloging.size).to eq(0) }
189
189
  end
190
190
  it "text should get element value" do
191
191
  # this example is from http://www.loc.gov/standards/mods/v3/mods-userguide-elements.html
192
192
  # though it doesn't match the doc at http://www.loc.gov/standards/mods/mods-outline.html#recordInfo
193
193
  @mods_rec.from_str("<mods #{@ns_decl}><recordInfo><languageOfCataloging authority='iso639-2b'>fre</languageOfCataloging></recordInfo></mods>")
194
- @mods_rec.record_info.languageOfCataloging.map { |n| n.text }.should == ['fre']
194
+ expect(@mods_rec.record_info.languageOfCataloging.map { |n| n.text }).to eq(['fre'])
195
195
  end
196
196
  it "authority should get attribute value" do
197
197
  # this example is from http://www.loc.gov/standards/mods/v3/mods-userguide-elements.html
198
198
  # though it doesn't match the doc at http://www.loc.gov/standards/mods/mods-outline.html#recordInfo
199
199
  @mods_rec.from_str("<mods #{@ns_decl}><recordInfo><languageOfCataloging authority='iso639-2b'>fre</languageOfCataloging></recordInfo></mods>")
200
- @mods_rec.record_info.languageOfCataloging.authority.should == ['iso639-2b']
200
+ expect(@mods_rec.record_info.languageOfCataloging.authority).to eq(['iso639-2b'])
201
201
  end
202
202
 
203
203
  # from http://www.loc.gov/standards/mods/userguide/recordinfo.html#languageofcataloging
@@ -208,17 +208,17 @@ describe "Mods <recordInfo> Element" do
208
208
 
209
209
  context "<languageTerm> child element" do
210
210
  it "text should get element value" do
211
- @rec_info2.languageOfCataloging.languageTerm.map { |n| n.text }.should == ['eng']
212
- @bnf.languageOfCataloging.languageTerm.map { |n| n.text }.should == ['fra']
211
+ expect(@rec_info2.languageOfCataloging.languageTerm.map { |n| n.text }).to eq(['eng'])
212
+ expect(@bnf.languageOfCataloging.languageTerm.map { |n| n.text }).to eq(['fra'])
213
213
  end
214
214
  it "should recognize all authority attributes" do
215
215
  Mods::AUTHORITY_ATTRIBS.each { |a|
216
216
  @mods_rec.from_str("<mods #{@ns_decl}><recordInfo><languageOfCataloging><languageTerm #{a}='attr_val'>zzz</languageTerm></languageOfCataloging></recordInfo></mods>")
217
- @mods_rec.record_info.languageOfCataloging.languageTerm.send(a.to_sym).should == ['attr_val']
217
+ expect(@mods_rec.record_info.languageOfCataloging.languageTerm.send(a.to_sym)).to eq(['attr_val'])
218
218
  }
219
219
  end
220
220
  it "should recognize the type attribute with type_at term" do
221
- @rec_info2.languageOfCataloging.languageTerm.type_at.should == ['code']
221
+ expect(@rec_info2.languageOfCataloging.languageTerm.type_at).to eq(['code'])
222
222
  end
223
223
  end # <languageTerm>
224
224
 
@@ -231,21 +231,21 @@ describe "Mods <recordInfo> Element" do
231
231
 
232
232
  context "<descriptionStandard> child element" do
233
233
  it "should be a NodeSet" do
234
- [@rec_info, @rec_info2, @bnf, @rlin].each { |ri| ri.descriptionStandard.should be_an_instance_of(Nokogiri::XML::NodeSet) }
234
+ [@rec_info, @rec_info2, @bnf, @rlin].each { |ri| expect(ri.descriptionStandard).to be_an_instance_of(Nokogiri::XML::NodeSet) }
235
235
  end
236
236
  it "descriptionStandard NodeSet should have as many Nodes as there are <descriptionStandard> elements in the xml" do
237
- [@rec_info, @bnf].each { |ri| ri.descriptionStandard.size.should == 0 }
238
- [@rec_info2, @rlin].each { |ri| ri.descriptionStandard.size.should == 1 }
237
+ [@rec_info, @bnf].each { |ri| expect(ri.descriptionStandard.size).to eq(0) }
238
+ [@rec_info2, @rlin].each { |ri| expect(ri.descriptionStandard.size).to eq(1) }
239
239
  end
240
240
  it "text should get element value" do
241
- @rec_info2.descriptionStandard.map { |n| n.text }.should == ['aacr2']
242
- @rlin.descriptionStandard.map { |n| n.text }.should == ['appm']
243
- @bnf.descriptionStandard.map { |n| n.text }.should == []
241
+ expect(@rec_info2.descriptionStandard.map { |n| n.text }).to eq(['aacr2'])
242
+ expect(@rlin.descriptionStandard.map { |n| n.text }).to eq(['appm'])
243
+ expect(@bnf.descriptionStandard.map { |n| n.text }).to eq([])
244
244
  end
245
245
  it "should recognize all authority attributes" do
246
246
  Mods::AUTHORITY_ATTRIBS.each { |a|
247
247
  @mods_rec.from_str("<mods #{@ns_decl}><recordInfo><descriptionStandard #{a}='attr_val'>zzz</descriptionStandard></recordInfo></mods>")
248
- @mods_rec.record_info.descriptionStandard.send(a.to_sym).should == ['attr_val']
248
+ expect(@mods_rec.record_info.descriptionStandard.send(a.to_sym)).to eq(['attr_val'])
249
249
  }
250
250
  end
251
251
  end # <descriptionStandard>
@@ -287,153 +287,153 @@ describe "Mods <recordInfo> Element" do
287
287
  end
288
288
 
289
289
  it "should be a NodeSet" do
290
- [@rec_info, @rec_info2, @bnf, @rlin].each { |ri| ri.should be_an_instance_of(Nokogiri::XML::NodeSet) }
290
+ [@rec_info, @rec_info2, @bnf, @rlin].each { |ri| expect(ri).to be_an_instance_of(Nokogiri::XML::NodeSet) }
291
291
  end
292
292
  it "should have as many members as there are <recordInfo> elements in the xml" do
293
- [@rec_info, @rec_info2, @bnf, @rlin].each { |ri| ri.size.should == 1 }
293
+ [@rec_info, @rec_info2, @bnf, @rlin].each { |ri| expect(ri.size).to eq(1) }
294
294
  end
295
295
  it "should recognize language attributes on <recordInfo> element" do
296
296
  skip "problem with xml:lang"
297
297
  Mods::LANG_ATTRIBS.each { |a|
298
298
  @mods_rec.from_str("<mods><recordInfo #{a}='val'><recordOrigin>nowhere</recordOrigin></recordInfo></mods>", false)
299
- @mods_rec.record_info.send(a.to_sym).should == ['val']
299
+ expect(@mods_rec.record_info.send(a.to_sym)).to eq(['val'])
300
300
  }
301
301
  end
302
302
  it "should recognize displayLabel attribute on <recordInfo> element" do
303
303
  @mods_rec.from_str("<mods><recordInfo displayLabel='val'><recordOrigin>nowhere</recordOrigin></recordInfo></mods>", false)
304
- @mods_rec.record_info.displayLabel.should == ['val']
304
+ expect(@mods_rec.record_info.displayLabel).to eq(['val'])
305
305
  end
306
306
 
307
307
  context "<recordContentSource> child element" do
308
308
  it "should be a NodeSet" do
309
- [@rec_info, @rec_info2, @bnf, @rlin].each { |ri| ri.recordContentSource.should be_an_instance_of(Nokogiri::XML::NodeSet) }
309
+ [@rec_info, @rec_info2, @bnf, @rlin].each { |ri| expect(ri.recordContentSource).to be_an_instance_of(Nokogiri::XML::NodeSet) }
310
310
  end
311
311
  it "recordContentSource NodeSet should have as many Nodes as there are <recordContentSource> elements in the xml" do
312
- [@rec_info, @rec_info2, @bnf, @rlin].each { |ri| ri.recordContentSource.size.should == 1 }
312
+ [@rec_info, @rec_info2, @bnf, @rlin].each { |ri| expect(ri.recordContentSource.size).to eq(1) }
313
313
  end
314
314
  it "text should get element value" do
315
- @rec_info.recordContentSource.map { |n| n.text }.should == ["RQE"]
316
- @rec_info2.recordContentSource.map { |n| n.text }.should == ["AU@"]
317
- @bnf.recordContentSource.map { |n| n.text }.should == ["TEI Description"]
318
- @rlin.recordContentSource.map { |n| n.text }.should == ["CSt"]
315
+ expect(@rec_info.recordContentSource.map { |n| n.text }).to eq(["RQE"])
316
+ expect(@rec_info2.recordContentSource.map { |n| n.text }).to eq(["AU@"])
317
+ expect(@bnf.recordContentSource.map { |n| n.text }).to eq(["TEI Description"])
318
+ expect(@rlin.recordContentSource.map { |n| n.text }).to eq(["CSt"])
319
319
  end
320
320
  it "should recognize authority attribute" do
321
- [@rec_info, @rec_info2, @rlin].each { |ri| ri.recordContentSource.authority.should == ['marcorg'] }
322
- @bnf.recordContentSource.authority.size.should == 0
321
+ [@rec_info, @rec_info2, @rlin].each { |ri| expect(ri.recordContentSource.authority).to eq(['marcorg']) }
322
+ expect(@bnf.recordContentSource.authority.size).to eq(0)
323
323
  end
324
324
  it "should recognize all authority attributes" do
325
325
  Mods::AUTHORITY_ATTRIBS.each { |a|
326
326
  @mods_rec.from_str("<mods><recordInfo><recordContentSource #{a}='attr_val'>zzz</recordContentSource></recordInfo></mods>", false)
327
- @mods_rec.record_info.recordContentSource.send(a.to_sym).should == ['attr_val']
327
+ expect(@mods_rec.record_info.recordContentSource.send(a.to_sym)).to eq(['attr_val'])
328
328
  }
329
329
  end
330
330
  end # <recordContentSource>
331
331
 
332
332
  context "<recordCreationDate> child element" do
333
333
  it "should be a NodeSet" do
334
- [@rec_info, @rec_info2, @bnf, @rlin].each { |ri| ri.recordCreationDate.should be_an_instance_of(Nokogiri::XML::NodeSet) }
334
+ [@rec_info, @rec_info2, @bnf, @rlin].each { |ri| expect(ri.recordCreationDate).to be_an_instance_of(Nokogiri::XML::NodeSet) }
335
335
  end
336
336
  it "recordCreationDate NodeSet should have as many Nodes as there are <recordCreationDate> elements in the xml" do
337
- [@rec_info, @rec_info2, @bnf, @rlin].each { |ri| ri.recordCreationDate.size.should == 1 }
337
+ [@rec_info, @rec_info2, @bnf, @rlin].each { |ri| expect(ri.recordCreationDate.size).to eq(1) }
338
338
  end
339
339
  it "text should get element value" do
340
- @rec_info.recordCreationDate.map { |n| n.text }.should == ['890517']
341
- @rec_info2.recordCreationDate.map { |n| n.text }.should == ['050921']
342
- @bnf.recordCreationDate.map { |n| n.text }.should == ['2011-12-07']
343
- @rlin.recordCreationDate.map { |n| n.text }.should == ['850416']
340
+ expect(@rec_info.recordCreationDate.map { |n| n.text }).to eq(['890517'])
341
+ expect(@rec_info2.recordCreationDate.map { |n| n.text }).to eq(['050921'])
342
+ expect(@bnf.recordCreationDate.map { |n| n.text }).to eq(['2011-12-07'])
343
+ expect(@rlin.recordCreationDate.map { |n| n.text }).to eq(['850416'])
344
344
  end
345
345
  it "should recognize encoding attribute" do
346
- [@rec_info, @rec_info2, @rlin].each { |ri| ri.recordCreationDate.encoding.should == ['marc'] }
347
- @bnf.recordCreationDate.encoding.should == ['w3cdtf']
346
+ [@rec_info, @rec_info2, @rlin].each { |ri| expect(ri.recordCreationDate.encoding).to eq(['marc']) }
347
+ expect(@bnf.recordCreationDate.encoding).to eq(['w3cdtf'])
348
348
  end
349
349
  it "should recognize all date attributes" do
350
350
  Mods::DATE_ATTRIBS.each { |a|
351
351
  @mods_rec.from_str("<mods><recordInfo><recordCreationDate #{a}='attr_val'>zzz</recordCreationDate></recordInfo></mods>", false)
352
- @mods_rec.record_info.recordCreationDate.send(a.to_sym).should == ['attr_val']
352
+ expect(@mods_rec.record_info.recordCreationDate.send(a.to_sym)).to eq(['attr_val'])
353
353
  }
354
354
  end
355
355
  end # <recordCreationDate>
356
356
 
357
357
  context "<recordChangeDate> child element" do
358
358
  it "should be a NodeSet" do
359
- [@rec_info, @rec_info2, @bnf, @rlin].each { |ri| ri.recordChangeDate.should be_an_instance_of(Nokogiri::XML::NodeSet) }
359
+ [@rec_info, @rec_info2, @bnf, @rlin].each { |ri| expect(ri.recordChangeDate).to be_an_instance_of(Nokogiri::XML::NodeSet) }
360
360
  end
361
361
  it "recordChangeDate NodeSet should have as many Nodes as there are <recordChangeDate> elements in the xml" do
362
- [@rec_info, @rec_info2, @bnf].each { |ri| ri.recordChangeDate.size.should == 0 }
363
- @rlin.recordChangeDate.size.should == 1
362
+ [@rec_info, @rec_info2, @bnf].each { |ri| expect(ri.recordChangeDate.size).to eq(0) }
363
+ expect(@rlin.recordChangeDate.size).to eq(1)
364
364
  end
365
365
  it "text should get element value" do
366
- @rlin.recordChangeDate.map { |n| n.text }.should == ['19991012150824.0']
366
+ expect(@rlin.recordChangeDate.map { |n| n.text }).to eq(['19991012150824.0'])
367
367
  end
368
368
  it "should recognize encoding attribute" do
369
- @rlin.recordChangeDate.encoding.should == ['iso8601']
369
+ expect(@rlin.recordChangeDate.encoding).to eq(['iso8601'])
370
370
  end
371
371
  it "should recognize all date attributes" do
372
372
  Mods::DATE_ATTRIBS.each { |a|
373
373
  @mods_rec.from_str("<mods><recordInfo><recordChangeDate #{a}='attr_val'>zzz</recordChangeDate></recordInfo></mods>", false)
374
- @mods_rec.record_info.recordChangeDate.send(a.to_sym).should == ['attr_val']
374
+ expect(@mods_rec.record_info.recordChangeDate.send(a.to_sym)).to eq(['attr_val'])
375
375
  }
376
376
  end
377
377
  end # <recordChangeDate>
378
378
 
379
379
  context "<recordIdentifier> child element" do
380
380
  it "should be a NodeSet" do
381
- [@rec_info, @rec_info2, @bnf, @rlin].each { |ri| ri.recordIdentifier.should be_an_instance_of(Nokogiri::XML::NodeSet) }
381
+ [@rec_info, @rec_info2, @bnf, @rlin].each { |ri| expect(ri.recordIdentifier).to be_an_instance_of(Nokogiri::XML::NodeSet) }
382
382
  end
383
383
  it "recordIdentifier NodeSet should have as many Nodes as there are <recordIdentifier> elements in the xml" do
384
- [@rec_info, @rec_info2, @bnf, @rlin].each { |ri| ri.recordIdentifier.size.should == 1 }
384
+ [@rec_info, @rec_info2, @bnf, @rlin].each { |ri| expect(ri.recordIdentifier.size).to eq(1) }
385
385
  end
386
386
  it "text should get element value" do
387
- @rec_info.recordIdentifier.map { |n| n.text }.should == ['a9079953']
388
- @rec_info2.recordIdentifier.map { |n| n.text }.should == ['a8837534']
389
- @bnf.recordIdentifier.map { |n| n.text }.should == ['']
390
- @rlin.recordIdentifier.map { |n| n.text }.should == ['a4083219']
387
+ expect(@rec_info.recordIdentifier.map { |n| n.text }).to eq(['a9079953'])
388
+ expect(@rec_info2.recordIdentifier.map { |n| n.text }).to eq(['a8837534'])
389
+ expect(@bnf.recordIdentifier.map { |n| n.text }).to eq([''])
390
+ expect(@rlin.recordIdentifier.map { |n| n.text }).to eq(['a4083219'])
391
391
  end
392
392
  it "should recognize source attribute" do
393
- [@rec_info, @rec_info2].each { |ri| ri.recordIdentifier.source.should == ['SIRSI'] }
394
- @bnf.recordIdentifier.source.should == ['BNF 2166']
395
- @rlin.recordIdentifier.source.should == ['CStRLIN']
393
+ [@rec_info, @rec_info2].each { |ri| expect(ri.recordIdentifier.source).to eq(['SIRSI']) }
394
+ expect(@bnf.recordIdentifier.source).to eq(['BNF 2166'])
395
+ expect(@rlin.recordIdentifier.source).to eq(['CStRLIN'])
396
396
  end
397
397
  it "should allow a source attribute without element content" do
398
- @bnf.recordIdentifier.source.should == ['BNF 2166']
399
- @bnf.recordIdentifier.map { |n| n.text }.should == ['']
398
+ expect(@bnf.recordIdentifier.source).to eq(['BNF 2166'])
399
+ expect(@bnf.recordIdentifier.map { |n| n.text }).to eq([''])
400
400
  end
401
401
  end # <recordIdentifier>
402
402
 
403
403
  context "<recordOrigin> child element" do
404
404
  it "should be a NodeSet" do
405
- [@rec_info, @rec_info2, @bnf, @rlin].each { |ri| ri.recordOrigin.should be_an_instance_of(Nokogiri::XML::NodeSet) }
405
+ [@rec_info, @rec_info2, @bnf, @rlin].each { |ri| expect(ri.recordOrigin).to be_an_instance_of(Nokogiri::XML::NodeSet) }
406
406
  end
407
407
  it "recordOrigin NodeSet should have as many Nodes as there are <recordOrigin> elements in the xml" do
408
- [@rec_info, @rec_info2, @rlin].each { |ri| ri.recordOrigin.size.should == 0 }
409
- @bnf.recordOrigin.size.should == 1
408
+ [@rec_info, @rec_info2, @rlin].each { |ri| expect(ri.recordOrigin.size).to eq(0) }
409
+ expect(@bnf.recordOrigin.size).to eq(1)
410
410
  end
411
411
  it "text should get element value" do
412
412
  @mods_rec.from_str("<mods><recordInfo><recordOrigin>human prepared</recordOrigin></recordInfo></mods>", false)
413
- @mods_rec.record_info.recordOrigin.map {|n| n.text }.should == ['human prepared']
414
- @bnf.recordOrigin.map { |n| n.text }.should == ['']
413
+ expect(@mods_rec.record_info.recordOrigin.map {|n| n.text }).to eq(['human prepared'])
414
+ expect(@bnf.recordOrigin.map { |n| n.text }).to eq([''])
415
415
  end
416
416
  end # <recordOrigin>
417
417
 
418
418
  context "<languageOfCataloging> child element" do
419
419
  it "should be a NodeSet" do
420
- [@rec_info, @rec_info2, @bnf, @rlin].each { |ri| ri.languageOfCataloging.should be_an_instance_of(Nokogiri::XML::NodeSet) }
420
+ [@rec_info, @rec_info2, @bnf, @rlin].each { |ri| expect(ri.languageOfCataloging).to be_an_instance_of(Nokogiri::XML::NodeSet) }
421
421
  end
422
422
  it "languageOfCataloging NodeSet should have as many Nodes as there are <languageOfCataloging> elements in the xml" do
423
- [@rec_info2, @bnf].each { |ri| ri.languageOfCataloging.size.should == 1 }
424
- [@rec_info, @rlin].each { |ri| ri.languageOfCataloging.size.should == 0 }
423
+ [@rec_info2, @bnf].each { |ri| expect(ri.languageOfCataloging.size).to eq(1) }
424
+ [@rec_info, @rlin].each { |ri| expect(ri.languageOfCataloging.size).to eq(0) }
425
425
  end
426
426
  it "text should get element value" do
427
427
  # this example is from http://www.loc.gov/standards/mods/v3/mods-userguide-elements.html
428
428
  # though it doesn't match the doc at http://www.loc.gov/standards/mods/mods-outline.html#recordInfo
429
429
  @mods_rec.from_str("<mods><recordInfo><languageOfCataloging authority='iso639-2b'>fre</languageOfCataloging></recordInfo></mods>", false)
430
- @mods_rec.record_info.languageOfCataloging.map { |n| n.text }.should == ['fre']
430
+ expect(@mods_rec.record_info.languageOfCataloging.map { |n| n.text }).to eq(['fre'])
431
431
  end
432
432
  it "authority should get attribute value" do
433
433
  # this example is from http://www.loc.gov/standards/mods/v3/mods-userguide-elements.html
434
434
  # though it doesn't match the doc at http://www.loc.gov/standards/mods/mods-outline.html#recordInfo
435
435
  @mods_rec.from_str("<mods><recordInfo><languageOfCataloging authority='iso639-2b'>fre</languageOfCataloging></recordInfo></mods>", false)
436
- @mods_rec.record_info.languageOfCataloging.authority.should == ['iso639-2b']
436
+ expect(@mods_rec.record_info.languageOfCataloging.authority).to eq(['iso639-2b'])
437
437
  end
438
438
 
439
439
  # from http://www.loc.gov/standards/mods/userguide/recordinfo.html#languageofcataloging
@@ -444,17 +444,17 @@ describe "Mods <recordInfo> Element" do
444
444
 
445
445
  context "<languageTerm> child element" do
446
446
  it "text should get element value" do
447
- @rec_info2.languageOfCataloging.languageTerm.map { |n| n.text }.should == ['eng']
448
- @bnf.languageOfCataloging.languageTerm.map { |n| n.text }.should == ['fra']
447
+ expect(@rec_info2.languageOfCataloging.languageTerm.map { |n| n.text }).to eq(['eng'])
448
+ expect(@bnf.languageOfCataloging.languageTerm.map { |n| n.text }).to eq(['fra'])
449
449
  end
450
450
  it "should recognize all authority attributes" do
451
451
  Mods::AUTHORITY_ATTRIBS.each { |a|
452
452
  @mods_rec.from_str("<mods><recordInfo><languageOfCataloging><languageTerm #{a}='attr_val'>zzz</languageTerm></languageOfCataloging></recordInfo></mods>", false)
453
- @mods_rec.record_info.languageOfCataloging.languageTerm.send(a.to_sym).should == ['attr_val']
453
+ expect(@mods_rec.record_info.languageOfCataloging.languageTerm.send(a.to_sym)).to eq(['attr_val'])
454
454
  }
455
455
  end
456
456
  it "should recognize the type attribute with type_at term" do
457
- @rec_info2.languageOfCataloging.languageTerm.type_at.should == ['code']
457
+ expect(@rec_info2.languageOfCataloging.languageTerm.type_at).to eq(['code'])
458
458
  end
459
459
  end # <languageTerm>
460
460
 
@@ -467,21 +467,21 @@ describe "Mods <recordInfo> Element" do
467
467
 
468
468
  context "<descriptionStandard> child element" do
469
469
  it "should be a NodeSet" do
470
- [@rec_info, @rec_info2, @bnf, @rlin].each { |ri| ri.descriptionStandard.should be_an_instance_of(Nokogiri::XML::NodeSet) }
470
+ [@rec_info, @rec_info2, @bnf, @rlin].each { |ri| expect(ri.descriptionStandard).to be_an_instance_of(Nokogiri::XML::NodeSet) }
471
471
  end
472
472
  it "descriptionStandard NodeSet should have as many Nodes as there are <descriptionStandard> elements in the xml" do
473
- [@rec_info, @bnf].each { |ri| ri.descriptionStandard.size.should == 0 }
474
- [@rec_info2, @rlin].each { |ri| ri.descriptionStandard.size.should == 1 }
473
+ [@rec_info, @bnf].each { |ri| expect(ri.descriptionStandard.size).to eq(0) }
474
+ [@rec_info2, @rlin].each { |ri| expect(ri.descriptionStandard.size).to eq(1) }
475
475
  end
476
476
  it "text should get element value" do
477
- @rec_info2.descriptionStandard.map { |n| n.text }.should == ['aacr2']
478
- @rlin.descriptionStandard.map { |n| n.text }.should == ['appm']
479
- @bnf.descriptionStandard.map { |n| n.text }.should == []
477
+ expect(@rec_info2.descriptionStandard.map { |n| n.text }).to eq(['aacr2'])
478
+ expect(@rlin.descriptionStandard.map { |n| n.text }).to eq(['appm'])
479
+ expect(@bnf.descriptionStandard.map { |n| n.text }).to eq([])
480
480
  end
481
481
  it "should recognize all authority attributes" do
482
482
  Mods::AUTHORITY_ATTRIBS.each { |a|
483
483
  @mods_rec.from_str("<mods><recordInfo><descriptionStandard #{a}='attr_val'>zzz</descriptionStandard></recordInfo></mods>", false)
484
- @mods_rec.record_info.descriptionStandard.send(a.to_sym).should == ['attr_val']
484
+ expect(@mods_rec.record_info.descriptionStandard.send(a.to_sym)).to eq(['attr_val'])
485
485
  }
486
486
  end
487
487
  end # <descriptionStandard>