hydra-pbcore 1.0.0 → 1.1.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.
Files changed (49) hide show
  1. data/.gitignore +1 -0
  2. data/Rakefile +6 -0
  3. data/lib/hydra-pbcore.rb +60 -1
  4. data/lib/hydra-pbcore/behaviors.rb +4 -2
  5. data/lib/hydra-pbcore/conversions.rb +88 -0
  6. data/lib/hydra-pbcore/datastream/{digital_document.rb → deprecated/digital_document.rb} +3 -2
  7. data/lib/hydra-pbcore/datastream/deprecated/document.rb +310 -0
  8. data/lib/hydra-pbcore/datastream/deprecated/instantiation.rb +261 -0
  9. data/lib/hydra-pbcore/datastream/document.rb +37 -139
  10. data/lib/hydra-pbcore/datastream/instantiation.rb +184 -223
  11. data/lib/hydra-pbcore/methods.rb +23 -2
  12. data/lib/hydra-pbcore/templates.rb +116 -0
  13. data/lib/hydra-pbcore/version.rb +1 -1
  14. data/spec/{digital_document_spec.rb → deprecated/digital_document_spec.rb} +6 -26
  15. data/spec/deprecated/document_spec.rb +282 -0
  16. data/spec/deprecated/instantiation_spec.rb +214 -0
  17. data/spec/document_spec.rb +71 -194
  18. data/spec/fixtures/converted_digital_document_rrhof_1904.xml +53 -0
  19. data/spec/fixtures/converted_digital_document_rrhof_2405.xml +46 -0
  20. data/spec/fixtures/converted_document_rrhof_2439.xml +19 -0
  21. data/spec/fixtures/converted_document_rrhof_524.xml +45 -0
  22. data/spec/fixtures/converted_instantiation_rrhof_1184.xml +39 -0
  23. data/spec/fixtures/converted_rrhof_524.xml +45 -0
  24. data/spec/fixtures/converted_rrhof_524_instantiation.xml +18 -0
  25. data/spec/fixtures/{pbcore_digital_document_template.xml → deprecated/pbcore_digital_document_template.xml} +0 -0
  26. data/spec/fixtures/{pbcore_document_template.xml → deprecated/pbcore_document_template.xml} +0 -0
  27. data/spec/fixtures/{pbcore_instantiation_template.xml → deprecated/pbcore_instantiation_template.xml} +0 -0
  28. data/spec/fixtures/{pbcore_solr_digital_document_template.xml → deprecated/pbcore_solr_digital_document_template.xml} +0 -0
  29. data/spec/fixtures/{pbcore_solr_document_template.xml → deprecated/pbcore_solr_document_template.xml} +0 -0
  30. data/spec/fixtures/{pbcore_solr_instantiation_template.xml → deprecated/pbcore_solr_instantiation_template.xml} +0 -0
  31. data/spec/fixtures/digital_instantiation.xml +56 -0
  32. data/spec/fixtures/digital_instantiation_solr.xml +1913 -0
  33. data/spec/fixtures/digital_instantiation_template.xml +33 -0
  34. data/spec/fixtures/document.xml +72 -0
  35. data/spec/fixtures/document_solr.xml +582 -0
  36. data/spec/fixtures/document_template.xml +30 -0
  37. data/spec/fixtures/integration/digital_document_rrhof_1904.xml +63 -0
  38. data/spec/fixtures/integration/digital_document_rrhof_2405.xml +62 -0
  39. data/spec/fixtures/integration/document_rrhof_2439.xml +54 -0
  40. data/spec/fixtures/integration/document_rrhof_524.xml +80 -0
  41. data/spec/fixtures/integration/instantiation_rrhof_1184.xml +44 -0
  42. data/spec/fixtures/physical_instantiation.xml +20 -0
  43. data/spec/fixtures/physical_instantiation_solr.xml +441 -0
  44. data/spec/fixtures/physical_instantiation_template.xml +18 -0
  45. data/spec/instantiation_spec.rb +180 -132
  46. data/spec/integration/conversions_spec.rb +73 -0
  47. data/spec/spec_helper.rb +37 -9
  48. data/spec/templates_spec.rb +31 -0
  49. metadata +68 -17
@@ -36,6 +36,24 @@ module HydraPbcore::Templates
36
36
  }
37
37
  end
38
38
 
