blacklight 5.2.0 → 5.3.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: fea671a4828e18416d64b657b46a176d12825b99
4
- data.tar.gz: 559e98ff68f295b5f353eb50272eebf4b856443e
3
+ metadata.gz: 0d93877de36068052dea5532f02351756789a2bd
4
+ data.tar.gz: 9103ab9e7d7a91c17de2233aed70f0f3e7df5c4c
5
5
  SHA512:
6
- metadata.gz: 665816f47ac58bbdff19053888a885fe2b4b682e56b59bcf390e859c0d2c4f8b2aac7dd07bdd269eb620ff2d5271bcd9e0527dba75423c920a83d08502bf24e8
7
- data.tar.gz: 37756999f96379e3908381a2959e6437533a7f0c860ccd29479bac5e64a24f9ed0014b207169641d6de1368b8204b6bd81c52ae8e6a7bff58b4631cb4d624697
6
+ metadata.gz: 7eec942d25ae5133dff56c7dbe1b3d169b01510bfdb86adfb99ba533e230e04287c988f86b58e9104e62a6617f3c93bc1bca009085ed6be98bdbb03ccedc5c5e
7
+ data.tar.gz: dd0767408947a969b6bb130b65d38e243e664d2efce6667d9d23d29b6c8bff5847a3909104f4da4d53782e890e82c23c984f2e8b370e46e398a5d78872179806
data/.travis.yml CHANGED
@@ -3,11 +3,17 @@ notifications:
3
3
 
4
4
  rvm:
5
5
  - 2.1.1
6
- - 2.1.0
7
6
  - 2.0.0
8
- - 1.9.3
9
- - jruby
10
7
 
8
+ matrix:
9
+ include:
10
+ - rvm: 2.1.0
11
+ gemfile: gemfiles/rails4.gemfile
12
+ - rvm: 1.9.3
13
+ gemfile: gemfiles/rails4.gemfile
14
+ - rvm: jruby
15
+ gemfile: gemfiles/rails4.gemfile
16
+
11
17
  before_install:
12
18
  - gem install bundler
13
19
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 5.2.0
1
+ 5.3.0
@@ -96,7 +96,7 @@ Blacklight.ajaxModal.triggerFormSelector = "form[data-ajax-modal~=trigger], for
96
96
  // be preserved. MUST be manually prefixed with the modal selector,
97
97
  // so they only apply to things inside a modal.
98
98
  Blacklight.ajaxModal.preserveLinkSelector = Blacklight.ajaxModal.modalSelector + ' a[data-ajax-modal~=preserve]';
99
- Blacklight.ajaxModal.preserveFormSelector = Blacklight.ajaxModal.modalSelector + 'form[data-ajax-modal~=preserve]'
99
+ Blacklight.ajaxModal.preserveFormSelector = Blacklight.ajaxModal.modalSelector + ' form[data-ajax-modal~=preserve]'
100
100
 
101
101
  Blacklight.ajaxModal.containerSelector = "[data-ajax-modal~=container]";
102
102
 
@@ -443,7 +443,21 @@ module Blacklight::BlacklightHelperBehavior
443
443
 
444
444
  display_type ||= 'default'
445
445
 
446
- # .to_s is necessary otherwise the default return value is not always a string
446
+ type_field_to_partial_name(document, display_type)
447
+ end
448
+
449
+ ##
450
+ # Return a partial name for rendering a document
451
+ # this method can be overridden in order to transform the value
452
+ # (e.g. 'PdfBook' => 'pdf_book')
453
+ #
454
+ # @param [SolrDocument] document
455
+ # @param [String, Array] display_type a value suggestive of a partial
456
+ # @return [String] the name of the partial to render
457
+ # @example
458
+ # type_field_to_partial_name(['a book-article'])
459
+ # => 'a_book_article'
460
+ def type_field_to_partial_name(document, display_type)
447
461
  # using "_" as sep. to more closely follow the views file naming conventions
448
462
  # parameterize uses "-" as the default sep. which throws errors
