uwdc 0.0.1
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.
- checksums.yaml +15 -0
- data/.gitignore +17 -0
- data/.rspec +1 -0
- data/.ruby-version +1 -0
- data/.travis.yml +4 -0
- data/Gemfile +4 -0
- data/Guardfile +13 -0
- data/LICENSE.txt +22 -0
- data/README.md +111 -0
- data/Rakefile +7 -0
- data/lib/uwdc.rb +21 -0
- data/lib/uwdc/display.rb +91 -0
- data/lib/uwdc/dublin_core.rb +34 -0
- data/lib/uwdc/file_sec.rb +12 -0
- data/lib/uwdc/mets.rb +195 -0
- data/lib/uwdc/mods.rb +206 -0
- data/lib/uwdc/origin.rb +12 -0
- data/lib/uwdc/rels_ext.rb +15 -0
- data/lib/uwdc/struct_map.rb +12 -0
- data/lib/uwdc/version.rb +3 -0
- data/lib/uwdc/xml.rb +38 -0
- data/spec/fixtures/africa_focus_mets.xml +178 -0
- data/spec/fixtures/artists_books_mets.xml +274 -0
- data/spec/fixtures/publishers_bindings_mets.xml +403 -0
- data/spec/fixtures/untac_archives_mets.xml +205 -0
- data/spec/integration/uwdc_spec.rb +189 -0
- data/spec/models/display_spec.rb +48 -0
- data/spec/models/dublin_core_spec.rb +19 -0
- data/spec/models/file_sec_spec.rb +18 -0
- data/spec/models/mets_spec.rb +40 -0
- data/spec/models/mods_spec.rb +99 -0
- data/spec/models/origin_spec.rb +19 -0
- data/spec/models/rels_ext_spec.rb +18 -0
- data/spec/models/struct_map_spec.rb +18 -0
- data/spec/models/xml_spec.rb +19 -0
- data/spec/spec_helper.rb +29 -0
- data/uwdc.gemspec +29 -0
- metadata +207 -0
@@ -0,0 +1,205 @@
|
|
1
|
+
<?xml version="1.0" encoding="utf-8" standalone="no"?>
|
2
|
+
<mets OBJID="1711.dl:4VDIZV5LKXKDD8L" LABEL="United Nations Transitional Authority in Cambodia: UNTAC Radio Archive, Program 38" xmlns="http://www.loc.gov/METS/" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.loc.gov/METS/ http://depot.library.wisc.edu:9090/fedora/get/1711.dl:XMLSchema-METS-1.7/XSD">
|
3
|
+
<metsHdr/>
|
4
|
+
<dmdSec ID="x1711-dl_4VDIZV5LKXKDD8L-BIB0">
|
5
|
+
<mdWrap MIMETYPE="text/xml" MDTYPE="MODS" LABEL="MODS">
|
6
|
+
<xmlData>
|
7
|
+
<mods:mods xmlns:mods="http://www.loc.gov/mods/v3">
|
8
|
+
<mods:titleInfo>
|
9
|
+
<mods:title>United Nations Transitional Authority in Cambodia: UNTAC Radio Archive, Program 38</mods:title>
|
10
|
+
</mods:titleInfo>
|
11
|
+
<mods:identifier type="hdl">1711.dl/4VDIZV5LKXKDD8L</mods:identifier>
|
12
|
+
<mods:name>
|
13
|
+
<mods:namePart>UNTAC</mods:namePart>
|
14
|
+
<mods:role>
|
15
|
+
<mods:roleTerm type="text"/>
|
16
|
+
</mods:role>
|
17
|
+
</mods:name>
|
18
|
+
<mods:subject>
|
19
|
+
<mods:topic>Angkor temple</mods:topic>
|
20
|
+
</mods:subject>
|
21
|
+
<mods:subject>
|
22
|
+
<mods:topic>Voter registration</mods:topic>
|
23
|
+
</mods:subject>
|
24
|
+
<mods:subject>
|
25
|
+
<mods:topic>Foreign force</mods:topic>
|
26
|
+
</mods:subject>
|
27
|
+
<mods:subject>
|
28
|
+
<mods:topic>Party of Democratic Kampuchea (PDK)</mods:topic>
|
29
|
+
</mods:subject>
|
30
|
+
<mods:subject>
|
31
|
+
<mods:topic>Cambodian Association for the Elderly</mods:topic>
|
32
|
+
</mods:subject>
|
33
|
+
<mods:subject>
|
34
|
+
<mods:topic>De-mining</mods:topic>
|
35
|
+
</mods:subject>
|
36
|
+
<mods:subject>
|
37
|
+
<mods:topic>Buddhist monk</mods:topic>
|
38
|
+
</mods:subject>
|
39
|
+
<mods:subject>
|
40
|
+
<mods:topic>Electoral process</mods:topic>
|
41
|
+
</mods:subject>
|
42
|
+
<mods:subject>
|
43
|
+
<mods:topic>Yasushi Akashi, Head of UNTAC</mods:topic>
|
44
|
+
</mods:subject>
|
45
|
+
<mods:subject>
|
46
|
+
<mods:topic>Torgeman, Co-leader of the Civpol group</mods:topic>
|
47
|
+
</mods:subject>
|
48
|
+
<mods:subject>
|
49
|
+
<mods:topic>Tep Vong, Grand Patriarch</mods:topic>
|
50
|
+
</mods:subject>
|
51
|
+
<mods:subject>
|
52
|
+
<mods:topic>Thailand</mods:topic>
|
53
|
+
</mods:subject>
|
54
|
+
<mods:subject>
|
55
|
+
<mods:topic>Japan</mods:topic>
|
56
|
+
</mods:subject>
|
57
|
+
<mods:subject>
|
58
|
+
<mods:topic>Ampil Commune</mods:topic>
|
59
|
+
</mods:subject>
|
60
|
+
<mods:abstract> Broadcast date unknown Duration- 25 minutes</mods:abstract>
|
61
|
+
<mods:originInfo>
|
62
|
+
<mods:dateIssued encoding="iso8601">1992-10-22</mods:dateIssued>
|
63
|
+
</mods:originInfo>
|
64
|
+
<mods:typeOfResource/>
|
65
|
+
<mods:physicalDescription>
|
66
|
+
<mods:form>Sound</mods:form>
|
67
|
+
</mods:physicalDescription>
|
68
|
+
<mods:relatedItem displayLabel="Part of" type="host">
|
69
|
+
<mods:titleInfo>
|
70
|
+
<mods:title>United Nations Transitional Authority in Cambodia: UNTAC Archives</mods:title>
|
71
|
+
</mods:titleInfo>
|
72
|
+
</mods:relatedItem>
|
73
|
+
<mods:relatedItem displayLabel="Part of" type="host">
|
74
|
+
<mods:titleInfo>
|
75
|
+
<mods:title>SouthEast Asian images & Texts</mods:title>
|
76
|
+
</mods:titleInfo>
|
77
|
+
</mods:relatedItem>
|
78
|
+
<mods:accessCondition type="useAndReproduction"/>
|
79
|
+
<mods:accessCondition type="rightsOwnership"/>
|
80
|
+
<mods:recordInfo>
|
81
|
+
<mods:recordIdentifier>1711.dl:4VDIZV5LKXKDD8L.BIB0</mods:recordIdentifier>
|
82
|
+
<mods:recordOrigin>UWDCC</mods:recordOrigin>
|
83
|
+
<mods:recordChangeDate encoding="w3cdtf">2010-04-07</mods:recordChangeDate>
|
84
|
+
<mods:languageOfCataloging>
|
85
|
+
<mods:languageTerm authority="iso639-2b">eng</mods:languageTerm>
|
86
|
+
</mods:languageOfCataloging>
|
87
|
+
</mods:recordInfo>
|
88
|
+
<mods:relatedItem displayLabel="Collection" type="host">
|
89
|
+
<mods:identifier>1711.dl:CollectionSEAiT</mods:identifier>
|
90
|
+
<mods:name>Southeast Asian Images and Texts</mods:name>
|
91
|
+
</mods:relatedItem>
|
92
|
+
<mods:relatedItem displayLabel="Collection" type="host">
|
93
|
+
<mods:identifier>1711.dl:CollectionUNTACArch</mods:identifier>
|
94
|
+
<mods:name>The United Nations Transitional Authority in Cambodia: UNTAC Archives</mods:name>
|
95
|
+
</mods:relatedItem>
|
96
|
+
</mods:mods>
|
97
|
+
</xmlData>
|
98
|
+
</mdWrap>
|
99
|
+
</dmdSec>
|
100
|
+
<dmdSec ID="x1711-dl_4G6V2XQR7NEJ58D-DC">
|
101
|
+
<mdWrap MIMETYPE="text/xml" MDTYPE="DC" LABEL="Dublin Core Record for this object">
|
102
|
+
<xmlData>
|
103
|
+
<oai_dc:dc xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:oai_dc="http://www.openarchives.org/OAI/2.0/oai_dc/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.openarchives.org/OAI/2.0/oai_dc/ http://www.openarchives.org/OAI/2.0/oai_dc.xsd">
|
104
|
+
<dc:identifier>1711.dl:4G6V2XQR7NEJ58D</dc:identifier>
|
105
|
+
</oai_dc:dc>
|
106
|
+
</xmlData>
|
107
|
+
</mdWrap>
|
108
|
+
</dmdSec>
|
109
|
+
<amdSec ID="x1711-dl_4VDIZV5LKXKDD8L-ORIGIN">
|
110
|
+
<digiprovMD ID="x1711-dl_4VDIZV5LKXKDD8L-ORIGIN-PROV0">
|
111
|
+
<mdWrap MIMETYPE="text/xml" MDTYPE="OTHER" OTHERMDTYPE="UNSPECIFIED" LABEL="ORIGIN">
|
112
|
+
<xmlData>
|
113
|
+
<uwdcProv:origin xmlns:premis="info:lc/xmlns/premis-v2" xmlns:uwdcProv="http://digital.library.wisc.edu/1711.dl/UWDCProv-1.0">
|
114
|
+
<uwdcProv:projectID>SEAiT</uwdcProv:projectID>
|
115
|
+
<uwdcProv:localID>cam0005</uwdcProv:localID>
|
116
|
+
<uwdcProv:submitter>
|
117
|
+
<premis:agent>
|
118
|
+
<premis:agentIdentifier>
|
119
|
+
<premis:agentIdentifierType>UWDC Agent ID</premis:agentIdentifierType>
|
120
|
+
<premis:agentIdentifierValue>AshmunLa</premis:agentIdentifierValue>
|
121
|
+
</premis:agentIdentifier>
|
122
|
+
<premis:agentName>Ashmun, Larry. University of Wisconsin-Madison Memorial Library</premis:agentName>
|
123
|
+
</premis:agent>
|
124
|
+
</uwdcProv:submitter>
|
125
|
+
</uwdcProv:origin>
|
126
|
+
</xmlData>
|
127
|
+
</mdWrap>
|
128
|
+
</digiprovMD>
|
129
|
+
</amdSec>
|
130
|
+
<amdSec ID="x1711-dl_4VDIZV5LKXKDD8L-RELS-EXT">
|
131
|
+
<techMD ID="x1711-dl_4VDIZV5LKXKDD8L-RELS-EXT-TECHMD">
|
132
|
+
<mdWrap MIMETYPE="application/rdf+xml" MDTYPE="OTHER" OTHERMDTYPE="UNSPECIFIED" LABEL="Relationships">
|
133
|
+
<xmlData>
|
134
|
+
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
|
135
|
+
|
136
|
+
<rdf:Description rdf:about="info:fedora/1711.dl:4VDIZV5LKXKDD8L">
|
137
|
+
<hasMember xmlns="info:fedora/fedora-system:def/relations-external#" rdf:resource="info:fedora/1711.dl:4G6V2XQR7NEJ58D"/>
|
138
|
+
<hasModel xmlns="info:fedora/fedora-system:def/model#" rdf:resource="info:fedora/1711.dl:CModelUWDCObject"/>
|
139
|
+
<hasModel xmlns="info:fedora/fedora-system:def/model#" rdf:resource="info:fedora/1711.dl:CModelFirstClassObject"/>
|
140
|
+
<hasModel xmlns="info:fedora/fedora-system:def/model#" rdf:resource="info:fedora/1711.dl:CModelCompositeObject"/>
|
141
|
+
<isMemberOfProject xmlns="http://digital.library.wisc.edu/1711.dl/rdf/1.0/relations#" rdf:resource="hdl:1711.dl/CambodianRadio"/>
|
142
|
+
<isMemberOfCollection xmlns="info:fedora/fedora-system:def/relations-external#" rdf:resource="info:fedora/1711.dl:CollectionSEAiT"/>
|
143
|
+
<isMemberOfCollection xmlns="info:fedora/fedora-system:def/relations-external#" rdf:resource="info:fedora/1711.dl:CollectionUNTACArch"/>
|
144
|
+
</rdf:Description>
|
145
|
+
|
146
|
+
</rdf:RDF>
|
147
|
+
</xmlData>
|
148
|
+
</mdWrap>
|
149
|
+
</techMD>
|
150
|
+
</amdSec>
|
151
|
+
<amdSec ID="x1711-dl_4G6V2XQR7NEJ58D-RELS-EXT">
|
152
|
+
<techMD ID="x1711-dl_4G6V2XQR7NEJ58D-RELS-EXT-TECHMD">
|
153
|
+
<mdWrap MIMETYPE="application/rdf+xml" MDTYPE="OTHER" OTHERMDTYPE="UNSPECIFIED" LABEL="Relationships">
|
154
|
+
<xmlData>
|
155
|
+
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
|
156
|
+
|
157
|
+
<rdf:Description rdf:about="info:fedora/1711.dl:4G6V2XQR7NEJ58D">
|
158
|
+
<hasModel xmlns="info:fedora/fedora-system:def/model#" rdf:resource="info:fedora/1711.dl:CModelUWDCObject"/>
|
159
|
+
<hasModel xmlns="info:fedora/fedora-system:def/model#" rdf:resource="info:fedora/1711.dl:CModelAudioStream"/>
|
160
|
+
<isMemberOfProject xmlns="http://digital.library.wisc.edu/1711.dl/rdf/1.0/relations#" rdf:resource="hdl:1711.dl/CambodianRadio"/>
|
161
|
+
<isMemberOf xmlns="info:fedora/fedora-system:def/relations-external#" rdf:resource="info:fedora/1711.dl:4VDIZV5LKXKDD8L"/>
|
162
|
+
</rdf:Description>
|
163
|
+
|
164
|
+
</rdf:RDF>
|
165
|
+
</xmlData>
|
166
|
+
</mdWrap>
|
167
|
+
</techMD>
|
168
|
+
</amdSec>
|
169
|
+
<fileSec>
|
170
|
+
<fileGrp ID="x1711-dl_4VDIZV5LKXKDD8L-DISSEMINATORS">
|
171
|
+
<file ID="x1711-dl_4VDIZV5LKXKDD8L-title" MIMETYPE="text/plain;charset=UTF-8" USE="title">
|
172
|
+
<FLocat LOCTYPE="URL" xlink:type="simple" xlink:href="http://depot.library.wisc.edu/repository/fedora/1711.dl:4VDIZV5LKXKDD8L/methods/1711.dl:SDefineUWDCObject/getTitle"/>
|
173
|
+
</file>
|
174
|
+
<file ID="x1711-dl_4VDIZV5LKXKDD8L-visualrepresentation" MIMETYPE="image/jpeg" USE="visualrepresentation">
|
175
|
+
<FLocat LOCTYPE="URL" xlink:type="simple" xlink:href="http://depot.library.wisc.edu/repository/fedora/1711.dl:4VDIZV5LKXKDD8L/methods/1711.dl:SDefineCompositeObject/getVisualRepresentation"/>
|
176
|
+
</file>
|
177
|
+
</fileGrp>
|
178
|
+
<fileGrp ID="x1711-dl_4G6V2XQR7NEJ58D-DISSEMINATORS">
|
179
|
+
<file ID="x1711-dl_4G6V2XQR7NEJ58D-title" MIMETYPE="text/plain;charset=UTF-8" USE="title">
|
180
|
+
<FLocat LOCTYPE="URL" xlink:type="simple" xlink:href="http://depot.library.wisc.edu/repository/fedora/1711.dl:4G6V2XQR7NEJ58D/methods/1711.dl:SDefineUWDCObject/getTitle"/>
|
181
|
+
</file>
|
182
|
+
<file ID="x1711-dl_4G6V2XQR7NEJ58D-thumb" MIMETYPE="image/png" USE="thumb">
|
183
|
+
<FLocat LOCTYPE="URL" xlink:type="simple" xlink:href="http://depot.library.wisc.edu/repository/fedora/1711.dl:4G6V2XQR7NEJ58D/methods/1711.dl:SDefineResourceImage/getThumb"/>
|
184
|
+
</file>
|
185
|
+
<file ID="x1711-dl_4G6V2XQR7NEJ58D-icon" MIMETYPE="image/png" USE="icon">
|
186
|
+
<FLocat LOCTYPE="URL" xlink:type="simple" xlink:href="http://depot.library.wisc.edu/repository/fedora/1711.dl:4G6V2XQR7NEJ58D/methods/1711.dl:SDefineResourceImage/getIcon"/>
|
187
|
+
</file>
|
188
|
+
<file ID="x1711-dl_4G6V2XQR7NEJ58D-audiostream" MIMETYPE="audio/x-pn-realaudio" USE="audiostream">
|
189
|
+
<FLocat LOCTYPE="URL" xlink:type="simple" xlink:href="http://depot.library.wisc.edu/repository/fedora/1711.dl:4G6V2XQR7NEJ58D/methods/1711.dl:SDefineAudioStream/getAudioStream"/>
|
190
|
+
</file>
|
191
|
+
</fileGrp>
|
192
|
+
</fileSec>
|
193
|
+
<structMap ID="x1711-dl_4VDIZV5LKXKDD8L-STRUCTMAP">
|
194
|
+
<div ID="x1711-dl_4VDIZV5LKXKDD8L-STRUCT" DMDID="x1711-dl_4VDIZV5LKXKDD8L-BIB0" ADMID="x1711-dl_4VDIZV5LKXKDD8L-ORIGIN x1711-dl_4VDIZV5LKXKDD8L-RELS-EXT">
|
195
|
+
<fptr FILEID="x1711-dl_4VDIZV5LKXKDD8L-title"/>
|
196
|
+
<fptr FILEID="x1711-dl_4VDIZV5LKXKDD8L-visualrepresentation"/>
|
197
|
+
<div ID="x1711-dl_4G6V2XQR7NEJ58D-STRUCT" ORDER="1" DMDID="x1711-dl_4G6V2XQR7NEJ58D-DC" ADMID="x1711-dl_4G6V2XQR7NEJ58D-RELS-EXT" CONTENTIDS="info:fedora/1711.dl:4G6V2XQR7NEJ58D">
|
198
|
+
<fptr FILEID="x1711-dl_4G6V2XQR7NEJ58D-title"/>
|
199
|
+
<fptr FILEID="x1711-dl_4G6V2XQR7NEJ58D-thumb"/>
|
200
|
+
<fptr FILEID="x1711-dl_4G6V2XQR7NEJ58D-icon"/>
|
201
|
+
<fptr FILEID="x1711-dl_4G6V2XQR7NEJ58D-audiostream"/>
|
202
|
+
</div>
|
203
|
+
</div>
|
204
|
+
</structMap>
|
205
|
+
</mets>
|
@@ -0,0 +1,189 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
require 'uwdc'
|
3
|
+
|
4
|
+
describe UWDC::Mets do
|
5
|
+
before(:each) do
|
6
|
+
get_publishers_bindings_mets
|
7
|
+
@mets = UWDC::Mets.new(@id,@xml)
|
8
|
+
@mods = UWDC::Mods.new(@id,@xml)
|
9
|
+
@origin = UWDC::Origin.new(@id,@xml)
|
10
|
+
@rels_ext = UWDC::RelsExt.new(@id,@xml)
|
11
|
+
@struct_map = UWDC::StructMap.new(@id,@xml)
|
12
|
+
@file_sec = UWDC::FileSec.new(@id,@xml)
|
13
|
+
end
|
14
|
+
|
15
|
+
context 'METS' do
|
16
|
+
it "should return a Nokogiri document" do
|
17
|
+
expect(@mets.nodes).to be_an_instance_of(Nokogiri::XML::Document)
|
18
|
+
end
|
19
|
+
|
20
|
+
it 'should have mets' do
|
21
|
+
expect(@mets.nodes.xpath('//mets')).to be_true
|
22
|
+
end
|
23
|
+
end
|
24
|
+
|
25
|
+
context 'METS > MODS' do
|
26
|
+
it "should return a Nokogiri node set" do
|
27
|
+
expect(@mets.mods.nodes).to be_an_instance_of(Nokogiri::XML::NodeSet)
|
28
|
+
end
|
29
|
+
|
30
|
+
it 'should have mods' do
|
31
|
+
expect(@mets.mods.nodes.xpath('//mods')).to be_true
|
32
|
+
end
|
33
|
+
|
34
|
+
UWDC::Mods.attributes.each do |attribute|
|
35
|
+
it "should respond_to mods attributes - #{attribute}" do
|
36
|
+
expect(@mets.mods.send(attribute)).to be_true
|
37
|
+
end
|
38
|
+
end
|
39
|
+
end
|
40
|
+
|
41
|
+
context 'METS > StructMap' do
|
42
|
+
it "should return a Nokogiri node set" do
|
43
|
+
expect(@mets.struct_map.nodes).to be_an_instance_of(Nokogiri::XML::NodeSet)
|
44
|
+
end
|
45
|
+
|
46
|
+
it 'should have RDF' do
|
47
|
+
expect(@mets.struct_map.nodes.xpath('//div')).to be_true
|
48
|
+
end
|
49
|
+
end
|
50
|
+
|
51
|
+
context 'METS > RELS-EXT' do
|
52
|
+
it "should return a Nokogiri node set" do
|
53
|
+
expect(@mets.rels_ext.nodes).to be_an_instance_of(Nokogiri::XML::NodeSet)
|
54
|
+
end
|
55
|
+
|
56
|
+
it "should allow id-based drill down", pending: true do
|
57
|
+
expect(@mets.rels_ext('U4QQPS4KWQSUA8A').nodes).to be_an_instance_of(Nokogiri::XML::NodeSet)
|
58
|
+
expect(@mets.rels_ext('U4QQPS4KWQSUA8A').nodes.xpath('//RDF/Description').attr('about').value).to include('U4QQPS4KWQSUA8A')
|
59
|
+
end
|
60
|
+
end
|
61
|
+
|
62
|
+
context 'MODS' do
|
63
|
+
it "should return a Nokogiri node set" do
|
64
|
+
expect(@mods.nodes).to be_an_instance_of(Nokogiri::XML::NodeSet)
|
65
|
+
end
|
66
|
+
|
67
|
+
it 'should have mods' do
|
68
|
+
expect(@mods.nodes.xpath('//mods')).to be_true
|
69
|
+
end
|
70
|
+
|
71
|
+
it 'should have titles' do
|
72
|
+
expect(@mods.titles).to include('A life idyl')
|
73
|
+
end
|
74
|
+
|
75
|
+
it 'should have dates' do
|
76
|
+
expect(@mods.dates).to include('1869')
|
77
|
+
end
|
78
|
+
|
79
|
+
it 'should have forms' do
|
80
|
+
expect(@mods.forms).to include('text')
|
81
|
+
end
|
82
|
+
|
83
|
+
it 'should have abstracts' do
|
84
|
+
expect(@mods.abstracts).to include(' Green leather with gold stampig on spine and sides. Yellow coated endpapers. All gilt. Simulated raised bands. Gold stamping on board edges and turn-ins.')
|
85
|
+
end
|
86
|
+
|
87
|
+
it 'should have subjects' do
|
88
|
+
expect(@mods.subjects).to be_an_instance_of(Array)
|
89
|
+
expect(@mods.subjects).to include('Endpapers--Coated', 'Decoration/Ornament--Lines')
|
90
|
+
end
|
91
|
+
|
92
|
+
it 'should export to XML' do
|
93
|
+
expect(Nokogiri::XML(@mods.to_xml)).to be_an_instance_of(Nokogiri::XML::Document)
|
94
|
+
end
|
95
|
+
|
96
|
+
it 'should be valid MODS XML', pending: true do
|
97
|
+
expect(@mods.valid?).to be_true
|
98
|
+
end
|
99
|
+
|
100
|
+
it 'should export to JSON' do
|
101
|
+
expect(JSON.parse(@mods.to_json)).to be_an_instance_of(Hash)
|
102
|
+
expect(JSON.parse(@mods.to_json).keys).to include('mods')
|
103
|
+
end
|
104
|
+
|
105
|
+
it 'should export to ruby' do
|
106
|
+
expect(@mods.to_ruby).to be_an_instance_of(Hash)
|
107
|
+
end
|
108
|
+
end
|
109
|
+
|
110
|
+
context 'ORIGIN' do
|
111
|
+
it "should return a Nokogiri node set" do
|
112
|
+
expect(@origin.nodes).to be_an_instance_of(Nokogiri::XML::NodeSet)
|
113
|
+
end
|
114
|
+
|
115
|
+
it 'should have origin' do
|
116
|
+
expect(@origin.nodes.xpath('//origin')).to be_true
|
117
|
+
end
|
118
|
+
|
119
|
+
it 'should export to XML' do
|
120
|
+
expect(Nokogiri::XML(@origin.to_xml)).to be_an_instance_of(Nokogiri::XML::Document)
|
121
|
+
end
|
122
|
+
|
123
|
+
it 'should export to JSON' do
|
124
|
+
expect(JSON.parse(@origin.to_json)).to be_an_instance_of(Hash)
|
125
|
+
expect(JSON.parse(@origin.to_json).keys).to include('origin')
|
126
|
+
end
|
127
|
+
end
|
128
|
+
|
129
|
+
context 'RelsExt' do
|
130
|
+
it "should return a Nokogiri node set" do
|
131
|
+
expect(@rels_ext.nodes).to be_an_instance_of(Nokogiri::XML::NodeSet)
|
132
|
+
end
|
133
|
+
|
134
|
+
it 'should have RDF' do
|
135
|
+
expect(@rels_ext.nodes.xpath('//RDF')).to be_true
|
136
|
+
end
|
137
|
+
|
138
|
+
it 'should export to XML' do
|
139
|
+
expect(Nokogiri::XML(@rels_ext.to_xml)).to be_an_instance_of(Nokogiri::XML::Document)
|
140
|
+
end
|
141
|
+
|
142
|
+
it 'should export to JSON' do
|
143
|
+
expect(JSON.parse(@rels_ext.to_json)).to be_an_instance_of(Hash)
|
144
|
+
expect(JSON.parse(@rels_ext.to_json).keys).to include('RDF')
|
145
|
+
end
|
146
|
+
end
|
147
|
+
|
148
|
+
context 'StructMap' do
|
149
|
+
it "should return a Nokogiri node set" do
|
150
|
+
expect(@struct_map.nodes).to be_an_instance_of(Nokogiri::XML::NodeSet)
|
151
|
+
end
|
152
|
+
|
153
|
+
it 'should have RDF' do
|
154
|
+
expect(@struct_map.nodes.xpath('//div')).to be_true
|
155
|
+
end
|
156
|
+
|
157
|
+
it 'should export to XML' do
|
158
|
+
expect(Nokogiri::XML(@struct_map.to_xml)).to be_an_instance_of(Nokogiri::XML::Document)
|
159
|
+
end
|
160
|
+
|
161
|
+
it 'should export to JSON' do
|
162
|
+
expect(JSON.parse(@struct_map.to_json)).to be_an_instance_of(Hash)
|
163
|
+
expect(JSON.parse(@struct_map.to_json).keys).to include('structMap')
|
164
|
+
end
|
165
|
+
end
|
166
|
+
|
167
|
+
context 'FileSec' do
|
168
|
+
it "should return a Nokogiri node set" do
|
169
|
+
expect(@file_sec.nodes).to be_an_instance_of(Nokogiri::XML::NodeSet)
|
170
|
+
end
|
171
|
+
|
172
|
+
it 'should have RDF' do
|
173
|
+
expect(@file_sec.nodes.xpath('//div')).to be_true
|
174
|
+
end
|
175
|
+
|
176
|
+
it 'should export to XML' do
|
177
|
+
expect(Nokogiri::XML(@file_sec.to_xml)).to be_an_instance_of(Nokogiri::XML::Document)
|
178
|
+
end
|
179
|
+
|
180
|
+
it 'should export to JSON' do
|
181
|
+
expect(JSON.parse(@file_sec.to_json)).to be_an_instance_of(Hash)
|
182
|
+
expect(JSON.parse(@file_sec.to_json).keys).to include('fileSec')
|
183
|
+
end
|
184
|
+
|
185
|
+
it 'should list an array of files' do
|
186
|
+
expect(@file_sec.files).to be_an_instance_of(Array)
|
187
|
+
end
|
188
|
+
end
|
189
|
+
end
|
@@ -0,0 +1,48 @@
|
|
1
|
+
# -*- encoding : utf-8 -*-
|
2
|
+
require File.expand_path(File.dirname(__FILE__) + '../../spec_helper')
|
3
|
+
require 'uwdc'
|
4
|
+
|
5
|
+
describe UWDC::Display do
|
6
|
+
|
7
|
+
context 'PBO' do
|
8
|
+
before(:each) do
|
9
|
+
get_publishers_bindings_mets
|
10
|
+
@display = UWDC::Display.new(@id, @xml)
|
11
|
+
end
|
12
|
+
|
13
|
+
it "should include use attributes" do
|
14
|
+
expect(@display.use).to be_true
|
15
|
+
end
|
16
|
+
|
17
|
+
it "should include content models" do
|
18
|
+
expect(@display.cmodels).to be_true
|
19
|
+
end
|
20
|
+
|
21
|
+
it "should include files" do
|
22
|
+
expect(@display.files).to be_true
|
23
|
+
end
|
24
|
+
|
25
|
+
it "should include images" do
|
26
|
+
expect(@display.images).to be_true
|
27
|
+
expect(@display.images.size).to eq(5)
|
28
|
+
end
|
29
|
+
|
30
|
+
it "should have metadata" do
|
31
|
+
expect(@display.metadata).to be_true
|
32
|
+
expect(@display.metadata).to be_an_instance_of(UWDC::Mods)
|
33
|
+
end
|
34
|
+
end
|
35
|
+
|
36
|
+
context 'UNTAC' do
|
37
|
+
before(:each) do
|
38
|
+
get_untac_archives_mets
|
39
|
+
@display = UWDC::Display.new(@id,@xml)
|
40
|
+
end
|
41
|
+
|
42
|
+
it "should have no images", pending: true do
|
43
|
+
#puts @display.images.inspect
|
44
|
+
expect(@display.images).to be_true
|
45
|
+
expect(@display.images.size).to eq(0)
|
46
|
+
end
|
47
|
+
end
|
48
|
+
end
|
@@ -0,0 +1,19 @@
|
|
1
|
+
# -*- encoding : utf-8 -*-
|
2
|
+
require File.expand_path(File.dirname(__FILE__) + '../../spec_helper')
|
3
|
+
require 'uwdc'
|
4
|
+
|
5
|
+
describe UWDC::DublinCore do
|
6
|
+
|
7
|
+
context 'PBO' do
|
8
|
+
before(:each) do
|
9
|
+
get_publishers_bindings_mets
|
10
|
+
@dublin_core = UWDC::DublinCore.new(@id, @xml)
|
11
|
+
end
|
12
|
+
|
13
|
+
it "should have a titles" do
|
14
|
+
expect(@dublin_core.titles).to be_true
|
15
|
+
expect(@dublin_core.titles).to be_an_instance_of(Hash)
|
16
|
+
expect(@dublin_core.titles.size).to eq(5)
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|