39
+ define_template :event_place do |xml, location|
40
+ xml.pbcoreCoverage {
41
+ xml.coverage(location, :annotation=>"Event Place")
42
+ xml.coverageType {
43
+ xml.text "Spatial"
44
+ }
45
+ }
46
+ end
47
+
48
+ define_template :event_date do |xml, date|
49
+ xml.pbcoreCoverage {
50
+ xml.coverage(date, :annotation=>"Event Date")
51
+ xml.coverageType {
52
+ xml.text "Temporal"
53
+ }
54
+ }
55
+ end
56
+
39
57
  end
40
58
  end
41
59
 
@@ -55,4 +73,102 @@ module HydraPbcore::Templates
55
73
  add_child_node(find_by_terms(:pbcoreInstantiation).first, :previous, file)
56
74
  end
57
75
 
76
+ def insert_place(location)
77
+ add_child_node(ng_xml.root, :event_place, location)
78
+ end
79
+
80
+ def insert_date(date)
81
+ add_child_node(ng_xml.root, :event_date, date)
82
+ end
83
+
84
+ def digital_instantiation
85
+ builder = Nokogiri::XML::Builder.new do |xml|
86
+
87
+ xml.pbcoreInstantiation {
88
+
89
+ xml.instantiationIdentifier(:annotation=>"Filename", :source=>"Rock and Roll Hall of Fame and Museum")
90
+ xml.instantiationDate(:dateType=>"created")
91
+ xml.instantiationDigital(:source=>"EBU file formats")
92
+ xml.instantiationLocation
93
+ xml.instantiationMediaType(:source=>"PBCore instantiationMediaType") {
94
+ xml.text "Moving image"
95
+ }
96
+ xml.instantiationGenerations(:source=>"PBCore instantiationGenerations")
97
+ xml.instantiationFileSize(:unitsOfMeasure=>"")
98
+ xml.instantiationDuration
99
+ xml.instantiationColors(:source=>"PBCore instantiationColors") {
100
+ xml.text "Color"
101
+ }
102
+
103
+ xml.instantiationEssenceTrack {
104
+ xml.essenceTrackType {
105
+ xml.text "Video"
106
+ }
107
+ xml.essenceTrackStandard
108
+ xml.essenceTrackEncoding(:source=>"PBCore essenceTrackEncoding")
109
+ xml.essenceTrackDataRate(:unitsOfMeasure=>"")
110
+ xml.essenceTrackFrameRate(:unitsOfMeasure=>"fps")
111
+ xml.essenceTrackBitDepth
112
+ xml.essenceTrackFrameSize(:source=>"PBCore essenceTrackFrameSize")
113
+ xml.essenceTrackAspectRatio(:source=>"PBCore essenceTrackAspectRatio")
114
+ }
115
+
116
+ xml.instantiationEssenceTrack {
117
+ xml.essenceTrackType {
118
+ xml.text "Audio"
119
+ }
120
+ xml.essenceTrackStandard
121
+ xml.essenceTrackEncoding(:source=>"PBCore essenceTrackEncoding")
122
+ xml.essenceTrackDataRate(:unitsOfMeasure=>"")
123
+ xml.essenceTrackSamplingRate(:unitsOfMeasure=>"")
124
+ xml.essenceTrackBitDepth
125
+ xml.essenceTrackAnnotation(:annotationType=>"Number of Audio Channels")
126
+ }
127
+
128
+ xml.instantiationRights {
129
+ xml.rightsSummary
130
+ }
131
+
132
+ }
133
+
134
+ end
135
+ return builder.doc
136
+ end
137
+
138
+ def physical_instantiation
139
+ builder = Nokogiri::XML::Builder.new do |xml|
140
+
141
+ xml.pbcoreInstantiation {
142
+
143
+ # Item details
144
+ xml.instantiationIdentifier(:annotation=>"Barcode", :source=>"Rock and Roll Hall of Fame and Museum")
145
+ xml.instantiationDate(:dateType=>"created")
146
+ xml.instantiationPhysical(:source=>"PBCore instantiationPhysical")
147
+ xml.instantiationStandard
148
+ xml.instantiationLocation {
149
+ xml.text "Rock and Roll Hall of Fame and Museum,\n2809 Woodland Ave.,\nCleveland, OH, 44115\n216-515-1956\nlibrary@rockhall.org"
150
+ }
151
+ xml.instantiationMediaType(:source=>"PBCore instantiationMediaType") {
152
+ xml.text "Moving image"
153
+ }
154
+ xml.instantiationGenerations(:source=>"PBCore instantiationGenerations") {
155
+ xml.text "Original"
156
+ }
157
+ xml.instantiationColors(:source=>"PBCore instantiationColors") {
158
+ xml.text "Color"
159
+ }
160
+ xml.instantiationLanguage(:source=>"ISO 639.2", :ref=>"http://www.loc.gov/standards/iso639-2/php/code_list.php") {
161
+ xml.text "eng"
162
+ }
163
+ xml.instantiationRights {
164
+ xml.rightsSummary
165
+ }
166
+
167
+ }
168
+
169
+ end
170
+ return builder.doc
171
+ end
172
+
173
+
58
174
  end