449
463
  Array(display_type).join(" ").gsub("-","_").parameterize("_")
@@ -561,4 +575,10 @@ module Blacklight::BlacklightHelperBehavior
561
575
  def presenter_class
562
576
  Blacklight::DocumentPresenter
563
577
  end
578
+
579
+ ##
580
+ # Open Search discovery tag for HTML <head> links
581
+ def opensearch_description_tag title, href
582
+ tag :link, href: href, title: title, type: "application/opensearchdescription+xml", rel: "search"
583
+ end
564
584
  end
@@ -8,9 +8,12 @@ module Blacklight::UrlHelperBehavior
8
8
  # to provide more interesting routing to
9
9
  # documents
10
10
  def url_for_document doc
11
- if controller.is_a? Blacklight::Catalog and doc.is_a? SolrDocument and
11
+ if respond_to?(:blacklight_config) and
12
+ blacklight_config.show.route and
12
13
  (!doc.respond_to?(:to_model) or doc.to_model.is_a? SolrDocument)
13
- { controller: controller_name, action: :show, id: doc }
14
+ route = blacklight_config.show.route.merge(action: :show, id: doc)
15
+ route[:controller] = controller_name if route[:controller] == :current
16
+ route
14
17
  else
15
18
  doc
16
19
  end
@@ -68,7 +71,7 @@ module Blacklight::UrlHelperBehavior
68
71
  return {}
69
72
  end
70
73
 
71
- { :data => {:'context-href' => track_solr_document_path(document, counter: counter, search_id: current_search_session.try(:id))}}
74
+ { :data => {:'context-href' => track_solr_document_path(document, per_page: params.fetch(:per_page, search_session['per_page']), counter: counter, search_id: current_search_session.try(:id))}}
72
75
  end
73
76
  protected :session_tracking_params
74
77
 
@@ -103,6 +106,15 @@ module Blacklight::UrlHelperBehavior
103
106
  def link_back_to_catalog(opts={:label=>nil})
104
107
  scope = opts.delete(:route_set) || self
105
108
  query_params = current_search_session.try(:query_params) || {}
109
+
110
+ if search_session['counter']
111
+ per_page = (search_session['per_page'] || default_per_page).to_i
112
+ counter = search_session['counter'].to_i
113
+
114
+ query_params[:per_page] = per_page unless search_session['per_page'].to_i == default_per_page
115
+ query_params[:page] = ((counter - 1)/ per_page) + 1
116
+ end
117
+
106
118
  link_url = scope.url_for(query_params)
107
119
  label = opts.delete(:label)
108
120
 
@@ -14,7 +14,7 @@
14
14
  <![endif]-->
15
15
 
16
16
  <title><%= render_page_title %></title>
17
- <link href="<%= opensearch_catalog_path(:format => 'xml', :only_path => false) %>" title="<%= application_name%>" type="application/opensearchdescription+xml" rel="search"/>
17
+ <%= opensearch_description_tag application_name, opensearch_catalog_path(:format => 'xml', :only_path => false) %>
18
18
  <%= favicon_link_tag asset_path('favicon.ico') %>
19
19
  <%= stylesheet_link_tag "application" %>
20
20
  <%= javascript_include_tag "application" %>
@@ -30,22 +30,10 @@
30
30
  <body class="<%= render_body_class %>">
31
31
  <%= render :partial => 'shared/header_navbar' %>
32
32
 
33
- <div id="ajax-modal" class="modal fade" tabindex="-1" role="dialog" aria-labelledby="modal menu" aria-hidden="true">
34
- <div class="modal-dialog">
35
- <div class="modal-content">
36
- </div>
37
- </div>
38
- </div>
33
+ <%= render partial: 'shared/ajax_modal' %>
39
34
 
40
- <!-- /container -->
41
35
  <div id="main-container" class="container">
