mods 2.3.0 → 3.0.0.alpha1

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.
Files changed (45) hide show
  1. checksums.yaml +5 -5
  2. data/.github/workflows/ruby.yml +24 -0
  3. data/.gitignore +1 -0
  4. data/Gemfile +1 -5
  5. data/README.md +1 -3
  6. data/lib/mods/marc_country_codes.rb +12 -10
  7. data/lib/mods/nom_terminology.rb +109 -848
  8. data/lib/mods/origin_info.rb +3 -1
  9. data/lib/mods/reader.rb +9 -39
  10. data/lib/mods/record.rb +13 -28
  11. data/lib/mods/version.rb +1 -1
  12. data/mods.gemspec +4 -4
  13. data/spec/fixture_data/hp566jq8781.xml +334 -0
  14. data/spec/integration/parker_spec.rb +217 -0
  15. data/spec/{date_spec.rb → lib/date_spec.rb} +0 -0
  16. data/spec/lib/language_spec.rb +123 -0
  17. data/spec/lib/location_spec.rb +175 -0
  18. data/spec/lib/name_spec.rb +366 -0
  19. data/spec/lib/origin_info_spec.rb +134 -0
  20. data/spec/lib/part_spec.rb +162 -0
  21. data/spec/lib/physical_description_spec.rb +72 -0
  22. data/spec/{reader_spec.rb → lib/reader_spec.rb} +1 -41
  23. data/spec/lib/record_info_spec.rb +114 -0
  24. data/spec/lib/record_spec.rb +287 -0
  25. data/spec/lib/related_item_spec.rb +124 -0
  26. data/spec/lib/subject_spec.rb +427 -0
  27. data/spec/lib/title_spec.rb +108 -0
  28. data/spec/lib/top_level_elmnts_simple_spec.rb +169 -0
  29. data/spec/spec_helper.rb +87 -6
  30. data/spec/support/fixtures.rb +9 -0
  31. metadata +65 -47
  32. data/.coveralls.yml +0 -1
  33. data/.travis.yml +0 -12
  34. data/spec/language_spec.rb +0 -118
  35. data/spec/location_spec.rb +0 -295
  36. data/spec/name_spec.rb +0 -759
  37. data/spec/origin_info_spec.rb +0 -442
  38. data/spec/part_spec.rb +0 -471
  39. data/spec/physical_description_spec.rb +0 -144
  40. data/spec/record_info_spec.rb +0 -493
  41. data/spec/record_spec.rb +0 -356
  42. data/spec/related_item_spec.rb +0 -305
  43. data/spec/subject_spec.rb +0 -809
  44. data/spec/title_spec.rb +0 -226
  45. data/spec/top_level_elmnts_simple_spec.rb +0 -369