@@ -1,3 +1,3 @@
1
1
  module HydraPbcore
2
- VERSION = "1.0.0"
2
+ VERSION = "1.1.0"
3
3
  end
@@ -1,9 +1,9 @@
1
1
  require "spec_helper"
2
2
 
3
- describe HydraPbcore::Datastream::DigitalDocument do
3
+ describe HydraPbcore::Datastream::Deprecated::DigitalDocument do
4
4
 
5
5
  before(:each) do
6
- @object_ds = HydraPbcore::Datastream::DigitalDocument.new(nil, nil)
6
+ @object_ds = HydraPbcore::Datastream::Deprecated::DigitalDocument.new(nil, nil)
7
7
  end
8
8
 
9
9
  describe ".update_indexed_attributes" do
@@ -105,8 +105,8 @@ describe HydraPbcore::Datastream::DigitalDocument do
105
105
  @object_ds.update_indexed_attributes({ [:subject] => { 0 => "inserted" }} )
106
106
  @object_ds.update_indexed_attributes({ [:genre] => { 0 => "inserted" }} )
107
107
 
108
- # Load example fixture
109
- f = fixture "pbcore_digital_document_template.xml"
108
+ # Load example deprecated_fixture
109
+ f = deprecated_fixture "pbcore_digital_document_template.xml"
110
110
  ref_node = Nokogiri::XML(f)
111
111
  f.close
112
112
 
@@ -126,17 +126,6 @@ describe HydraPbcore::Datastream::DigitalDocument do
126
126
  end
127
127
 
128
128
  describe ".insert_node" do
129
- it "should return a node and index for a given template type" do
130
- pending "Don't need this?"
131
- ["publisher", "contributor"].each do |type|
132
- node, index = @object_ds.insert_node(type.to_s)
133
- index.should == 0
134
- @object_ds.dirty?.should be_true
135
- node, index = @object_ds.insert_node(type.to_s)
136
- index.should == 1
137
- end
138
- end
139
-
140
129
  it "should raise an exception for non-exisitent templates" do
141
130
  lambda { @object_ds.insert_node("blarg") }.should raise_error
142
131
  end
@@ -157,15 +146,6 @@ describe HydraPbcore::Datastream::DigitalDocument do
157
146
 
158
147
  end
159
148
 
160
- describe "default fields" do
161
-
162
- it "such as media type should be 'Moving image'" do
163
- pending "No default fields defined yet"
164
- @object_ds.get_values([:media_type]).first.should == "Moving image"
165
- end
166
-
167
- end
168
-
169
149
  describe ".to_solr" do
170
150
 
171
151
  before(:each) do
@@ -229,8 +209,8 @@ describe HydraPbcore::Datastream::DigitalDocument do
229
209
  end
230
210
 
231
211
  it "should match an exmplar" do
232
- # Load example fixture
233
- f = fixture "pbcore_solr_digital_document_template.xml"
212
+ # Load example deprecated_fixture
213
+ f = deprecated_fixture "pbcore_solr_digital_document_template.xml"
234
214
  ref_node = Nokogiri::XML(f)
235
215
  f.close
236
216
 