42
- <div class="row">
43
- <div class="col-md-12">
44
- <div id="main-flashes">
45
- <%= render :partial=>'/flash_msg' %>
46
- </div>
47
- </div>
48
- </div>
36
+ <%= render :partial=>'/flash_msg', layout: 'shared/flash_messages' %>
49
37
 
50
38
  <div class="row">
51
39
  <%= yield %>
@@ -0,0 +1,6 @@
1
+ <div id="ajax-modal" class="modal fade" tabindex="-1" role="dialog" aria-labelledby="modal menu" aria-hidden="true">
2
+ <div class="modal-dialog">
3
+ <div class="modal-content">
4
+ </div>
5
+ </div>
6
+ </div>
@@ -0,0 +1,7 @@
1
+ <div class="row">
2
+ <div class="col-md-12">
3
+ <div id="main-flashes">
4
+ <%= yield %>
5
+ </div>
6
+ </div>
7
+ </div>
@@ -6,5 +6,7 @@ if File.exists?(file)
6
6
  puts "Loading #{file} ..." if $DEBUG # `ruby -d` or `bundle -v`
7
7
  instance_eval File.read(file)
8
8
  end
9
+ gem 'sass', '~> 3.2.15'
10
+ gem 'sprockets', '~> 2.11.0'
9
11
 
10
12
  gem 'rails', '4.1.0.rc1'
@@ -7,4 +7,7 @@ if File.exists?(file)
7
7
  instance_eval File.read(file)
8
8
  end
9
9
 
10
+ gem 'sass', '~> 3.2.15'
11
+ gem 'sprockets', '~> 2.11.0'
12
+
10
13
  gem 'rails', '4.0.3'
@@ -59,6 +59,8 @@ module Blacklight::Catalog
59
59
  # updates the search counter (allows the show view to paginate)
60
60
  def track
61
61
  search_session['counter'] = params[:counter]
62
+ search_session['per_page'] = params[:per_page]
63
+
62
64
  path = if params[:redirect] and (params[:redirect].starts_with?("/") or params[:redirect] =~ URI::regexp)
63
65
  URI.parse(params[:redirect]).path
64
66
  else
@@ -61,7 +61,15 @@ module Blacklight
61
61
  :respond_to => OpenStructWithHashAccess.new()
62
62
  ),
63
63
  # Additional configuration when displaying a single document
64
- :show => ViewConfig::Show.new(:partials => [:show_header, :show]),
64
+ :show => ViewConfig::Show.new(
65
+ # default route parameters for 'show' requests
66
+ # set this to a hash with additional arguments to merge into
67
+ # the route, or set `controller: :current` to route to the
68
+ # current controller.
69
+ route: nil,
70
+ # partials to render for each document(see #render_document_partials)
71
+ partials: [:show_header, :show]
72
+ ),
65
73
  # Configurations for specific types of index views
66
74
  :view => NestedOpenStructWithHashAccess.new(ViewConfig, 'list'),
67
75
  # Maxiumum number of spelling suggestions to offer
@@ -19,6 +19,99 @@ namespace :blacklight do
19
19
  end
20
20
  end
21
21
 
22
- end
22
+ namespace :check do
23
+ desc "Check the Solr connection and controller configuration"
24
+ task :solr, [:controller_name] => [:environment] do |_, args|
25
+ errors = 0
26
+ verbose = ENV.fetch('VERBOSE', false).present?
27
+
28
+ puts "[#{Blacklight.solr.uri}]"
29
+
30
+ print " - admin/ping: "
31
+ begin
32
+ response = Blacklight.solr.send_and_receive 'admin/ping', {}
33
+ puts response['status']
34
+ errors += 1 unless response['status'] == "OK"
35
+ rescue Exception => e
36
+ errors += 1
37
+ puts e.to_s
38
+ end
39
+
40
+ exit 1 if errors > 0
41
+ end
42
+
43
+ task :controller, [:controller_name] => [:environment] do |_, args|
44
+ errors = 0
45
+ verbose = ENV.fetch('VERBOSE', false).present?
46
+ controller = args[:controller_name].constantize.new if args[:controller_name]
47
+ controller ||= CatalogController.new
48
+
49
+ puts "[#{controller.class.to_s}]"
50
+
51
+ print " - find: "
52
+
53
+ begin
54
+ response = controller.find q: '{!lucene}*:*'
55
+ if response.header['status'] == 0
56
+ puts "OK"
57
+ else
58
+ errors += 1
59
+ end
60
+
61
+ if verbose
62
+ puts "\tstatus: #{response.header['status']}"
63
+ puts "\tnumFound: #{response.response['numFound']}"
64
+ puts "\tdoc count: #{response.docs.length}"
65
+ puts "\tfacet fields: #{response.facets.length}"
66
+ end
67
+ rescue Exception => e
68
+ errors += 1
69
+ puts e.to_s
70
+ end
71
+
72
+ print " - get_search_results: "
23
73
 
