mods 0.0.23 → 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
data/spec/part_spec.rb CHANGED
@@ -7,11 +7,11 @@ describe "Mods <part> Element" do
7
7
  end
8
8
 
9
9
  it "should normalize dates" do
10
- pending "to be implemented"
10
+ skip "to be implemented"
11
11
  end
12
-
12
+
13
13
  context "basic <part> terminology pieces" do
14
-
14
+
15
15
  context "WITH namespaces" do
16
16
  before(:all) do
17
17
  @ex = @mods_rec.from_str("<mods #{@ns_decl}><part>
@@ -38,7 +38,7 @@ describe "Mods <part> Element" do
38
38
  </detail>
39
39
  </part></mods>").part
40
40
  end
41
-
41
+
42
42
  it "should be a NodeSet" do
43
43
  [@ex, @ex2, @detail].each { |p| p.should be_an_instance_of(Nokogiri::XML::NodeSet) }
44
44
  end
@@ -205,7 +205,7 @@ describe "Mods <part> Element" do
205
205
  @date.size.should == 1
206
206
  end
207
207
  it "should recognize all date attributes except keyDate" do
208
- Mods::DATE_ATTRIBS.reject { |n| n == 'keyDate' }.each { |a|
208
+ Mods::DATE_ATTRIBS.reject { |n| n == 'keyDate' }.each { |a|
209
209
  @mods_rec.from_str("<mods #{@ns_decl}><part><date #{a}='attr_val'>zzz</date></part></mods>")
210
210
  @mods_rec.part.date.send(a.to_sym).should == ['attr_val']
211
211
  }
@@ -265,7 +265,7 @@ describe "Mods <part> Element" do
265
265
  </detail>
266
266
  </part></mods>", false).part
267
267
  end
268
-
268
+
269
269
  it "should be a NodeSet" do
270
270
  [@ex, @ex2, @detail].each { |p| p.should be_an_instance_of(Nokogiri::XML::NodeSet) }
271
271
  end
@@ -432,7 +432,7 @@ describe "Mods <part> Element" do
432
432
  @date.size.should == 1
433
433
  end
434
434
  it "should recognize all date attributes except keyDate" do
435
- Mods::DATE_ATTRIBS.reject { |n| n == 'keyDate' }.each { |a|
435
+ Mods::DATE_ATTRIBS.reject { |n| n == 'keyDate' }.each { |a|
436
436
  @mods_rec.from_str("<mods><part><date #{a}='attr_val'>zzz</date></part></mods>", false)
437
437
  @mods_rec.part.date.send(a.to_sym).should == ['attr_val']
438
438
  }
@@ -468,4 +468,4 @@ describe "Mods <part> Element" do
468
468
 
469
469
 
470
470
  end # basic <part> terminoology
471
- end
471
+ end
data/spec/reader_spec.rb CHANGED
@@ -11,24 +11,40 @@ describe "Mods::Reader" do
11
11
  @example_ns_str = '<mods:mods xmlns:mods="http://www.loc.gov/mods/v3"><mods:note>ns</mods:note></mods:mods>'
12
12
  @example_no_ns_str = '<mods><note>no ns</note></mods>'
13
13
  @example_wrong_ns_str = '<mods xmlns="wrong"><note>wrong ns</note></mods>'
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)
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)
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
- @doc_from_str_default_ns.class.should == Nokogiri::XML::Document
23
- @doc_from_str_ns.class.should == Nokogiri::XML::Document
24
- @doc_from_str_no_ns.class.should == Nokogiri::XML::Document
25
- @doc_from_str_wrong_ns.class.should == Nokogiri::XML::Document
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)
26
+ end
27
+
28
+ context "from_url" do
29
+ it "from_url should turn the contents at the url into a Nokogiri::XML::Document object" do
30
+ expect(@from_url).to be_instance_of(Nokogiri::XML::Document)
31
+ end
26
32
  end
