From a39a8a9314e5a8016425b316d8abc3ce5fb6632b Mon Sep 17 00:00:00 2001 From: Justin Coyne Date: Mon, 7 Jul 2014 23:47:35 -0500 Subject: [PATCH] Facet paginator wraps a page of facets, it shouldn't paginate itself --- lib/blacklight/solr/facet_paginator.rb | 3 ++- spec/lib/blacklight/facet_paginator_spec.rb | 10 +++++----- 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/lib/blacklight/solr/facet_paginator.rb b/lib/blacklight/solr/facet_paginator.rb index 23fa346307..21db7e488a 100644 --- a/lib/blacklight/solr/facet_paginator.rb +++ b/lib/blacklight/solr/facet_paginator.rb @@ -101,8 +101,9 @@ def params_for_resort_url(sort_method, params) private # setting limit to 0 implies no limit + # @return an array of facets on the page def items_for_limit(values) - limit != 0 ? values.slice(offset, limit) : values + limit == 0 ? values : values.take(limit) end end end diff --git a/spec/lib/blacklight/facet_paginator_spec.rb b/spec/lib/blacklight/facet_paginator_spec.rb index f2383c8c10..d2527a4e66 100644 --- a/spec/lib/blacklight/facet_paginator_spec.rb +++ b/spec/lib/blacklight/facet_paginator_spec.rb @@ -26,7 +26,7 @@ end context 'on the last page of two pages' do - subject { Blacklight::Solr::FacetPaginator.new(seven_facet_values, offset: 6, limit: limit) } + subject { Blacklight::Solr::FacetPaginator.new([f7], offset: 6, limit: limit) } it { should_not be_first_page } it { should be_last_page } its(:current_page) { should eq 2 } @@ -46,12 +46,12 @@ describe "params_for_resort_url" do let(:sort_key) { Blacklight::Solr::FacetPaginator.request_keys[:sort] } let(:page_key) { Blacklight::Solr::FacetPaginator.request_keys[:page] } - let(:paginator) { Blacklight::Solr::FacetPaginator.new(seven_facet_values, offset: 100, limit: limit, sort: 'index') } + subject { Blacklight::Solr::FacetPaginator.new([], offset: 100, limit: limit, sort: 'index') } it 'should know a manually set sort, and produce proper sort url' do - expect(paginator.sort).to eq 'index' + expect(subject.sort).to eq 'index' - click_params = paginator.params_for_resort_url('count', {}) + click_params = subject.params_for_resort_url('count', {}) expect(click_params[ sort_key ]).to eq 'count' expect(click_params[ page_key ]).to be_nil @@ -64,5 +64,5 @@ expect(subject.items).to eq seven_facet_values end end - + end