74
+ begin
75
+ response, docs = controller.get_search_results({}, q: '{!lucene}*:*')
76
+
77
+ if response.header['status'] == 0 and docs.length > 0
78
+ puts "OK"
79
+ else
80
+ errors += 1
81
+ end
82
+
83
+ if verbose
84
+ puts "\tstatus: #{response.header['status']}"
85
+ puts "\tnumFound: #{response.response['numFound']}"
86
+ puts "\tdoc count: #{docs.length}"
87
+ puts "\tfacet fields: #{response.facets.length}"
88
+ end
89
+ rescue Exception => e
90
+ errors += 1
91
+ puts e.to_s
92
+ end
93
+
94
+ print " - get_solr_response_for_doc_id: "
95
+
96
+ begin
97
+ doc_id = response.docs.first[SolrDocument.unique_key]
98
+ response, doc = controller.get_solr_response_for_doc_id doc_id
24
99
 
100
+ if response.header['status'] == 0 and doc
101
+ puts "OK"
102
+ else
103
+ errors += 1
104
+ end
105
+
106
+ if verbose
107
+ puts "\tstatus: #{response.header['status']}"
108
+ end
109
+ rescue Exception => e
110
+ errors += 1
111
+ puts e.to_s
112
+ end
113
+
114
+ exit 1 if errors > 0
115
+ end
116
+ end
117
+ end
@@ -202,6 +202,11 @@ describe CatalogController do
202
202
  put :track, :id => doc_id, :counter => 3
203
203
  expect(session[:search]['counter']).to eq "3"
204
204
  end
205
+
206
+ it "should record the current per_page setting" do
207
+ put :track, :id => doc_id, :counter => 3, :per_page => 15
208
+ expect(session[:search]['per_page']).to eq "15"
209
+ end
205
210
 
206
211
  it "should redirect to show action for doc id" do
207
212
  put :track, :id => doc_id, :counter => 3
@@ -0,0 +1,46 @@
1
+ # -*- encoding : utf-8 -*-
2
+
3
+ require 'spec_helper'
4
+
5
+ describe "Search Results context", js: true do
6
+ it "should pass the current search id through" do
7
+ search_for ''
8
+ search_id = Search.last.id.to_s
9
+ click_on 'Pluvial nectar of blessings'
10
+ expect(page).to have_content "« Previous | 10 of 30 | Next »"
11
+ prev = page.find("#previousNextDocument .previous")
12
+ expect(prev['data-context-href']).to eq "/catalog/2003546302/track?counter=9&search_id=#{search_id}"
13
+
14
+ click_on "« Previous"
15
+
16
+ prev = page.find("#previousNextDocument .previous")
17
+ expect(prev['data-context-href']).to eq "/catalog/2004310986/track?counter=8&search_id=#{search_id}"
18
+ end
19
+
20
+ it "should redirect context urls to the original url" do
21
+ search_for ''
22
+ first('.index_title a').click
23
+ expect(page).to have_content "« Previous | 1 of 30 | Next »"
24
+ expect(page.current_url).to_not have_content "/track"
25
+ end
26
+
27
+ context "navigating between search results using context pagination" do
28
+ it "should update the back to search link with the current search pagination context" do
29
+ search_for ''
30
+ first('.index_title a').click
31
+ 10.times do
32
+ click_on "Next »"
33
+ end
34
+
35
+ click_on "Back to Search"
36
+ expect(page).to have_content "11 - 20"
37
+ end
38
+ end
39
+ end
40
+
41
+
42
+ def search_for q
43
+ visit root_path
44
+ fill_in "q", with: q
45
+ click_button 'search'
46
+ end
@@ -48,28 +48,6 @@ describe "Search Results" do
48
48
  search_for 'asdfghj'