27
-
28
- it "from_url should turn the contents at the url into a Nokogiri::XML::Document object" do
29
- @from_url.class.should == Nokogiri::XML::Document
33
+
34
+ context "from_file" do
35
+ before(:all) do
36
+ @fixture_dir = File.join(File.dirname(__FILE__), 'fixture_data')
37
+ @fixture_mods_file = File.join(@fixture_dir, 'shpc1.mods.xml')
38
+ @from_file = Mods::Reader.new.from_file(@fixture_mods_file)
39
+ end
40
+ it "should turn the contents of a file into a Nokogiri::XML::Document object" do
41
+ expect(@from_file).to be_instance_of(Nokogiri::XML::Document)
42
+ end
43
+ it "should give a meaningful error if passed a bad file" do
44
+ expect(lambda{Mods::Record.new.from_file('/fake/file')}).to raise_error
45
+ end
30
46
  end
31
-
47
+
32
48
  context "namespace awareness" do
33
49
  it "should care about namespace by default" do
34
50
  r = Mods::Reader.new
@@ -58,13 +74,13 @@ describe "Mods::Reader" do
58
74
  my_from_str_wrong_ns = r.from_str(@example_wrong_ns_str)
59
75
  my_from_str_wrong_ns.xpath('/m:mods/m:note', @ns_hash).size.should == 0
60
76
  my_from_str_wrong_ns.xpath('/mods/note').text.should == "wrong ns"
61
- end
77
+ end
62
78
  end
63
-
79
+
64
80
  it "should do something useful when it gets unparseable XML" do
65
- pending "need to implement error handling for bad xml"
81
+ skip "need to implement error handling for bad xml"
66
82
  end
67
-
83
+
68
84
  context "normalizing mods" do
69
85
  it "should not lose UTF-8 encoding" do
70
86
  utf_mods = '<?xml version="1.0" encoding="UTF-8"?>
@@ -92,7 +108,7 @@ describe "Mods::Reader" do
92
108
  r.mods_ng_xml.root.attributes.keys.should_not include('xsi:schemaLocation')
93
109
  end
94
110
  end
95
-
111
+
96
112
  context "from_nk_node" do
97
113
  before(:all) do
98
114
  oai_resp = '<?xml version="1.0" encoding="UTF-8"?>
@@ -132,7 +148,7 @@ describe "Mods::Reader" do
132
148
  mods_ng_doc.xpath('/m:mods/m:titleInfo/m:title', @ns_hash).size.should == 0
133
149
  mods_ng_doc.xpath('/mods/titleInfo/title').text.should == "boo"
134
150
  @r.namespace_aware = true
135
- end
151
+ end
136
152
  end # context from_nk_node
137
-
138
- end
153
+
154
+ end
@@ -7,15 +7,15 @@ describe "Mods <recordInfo> Element" do
7
7
  end
8
8
 
9
9
  it "should translate language codes" do
10
- pending "to be implemented"
10
+ skip "to be implemented"
11
11
  end
12
-
12
+
13
13
  it "should normalize dates" do
14
- pending "to be implemented"
14
+ skip "to be implemented"
15
15
  end
16
-
16
+
17
17
  context "basic <record_info> terminology pieces" do
18
-
18
+
19
19
  context "WITH namespaces" do
20
20
  before(:all) do