@@ -0,0 +1,282 @@
1
+ require "spec_helper"
2
+
3
+ describe HydraPbcore::Datastream::Deprecated::Document do
4
+
5
+ before(:each) do
6
+ @object_ds = HydraPbcore::Datastream::Deprecated::Document.new(nil, nil)
7
+ end
8
+
9
+ describe ".update_indexed_attributes" do
10
+ it "should update all of the fields in #xml_template and fields not requiring additional inserted nodes" do
11
+ [
12
+ [:pbc_id],
13
+ [:main_title],
14
+ [:alternative_title],
15
+ [:chapter],
16
+ [:episode],
17
+ [:label],
18
+ [:segment],
19
+ [:subtitle],
20
+ [:track],
21
+ [:translation],
22
+ [:summary],
23
+ [:parts_list],
24
+ [:lc_subject],
25
+ [:lc_name],
26
+ [:rh_subject],
27
+ [:getty_genre],
28
+ [:lc_genre],
29
+ [:lc_subject_genre],
30
+ [:event_series],
31
+ [:event_place],
32
+ [:contributor_name],
33
+ [:contributor_role],
34
+ [:publisher_name],
35
+ [:publisher_role],
36
+ [:note],
37
+ [:barcode],
38
+ [:repository],
39
+ [:format],
40
+ [:standard],
41
+ [:media_type],
42
+ [:generation],
43
+ [:language],
44
+ [:colors],
45
+ [:archival_collection],
46
+ [:archival_series],
47
+ [:collection_number],
48
+ [:accession_number],
49
+ [:usage],
50
+ [:condition_note],
51
+ [:cleaning_note]
52
+ ].each do |pointer|
53
+ test_val = "#{pointer.last.to_s} value"
54
+ @object_ds.update_values( {pointer=>{"0"=>test_val}} )
55
+ @object_ds.get_values(pointer).first.should == test_val
56
+ @object_ds.get_values(pointer).length.should == 1
57
+ end
58
+ end
59
+
60
+ it "should work for fields that require added xml nodes" do
61
+ @object_ds.insert_publisher
62
+ @object_ds.insert_contributor
63
+ [
64
+ [:publisher_name],
65
+ [:publisher_role],
66
+ [:contributor_name],
67
+ [:contributor_role]
68
+ ].each do |pointer|
69
+ test_val = "#{pointer.last.to_s} value"
70
+ @object_ds.update_indexed_attributes( {pointer=>{"0"=>test_val}} )
71
+ @object_ds.get_values(pointer).first.should == test_val
72
+ @object_ds.get_values(pointer).length.should == 1
73
+ end
74
+ end
75
+
76
+ it "should differentiate between multiple added nodes" do
77
+ @object_ds.insert_contributor
78
+ @object_ds.insert_contributor
79
+ @object_ds.update_indexed_attributes( {[:contributor_name] => { 0 => "first contributor" }} )
80
+ @object_ds.update_indexed_attributes( {[:contributor_name] => { 1 => "second contributor" }} )
81
+ @object_ds.update_indexed_attributes( {[:contributor_role] => { 0 => "first contributor role" }} )
82
+ @object_ds.update_indexed_attributes( {[:contributor_role] => { 1 => "second contributor role" }} )
83
+ @object_ds.get_values(:contributor).length.should == 2
84
+ @object_ds.get_values(:contributor_name)[0].should == "first contributor"
85
+ @object_ds.get_values(:contributor_name)[1].should == "second contributor"
86
+ @object_ds.get_values(:contributor_role)[0].should == "first contributor role"
87
+ @object_ds.get_values(:contributor_role)[1].should == "second contributor role"
88
+ end
89
+
90
+ end
91
+
92
+ describe "#xml_template" do
93
+ it "should return an empty xml document matching a valid exmplar" do
94
+ # insert additional nodes
95
+ @object_ds.insert_publisher("inserted", "inserted")
96
+ @object_ds.insert_contributor("inserted", "inserted")
97
+ @object_ds.insert_publisher("inserted")
98
+ @object_ds.insert_contributor("inserted")
99
+ @object_ds.insert_contributor
100
+
101
+ # update additional nodes that OM will insert automatically
102
+ @object_ds.update_indexed_attributes({ [:alternative_title] => { 0 => "inserted" }} )
103
+ @object_ds.update_indexed_attributes({ [:chapter] => { 0 => "inserted" }} )
104
+ @object_ds.update_indexed_attributes({ [:episode] => { 0 => "inserted" }} )
105
+ @object_ds.update_indexed_attributes({ [:label] => { 0 => "inserted" }} )
106
+ @object_ds.update_indexed_attributes({ [:segment] => { 0 => "inserted" }} )
107
+ @object_ds.update_indexed_attributes({ [:subtitle] => { 0 => "inserted" }} )
108
+ @object_ds.update_indexed_attributes({ [:track] => { 0 => "inserted" }} )
109
+ @object_ds.update_indexed_attributes({ [:translation] => { 0 => "inserted" }} )
110
+ @object_ds.update_indexed_attributes({ [:lc_subject] => { 0 => "inserted" }} )
111
+ @object_ds.update_indexed_attributes({ [:lc_name] => { 0 => "inserted" }} )
112
+ @object_ds.update_indexed_attributes({ [:rh_subject] => { 0 => "inserted" }} )
113
+ @object_ds.update_indexed_attributes({ [:getty_genre] => { 0 => "inserted" }} )
114
+ @object_ds.update_indexed_attributes({ [:lc_genre] => { 0 => "inserted" }} )
115
+ @object_ds.update_indexed_attributes({ [:lc_subject_genre] => { 0 => "inserted" }} )
116
+ @object_ds.update_indexed_attributes({ [:subject] => { 0 => "inserted" }} )
117
+ @object_ds.update_indexed_attributes({ [:genre] => { 0 => "inserted" }} )
118
+ @object_ds.update_indexed_attributes({ [:condition_note] => { 0 => "inserted" }} )
119
+ @object_ds.update_indexed_attributes({ [:cleaning_note] => { 0 => "inserted" }} )
120
+
121
+ # Load example deprecated_fixture
122
+ f = deprecated_fixture "pbcore_document_template.xml"
123
+ ref_node = Nokogiri::XML(f)
124
+ f.close
125
+
126
+ # Nokogiri-fy our sample document and reorder nodes
127
+ sample_node = Nokogiri::XML(@object_ds.to_xml)
128
+ reordered = HydraPbcore::Behaviors.reorder_document(sample_node)
129
+
130
+ # Save this for later...
131
+ out = File.new("tmp/pbcore_document_sample.xml", "w")
132
+ out.write(reordered.to_s)
133
+ out.close
134
+
135
+ EquivalentXml.equivalent?(ref_node, reordered, opts = { :element_order => false, :normalize_whitespace => true }).should be_true
136
+ HydraPbcore::Behaviors.validate(reordered).should be_empty
137
+
138
+ end
139
+ end
140
+
141
+ describe ".remove_node" do
142
+ it "should remove a node a given type and index" do
143
+ ["publisher", "contributor"].each do |type|
144
+ @object_ds.send("insert_"+type)
145
+ @object_ds.send("insert_"+type)
146
+ @object_ds.find_by_terms(type.to_sym).count.should == 2
147
+ @object_ds.remove_node(type.to_sym, "1")
148
+ @object_ds.find_by_terms(type.to_sym).count.should == 1
149
+ @object_ds.remove_node(type.to_sym, "0")
150
+ @object_ds.find_by_terms(type.to_sym).count.should == 0
151
+ end
152
+ end
153
+
154
+ end
155
+
156
+ describe "default fields" do
157
+
158
+ it "such as media type should be 'Moving image'" do
159
+ @object_ds.get_values([:media_type]).first.should == "Moving image"
160
+ end
161
+
162
+ it "such as colors should be 'Color'" do
163
+ @object_ds.get_values([:colors]).first.should == "Color"
164
+ end
165
+
166
+ it "such as generation should be 'Original'" do
167
+ @object_ds.get_values([:generation]).first.should == "Original"
168
+ end
169
+
170
+ end
171
+
172
+ describe ".to_solr" do
173
+
174
+ before(:each) do
175
+ # insert additional nodes
176
+ @object_ds.insert_publisher
177
+ @object_ds.insert_contributor
178
+ [
179
+ "main_title",
180
+ "alternative_title",
181
+ "chapter",
182
+ "episode",
183
+ "label",
184
+ "segment",
185
+ "subtitle",
186
+ "track",
187
+ "translation",
188
+ "summary",
189
+ "parts_list",
190
+ "lc_subject",
191
+ "lc_name",
192
+ "rh_subject",
193
+ "getty_genre",
194
+ "lc_genre",
195
+ "lc_subject_genre",
196
+ "event_series",
197
+ "event_place",
198
+ "event_date",
199
+ "contributor_name",
200
+ "contributor_role",
201
+ "publisher_name",
202
+ "publisher_role",
203
+ "note",
204
+ "creation_date",
205
+ "barcode",
206
+ "repository",
207
+ "format",
208
+ "standard",
209
+ "media_type",
210
+ "generation",
211
+ "language",
212
+ "colors",
213
+ "archival_collection",
214
+ "archival_series",
215
+ "collection_number",
216
+ "accession_number",
217
+ "usage",
218
+ "condition_note",
219
+ "cleaning_note"
220
+ ].each do |field|
221
+ @object_ds.send("#{field}=".to_sym, field)
222
+ end
223
+ # update additional nodes that OM will insert automatically
224
+ @object_ds.update_indexed_attributes({ [:alternative_title] => { 0 => "inserted" }} )
225
+ @object_ds.update_indexed_attributes({ [:chapter] => { 0 => "inserted" }} )
226
+ @object_ds.update_indexed_attributes({ [:episode] => { 0 => "inserted" }} )
227
+ @object_ds.update_indexed_attributes({ [:label] => { 0 => "inserted" }} )
228
+ @object_ds.update_indexed_attributes({ [:segment] => { 0 => "inserted" }} )
229
+ @object_ds.update_indexed_attributes({ [:subtitle] => { 0 => "inserted" }} )
230
+ @object_ds.update_indexed_attributes({ [:track] => { 0 => "inserted" }} )
231
+ @object_ds.update_indexed_attributes({ [:translation] => { 0 => "inserted" }} )
232
+ @object_ds.update_indexed_attributes({ [:lc_subject] => { 0 => "inserted" }} )
233
+ @object_ds.update_indexed_attributes({ [:lc_name] => { 0 => "inserted" }} )
234
+ @object_ds.update_indexed_attributes({ [:rh_subject] => { 0 => "inserted" }} )
235
+ @object_ds.update_indexed_attributes({ [:getty_genre] => { 0 => "inserted" }} )
236
+ @object_ds.update_indexed_attributes({ [:lc_genre] => { 0 => "inserted" }} )
237
+ @object_ds.update_indexed_attributes({ [:lc_subject_genre] => { 0 => "inserted" }} )
238
+ @object_ds.update_indexed_attributes({ [:subject] => { 0 => "inserted" }} )
239
+ @object_ds.update_indexed_attributes({ [:genre] => { 0 => "inserted" }} )
240
+ @object_ds.update_indexed_attributes({ [:condition_note] => { 0 => "inserted" }} )
241
+ @object_ds.update_indexed_attributes({ [:cleaning_note] => { 0 => "inserted" }} )
242
+
243
+ # Use ISO 8601 dates
244
+ @object_ds.event_date = "2012-11-11"
245
+ @object_ds.creation_date = "2012"
246
+ end
247
+
248
+ it "should match an exmplar" do
249
+ # Load example deprecated_fixture
250
+ f = deprecated_fixture "pbcore_solr_document_template.xml"
251
+ ref_node = Nokogiri::XML(f)
252
+ f.close
253
+
254
+ # Nokogiri-fy our sample document
255
+ sample_node = Nokogiri::XML(@object_ds.to_solr.to_xml)
256
+
257
+ # Save this for later...
258
+ out = File.new("tmp/pbcore_solr_document_sample.xml", "w")
259
+ out.write(sample_node.to_s)
260
+ out.close
261
+
262
+ EquivalentXml.equivalent?(ref_node, sample_node, opts = { :element_order => false, :normalize_whitespace => true }).should be_true
263
+ end
264
+
265
+ it "should display dates as they were entered" do
266
+ @object_ds.to_solr["creation_date_display"].should == ["2012"]
267
+ @object_ds.to_solr["event_date_display"].should == ["2012-11-11"]
268
+ end
269
+
270
+ it "should have dates converted to ISO 8601" do
271
+ @object_ds.to_solr["creation_date_dt"].should == ["2012-01-01T00:00:00Z"]
272
+ @object_ds.to_solr["event_date_dt"].should == ["2012-11-11T00:00:00Z"]
273
+ end
274
+
275
+ it "should not index dates as text" do
276
+ @object_ds.to_solr["creation_date_t"].should be_nil
277
+ @object_ds.to_solr["event_date_t"].should be_nil
278
+ end
279
+
280
+ end
281
+
282
+ end