49
49
  expect(page).to have_content "No results found for your search"
50
50
  end
51
-
52
- it "should pass the current search id through", :js => true do
53
- search_for ''
54
- search_id = Search.last.id.to_s
55
- click_on 'Pluvial nectar of blessings'
56
- expect(page).to have_content "« Previous | 10 of 30 | Next »"
57
- prev = page.find("#previousNextDocument .previous")
58
- expect(prev['data-context-href']).to eq "/catalog/2003546302/track?counter=9&search_id=#{search_id}"
59
-
60
- click_on "« Previous"
61
-
62
- prev = page.find("#previousNextDocument .previous")
63
- expect(prev['data-context-href']).to eq "/catalog/2004310986/track?counter=8&search_id=#{search_id}"
64
- end
65
-
66
- it "should redirect context urls to the original url", :js => true do
67
- search_for ''
68
- first('.index_title a').click
69
- expect(page).to have_content "« Previous | 1 of 30 | Next »"
70
- expect(page.current_url).to_not have_content "/track"
71
- end
72
-
73
51
  end
74
52
 
75
53
 
@@ -513,4 +513,43 @@ describe BlacklightHelper do
513
513
 
514
514
  end
515
515
  end
516
+ describe "#type_field_to_partial_name" do
517
+ let(:document) { double }
518
+ context "with default value" do
519
+ subject { helper.type_field_to_partial_name(document, 'default') }
520
+ it { should eq 'default' }
521
+ end
522
+ context "with spaces" do
523
+ subject { helper.type_field_to_partial_name(document, 'one two three') }
524
+ it { should eq 'one_two_three' }
525
+ end
526
+ context "with hyphens" do
527
+ subject { helper.type_field_to_partial_name(document, 'one-two-three') }
528
+ it { should eq 'one_two_three' }
529
+ end
530
+ context "an array" do
531
+ subject { helper.type_field_to_partial_name(document, ['one', 'two', 'three']) }
532
+ it { should eq 'one_two_three' }
533
+ end
534
+ end
535
+
536
+ describe "#opensearch_description_tag" do
537
+ subject { helper.opensearch_description_tag 'title', 'href' }
538
+
539
+ it "should have a search rel" do
540
+ expect(subject).to have_selector "link[rel='search']", visible: false
541
+ end
542
+
543
+ it "should have the correct mime type" do
544
+ expect(subject).to have_selector "link[type='application/opensearchdescription+xml']", visible: false
545
+ end
546
+
547
+ it "should have a title attribute" do
548
+ expect(subject).to have_selector "link[title='title']", visible: false
549
+ end
550
+
551
+ it "should have an href attribute" do
552
+ expect(subject).to have_selector "link[href='href']", visible: false
553
+ end
554
+ end
516
555
  end
@@ -16,6 +16,7 @@ describe BlacklightUrlHelper do
16
16
 
17
17
  helper.stub(blacklight_config: blacklight_config)
18
18
  helper.stub(current_search_session: nil)
19
+ helper.stub(:search_session).and_return({})
19
20
  end
20
21
 
21
22
  describe "url_for_document" do
@@ -27,19 +28,31 @@ describe BlacklightUrlHelper do
27
28
  end
28
29
 
29
30
  it "should be a polymorphic routing-ready object" do
30
- doc = double
31
+ doc = SolrDocument.new
31
32
  expect(helper.url_for_document(doc)).to eq doc
32
33
  end
