blacklight 3.4.1 → 3.4.2
Sign up to get free protection for your applications and to get access to all the features.
- data/VERSION +1 -1
- data/app/helpers/blacklight/blacklight_helper_behavior.rb +2 -2
- data/lib/blacklight/solr/document.rb +1 -1
- data/lib/generators/blacklight/blacklight_generator.rb +4 -1
- data/test_support/spec/controllers/catalog_controller_spec.rb +23 -3
- data/test_support/spec/helpers/blacklight_helper_spec.rb +14 -0
- data/test_support/spec/helpers/render_constraints_helper_spec.rb +2 -2
- metadata +5 -5
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
3.4.
|
1
|
+
3.4.2
|
@@ -118,7 +118,7 @@ module Blacklight::BlacklightHelperBehavior
|
|
118
118
|
|
119
119
|
def render_index_field_value args
|
120
120
|
value = args[:value]
|
121
|
-
value ||= send(blacklight_config.index_fields[args[:field]][:helper_method], args) if args[:field] and blacklight_config.index_fields[args[:field]][:helper_method]
|
121
|
+
value ||= send(blacklight_config.index_fields[args[:field]][:helper_method], args) if args[:field] and blacklight_config.index_fields[args[:field]] and blacklight_config.index_fields[args[:field]][:helper_method]
|
122
122
|
value ||= args[:document].get(args[:field], :sep => nil) if args[:document] and args[:field]
|
123
123
|
render_field_value value
|
124
124
|
end
|
@@ -174,7 +174,7 @@ module Blacklight::BlacklightHelperBehavior
|
|
174
174
|
|
175
175
|
def render_document_show_field_value args
|
176
176
|
value = args[:value]
|
177
|
-
value ||= send(blacklight_config.show_fields[args[:field]][:helper_method], args) if args[:field] and blacklight_config.show_fields[args[:field]][:helper_method]
|
177
|
+
value ||= send(blacklight_config.show_fields[args[:field]][:helper_method], args) if args[:field] and blacklight_config.show_fields[args[:field]] and blacklight_config.show_fields[args[:field]][:helper_method]
|
178
178
|
value ||= args[:document].get(args[:field], :sep => nil) if args[:document] and args[:field]
|
179
179
|
render_field_value value
|
180
180
|
end
|
@@ -142,8 +142,11 @@ EOF
|
|
142
142
|
end
|
143
143
|
|
144
144
|
def inject_blacklight_routes
|
145
|
-
|
145
|
+
# These will end up in routes.rb file in reverse order
|
146
|
+
# we add em, since each is added at the top of file.
|
147
|
+
# we want "root" to be FIRST for optimal url generation.
|
146
148
|
route('Blacklight.add_routes(self)')
|
149
|
+
route('root :to => "catalog#index"')
|
147
150
|
end
|
148
151
|
|
149
152
|
def add_sass_configuration
|
@@ -52,9 +52,29 @@ describe CatalogController do
|
|
52
52
|
{ :get => catalog_url(SolrDocument.new(:id => 'asdf')) }.should route_to(:controller => 'catalog', :action => 'show', :id => 'asdf')
|
53
53
|
end
|
54
54
|
|
55
|
-
|
56
|
-
|
57
|
-
|
55
|
+
context "should escape solr document ids" do
|
56
|
+
|
57
|
+
it "should pass-through url-valid ids" do
|
58
|
+
{ :get => catalog_url(SolrDocument.new(:id => 'qwerty'))}.should route_to(:controller => 'catalog', :action => 'show', :id => 'qwerty')
|
59
|
+
end
|
60
|
+
|
61
|
+
it "should route url-like ids" do
|
62
|
+
pending "This works if you configure your routing to have very liberal constraints on :id.. not sure how to go about testing it though"
|
63
|
+
{ :get => catalog_url(SolrDocument.new(:id => 'http://example.com'))}.should route_to(:controller => 'catalog', :action => 'show', :id => 'http://example.com')
|
64
|
+
end
|
65
|
+
|
66
|
+
it "should route ids with whitespace" do
|
67
|
+
{ :get => catalog_url(SolrDocument.new(:id => 'mm 123')) }.should route_to(:controller => 'catalog', :action => 'show', :id => 'mm 123')
|
68
|
+
end
|
69
|
+
|
70
|
+
it "should route ids with a literal '+'" do
|
71
|
+
{ :get => catalog_url(SolrDocument.new(:id => 'this+that')) }.should route_to(:controller => 'catalog', :action => 'show', :id => 'this+that')
|
72
|
+
end
|
73
|
+
|
74
|
+
it "should route ids with a literal '/" do
|
75
|
+
pending "This works if you configure your routing to have very liberal constraints on :id.. not sure how to go about testing it though"
|
76
|
+
{ :get => catalog_url(SolrDocument.new(:id => 'and/or')) }.should route_to(:controller => 'catalog', :action => 'show', :id => 'and/or')
|
77
|
+
end
|
58
78
|
end
|
59
79
|
|
60
80
|
end
|
@@ -392,6 +392,13 @@ describe BlacklightHelper do
|
|
392
392
|
value = helper.render_index_field_value :document => doc, :field => 'qwer'
|
393
393
|
value.should == 'document qwer value'
|
394
394
|
end
|
395
|
+
|
396
|
+
it "should work with index fields that aren't explicitly defined" do
|
397
|
+
doc = mock()
|
398
|
+
doc.should_receive(:get).with('mnbv', :sep => nil).and_return('document mnbv value')
|
399
|
+
value = helper.render_index_field_value :document => doc, :field => 'mnbv'
|
400
|
+
value.should == 'document mnbv value'
|
401
|
+
end
|
395
402
|
end
|
396
403
|
|
397
404
|
|
@@ -426,6 +433,13 @@ describe BlacklightHelper do
|
|
426
433
|
value = helper.render_document_show_field_value :document => doc, :field => 'qwer'
|
427
434
|
value.should == 'document qwer value'
|
428
435
|
end
|
436
|
+
|
437
|
+
it "should work with show fields that aren't explicitly defined" do
|
438
|
+
doc = mock()
|
439
|
+
doc.should_receive(:get).with('mnbv', :sep => nil).and_return('document mnbv value')
|
440
|
+
value = helper.render_document_show_field_value :document => doc, :field => 'mnbv'
|
441
|
+
value.should == 'document mnbv value'
|
442
|
+
end
|
429
443
|
end
|
430
444
|
|
431
445
|
end
|
@@ -9,7 +9,7 @@ describe RenderConstraintsHelper do
|
|
9
9
|
|
10
10
|
describe '#render_constraints_query' do
|
11
11
|
it "should have a link relative to the current url" do
|
12
|
-
helper.render_constraints_query(:q=>'foobar', :f=>{:type=>'journal'}).should have_selector "a[href='
|
12
|
+
helper.render_constraints_query(:q=>'foobar', :f=>{:type=>'journal'}).should have_selector "a[href='/?f%5Btype%5D=journal']"
|
13
13
|
end
|
14
14
|
end
|
15
15
|
|
@@ -24,7 +24,7 @@ describe RenderConstraintsHelper do
|
|
24
24
|
result = helper.render_filter_element('type', ['journal'], {:q=>'biz'})
|
25
25
|
result.size.should == 1
|
26
26
|
# I'm not certain how the ampersand gets in there. It's not important.
|
27
|
-
result.first.should have_selector "a[href='
|
27
|
+
result.first.should have_selector "a[href='/?&q=biz']"
|
28
28
|
end
|
29
29
|
end
|
30
30
|
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: blacklight
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 3.4.
|
4
|
+
version: 3.4.2
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -17,7 +17,7 @@ authors:
|
|
17
17
|
autorequire:
|
18
18
|
bindir: bin
|
19
19
|
cert_chain: []
|
20
|
-
date: 2012-05-
|
20
|
+
date: 2012-05-17 00:00:00.000000000 Z
|
21
21
|
dependencies:
|
22
22
|
- !ruby/object:Gem::Dependency
|
23
23
|
name: rails
|
@@ -505,7 +505,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
505
505
|
version: '0'
|
506
506
|
segments:
|
507
507
|
- 0
|
508
|
-
hash: -
|
508
|
+
hash: -528944564261981247
|
509
509
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
510
510
|
none: false
|
511
511
|
requirements:
|
@@ -514,10 +514,10 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
514
514
|
version: '0'
|
515
515
|
segments:
|
516
516
|
- 0
|
517
|
-
hash: -
|
517
|
+
hash: -528944564261981247
|
518
518
|
requirements: []
|
519
519
|
rubyforge_project: blacklight
|
520
|
-
rubygems_version: 1.8.
|
520
|
+
rubygems_version: 1.8.21
|
521
521
|
signing_key:
|
522
522
|
specification_version: 3
|
523
523
|
summary: Blacklight provides a discovery interface for any Solr (http://lucene.apache.org/solr)
|