21
21
  @rec_info = @mods_rec.from_str("<mods #{@ns_decl}><recordInfo>
@@ -57,8 +57,8 @@ describe "Mods <recordInfo> Element" do
57
57
  [@rec_info, @rec_info2, @bnf, @rlin].each { |ri| ri.size.should == 1 }
58
58
  end
59
59
  it "should recognize language attributes on <recordInfo> element" do
60
- pending "problem with xml:lang"
61
- Mods::LANG_ATTRIBS.each { |a|
60
+ skip "problem with xml:lang"
61
+ Mods::LANG_ATTRIBS.each { |a|
62
62
  @mods_rec.from_str("<mods #{@ns_decl}><recordInfo #{a}='val'><recordOrigin>nowhere</recordOrigin></recordInfo></mods>")
63
63
  @mods_rec.record_info.send(a.to_sym).should == ['val']
64
64
  }
@@ -86,7 +86,7 @@ describe "Mods <recordInfo> Element" do
86
86
  @bnf.recordContentSource.authority.size.should == 0
87
87
  end
88
88
  it "should recognize all authority attributes" do
89
- Mods::AUTHORITY_ATTRIBS.each { |a|
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
91
  @mods_rec.record_info.recordContentSource.send(a.to_sym).should == ['attr_val']
92
92
  }
@@ -111,7 +111,7 @@ describe "Mods <recordInfo> Element" do
111
111
  @bnf.recordCreationDate.encoding.should == ['w3cdtf']
112
112
  end
113
113
  it "should recognize all date attributes" do
114
- Mods::DATE_ATTRIBS.each { |a|
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
116
  @mods_rec.record_info.recordCreationDate.send(a.to_sym).should == ['attr_val']
117
117
  }
@@ -133,7 +133,7 @@ describe "Mods <recordInfo> Element" do
133
133
  @rlin.recordChangeDate.encoding.should == ['iso8601']
134
134
  end
135
135
  it "should recognize all date attributes" do
136
- Mods::DATE_ATTRIBS.each { |a|
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
138
  @mods_rec.record_info.recordChangeDate.send(a.to_sym).should == ['attr_val']
139
139
  }
@@ -201,9 +201,9 @@ describe "Mods <recordInfo> Element" do
201
201
  end
202
202
 
203
203
  # from http://www.loc.gov/standards/mods/userguide/recordinfo.html#languageofcataloging
204
- # objectPart attribute defined for consistency with <language> . Unlikely to be used with <languageOfCataloging>
204
+ # objectPart attribute defined for consistency with <language> . Unlikely to be used with <languageOfCataloging>
205
205
  it "objectType should get attribute value" do
206
- pending "<languageOfCataloging objectType=''> to be implemented ... maybe ..."
206
+ skip "<languageOfCataloging objectType=''> to be implemented ... maybe ..."
207
207
  end
208
208
 
209
209
  context "<languageTerm> child element" do
@@ -224,7 +224,7 @@ describe "Mods <recordInfo> Element" do
224
224
 
225
225
  context "<scriptTerm> child element" do
226
226
  it "should do something" do
227
- pending "<recordInfo><languageOfCataloging><scriptTerm> to be implemented"
227
+ skip "<recordInfo><languageOfCataloging><scriptTerm> to be implemented"
228
228
  end
229
229
  end
230
230
  end # <languageOfCataloging>
@@ -243,13 +243,13 @@ describe "Mods <recordInfo> Element" do
243
243
  @bnf.descriptionStandard.map { |n| n.text }.should == []
244
244
  end
245
245
  it "should recognize all authority attributes" do
246
- Mods::AUTHORITY_ATTRIBS.each { |a|
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
248
  @mods_rec.record_info.descriptionStandard.send(a.to_sym).should == ['attr_val']
249
249
  }
250
250
  end
251
251
  end # <descriptionStandard>
252
-
252
+
253
253
  end # WITH namespaces
254
254
 
255
255
  context "WITHOUT namespaces" do
@@ -293,8 +293,8 @@ describe "Mods <recordInfo> Element" do
293
293
  [@rec_info, @rec_info2, @bnf, @rlin].each { |ri| ri.size.should == 1 }
294
294
  end
295
295
  it "should recognize language attributes on <recordInfo> element" do
296
- pending "problem with xml:lang"
297
- Mods::LANG_ATTRIBS.each { |a|
296
+ skip "problem with xml:lang"
297
+ Mods::LANG_ATTRIBS.each { |a|
298
298
  @mods_rec.from_str("<mods><recordInfo #{a}='val'><recordOrigin>nowhere</recordOrigin></recordInfo></mods>", false)
299
299
  @mods_rec.record_info.send(a.to_sym).should == ['val']
300
300
  }
@@ -322,7 +322,7 @@ describe "Mods <recordInfo> Element" do
322
322
  @bnf.recordContentSource.authority.size.should == 0
323
323
  end
324
324
  it "should recognize all authority attributes" do
325
- Mods::AUTHORITY_ATTRIBS.each { |a|
325
+ Mods::AUTHORITY_ATTRIBS.each { |a|
326
326
  @mods_rec.from_str("<mods><recordInfo><recordContentSource #{a}='attr_val'>zzz</recordContentSource></recordInfo></mods>", false)
327
327
  @mods_rec.record_info.recordContentSource.send(a.to_sym).should == ['attr_val']
328
328
  }
@@ -347,7 +347,7 @@ describe "Mods <recordInfo> Element" do
347
347
  @bnf.recordCreationDate.encoding.should == ['w3cdtf']
348
348
  end
349
349
  it "should recognize all date attributes" do
350
- Mods::DATE_ATTRIBS.each { |a|
350
+ Mods::DATE_ATTRIBS.each { |a|
351
351
  @mods_rec.from_str("<mods><recordInfo><recordCreationDate #{a}='attr_val'>zzz</recordCreationDate></recordInfo></mods>", false)
352
352
  @mods_rec.record_info.recordCreationDate.send(a.to_sym).should == ['attr_val']
353
353
  }
@@ -369,7 +369,7 @@ describe "Mods <recordInfo> Element" do
369
369
  @rlin.recordChangeDate.encoding.should == ['iso8601']
370
370
  end
371
371
  it "should recognize all date attributes" do
372
- Mods::DATE_ATTRIBS.each { |a|
372
+ Mods::DATE_ATTRIBS.each { |a|
373
373
  @mods_rec.from_str("<mods><recordInfo><recordChangeDate #{a}='attr_val'>zzz</recordChangeDate></recordInfo></mods>", false)
374
374
  @mods_rec.record_info.recordChangeDate.send(a.to_sym).should == ['attr_val']
375
375
  }
@@ -437,9 +437,9 @@ describe "Mods <recordInfo> Element" do
437
437
  end
438
438
 
439
439
  # from http://www.loc.gov/standards/mods/userguide/recordinfo.html#languageofcataloging
440
- # objectPart attribute defined for consistency with <language> . Unlikely to be used with <languageOfCataloging>
440
+ # objectPart attribute defined for consistency with <language> . Unlikely to be used with <languageOfCataloging>
441
441
  it "objectType should get attribute value" do
442
- pending "<languageOfCataloging objectType=''> to be implemented ... maybe ..."
442
+ skip "<languageOfCataloging objectType=''> to be implemented ... maybe ..."
443
443
  end
444
444
 
445
445
  context "<languageTerm> child element" do
@@ -460,7 +460,7 @@ describe "Mods <recordInfo> Element" do
460
460
 
461
461
  context "<scriptTerm> child element" do
462
462
  it "should do something" do
463
- pending "<recordInfo><languageOfCataloging><scriptTerm> to be implemented"
463
+ skip "<recordInfo><languageOfCataloging><scriptTerm> to be implemented"
464
464
  end
465
465
  end
466
466
  end # <languageOfCataloging>
@@ -479,15 +479,15 @@ describe "Mods <recordInfo> Element" do
479
479
  @bnf.descriptionStandard.map { |n| n.text }.should == []
480
480
  end
481
481
  it "should recognize all authority attributes" do
482
- Mods::AUTHORITY_ATTRIBS.each { |a|
482
+ Mods::AUTHORITY_ATTRIBS.each { |a|
483
483
  @mods_rec.from_str("<mods><recordInfo><descriptionStandard #{a}='attr_val'>zzz</descriptionStandard></recordInfo></mods>", false)
484
484
  @mods_rec.record_info.descriptionStandard.send(a.to_sym).should == ['attr_val']
485
485
  }
486
486
  end
487
487
  end # <descriptionStandard>
488
-
488
+
489
489
  end # WITHOUT namespaces
490
-
490
+
491
491
  end # basic <record_info> terminology pieces
492
492
 
493
- end
493
+ end
data/spec/record_spec.rb CHANGED
@@ -7,8 +7,8 @@ describe "Mods::Record" do
7
7
  @example_ns_str = "<mods #{@def_ns_decl}><note>default ns</note></mods>"
8
8
  @example_no_ns_str = '<mods><note>no ns</note></mods>'
9
9
  @example_record_url = 'http://www.loc.gov/standards/mods/modsrdf/examples/0001.xml'
10
- @doc_from_str_ns = Mods::Reader.new.from_str(@example_ns_str)
11
- @doc_from_str_no_ns = Mods::Reader.new.from_str(@example_no_ns_str)
10
+ @doc_from_str_ns = Mods::Reader.new.from_str(@example_ns_str)
11
+ @doc_from_str_no_ns = Mods::Reader.new.from_str(@example_no_ns_str)
12
12
  end
13
13
 
14
14
  context "from_str" do
@@ -31,18 +31,31 @@ describe "Mods::Record" do
31
31
  end
32
32
  end
33
33
 
34
+ # Be able to create a new Mods::Record from a url
34
35
  context "from_url" do
35
36
  before(:all) do
36
37
  @mods_doc = Mods::Record.new.from_url(@example_record_url)
37
38
  end
38
- it "should be a mods record" do
39
- @mods_doc.kind_of? Mods::Record
39
+ it "should return a mods record" do
40
+ expect(@mods_doc).to be_a_kind_of(Mods::Record)
40
41
  end
41
42
  it "should raise an error on a bad url" do
42
43
  lambda{Mods::Record.new.from_url("http://example.org/fake.xml")}.should raise_error
43
44
  end
44
45
  end
45
-
46
+
47
+ # Be able to create a new Mods::Record from a file
48
+ context "from_file" do
49
+ before(:all) do
50
+ @fixture_dir = File.join(File.dirname(__FILE__), 'fixture_data')
51
+ @fixture_mods_file = File.join(@fixture_dir, 'shpc1.mods.xml')
52
+ @mods_doc = Mods::Record.new.from_file(@fixture_mods_file)
53
+ end
54
+ it "should return a mods record" do
55
+ expect(@mods_doc).to be_a_kind_of(Mods::Record)
56
+ end
57
+ end
58
+
46
59
  context "from_nk_node" do
47
60
  before(:all) do
48
61
  oai_resp = '<?xml version="1.0" encoding="UTF-8"?>
@@ -76,7 +89,7 @@ describe "Mods::Record" do
76
89
  </n:titleInfo>
77
90
  </n:mods>
78
91
  </metadata>'
79
- ng_xml = Nokogiri::XML(bad_ns_wrapped)
92
+ ng_xml = Nokogiri::XML(bad_ns_wrapped)
80
93
  @mods_node_no_ns = ng_xml.xpath('//n:mods', {'n'=>'http://www.not.mods.org'}).first
81
94
  end
82
95
  it "should have namespace aware parsing turned on by default" do
@@ -94,7 +107,7 @@ describe "Mods::Record" do
94
107
  mods_ng_doc.title_info.title.map { |e| e.text }.should == ["What? No namespaces?"]
95
108
  end
96
109
  end # context from_nk_node
97
-
110
+
98
111
  context "getting term values" do
99
112
  before(:all) do
100
113
  m = "<mods #{@def_ns_decl}>
@@ -108,7 +121,7 @@ describe "Mods::Record" do
108
121
  @mods_rec = Mods::Record.new
109
122
  @mods_rec.from_str(m)
110
123
  end
111
-
124
+
112
125
  context "term_value (single value result)" do
113
126
  it "should return nil if there are no such values in the MODS" do
114
127
  @mods_rec.term_value(:identifier).should == nil
@@ -158,9 +171,9 @@ describe "Mods::Record" do
158
171
  it "should raise an error if the argument isn't a Symbol or an Array" do
159
172
  expect { @mods_rec.term_values(@mods_rec.subject) }.to raise_error(ArgumentError, /term_values called with unrecognized argument class:.*NodeSet.*/)
160
173
  end
161
- end
174
+ end
162
175
  end # getting term values
163
-
176
+
164
177
  context "convenience methods for accessing tricky bits of terminology" do
165
178
  before(:all) do
166
179
  @mods_rec = Mods::Record.new
@@ -185,7 +198,7 @@ describe "Mods::Record" do
185
198
  @mods_rec.alternative_titles.should == ['12']
186
199
  end
187
200
  end
188
-
201
+
189
202
  context "personal_names" do
190
203
  before(:all) do
191
204
  @pers_name = 'Crusty'
@@ -193,7 +206,7 @@ describe "Mods::Record" do
193
206
  @pers_role = 'creator'
194
207
  @mods_w_pers_name_role = "<mods #{@def_ns_decl}><name type='personal'><namePart>#{@pers_name}</namePart>"
195
208
  @given_family = '<mods xmlns="http://www.loc.gov/mods/v3"><name type="personal"><namePart type="given">Jorge Luis</namePart>
196
- <namePart type="family">Borges</namePart></name></mods>'
209
+ <namePart type="family">Borges</namePart></name></mods>'
197
210
  @given_family_date = '<mods xmlns="http://www.loc.gov/mods/v3"><name type="personal"><namePart type="given">Zaphod</namePart>
198
211
  <namePart type="family">Beeblebrox</namePart>
199
212
  <namePart type="date">1912-2362</namePart></name></mods>'
@@ -218,7 +231,7 @@ describe "Mods::Record" do
218
231
  it "should prefer displayForm over namePart pieces" do
219
232
  display_form_and_name_parts = '<mods xmlns="http://www.loc.gov/mods/v3"><name type="personal"><namePart type="given">Jorge Luis</namePart>
220
233
  <namePart type="family">Borges</namePart>
221
- <displayForm>display form</displayForm></name></mods>'
234
+ <displayForm>display form</displayForm></name></mods>'
222
235
  @mods_rec.from_str(display_form_and_name_parts)
223
236
  @mods_rec.personal_names.should include("display form")
224
237
  end
@@ -244,7 +257,7 @@ describe "Mods::Record" do
244
257
  @mods_rec.personal_names.should include("Borges, Jorge Luis")
245
258
  end
246
259
  it "should not include a comma when there is only a family or given name" do
247
- [@family_only, @given_only].each { |mods_str|
260
+ [@family_only, @given_only].each { |mods_str|
248
261
  @mods_rec.from_str(mods_str)
249
262
  @mods_rec.personal_names.first.should_not match(/,/)
250
263
  }
@@ -252,13 +265,13 @@ describe "Mods::Record" do
252
265
  it "should include terms of address" do
253
266
  @mods_rec.from_str(@all_name_parts)
254
267
  @mods_rec.personal_names.first.should match(/Mr./)
255
- end
256
- end # personal_names
257
-
268
+ end
269
+ end # personal_names
270
+
258
271
  context "personal_names_w_dates" do
259
272
  before(:all) do
260
273
  @given_family = '<mods xmlns="http://www.loc.gov/mods/v3"><name type="personal"><namePart type="given">Jorge Luis</namePart>
261
- <namePart type="family">Borges</namePart></name></mods>'
274
+ <namePart type="family">Borges</namePart></name></mods>'
262
275
  @given_family_date = '<mods xmlns="http://www.loc.gov/mods/v3"><name type="personal"><namePart type="given">Zaphod</namePart>
263
276
  <namePart type="family">Beeblebrox</namePart>
264
277
  <namePart type="date">1912-2362</namePart></name></mods>'
@@ -276,13 +289,13 @@ describe "Mods::Record" do
276
289
  @mods_rec.personal_names_w_dates.first.should match(/, 1912-2362$/)
277
290
  @mods_rec.from_str(@all_name_parts)
278
291
  @mods_rec.personal_names_w_dates.first.should match(/, date$/)
279
- end
292
+ end
280
293
  it "should be just the personal_name if no date is available" do
281
294
  @mods_rec.from_str(@given_family)
282
295
  @mods_rec.personal_names_w_dates.first.should == 'Borges, Jorge Luis'
283
296
  end
284
297
  end
285
-
298
+
286
299
  context "corporate_names" do
287
300
  before(:all) do
288
301
  @corp_name = 'ABC corp'
@@ -295,18 +308,18 @@ describe "Mods::Record" do
295
308
  corp_role = 'lithographer'
296
309
  mods_w_corp_name_role = "<mods #{@def_ns_decl}><name type='corporate'><namePart>#{@corp_name}</namePart>
297
310
  <role><roleTerm type='text'>#{corp_role}</roleTerm></role></name></mods>"
298
- @mods_rec.from_str(mods_w_corp_name_role)
311
+ @mods_rec.from_str(mods_w_corp_name_role)
299
312
  @mods_rec.corporate_names.first.should_not match(corp_role)
300
313
  end
301
314
 
302
315
  it "should prefer displayForm over namePart pieces" do
303
316
  display_form_and_name_parts = "<mods #{@def_ns_decl}><name type='corporate'><namePart>Food, Inc.</namePart>
304
- <displayForm>display form</displayForm></name></mods>"
317
+ <displayForm>display form</displayForm></name></mods>"
305
318
  @mods_rec.from_str(display_form_and_name_parts)
306
319
  @mods_rec.corporate_names.should include("display form")
307
320
  end
308
321
  end # corporate_names
309
-
322
+
310
323
  context "languages" do
311
324
  before(:all) do
312
325
  @simple = "<mods #{@def_ns_decl}><language>Greek</language></mods>"