33
34
 
34
- it "should be a catalog controller-specific route" do
35
+ it "should allow for custom show routes" do
35
36
  doc = SolrDocument.new
37
+ helper.blacklight_config.show.route = { controller: 'catalog' }
36
38
  expect(helper.url_for_document(doc)).to eq({controller: 'catalog', action: :show, id: doc})
37
39
  end
38
40
 
41
+ context "within bookmarks" do
42
+ let(:controller_class) { ::BookmarksController.new }
43
+
44
+ it "should use polymorphic routing" do
45
+ doc = SolrDocument.new
46
+ expect(helper.url_for_document(doc)).to eq doc
47
+ end
48
+ end
49
+
39
50
  context "within an alternative catalog controller" do
40
51
  let(:controller_class) { ::AlternateController.new }
41
-
42
- it "should be a catalog controller-specific route" do
52
+ before do
53
+ helper.blacklight_config.show.route = { controller: :current }
54
+ end
55
+ it "should support the :current controller configuration" do
43
56
  doc = SolrDocument.new
44
57
  expect(helper.url_for_document(doc)).to eq({controller: 'alternate', action: :show, id: doc})
45
58
  end
@@ -54,16 +67,16 @@ describe BlacklightUrlHelper do
54
67
  end
55
68
 
56
69
  describe "link_back_to_catalog" do
57
- let(:query_params) {{:q => "query", :f => "facets", :per_page => "10", :page => "2", :controller=>'catalog'}}
58
- let(:bookmarks_query_params) {{ :page => "2", :controller=>'bookmarks'}}
70
+ let(:query_params) {{:q => "query", :f => "facets", :controller=>'catalog'}}
71
+ let(:bookmarks_query_params) {{ :controller=>'bookmarks'}}
59
72
 
60
73
  it "should build a link tag to catalog using session[:search] for query params" do
61
74
  helper.stub(:current_search_session).and_return double(:query_params => query_params)
62
75
  tag = helper.link_back_to_catalog
63
76
  expect(tag).to match /q=query/
64
77
  expect(tag).to match /f=facets/
65
- expect(tag).to match /per_page=10/
66
- expect(tag).to match /page=2/
78
+ expect(tag).to_not match /page=/
79
+ expect(tag).to_not match /per_page=/
67
80
  end
68
81
 
69
82
  it "should build a link tag to bookmarks using session[:search] for query params" do
@@ -71,7 +84,25 @@ describe BlacklightUrlHelper do
71
84
  tag = helper.link_back_to_catalog
72
85
  expect(tag).to match /Back to Bookmarks/
73
86
  expect(tag).to match /\/bookmarks/
74
- expect(tag).to match /page=2/
87
+ end
88
+
89
+ context "with a search context" do
90
+
91
+ it "should use the current search session counter and per page information to construct the appropriate pagination context" do
92
+ helper.stub(current_search_session: double(query_params: query_params))
93
+ helper.stub(search_session: { 'per_page' => 15, 'counter' => 31 })
94
+ tag = helper.link_back_to_catalog
95
+ expect(tag).to match /page=3/
96
+ expect(tag).to match /per_page=15/
97
+ end
98
+
99
+ it "should omit per_page if the value is the same as the default" do
100
+ helper.stub(current_search_session: double(query_params: query_params))
101
+ helper.stub(search_session: { 'per_page' => 10, 'counter' => 31 })
102
+ tag = helper.link_back_to_catalog
103
+ expect(tag).to match /page=4/
104
+ expect(tag).to_not match /per_page=/
105
+ end
75
106
  end
76
107
 
77
108
  describe "when an alternate scope is passed in" do
@@ -84,8 +115,6 @@ describe BlacklightUrlHelper do
84
115
  expect(tag).to match /Back to Search/
85
116
  expect(tag).to match /q=query/
86
117
  expect(tag).to match /f=facets/
87
- expect(tag).to match /per_page=10/
88
- expect(tag).to match /page=2/
89
118
  end
90
119
  end