@@ -1,442 +0,0 @@
1
- # encoding: utf-8
2
- require 'spec_helper'
3
-
4
- describe "Mods <originInfo> Element" do
5
- before(:all) do
6
- @mods_rec = Mods::Record.new
7
- @ns_decl = "xmlns='#{Mods::MODS_NS}'"
8
- @kolb = "<mods>
9
- <originInfo>
10
- <dateCreated>1537-1553.</dateCreated>
11
- <dateCreated point='start'>1537</dateCreated>
12
- <dateCreated point='end'>1553</dateCreated>
13
- </originInfo></mods>"
14
- @reid_dennis = "<mods><originInfo><dateIssued>1852</dateIssued></originInfo></mods>"
15
- @walters = "<mods><originInfo>
16
- <place>
17
- <placeTerm type='text'>Iran</placeTerm>
18
- </place>
19
- <dateIssued>22 Rabīʿ II 889 AH / 1484 CE</dateIssued>
20
- <issuance>monographic</issuance>
21
- </originInfo>
22
- </mods>"
23
- @simple = "<mods><originInfo><dateIssued>circa 1900</dateIssued></originInfo></mods>"
24
- @ew = "<mods><originInfo>
25
- <place>
26
- <placeTerm type='text'>Reichenau Abbey, Lake Constance, Germany</placeTerm>
27
- </place>
28
- <dateIssued>Middle of the 11th century CE</dateIssued>
29
- <issuance>monographic</issuance>
30
- </originInfo>
31
- </mods>"
32
- @e = "<mods><originInfo>
33
- <place>
34
- <placeTerm type='code' authority='marccountry'>au</placeTerm>
35
- </place>
36
- <place>
37
- <placeTerm type='text'>[Austria?</placeTerm>
38
- </place>
39
- <dateIssued>circa 1180-1199]</dateIssued>
40
- <issuance>monographic</issuance>
41
- </originInfo></mods>"
42
- @f = "<mods> <originInfo>
43
- <place>
44
- <placeTerm authority='marccountry' type='code'>cau</placeTerm>
45
- </place>
46
- <dateIssued encoding='marc' keyDate='yes' point='start'>1850</dateIssued>
47
- <dateIssued encoding='marc' point='end'>1906</dateIssued>
48
- <issuance>monographic</issuance>
49
- </originInfo>
50
- </mods>"
51
- @ex = "<mods><originInfo>
52
- <place>
53
- <placeTerm>France and Italy</placeTerm>
54
- </place>
55
- <dateCreated keyDate='yes' qualifier='inferred'>173-?</dateCreated>
56
- </originInfo>
57
- </mods>"
58
- @ex1 = "<mods><originInfo>
59
- <publisher>Robot Publishing</publisher>
60
- <place>
61
- <placeTerm>France</placeTerm>
62
- </place>
63
- <place>
64
- <placeTerm>Italy</placeTerm>
65
- </place>
66
- <dateCreated keyDate='yes' qualifier='inferred'>173-?</dateCreated>
67
- <dateIssued>1850</dateIssued>
68
- </originInfo>
69
- </mods>"
70
- @ex2 = "<mods><originInfo>
71
- <place>
72
- <placeTerm type='code' authority='marccountry'>enk</placeTerm>
73
- </place>
74
- <place>
75
- <placeTerm type='text'>[London]</placeTerm>
76
- </place>
77
- <publisher>Bunney &amp; Gold</publisher>
78
- <dateIssued>1799</dateIssued>
79
- <dateIssued encoding='marc' keyDate='yes'>1799</dateIssued>
80
- <issuance>monographic</issuance>
81
- </originInfo>
82
- </mods>"
83
- @ex3 = "<mods><originInfo>
84
- <place>
85
- <placeTerm type='code' authority='marccountry'>xx</placeTerm>
86
- </place>
87
- <place>
88
- <placeTerm type='text'>[s.l. : s.n.]</placeTerm>
89
- </place>
90
- <dateIssued>1780?]</dateIssued>
91
- <dateIssued encoding='marc' keyDate='yes'>178u</dateIssued>
92
- <issuance>monographic</issuance>
93
- </originInfo>
94
- </mods>"
95
- @ex4 = "<mods><originInfo>
96
- <place>
97
- <placeTerm type='code' authority='marccountry'>fr</placeTerm>
98
- </place>
99
- <place>
100
- <placeTerm type='text'>[S.l.]</placeTerm>
101
- </place>
102
- <publisher>[s.n.]</publisher>
103
- <dateIssued>[1740.]</dateIssued>
104
- <dateIssued encoding='marc' point='start' qualifier='questionable' keyDate='yes'>1740</dateIssued>
105
- <dateIssued encoding='marc' point='end' qualifier='questionable'>1749</dateIssued>
106
- <issuance>monographic</issuance>
107
- </originInfo>
108
- </mods>"
109
- @ex5 = "<mods><originInfo>
110
- <place>
111
- <placeTerm type='code' authority='marccountry'>xx</placeTerm>
112
- </place>
113
- <place>
114
- <placeTerm type='text'>[S.l.]</placeTerm>
115
- </place>
116
- <publisher>Olney</publisher>
117
- <dateIssued>1844</dateIssued>
118
- <dateIssued encoding='marc' keyDate='yes'>1844</dateIssued>
119
- <issuance>monographic</issuance>
120
- </originInfo>
121
- </mods>"
122
- @ex6 = "<mods><originInfo>
123
- <place>
124
- <placeTerm type='code' authority='marccountry'>enk</placeTerm>
125
- </place>
126
- <place>
127
- <placeTerm type='text'>[London</placeTerm>
128
- </place>
129
- <publisher>Printed for William Innys and Joseph Richardson ... [et al.]</publisher>
130
- <dateIssued>1752]</dateIssued>
131
- <dateIssued encoding='marc' keyDate='yes'>1752</dateIssued>
132
- <issuance>monographic</issuance>
133
- </originInfo>
134
- </mods>"
135
- @ex7 = "<mods><originInfo>
136
- <place>
137
- <placeTerm authority='marccountry' type='code'>fr</placeTerm>
138
- </place>
139
- <place>
140
- <placeTerm type='text'>[S.l.]</placeTerm>
141
- </place>
142
- <publisher>[s.n.]</publisher>
143
- <dateIssued>[1740.]</dateIssued>
144
- <dateIssued encoding='marc' keyDate='yes' point='start' qualifier='questionable'>1740</dateIssued>
145
- <dateIssued encoding='marc' point='end' qualifier='questionable'>1749</dateIssued>
146
- <issuance>monographic</issuance>
147
- </originInfo>
148
- </mods>"
149
-
150
- xml = "<originInfo>
151
- <dateCreated encoding='w3cdtf' keyDate='yes' point='start' qualifier='approximate'>250 B.C.</dateCreated>
152
- <dateCreated encoding='w3cdtf' keyDate='yes' point='end' qualifier='approximate'>150 B.C.</dateCreated>
153
- </originInfo>"
154
-
155
- end
156
-
157
- context "parsing date values" do
158
- it "should cope with slop" do
159
- skip "to be implemented"
160
- end
161
- it "should know something about various date encodings: w3cdtf, iso8601, marc, edtf, temper" do
162
- skip "to be implemented"
163
- end
164
- it "should know the only valid values for point attribute are 'start' and 'end'" do
165
- skip "to be implemented"
166
- end
167
- it "should know the only valid value for keyDate attribute is 'yes" do
168
- skip "to be implemented"
169
- end
170
- it "should know the only valid values for qualifier attribute: approximate, inferred, questionable" do
171
- skip "to be implemented"
172
- end
173
- end
174
-
175
- context "parsing issuance" do
176
- it "should know the only valid values are: continuing, monographic, single unit, multipart monograph, serial, integrating resource" do
177
- skip "to be implemented"
178
- end
179
- end
180
-
181
- context "parsing publisher" do
182
- it "should ignore s.n. value (from MARC)" do
183
- skip "to be implemented"
184
- end
185
- it "should leave square brackets alone, except for s.n." do
186
- skip "to be implemented"
187
- end
188
- end
189
-
190
- context "parsing placeTerm" do
191
- it "should be able to translate marccountry codes" do
192
- skip "to be implemented"
193
- end
194
- it "should ignore s.l. value (from MARC)" do
195
- skip "to be implemented"
196
- end
197
- it "should be forgiving of square brackets (from MARC), matched or unmatched" do
198
- skip "to be implemented"
199
- end
200
- end
201
-
202
-
203
- context "basic <originInfo> terminology pieces" do
204
-
205
- context "WITH namespaces" do
206
- context "<place> child element" do
207
- before(:all) do
208
- @place_term_text = "<mods #{@ns_decl}><originInfo><place><placeTerm type='text'>Iran</placeTerm></place></originInfo></mods>"
209
- @place_term_plain_mult = "<mods #{@ns_decl}><originInfo>
210
- <place><placeTerm>France</placeTerm></place>
211
- <place><placeTerm>Italy</placeTerm></place></originInfo></mods>"
212
- @place_term_code = "<mods #{@ns_decl}><originInfo><place><placeTerm authority='marccountry' type='code'>fr</placeTerm></place></originInfo></mods>"
213
- @yuck1 = "<mods #{@ns_decl}><originInfo><place><placeTerm type='text'>[S.l.]</placeTerm></place></originInfo></mods>"
214
- @yuck2 = "<mods #{@ns_decl}><originInfo><place><placeTerm type='text'>[London</placeTerm></place></originInfo></mods>"
215
- @yuck3 = "<mods #{@ns_decl}><originInfo><place><placeTerm type='text'>[s.l. : s.n.]</placeTerm></place></originInfo></mods>"
216
- @yuck4 = "<mods #{@ns_decl}><originInfo><place><placeTerm type='text'>[London]</placeTerm></place></originInfo></mods>"
217
- end
218
- context "<placeTerm> child element" do
219
- it "should get element values" do
220
- vals = @mods_rec.from_str(@place_term_plain_mult).origin_info.place.placeTerm.map { |e| e.text}
221
- expect(vals.size).to eq(2)
222
- expect(vals).to include("France")
223
- expect(vals).to include("Italy")
224
- end
225
- it "should get authority attribute" do
226
- expect(@mods_rec.from_str(@place_term_code).origin_info.place.placeTerm.authority).to eq(["marccountry"])
227
- end
228
- it "should get type(_at) attribute" do
229
- expect(@mods_rec.from_str(@place_term_code).origin_info.place.placeTerm.type_at).to eq(["code"])
230
- end
231
- end # placeTerm
232
- end # place
233
-
234
- context "<publisher> child element" do
235
- before(:all) do
236
- @ex = "<mods #{@ns_decl}><originInfo><publisher>Olney</publisher></origin_info></mods>"
237
- @yuck1 = "<mods #{@ns_decl}><originInfo><publisher>[s.n.]</publisher></originInfo></mods>"
238
- @yuck2 = "<mods #{@ns_decl}><originInfo><publisher>Printed for William Innys and Joseph Richardson ... [et al.]</publisher></originInfo></mods>"
239
- end
240
- it "should get element values" do
241
- vals = @mods_rec.from_str("<mods #{@ns_decl}><originInfo><publisher>Olney</publisher></origin_info></mods>").origin_info.publisher
242
- expect(vals.map { |n| n.text }).to eq(["Olney"])
243
- end
244
- end
245
-
246
- describe '#as_object' do
247
- describe '#key_dates' do
248
- it 'should extract the date with the keyDate attribute' do
249
- @mods_rec.from_str("<mods #{@ns_decl}><originInfo><dateCreated>other date</dateCreated><dateCreated keyDate='yes'>key date</dateCreated></originInfo></mods>")
250
- expect(@mods_rec.origin_info.as_object.first.key_dates.first.text).to eq 'key date'
251
- end
252
- end
253
- end
254
-
255
- context "<xxxDate> child elements" do
256
- it "should recognize each element" do
257
- Mods::ORIGIN_INFO_DATE_ELEMENTS.each { |elname|
258
- @mods_rec.from_str("<mods #{@ns_decl}><originInfo><#{elname}>date</#{elname}></originInfo></mods>")
259
- expect(@mods_rec.origin_info.send(elname.to_sym).map { |n| n.text }).to eq(["date"])
260
- }
261
- end
262
- it "should recognize encoding attribute on each element" do
263
- Mods::ORIGIN_INFO_DATE_ELEMENTS.each { |elname|
264
- @mods_rec.from_str("<mods #{@ns_decl}><originInfo><#{elname} encoding='foo'>date</#{elname}></originInfo></mods>")
265
- expect(@mods_rec.origin_info.send(elname.to_sym).encoding).to eq(["foo"])
266
- }
267
- end
268
- it "should recognize keyDate attribute" do
269
- Mods::ORIGIN_INFO_DATE_ELEMENTS.each { |elname|
270
- @mods_rec.from_str("<mods #{@ns_decl}><originInfo><#{elname} keyDate='foo'>date</#{elname}></originInfo></mods>")
271
- expect(@mods_rec.origin_info.send(elname.to_sym).keyDate).to eq(["foo"])
272
- }
273
- end
274
- it "should recognize point attribute" do
275
- # NOTE: values allowed are 'start' and 'end'
276
- Mods::ORIGIN_INFO_DATE_ELEMENTS.each { |elname|
277
- @mods_rec.from_str("<mods #{@ns_decl}><originInfo><#{elname} point='foo'>date</#{elname}></originInfo></mods>")
278
- expect(@mods_rec.origin_info.send(elname.to_sym).point).to eq(["foo"])
279
- }
280
- end
281
- it "should recognize qualifier attribute" do
282
- Mods::ORIGIN_INFO_DATE_ELEMENTS.each { |elname|
283
- @mods_rec.from_str("<mods #{@ns_decl}><originInfo><#{elname} qualifier='foo'>date</#{elname}></originInfo></mods>")
284
- expect(@mods_rec.origin_info.send(elname.to_sym).qualifier).to eq(["foo"])
285
- }
286
- end
287
- it "should recognize type attribute only on dateOther" do
288
- Mods::ORIGIN_INFO_DATE_ELEMENTS.each { |elname|
289
- @mods_rec.from_str("<mods #{@ns_decl}><originInfo><#{elname} type='foo'>date</#{elname}></originInfo></mods>")
290
- if elname == 'dateOther'
291
- expect(@mods_rec.origin_info.send(elname.to_sym).type_at).to eq(["foo"])
292
- else
293
- expect { @mods_rec.origin_info.send(elname.to_sym).type_at}.to raise_exception(NoMethodError, /type_at/)
294
- end
295
- }
296
- end
297
- end # <xxxDate> child elements
298
-
299
- it "<edition> child element" do
300
- xml = "<mods #{@ns_decl}><originInfo><edition>7th ed.</edition></originInfo></mods>"
301
- expect(@mods_rec.from_str(xml).origin_info.edition.map { |n| n.text }).to eq(['7th ed.'])
302
- end
303
-
304
- context "<issuance> child element" do
305
- before(:all) do
306
- @ex = "<mods #{@ns_decl}><originInfo><issuance>monographic</issuance></originInfo></mods>"
307
- end
308
- it "should get element value" do
309
- expect(@mods_rec.from_str(@ex).origin_info.issuance.map { |n| n.text }).to eq(['monographic'])
310
- end
311
- end
312
-
313
- context "<frequency> child element" do
314
- before(:all) do
315
- xml = "<mods #{@ns_decl}><originInfo><frequency authority='marcfrequency'>Annual</frequency></originInfo></mods>"
316
- @origin_info = @mods_rec.from_str(xml).origin_info
317
- end
318
- it "should get element value" do
319
- expect(@origin_info.frequency.map { |n| n.text }).to eq(["Annual"])
320
- end
321
- it "should recognize the authority attribute" do
322
- expect(@origin_info.frequency.authority).to eq(["marcfrequency"])
323
- end
324
- end
325
- end # WITH namspaces
326
-
327
- context "WITHOUT namespaces" do
328
- context "<place> child element" do
329
- before(:all) do
330
- @place_term_text = "<mods><originInfo><place><placeTerm type='text'>Iran</placeTerm></place></originInfo></mods>"
331
- @place_term_plain_mult = "<mods><originInfo>
332
- <place><placeTerm>France</placeTerm></place>
333
- <place><placeTerm>Italy</placeTerm></place></originInfo></mods>"
334
- @place_term_code = "<mods><originInfo><place><placeTerm authority='marccountry' type='code'>fr</placeTerm></place></originInfo></mods>"
335
- @yuck1 = "<mods><originInfo><place><placeTerm type='text'>[S.l.]</placeTerm></place></originInfo></mods>"
336
- @yuck2 = "<mods><originInfo><place><placeTerm type='text'>[London</placeTerm></place></originInfo></mods>"
337
- @yuck3 = "<mods><originInfo><place><placeTerm type='text'>[s.l. : s.n.]</placeTerm></place></originInfo></mods>"
338
- @yuck4 = "<mods><originInfo><place><placeTerm type='text'>[London]</placeTerm></place></originInfo></mods>"
339
- end
340
- context "<placeTerm> child element" do
341
- it "should get element values" do
342
- vals = @mods_rec.from_str(@place_term_plain_mult, false).origin_info.place.placeTerm.map { |e| e.text}
343
- expect(vals.size).to eq(2)
344
- expect(vals).to include("France")
345
- expect(vals).to include("Italy")
346
- end
347
- it "should get authority attribute" do
348
- expect(@mods_rec.from_str(@place_term_code, false).origin_info.place.placeTerm.authority).to eq(["marccountry"])
349
- end
350
- it "should get type(_at) attribute" do
351
- expect(@mods_rec.from_str(@place_term_code, false).origin_info.place.placeTerm.type_at).to eq(["code"])
352
- end
353
- end # placeTerm
354
- end # place
355
-
356
- context "<publisher> child element" do
357
- before(:all) do
358
- @ex = "<mods><originInfo><publisher>Olney</publisher></origin_info></mods>"
359
- @yuck1 = "<mods><originInfo><publisher>[s.n.]</publisher></originInfo></mods>"
360
- @yuck2 = "<mods><originInfo><publisher>Printed for William Innys and Joseph Richardson ... [et al.]</publisher></originInfo></mods>"
361
- end
362
- it "should get element values" do
363
- vals = @mods_rec.from_str("<mods><originInfo><publisher>Olney</publisher></origin_info></mods>", false).origin_info.publisher
364
- expect(vals.map { |n| n.text }).to eq(["Olney"])
365
- end
366
- end
367
-
368
- context "<xxxDate> child elements" do
369
- it "should recognize each element" do
370
- Mods::ORIGIN_INFO_DATE_ELEMENTS.each { |elname|
371
- @mods_rec.from_str("<mods><originInfo><#{elname}>date</#{elname}></originInfo></mods>", false)
372
- expect(@mods_rec.origin_info.send(elname.to_sym).map { |n| n.text }).to eq(["date"])
373
- }
374
- end
375
- it "should recognize encoding attribute on each element" do
376
- Mods::ORIGIN_INFO_DATE_ELEMENTS.each { |elname|
377
- @mods_rec.from_str("<mods><originInfo><#{elname} encoding='foo'>date</#{elname}></originInfo></mods>", false)
378
- expect(@mods_rec.origin_info.send(elname.to_sym).encoding).to eq(["foo"])
379
- }
380
- end
381
- it "should recognize keyDate attribute" do
382
- Mods::ORIGIN_INFO_DATE_ELEMENTS.each { |elname|
383
- @mods_rec.from_str("<mods><originInfo><#{elname} keyDate='foo'>date</#{elname}></originInfo></mods>", false)
384
- expect(@mods_rec.origin_info.send(elname.to_sym).keyDate).to eq(["foo"])
385
- }
386
- end
387
- it "should recognize point attribute" do
388
- # NOTE: values allowed are 'start' and 'end'
389
- Mods::ORIGIN_INFO_DATE_ELEMENTS.each { |elname|
390
- @mods_rec.from_str("<mods><originInfo><#{elname} point='foo'>date</#{elname}></originInfo></mods>", false)
391
- expect(@mods_rec.origin_info.send(elname.to_sym).point).to eq(["foo"])
392
- }
393
- end
394
- it "should recognize qualifier attribute" do
395
- Mods::ORIGIN_INFO_DATE_ELEMENTS.each { |elname|
396
- @mods_rec.from_str("<mods><originInfo><#{elname} qualifier='foo'>date</#{elname}></originInfo></mods>", false)
397
- expect(@mods_rec.origin_info.send(elname.to_sym).qualifier).to eq(["foo"])
398
- }
399
- end
400
- it "should recognize type attribute only on dateOther" do
401
- Mods::ORIGIN_INFO_DATE_ELEMENTS.each { |elname|
402
- @mods_rec.from_str("<mods><originInfo><#{elname} type='foo'>date</#{elname}></originInfo></mods>", false)
403
- if elname == 'dateOther'
404
- expect(@mods_rec.origin_info.send(elname.to_sym).type_at).to eq(["foo"])
405
- else
406
- expect { @mods_rec.origin_info.send(elname.to_sym).type_at}.to raise_exception(NoMethodError, /type_at/)
407
- end
408
- }
409
- end
410
- end # <xxxDate> child elements
411
-
412
- it "<edition> child element" do
413
- xml = "<mods><originInfo><edition>7th ed.</edition></originInfo></mods>"
414
- expect(@mods_rec.from_str(xml, false).origin_info.edition.map { |n| n.text }).to eq(['7th ed.'])
415
- end
416
-
417
- context "<issuance> child element" do
418
- before(:all) do
419
- @ex = "<mods><originInfo><issuance>monographic</issuance></originInfo></mods>"
420
- end
421
- it "should get element value" do
422
- expect(@mods_rec.from_str(@ex, false).origin_info.issuance.map { |n| n.text }).to eq(['monographic'])
423
- end
424
- end
425
-
426
- context "<frequency> child element" do
427
- before(:all) do
428
- xml = "<mods><originInfo><frequency authority='marcfrequency'>Annual</frequency></originInfo></mods>"
429
- @origin_info = @mods_rec.from_str(xml, false).origin_info
430
- end
431
- it "should get element value" do
432
- expect(@origin_info.frequency.map { |n| n.text }).to eq(["Annual"])
433
- end
434
- it "should recognize the authority attribute" do
435
- expect(@origin_info.frequency.authority).to eq(["marcfrequency"])
436
- end
437
- end
438
- end # WITHOUT namspaces
439
-
440
- end # basic terminology
441
-
442
- end