91
120
  end
@@ -12,6 +12,7 @@ describe "catalog/_index_header_default" do
12
12
  it "should render the document header" do
13
13
  assign :response, double(:params => {})
14
14
  view.stub(:current_search_session).and_return nil
15
+ view.stub(:search_session).and_return({})
15
16
  view.stub(:render_grouped_response?).and_return false
16
17
  view.stub(:blacklight_config).and_return(blacklight_config)
17
18
  view.stub(:render_bookmarks_control?).and_return false
@@ -19,4 +20,4 @@ describe "catalog/_index_header_default" do
19
20
  expect(rendered).to have_selector('.document-counter', text: "2")
20
21
  end
21
22
 
22
- end
23
+ end
@@ -3,16 +3,13 @@ require 'spec_helper'
3
3
  # spec for sidebar partial in catalog show view
4
4
 
5
5
  describe "/catalog/_show_sidebar.html.erb" do
6
-
7
- include BlacklightHelper
8
- include CatalogHelper
9
-
10
6
 
11
7
  before(:each) do
12
8
 
13
9
  view.stub(:blacklight_config).and_return(CatalogController.blacklight_config)
14
10
  view.stub(:has_user_authentication_provider?).and_return(false)
15
11
  view.stub(:current_search_session).and_return nil
12
+ view.stub(:search_session).and_return({})
16
13
  end
17
14
 
18
15
  it "should show more-like-this titles in the sidebar" do
@@ -21,6 +21,7 @@ describe "catalog/_thumbnail_default" do
21
21
  view.stub(:render_grouped_response?).and_return false
22
22
  view.stub(:blacklight_config).and_return(blacklight_config)
23
23
  view.stub(:current_search_session).and_return nil
24
+ view.stub(:search_session).and_return({})
24
25
  end
25
26
 
26
27
  it "should render the thumbnail if the document has one" do
@@ -33,4 +34,4 @@ describe "catalog/_thumbnail_default" do
33
34
  render :partial => "catalog/thumbnail_default", :locals => {:document => document_without_thumbnail_field, :document_counter => 1}
34
35
  expect(rendered).to eq ""
35
36
  end
36
- end
37
+ end
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: 5.2.0
4
+ version: 5.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jonathan Rochkind
@@ -17,7 +17,7 @@ authors:
17
17
  autorequire:
18
18
  bindir: bin
19
19
  cert_chain: []
20
- date: 2014-03-13 00:00:00.000000000 Z
20
+ date: 2014-03-20 00:00:00.000000000 Z
21
21
  dependencies:
22
22
  - !ruby/object:Gem::Dependency
23
23
  name: rails
@@ -348,6 +348,8 @@ files:
348
348
  - app/views/record_mailer/sms_record.text.erb
349
349
  - app/views/saved_searches/index.html.erb
350
350
  - app/views/search_history/index.html.erb
351
+ - app/views/shared/_ajax_modal.html.erb
352
+ - app/views/shared/_flash_messages.html.erb
351
353
  - app/views/shared/_footer.html.erb
352
354
  - app/views/shared/_header_navbar.html.erb
353
355
  - blacklight.gemspec
@@ -428,6 +430,7 @@ files:
428
430
  - spec/features/facets_spec.rb
429
431
  - spec/features/record_view_spec.rb
430
432
  - spec/features/saved_searches_spec.rb
433
+ - spec/features/search_context_spec.rb
431
434
  - spec/features/search_filters_spec.rb
432
435
  - spec/features/search_history_spec.rb
433
436
  - spec/features/search_pagination_spec.rb
@@ -535,6 +538,7 @@ test_files:
535
538
  - spec/features/facets_spec.rb
536
539
  - spec/features/record_view_spec.rb
537
540
  - spec/features/saved_searches_spec.rb
541
+ - spec/features/search_context_spec.rb
538
542
  - spec/features/search_filters_spec.rb
539
543
  - spec/features/search_history_spec.rb
540
544
  - spec/features/search_pagination_spec.rb