blacklight 4.7.0 → 4.8.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 (97) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +1 -0
  3. data/.travis.yml +13 -12
  4. data/Gemfile +37 -2
  5. data/VERSION +1 -1
  6. data/app/assets/stylesheets/blacklight/{_blacklight_base.css.scss → _blacklight_base.scss} +0 -0
  7. data/app/assets/stylesheets/blacklight/{_bookmark.css.scss → _bookmark.scss} +0 -0
  8. data/app/assets/stylesheets/blacklight/{_catalog.css.scss → _catalog.scss} +0 -0
  9. data/app/assets/stylesheets/blacklight/{_dropdown.css.scss → _dropdown.scss} +0 -0
  10. data/app/assets/stylesheets/blacklight/{_facets.css.scss → _facets.scss} +0 -0
  11. data/app/assets/stylesheets/blacklight/{_footer.css.scss → _footer.scss} +0 -0
  12. data/app/assets/stylesheets/blacklight/{_group.css.scss → _group.scss} +0 -0
  13. data/app/assets/stylesheets/blacklight/{_header.css.scss → _header.scss} +0 -0
  14. data/app/assets/stylesheets/blacklight/{_layout.css.scss → _layout.scss} +0 -0
  15. data/app/assets/stylesheets/blacklight/{_mixins.css.scss → _mixins.scss} +0 -0
  16. data/app/assets/stylesheets/blacklight/{_modal.css.scss → _modal.scss} +0 -0
  17. data/app/assets/stylesheets/blacklight/{_print.css.scss → _print.scss} +0 -0
  18. data/app/assets/stylesheets/blacklight/{_responsive.css.scss → _responsive.scss} +0 -0
  19. data/app/assets/stylesheets/blacklight/{_search_history.css.scss → _search_history.scss} +0 -0
  20. data/app/assets/stylesheets/blacklight/{blacklight.css.scss → blacklight.scss} +0 -0
  21. data/app/assets/stylesheets/blacklight/{blacklight_defaults.css.scss → blacklight_defaults.scss} +0 -0
  22. data/app/assets/stylesheets/blacklight/responsive_partials/{_catalog.css.scss → _catalog.scss} +0 -0
  23. data/app/assets/stylesheets/blacklight/responsive_partials/{_facets.css.scss → _facets.scss} +0 -0
  24. data/app/assets/stylesheets/blacklight/responsive_partials/{_header.css.scss → _header.scss} +0 -0
  25. data/app/helpers/blacklight/blacklight_helper_behavior.rb +2 -2
  26. data/app/helpers/blacklight/catalog_helper_behavior.rb +1 -1
  27. data/app/helpers/blacklight/facets_helper_behavior.rb +1 -0
  28. data/app/helpers/blacklight/search_history_constraints_helper_behavior.rb +2 -2
  29. data/blacklight.gemspec +5 -6
  30. data/lib/blacklight/catalog.rb +1 -1
  31. data/lib/blacklight/catalog/search_context.rb +6 -6
  32. data/lib/blacklight/solr/document.rb +29 -21
  33. data/lib/blacklight/solr_helper.rb +6 -4
  34. data/lib/generators/blacklight/templates/{blacklight.css.scss → blacklight.scss} +0 -0
  35. data/spec/controllers/application_controller_spec.rb +3 -3
  36. data/spec/controllers/bookmarks_controller_spec.rb +11 -11
  37. data/spec/controllers/catalog_controller_spec.rb +117 -117
  38. data/spec/controllers/search_history_controller_spec.rb +8 -8
  39. data/spec/features/alternate_controller_spec.rb +7 -5
  40. data/spec/features/record_view_spec.rb +4 -1
  41. data/spec/features/search_filters_spec.rb +37 -24
  42. data/spec/features/search_pagination_spec.rb +11 -7
  43. data/spec/features/search_results_spec.rb +22 -14
  44. data/spec/features/search_sort_spec.rb +3 -1
  45. data/spec/features/search_spec.rb +6 -0
  46. data/spec/helpers/blacklight_helper_spec.rb +175 -166
  47. data/spec/helpers/catalog_helper_spec.rb +59 -59
  48. data/spec/helpers/facets_helper_spec.rb +118 -118
  49. data/spec/helpers/hash_as_hidden_fields_spec.rb +14 -8
  50. data/spec/helpers/html_head_helper_spec.rb +51 -45
  51. data/spec/helpers/render_constraints_helper_spec.rb +5 -6
  52. data/spec/helpers/search_history_constraints_helper_spec.rb +21 -21
  53. data/spec/lib/blacklight/solr_response/group_response_spec.rb +2 -2
  54. data/spec/lib/blacklight_configurable_spec.rb +16 -16
  55. data/spec/lib/blacklight_configuration_spec.rb +132 -132
  56. data/spec/lib/blacklight_email_spec.rb +4 -4
  57. data/spec/lib/blacklight_sms_spec.rb +4 -4
  58. data/spec/lib/blacklight_solr_document_dublin_core_spec.rb +6 -6
  59. data/spec/lib/blacklight_solr_document_marc_spec.rb +3 -3
  60. data/spec/lib/blacklight_solr_document_more_like_this_spec.rb +4 -4
  61. data/spec/lib/blacklight_solr_document_spec.rb +36 -36
  62. data/spec/lib/blacklight_solr_response_spec.rb +42 -42
  63. data/spec/lib/blacklight_spec.rb +5 -5
  64. data/spec/lib/blacklight_user_spec.rb +5 -5
  65. data/spec/lib/facet_paginator_spec.rb +12 -12
  66. data/spec/lib/marc_export_spec.rb +746 -746
  67. data/spec/lib/search_fields_spec.rb +13 -13
  68. data/spec/lib/solr_helper_spec.rb +255 -250
  69. data/spec/lib/tasks/blacklight_task_spec.rb +1 -1
  70. data/spec/lib/tasks/solr_marc_task_spec.rb +6 -6
  71. data/spec/lib/utils_spec.rb +11 -11
  72. data/spec/models/bookmark_spec.rb +7 -6
  73. data/spec/models/record_mailer_spec.rb +16 -16
  74. data/spec/models/search_spec.rb +8 -8
  75. data/spec/models/solr_document_spec.rb +7 -7
  76. data/spec/requests/alternate_controller_spec.rb +3 -3
  77. data/spec/routing/catalog_routing_spec.rb +10 -15
  78. data/spec/spec_helper.rb +6 -4
  79. data/spec/support/assert_difference.rb +2 -2
  80. data/spec/support/features.rb +11 -0
  81. data/spec/support/features/session_helpers.rb +3 -3
  82. data/spec/support/include_text.rb +2 -2
  83. data/spec/test_app_templates/Gemfile.extra +2 -15
  84. data/spec/test_app_templates/lib/generators/test_app_generator.rb +17 -6
  85. data/spec/views/catalog/_constraints.html.erb_spec.rb +7 -7
  86. data/spec/views/catalog/_constraints_element.html.erb_spec.rb +12 -12
  87. data/spec/views/catalog/_document.html.erb_spec.rb +1 -1
  88. data/spec/views/catalog/_facets.html.erb_spec.rb +13 -13
  89. data/spec/views/catalog/_index_default.erb_spec.rb +20 -20
  90. data/spec/views/catalog/_show_default.erb_spec.rb +20 -20
  91. data/spec/views/catalog/_show_sidebar.erb_spec.rb +6 -6
  92. data/spec/views/catalog/_thumbnail_default.erb_spec.rb +3 -3
  93. data/spec/views/catalog/index.atom.builder_spec.rb +28 -28
  94. data/spec/views/catalog/index.html.erb_spec.rb +6 -6
  95. metadata +35 -57
  96. data/gemfiles/rails3.gemfile +0 -25
  97. data/gemfiles/rails4.gemfile +0 -24
@@ -6,19 +6,25 @@ describe HashAsHiddenFieldsHelper do
6
6
  before(:each) do
7
7
  @hash = {:q => "query", :search_field => "search_field", :per_page=>10, :page=>5, :extra_arbitrary_key=>"arbitrary_value", :f=> {:field1 => ["a", "b"], :field2=> ["z"]}}
8
8
  end
9
+ around(:each) do |example|
10
+ tmp_value = Capybara.ignore_hidden_elements
11
+ Capybara.ignore_hidden_elements = false
12
+ example.run
13
+ Capybara.ignore_hidden_elements = tmp_value
14
+ end
9
15
 
10
16
  it "should convert a hash with nested complex data to Rails-style hidden form fields" do
11
17
 
12
18
  generated = render_hash_as_hidden_fields(@hash)
13
19
 
14
- generated.should have_selector("input[type='hidden'][name='q'][value='query']")
15
- generated.should have_selector("input[type='hidden'][name='per_page'][value='10']")
16
- generated.should have_selector("input[type='hidden'][name='page'][value='5']")
17
- generated.should have_selector("input[type='hidden'][name='extra_arbitrary_key'][value='arbitrary_value']")
18
- generated.should have_selector("input[type='hidden'][name='f[field2][]'][value='z']")
19
- generated.should have_selector("input[type='hidden'][name='f[field1][]'][value='a']")
20
- generated.should have_selector("input[type='hidden'][name='f[field1][]'][value='b']")
21
-
20
+ expect(generated).to have_selector("input[type='hidden'][name='q'][value='query']")
21
+ expect(generated).to have_selector("input[type='hidden'][name='per_page'][value='10']")
22
+ expect(generated).to have_selector("input[type='hidden'][name='page'][value='5']")
23
+ expect(generated).to have_selector("input[type='hidden'][name='extra_arbitrary_key'][value='arbitrary_value']")
24
+ expect(generated).to have_selector("input[type='hidden'][name='f[field2][]'][value='z']")
25
+ expect(generated).to have_selector("input[type='hidden'][name='f[field1][]'][value='a']")
26
+ expect(generated).to have_selector("input[type='hidden'][name='f[field1][]'][value='b']")
27
+
22
28
  end
23
29
 
24
30
  end
@@ -1,10 +1,16 @@
1
1
  require File.expand_path(File.dirname(__FILE__) + '/../spec_helper')
2
2
  describe HtmlHeadHelper do
3
+ around(:each) do |example|
4
+ tmp_value = Capybara.ignore_hidden_elements
5
+ Capybara.ignore_hidden_elements = false
6
+ example.run
7
+ Capybara.ignore_hidden_elements = tmp_value
8
+ end
3
9
 
4
10
  describe "render_js_includes" do
5
- helper do
11
+ helper do
6
12
  def javascript_includes
7
- [
13
+ [
8
14
  ["some_js.js", {:plugin => :blacklight}],
9
15
  ["other_js"]
10
16
  ]
@@ -16,27 +22,27 @@ describe HtmlHeadHelper do
16
22
  helper.render_js_includes
17
23
  end
18
24
 
19
- if Rails::VERSION::MAJOR == 4
20
- html.should have_selector("script[src='/javascripts/some_js.js']")
21
- html.should have_selector("script[src='/javascripts/other_js.js']")
25
+ if Rails::VERSION::MAJOR == 4
26
+ expect(html).to have_selector("script[src='/javascripts/some_js.js']")
27
+ expect(html).to have_selector("script[src='/javascripts/other_js.js']")
22
28
  elsif use_asset_pipeline?
23
29
  # only for rails 3 with asset pipeline enabled
24
- html.should have_selector("script[src='/assets/some_js.js'][type='text/javascript']")
25
- html.should have_selector("script[src='/assets/other_js.js'][type='text/javascript']")
30
+ expect(html).to have_selector("script[src='/assets/some_js.js'][type='text/javascript']")
31
+ expect(html).to have_selector("script[src='/assets/other_js.js'][type='text/javascript']")
26
32
  else
27
33
  # rails 3 with asset pipeline disabled
28
- html.should have_selector("script[src='/javascripts/some_js.js'][type='text/javascript']")
29
- html.should have_selector("script[src='/javascripts/other_js.js'][type='text/javascript']")
34
+ expect(html).to have_selector("script[src='/javascripts/some_js.js'][type='text/javascript']")
35
+ expect(html).to have_selector("script[src='/javascripts/other_js.js'][type='text/javascript']")
30
36
  end
31
37
 
32
- html.html_safe?.should == true
38
+ expect(html.html_safe?).to eq(true)
33
39
  end
34
40
  end
35
41
 
36
42
  describe "render_stylesheet_links" do
37
- helper do
43
+ helper do
38
44
  def stylesheet_links
39
- [
45
+ [
40
46
  ["my_stylesheet", {:plugin => :blacklight}],
41
47
  ["other_stylesheet"]
42
48
  ]
@@ -48,23 +54,23 @@ describe HtmlHeadHelper do
48
54
  helper.render_stylesheet_includes
49
55
  end
50
56
 
51
- if Rails::VERSION::MAJOR == 4
52
- html.should have_selector("link[href='/stylesheets/my_stylesheet.css'][rel='stylesheet']")
53
- html.should have_selector("link[href='/stylesheets/other_stylesheet.css'][rel='stylesheet']")
57
+ if Rails::VERSION::MAJOR == 4
58
+ expect(html).to have_selector("link[href='/stylesheets/my_stylesheet.css'][rel='stylesheet']")
59
+ expect(html).to have_selector("link[href='/stylesheets/other_stylesheet.css'][rel='stylesheet']")
54
60
  elsif use_asset_pipeline?
55
- html.should have_selector("link[href='/assets/my_stylesheet.css'][rel='stylesheet'][type='text/css']")
56
- html.should have_selector("link[href='/assets/other_stylesheet.css'][rel='stylesheet'][type='text/css']")
61
+ expect(html).to have_selector("link[href='/assets/my_stylesheet.css'][rel='stylesheet'][type='text/css']")
62
+ expect(html).to have_selector("link[href='/assets/other_stylesheet.css'][rel='stylesheet'][type='text/css']")
57
63
  else
58
- html.should have_selector("link[href='/stylesheets/my_stylesheet.css'][rel='stylesheet'][type='text/css']")
59
- html.should have_selector("link[href='/stylesheets/other_stylesheet.css'][rel='stylesheet'][type='text/css']")
64
+ expect(html).to have_selector("link[href='/stylesheets/my_stylesheet.css'][rel='stylesheet'][type='text/css']")
65
+ expect(html).to have_selector("link[href='/stylesheets/other_stylesheet.css'][rel='stylesheet'][type='text/css']")
60
66
  end
61
67
 
62
- html.html_safe?.should == true
68
+ expect(html.html_safe?).to eq(true)
63
69
  end
64
70
  end
65
-
71
+
66
72
  describe "render_extra_head_content" do
67
- helper do
73
+ helper do
68
74
  def extra_head_content
69
75
  ['<link rel="a">', '<link rel="b">']
70
76
  end
@@ -76,10 +82,10 @@ describe HtmlHeadHelper do
76
82
  helper.render_extra_head_content
77
83
  end
78
84
 
79
- html.should have_selector("link[rel=a]")
80
- html.should have_selector("link[rel=b]")
85
+ expect(html).to have_selector("link[rel=a]")
86
+ expect(html).to have_selector("link[rel=b]")
81
87
 
82
- html.html_safe?.should == true
88
+ expect(html.html_safe?).to eq(true)
83
89
  end
84
90
  end
85
91
 
@@ -87,14 +93,14 @@ describe HtmlHeadHelper do
87
93
  describe "with no methods defined" do
88
94
  it "should return empty string without complaint" do
89
95
  Deprecation.silence(Blacklight::HtmlHeadHelperBehavior) do
90
- lambda {helper.render_head_content}.should_not raise_error
91
- helper.render_head_content.should be_blank
92
- helper.render_head_content.html_safe?.should == true
96
+ expect {helper.render_head_content}.not_to raise_error
97
+ expect(helper.render_head_content).to be_blank
98
+ expect(helper.render_head_content.html_safe?).to eq(true)
93
99
  end
94
100
  end
95
101
  end
96
102
  describe "with methods defined" do
97
- helper do
103
+ helper do
98
104
  def javascript_includes
99
105
  [["my_js"]]
100
106
  end
@@ -104,47 +110,47 @@ describe HtmlHeadHelper do
104
110
  def extra_head_content
105
111
  [
106
112
  "<madeup_tag></madeup_tag>",
107
- '<link rel="rel" type="type" href="href">'
113
+ '<link rel="rel" type="type" href="href">'
108
114
  ]
109
115
  end
110
116
  end
111
117
  before(:each) do
112
- helper.should_receive(:content_for).with(:head).and_return("<meta keywords=\"foo bar\"/>".html_safe)
118
+ expect(helper).to receive(:content_for).with(:head).and_return("<meta keywords=\"foo bar\"/>".html_safe)
113
119
 
114
120
  @output = Deprecation.silence(Blacklight::HtmlHeadHelperBehavior) do
115
121
  helper.render_head_content
116
122
  end
117
123
  end
118
124
  it "should include extra_head_content" do
119
- @output.should have_selector("madeup_tag")
120
- @output.should have_selector("link[rel=rel][type=type][href=href]")
125
+ expect(@output).to have_selector("madeup_tag")
126
+ expect(@output).to have_selector("link[rel=rel][type=type][href=href]")
121
127
  end
122
128
  it "should include render_javascript_includes" do
123
- if Rails::VERSION::MAJOR == 4
124
- @output.should have_selector("script[src='/javascripts/my_js.js']")
129
+ if Rails::VERSION::MAJOR == 4
130
+ expect(@output).to have_selector("script[src='/javascripts/my_js.js']")
125
131
  else
126
- @output.should have_selector("script[src='/assets/my_js.js'][type='text/javascript']")
132
+ expect(@output).to have_selector("script[src='/assets/my_js.js'][type='text/javascript']")
127
133
  end
128
134
  end
129
135
  it "should include render_stylesheet_links" do
130
- if Rails::VERSION::MAJOR == 4
131
- @output.should have_selector("link[href='/stylesheets/my_css.css']")
136
+ if Rails::VERSION::MAJOR == 4
137
+ expect(@output).to have_selector("link[href='/stylesheets/my_css.css']")
132
138
  else
133
- @output.should have_selector("link[href='/assets/my_css.css'][type='text/css']")
139
+ expect(@output).to have_selector("link[href='/assets/my_css.css'][type='text/css']")
134
140
  end
135
141
  end
136
142
  it "should include content_for :head" do
137
- @output.should have_selector("meta[keywords]")
143
+ expect(@output).to have_selector("meta[keywords]")
138
144
  end
139
145
 
140
146
  it "should include all head content" do
141
- helper.should_receive(:render_extra_head_content).and_return("".html_safe)
142
- helper.should_receive(:render_js_includes).and_return("".html_safe)
143
- helper.should_receive(:render_stylesheet_includes).and_return("".html_safe)
144
- helper.should_receive(:content_for).with(:head).and_return("".html_safe)
147
+ expect(helper).to receive(:render_extra_head_content).and_return("".html_safe)
148
+ expect(helper).to receive(:render_js_includes).and_return("".html_safe)
149
+ expect(helper).to receive(:render_stylesheet_includes).and_return("".html_safe)
150
+ expect(helper).to receive(:content_for).with(:head).and_return("".html_safe)
145
151
 
146
152
  Deprecation.silence(Blacklight::HtmlHeadHelperBehavior) do
147
- helper.render_head_content.should be_html_safe
153
+ expect(helper.render_head_content).to be_html_safe
148
154
  end
149
155
  end
150
156
  end
@@ -4,12 +4,12 @@ describe RenderConstraintsHelper do
4
4
 
5
5
  before do
6
6
  # the helper methods below infer paths from the current route
7
- controller.request.path_parameters["controller"] = 'catalog'
7
+ controller.request.path_parameters[:controller] = 'catalog'
8
8
  end
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='/?f%5Btype%5D=journal']"
12
+ expect(helper.render_constraints_query(:q=>'foobar', :f=>{:type=>'journal'})).to have_selector "a[href='/?f%5Btype%5D=journal']"
13
13
  end
14
14
  end
15
15
 
@@ -18,13 +18,12 @@ describe RenderConstraintsHelper do
18
18
  @config = Blacklight::Configuration.new do |config|
19
19
  config.add_facet_field 'type'
20
20
  end
21
- helper.stub(:blacklight_config => @config)
21
+ allow(helper).to receive_messages(:blacklight_config => @config)
22
22
  end
23
23
  it "should have a link relative to the current url" do
24
24
  result = helper.render_filter_element('type', ['journal'], {:q=>'biz'})
25
- result.size.should == 1
26
- # I'm not certain how the ampersand gets in there. It's not important.
27
- result.first.should have_selector "a[href='/?&q=biz']"
25
+ expect(result.size).to eq(1)
26
+ expect(result.first).to have_link "Remove constraint Type: journal", href: "/?q=biz"
28
27
  end
29
28
  end
30
29
 
@@ -13,41 +13,41 @@ describe SearchHistoryConstraintsHelper do
13
13
  end
14
14
 
15
15
  before(:each) do
16
- helper.stub(:blacklight_config).and_return(@config)
16
+ allow(helper).to receive(:blacklight_config).and_return(@config)
17
17
  end
18
18
 
19
19
  describe "render_search_to_s_*" do
20
20
  describe "render_search_to_s_element" do
21
21
  it "should render basic element" do
22
22
  response = helper.render_search_to_s_element("key", "value")
23
- response.should have_selector("span.constraint") do |span|
24
- span.should have_selector("span.filterName", :content => "key:")
25
- span.should have_selector("span.filterValue", :content => "value")
23
+ expect(response).to have_selector("span.constraint") do |span|
24
+ expect(span).to have_selector("span.filterName", :content => "key:")
25
+ expect(span).to have_selector("span.filterValue", :content => "value")
26
26
  end
27
- response.html_safe?.should == true
27
+ expect(response.html_safe?).to eq(true)
28
28
  end
29
29
  it "should escape them that need escaping" do
30
30
  response = helper.render_search_to_s_element("key>", "value>")
31
- response.should have_selector("span.constraint") do |span|
32
- span.should have_selector("span.filterName") do |s2|
31
+ expect(response).to have_selector("span.constraint") do |span|
32
+ expect(span).to have_selector("span.filterName") do |s2|
33
33
  # Note: nokogiri's gettext will unescape the inner html
34
34
  # which seems to be what rspecs "contains" method calls on
35
35
  # text nodes - thus the to_s inserted below.
36
- s2.to_s.should match(/key&gt;:/)
36
+ expect(s2.to_s).to match(/key&gt;:/)
37
37
  end
38
- span.should have_selector("span.filterValue") do |s3|
39
- s3.to_s.should match(/value&gt;/)
38
+ expect(span).to have_selector("span.filterValue") do |s3|
39
+ expect(s3.to_s).to match(/value&gt;/)
40
40
  end
41
41
  end
42
- response.html_safe?.should == true
42
+ expect(response.html_safe?).to eq(true)
43
43
  end
44
44
  it "should not escape with options set thus" do
45
45
  response = helper.render_search_to_s_element("key>", "value>", :escape_key => false, :escape_value => false)
46
- response.should have_selector("span.constraint") do |span|
47
- span.should have_selector("span.filterName", :content => "key>:")
48
- span.should have_selector("span.filterValue", :content => "value>")
46
+ expect(response).to have_selector("span.constraint") do |span|
47
+ expect(span).to have_selector("span.filterName", :content => "key>:")
48
+ expect(span).to have_selector("span.filterValue", :content => "value>")
49
49
  end
50
- response.html_safe?.should == true
50
+ expect(response.html_safe?).to eq(true)
51
51
  end
52
52
  end
53
53
 
@@ -56,15 +56,15 @@ describe SearchHistoryConstraintsHelper do
56
56
  @params = {:q => "history", :f => {"some_facet" => ["value1", "value1"], "other_facet" => ["other1"]}}
57
57
  end
58
58
  it "should call lesser methods" do
59
- helper.stub(:blacklight_config).and_return(@config)
60
- helper.stub(:default_search_field).and_return(Blacklight::Configuration::SearchField.new(:key => 'default_search_field', :display_label => 'Default'))
61
- helper.stub(:label_for_search_field).with(nil).and_return('')
59
+ allow(helper).to receive(:blacklight_config).and_return(@config)
60
+ allow(helper).to receive(:default_search_field).and_return(Blacklight::Configuration::SearchField.new(:key => 'default_search_field', :display_label => 'Default'))
61
+ allow(helper).to receive(:label_for_search_field).with(nil).and_return('')
62
62
  # API hooks expect this to be so
63
63
  response = helper.render_search_to_s(@params)
64
64
 
65
- response.should include( helper.render_search_to_s_q(@params))
66
- response.should include( helper.render_search_to_s_filters(@params))
67
- response.html_safe?.should == true
65
+ expect(response).to include( helper.render_search_to_s_q(@params))
66
+ expect(response).to include( helper.render_search_to_s_filters(@params))
67
+ expect(response.html_safe?).to eq(true)
68
68
  end
69
69
  end
70
70
 
@@ -12,9 +12,9 @@ describe Blacklight::SolrResponse::GroupResponse do
12
12
 
13
13
  describe "groups" do
14
14
  it "should return an array of Groups" do
15
- response.grouped.should be_a Array
15
+ expect(response.grouped).to be_a Array
16
16
 
17
- expect(group.groups).to have(2).items
17
+ expect(group.groups.size).to eq(2)
18
18
  group.groups.each do |group|
19
19
  expect(group).to be_a Blacklight::SolrResponse::Group
20
20
  end
@@ -20,17 +20,17 @@ describe "Blacklight::Configurable" do
20
20
  end
21
21
  end
22
22
  it "should inherit the configuration when subclassed" do
23
- TestCaseInheritence::Child.blacklight_config.list.should include(1,2,3)
23
+ expect(TestCaseInheritence::Child.blacklight_config.list).to include(1,2,3)
24
24
  end
25
25
 
26
26
  it "inherited version should be a deep copy, not original" do
27
- TestCaseInheritence::Child.blacklight_config.should_not be(TestCaseInheritence::Parent.blacklight_config)
27
+ expect(TestCaseInheritence::Child.blacklight_config).not_to be(TestCaseInheritence::Parent.blacklight_config)
28
28
 
29
29
  TestCaseInheritence::Child.blacklight_config.list << "child_only"
30
30
 
31
31
 
32
- TestCaseInheritence::Child.blacklight_config.list.should include("child_only")
33
- TestCaseInheritence::Parent.blacklight_config.list.should_not include("child_only")
32
+ expect(TestCaseInheritence::Child.blacklight_config.list).to include("child_only")
33
+ expect(TestCaseInheritence::Parent.blacklight_config.list).not_to include("child_only")
34
34
  end
35
35
  end
36
36
 
@@ -47,7 +47,7 @@ describe "Blacklight::Configurable" do
47
47
  a = Class.new
48
48
  a.send(:include, Blacklight::Configurable)
49
49
 
50
- a.blacklight_config.default_solr_params.should be_empty
50
+ expect(a.blacklight_config.default_solr_params).to be_empty
51
51
  end
52
52
 
53
53
  it "should allow the user to provide a default configuration" do
@@ -56,7 +56,7 @@ describe "Blacklight::Configurable" do
56
56
  Blacklight::Configurable.default_configuration = Blacklight::Configuration.new :a => 1
57
57
 
58
58
  a.send(:include, Blacklight::Configurable)
59
- a.blacklight_config.a.should == 1
59
+ expect(a.blacklight_config.a).to eq(1)
60
60
  end
61
61
 
62
62
  it "has configure_blacklight convenience method" do
@@ -67,7 +67,7 @@ describe "Blacklight::Configurable" do
67
67
  config.my_key = 'value'
68
68
  end
69
69
 
70
- klass.blacklight_config.my_key.should == 'value'
70
+ expect(klass.blacklight_config.my_key).to eq('value')
71
71
  end
72
72
 
73
73
  it "allows the instance to set a radically different config from the class" do
@@ -78,8 +78,8 @@ describe "Blacklight::Configurable" do
78
78
  instance = klass.new
79
79
  instance.blacklight_config = Blacklight::Configuration.new
80
80
 
81
- instance.blacklight_config.should_not == klass.blacklight_config
82
- instance.blacklight_config.foo.should be_nil
81
+ expect(instance.blacklight_config).not_to eq(klass.blacklight_config)
82
+ expect(instance.blacklight_config.foo).to be_nil
83
83
  end
84
84
 
85
85
  it "allows instance to set it's own config seperate from class" do
@@ -94,11 +94,11 @@ describe "Blacklight::Configurable" do
94
94
 
95
95
  instance = klass.new
96
96
  instance.blacklight_config.bar << "123"
97
- instance.blacklight_config.should_not == klass.blacklight_config
98
- klass.blacklight_config.foo.should == "bar"
99
- instance.blacklight_config.foo.should == "bar"
100
- klass.blacklight_config.bar.should_not include("123")
101
- instance.blacklight_config.bar.should include("asd", "123")
97
+ expect(instance.blacklight_config).not_to eq(klass.blacklight_config)
98
+ expect(klass.blacklight_config.foo).to eq("bar")
99
+ expect(instance.blacklight_config.foo).to eq("bar")
100
+ expect(klass.blacklight_config.bar).not_to include("123")
101
+ expect(instance.blacklight_config.bar).to include("asd", "123")
102
102
  end
103
103
 
104
104
  it "configurable classes should not mutate the default configuration object" do
@@ -110,8 +110,8 @@ describe "Blacklight::Configurable" do
110
110
  klass2.send(:include, Blacklight::Configurable)
111
111
  klass2.blacklight_config.foo = "asdf"
112
112
 
113
- klass.blacklight_config.foo.should == "bar"
114
- klass2.blacklight_config.foo.should == "asdf"
113
+ expect(klass.blacklight_config.foo).to eq("bar")
114
+ expect(klass2.blacklight_config.foo).to eq("asdf")
115
115
  end
116
116
 
117
117
  end
@@ -3,7 +3,7 @@
3
3
  require File.expand_path(File.dirname(__FILE__) + '/../spec_helper')
4
4
 
5
5
  describe "Blacklight::Configuration" do
6
-
6
+
7
7
  before(:each) do
8
8
  @config = Blacklight::Configuration.new
9
9
  end
@@ -11,60 +11,60 @@ describe "Blacklight::Configuration" do
11
11
  it "should support arbitrary configuration values" do
12
12
  @config.a = 1
13
13
 
14
- @config.a.should == 1
15
- @config[:a].should == 1
14
+ expect(@config.a).to eq(1)
15
+ expect(@config[:a]).to eq(1)
16
16
  end
17
17
 
18
18
  describe "initialization" do
19
19
  it "should be an OpenStructWithHashAccess" do
20
- @config.should be_a_kind_of Blacklight::OpenStructWithHashAccess
20
+ expect(@config).to be_a_kind_of Blacklight::OpenStructWithHashAccess
21
21
  end
22
22
 
23
23
  it "should accept a block for configuration" do
24
24
  config = Blacklight::Configuration.new(:a => 1) { |c| c.a = 2 }
25
25
 
26
- config.a.should == 2
26
+ expect(config.a).to eq(2)
27
27
 
28
28
  config.configure { |c| c.a = 3 }
29
29
 
30
- config.a.should == 3
30
+ expect(config.a).to eq(3)
31
31
  end
32
32
  end
33
33
 
34
34
  describe "defaults" do
35
35
  it "should have a hash of default rsolr query parameters" do
36
- @config.default_solr_params.should be_a_kind_of Hash
36
+ expect(@config.default_solr_params).to be_a_kind_of Hash
37
37
  end
38
38
 
39
39
  it "should have openstruct values for show and index parameters" do
40
- @config.show.should be_a_kind_of OpenStruct
41
- @config.index.should be_a_kind_of OpenStruct
40
+ expect(@config.show).to be_a_kind_of OpenStruct
41
+ expect(@config.index).to be_a_kind_of OpenStruct
42
42
  end
43
43
 
44
44
  it "should introspect SolrDocument for sensible defaults for show + index" do
45
- @config.show.html_title.should == 'id'
46
- @config.show.heading.should == 'id'
47
- @config.index.show_link.should == 'id'
45
+ expect(@config.show.html_title).to eq('id')
46
+ expect(@config.show.heading).to eq('id')
47
+ expect(@config.index.show_link).to eq('id')
48
48
  end
49
49
 
50
50
  it "should have ordered hashes for field configuration" do
51
- @config.facet_fields.should be_a_kind_of ActiveSupport::OrderedHash
52
- @config.index_fields.should be_a_kind_of ActiveSupport::OrderedHash
53
- @config.show_fields.should be_a_kind_of ActiveSupport::OrderedHash
54
- @config.search_fields.should be_a_kind_of ActiveSupport::OrderedHash
55
- @config.show_fields.should be_a_kind_of ActiveSupport::OrderedHash
56
- @config.search_fields.should be_a_kind_of ActiveSupport::OrderedHash
57
- @config.sort_fields.should be_a_kind_of ActiveSupport::OrderedHash
51
+ expect(@config.facet_fields).to be_a_kind_of ActiveSupport::OrderedHash
52
+ expect(@config.index_fields).to be_a_kind_of ActiveSupport::OrderedHash
53
+ expect(@config.show_fields).to be_a_kind_of ActiveSupport::OrderedHash
54
+ expect(@config.search_fields).to be_a_kind_of ActiveSupport::OrderedHash
55
+ expect(@config.show_fields).to be_a_kind_of ActiveSupport::OrderedHash
56
+ expect(@config.search_fields).to be_a_kind_of ActiveSupport::OrderedHash
57
+ expect(@config.sort_fields).to be_a_kind_of ActiveSupport::OrderedHash
58
58
  end
59
59
  end
60
60
 
61
61
  describe "spell_max" do
62
62
  it "should default to 5" do
63
- Blacklight::Configuration.new.spell_max.should == 5
63
+ expect(Blacklight::Configuration.new.spell_max).to eq(5)
64
64
  end
65
-
65
+
66
66
  it "should accept config'd value" do
67
- Blacklight::Configuration.new(:spell_max => 10).spell_max.should == 10
67
+ expect(Blacklight::Configuration.new(:spell_max => 10).spell_max).to eq(10)
68
68
  end
69
69
  end
70
70
 
@@ -76,8 +76,8 @@ describe "Blacklight::Configuration" do
76
76
  @mock_facet = Blacklight::Configuration::FacetField.new
77
77
  config_copy.add_facet_field "dummy_field", @mock_facet
78
78
 
79
- @config.a.should be_nil
80
- @config.facet_fields.should_not include(@mock_facet)
79
+ expect(@config.a).to be_nil
80
+ expect(@config.facet_fields).not_to include(@mock_facet)
81
81
  end
82
82
  end
83
83
 
@@ -89,9 +89,9 @@ describe "Blacklight::Configuration" do
89
89
  config.add_my_custom_field 'qwerty', :label => "asdf"
90
90
  end
91
91
 
92
-
93
92
 
94
- config.my_custom_fields.keys.should include('qwerty')
93
+
94
+ expect(config.my_custom_fields.keys).to include('qwerty')
95
95
  end
96
96
 
97
97
  it "should let you define a field accessor that uses an existing field-type" do
@@ -102,37 +102,37 @@ describe "Blacklight::Configuration" do
102
102
  config.add_my_custom_facet_field 'qwerty', :label => "asdf"
103
103
  end
104
104
 
105
-
106
105
 
107
- config.my_custom_facet_fields['qwerty'].should be_a_kind_of(Blacklight::Configuration::FacetField)
106
+
107
+ expect(config.my_custom_facet_fields['qwerty']).to be_a_kind_of(Blacklight::Configuration::FacetField)
108
108
  end
109
109
 
110
110
  end
111
-
111
+
112
112
  describe "add_facet_field" do
113
113
  it "should accept field name and hash form arg" do
114
114
  @config.add_facet_field('format', :label => "Format", :limit => true)
115
-
116
- @config.facet_fields["format"].should_not be_nil
117
- @config.facet_fields["format"]["label"].should == "Format"
118
- @config.facet_fields["format"]["limit"].should == true
115
+
116
+ expect(@config.facet_fields["format"]).not_to be_nil
117
+ expect(@config.facet_fields["format"]["label"]).to eq("Format")
118
+ expect(@config.facet_fields["format"]["limit"]).to eq(true)
119
119
  end
120
120
 
121
121
  it "should accept FacetField obj arg" do
122
122
  @config.add_facet_field("format", Blacklight::Configuration::FacetField.new( :label => "Format"))
123
-
124
- @config.facet_fields["format"].should_not be_nil
125
- @config.facet_fields["format"]["label"].should == "Format"
123
+
124
+ expect(@config.facet_fields["format"]).not_to be_nil
125
+ expect(@config.facet_fields["format"]["label"]).to eq("Format")
126
126
  end
127
-
127
+
128
128
  it "should accept field name and block form" do
129
- @config.add_facet_field("format") do |facet|
129
+ @config.add_facet_field("format") do |facet|
130
130
  facet.label = "Format"
131
131
  facet.limit = true
132
132
  end
133
-
134
- @config.facet_fields["format"].should_not be_nil
135
- @config.facet_fields["format"].limit.should == true
133
+
134
+ expect(@config.facet_fields["format"]).not_to be_nil
135
+ expect(@config.facet_fields["format"].limit).to eq(true)
136
136
  end
137
137
 
138
138
  it "should accept block form" do
@@ -141,208 +141,208 @@ describe "Blacklight::Configuration" do
141
141
  facet.label = "Format"
142
142
  end
143
143
 
144
- @config.facet_fields['format'].should_not be_nil
144
+ expect(@config.facet_fields['format']).not_to be_nil
145
145
  end
146
146
 
147
147
  it "should accept a configuration hash" do
148
148
  @config.add_facet_field :field => 'format', :label => 'Format'
149
- @config.facet_fields['format'].should_not be_nil
149
+ expect(@config.facet_fields['format']).not_to be_nil
150
150
  end
151
151
 
152
152
  it "should accept array form" do
153
153
  @config.add_facet_field([{ :field => 'format', :label => 'Format'}, { :field => 'publication_date', :label => 'Publication Date' }])
154
154
 
155
- @config.facet_fields.length.should == 2
155
+ expect(@config.facet_fields.length).to eq(2)
156
156
  end
157
157
 
158
158
  it "should create default label from titleized solr field" do
159
159
  @config.add_facet_field("publication_date")
160
-
161
- @config.facet_fields["publication_date"].label.should == "Publication Date"
160
+
161
+ expect(@config.facet_fields["publication_date"].label).to eq("Publication Date")
162
162
  end
163
163
 
164
164
  it "should allow you to not show the facet in the facet bar" do
165
165
  @config.add_facet_field("publication_date", :show=>false)
166
-
167
- @config.facet_fields["publication_date"]['show'].should be_false
166
+
167
+ expect(@config.facet_fields["publication_date"]['show']).to eq false
168
168
  end
169
-
169
+
170
170
  it "should raise on nil solr field name" do
171
- lambda { @config.add_facet_field(nil) }.should raise_error ArgumentError
171
+ expect { @config.add_facet_field(nil) }.to raise_error ArgumentError
172
172
  end
173
-
173
+
174
174
  end
175
-
175
+
176
176
  describe "add_index_field" do
177
177
  it "takes hash form" do
178
178
  @config.add_index_field("title_display", :label => "Title")
179
-
180
- @config.index_fields["title_display"].should_not be_nil
181
- @config.index_fields["title_display"].label.should == "Title"
179
+
180
+ expect(@config.index_fields["title_display"]).not_to be_nil
181
+ expect(@config.index_fields["title_display"].label).to eq("Title")
182
182
  end
183
183
  it "takes IndexField param" do
184
184
  @config.add_index_field("title_display", Blacklight::Configuration::IndexField.new(:field => "title_display", :label => "Title"))
185
-
186
- @config.index_fields["title_display"].should_not be_nil
187
- @config.index_fields["title_display"].label.should == "Title"
185
+
186
+ expect(@config.index_fields["title_display"]).not_to be_nil
187
+ expect(@config.index_fields["title_display"].label).to eq("Title")
188
188
  end
189
189
  it "takes block form" do
190
- @config.add_index_field("title_display") do |field|
190
+ @config.add_index_field("title_display") do |field|
191
191
  field.label = "Title"
192
192
  end
193
- @config.index_fields["title_display"].should_not be_nil
194
- @config.index_fields["title_display"].label.should == "Title"
193
+ expect(@config.index_fields["title_display"]).not_to be_nil
194
+ expect(@config.index_fields["title_display"].label).to eq("Title")
195
195
  end
196
-
196
+
197
197
  it "creates default label from titleized field" do
198
198
  @config.add_index_field("title_display")
199
-
200
- @config.index_fields["title_display"].label.should == "Title Display"
199
+
200
+ expect(@config.index_fields["title_display"].label).to eq("Title Display")
201
201
  end
202
-
202
+
203
203
  it "should raise on nil solr field name" do
204
- lambda { @config.add_index_field(nil) }.should raise_error ArgumentError
204
+ expect { @config.add_index_field(nil) }.to raise_error ArgumentError
205
205
  end
206
206
 
207
207
  end
208
-
208
+
209
209
  describe "add_show_field" do
210
210
  it "takes hash form" do
211
211
  @config.add_show_field("title_display", :label => "Title")
212
-
213
- @config.show_fields["title_display"].should_not be_nil
214
- @config.show_fields["title_display"].label.should == "Title"
212
+
213
+ expect(@config.show_fields["title_display"]).not_to be_nil
214
+ expect(@config.show_fields["title_display"].label).to eq("Title")
215
215
  end
216
216
  it "takes ShowField argument" do
217
217
  @config.add_show_field("title_display", Blacklight::Configuration::ShowField.new(:field => "title_display", :label => "Title"))
218
-
219
- @config.show_fields["title_display"].should_not be_nil
220
- @config.show_fields["title_display"].label.should == "Title"
218
+
219
+ expect(@config.show_fields["title_display"]).not_to be_nil
220
+ expect(@config.show_fields["title_display"].label).to eq("Title")
221
221
  end
222
222
  it "takes block form" do
223
- @config.add_show_field("title_display") do |f|
223
+ @config.add_show_field("title_display") do |f|
224
224
  f.label = "Title"
225
225
  end
226
-
227
- @config.show_fields["title_display"].should_not be_nil
228
- @config.show_fields["title_display"].label.should == "Title"
226
+
227
+ expect(@config.show_fields["title_display"]).not_to be_nil
228
+ expect(@config.show_fields["title_display"].label).to eq("Title")
229
229
  end
230
-
230
+
231
231
  it "creates default label humanized from field" do
232
232
  @config.add_show_field("my_custom_field")
233
-
234
- @config.show_fields["my_custom_field"].label.should == "My Custom Field"
233
+
234
+ expect(@config.show_fields["my_custom_field"].label).to eq("My Custom Field")
235
235
  end
236
-
236
+
237
237
  it "should raise on nil solr field name" do
238
- lambda { @config.add_show_field(nil) }.should raise_error ArgumentError
238
+ expect { @config.add_show_field(nil) }.to raise_error ArgumentError
239
239
  end
240
-
240
+
241
241
  end
242
-
243
-
242
+
243
+
244
244
  describe "add_search_field" do
245
245
  it "should accept hash form" do
246
246
  c = Blacklight::Configuration.new
247
247
  c.add_search_field(:key => "my_search_key")
248
- c.search_fields["my_search_key"].should_not be_nil
248
+ expect(c.search_fields["my_search_key"]).not_to be_nil
249
249
  end
250
250
 
251
251
  it "should accept two-arg hash form" do
252
252
  c = Blacklight::Configuration.new
253
-
253
+
254
254
  c.add_search_field("my_search_type",
255
255
  :key => "my_search_type",
256
- :solr_parameters => { :qf => "my_field_qf^10" },
256
+ :solr_parameters => { :qf => "my_field_qf^10" },
257
257
  :solr_local_parameters => { :pf=>"$my_field_pf"})
258
-
258
+
259
259
  field = c.search_fields["my_search_type"]
260
-
261
- field.should_not be_nil
262
-
263
-
264
- field.solr_parameters.should_not be_nil
265
- field.solr_local_parameters.should_not be_nil
266
-
267
-
268
- end
269
-
260
+
261
+ expect(field).not_to be_nil
262
+
263
+
264
+ expect(field.solr_parameters).not_to be_nil
265
+ expect(field.solr_local_parameters).not_to be_nil
266
+
267
+
268
+ end
269
+
270
270
  it "should accept block form" do
271
271
  c = Blacklight::Configuration.new
272
-
273
- c.add_search_field("some_field") do |field|
272
+
273
+ c.add_search_field("some_field") do |field|
274
274
  field.solr_parameters = {:qf => "solr_field^10"}
275
275
  field.solr_local_parameters = {:pf => "$some_field_pf"}
276
276
  end
277
-
277
+
278
278
  f = c.search_fields["some_field"]
279
-
280
- f.should_not be_nil
281
- f.solr_parameters.should_not be_nil
282
- f.solr_local_parameters.should_not be_nil
279
+
280
+ expect(f).not_to be_nil
281
+ expect(f.solr_parameters).not_to be_nil
282
+ expect(f.solr_local_parameters).not_to be_nil
283
283
  end
284
-
284
+
285
285
  it "should accept SearchField object" do
286
286
  c = Blacklight::Configuration.new
287
-
287
+
288
288
  f = Blacklight::Configuration::SearchField.new( :foo => "bar")
289
-
289
+
290
290
  c.add_search_field("foo", f)
291
-
292
- c.search_fields["foo"].should_not be_nil
291
+
292
+ expect(c.search_fields["foo"]).not_to be_nil
293
293
  end
294
-
294
+
295
295
  it "should raise on nil key" do
296
- lambda {@config.add_search_field(nil, :foo => "bar")}.should raise_error ArgumentError
296
+ expect {@config.add_search_field(nil, :foo => "bar")}.to raise_error ArgumentError
297
297
  end
298
-
298
+
299
299
  it "creates default label from titleized field key" do
300
300
  @config.add_search_field("author_name")
301
-
302
- @config.search_fields["author_name"].label.should == "Author Name"
301
+
302
+ expect(@config.search_fields["author_name"].label).to eq("Author Name")
303
303
  end
304
-
305
-
304
+
305
+
306
306
  end
307
-
307
+
308
308
  describe "add_sort_field" do
309
309
  it "should take a hash" do
310
310
  c = Blacklight::Configuration.new
311
311
  c.add_sort_field(:key => "my_sort_key", :sort => "score desc")
312
- c.sort_fields["my_sort_key"].should_not be_nil
312
+ expect(c.sort_fields["my_sort_key"]).not_to be_nil
313
313
  end
314
314
 
315
315
  it "should take a two-arg form with a hash" do
316
- @config.add_sort_field("score desc, pub_date_sort desc, title_sort asc", :label => "relevance")
316
+ @config.add_sort_field("score desc, pub_date_sort desc, title_sort asc", :label => "relevance")
317
+
317
318
 
318
-
319
- @config.sort_fields.values.find{|f| f.label == "relevance"}.should_not be_nil
319
+ expect(@config.sort_fields.values.find{|f| f.label == "relevance"}).not_to be_nil
320
320
  end
321
-
321
+
322
322
  it "should take a SortField object" do
323
323
  @config.add_sort_field(Blacklight::Configuration::SortField.new(:label => "relevance", :sort => "score desc, pub_date_sort desc, title_sort asc"
324
- ))
325
- @config.sort_fields.values.find{|f| f.label == "relevance"}.should_not be_nil
324
+ ))
325
+ expect(@config.sort_fields.values.find{|f| f.label == "relevance"}).not_to be_nil
326
326
  end
327
-
327
+
328
328
  it "should take block form" do
329
329
  @config.add_sort_field do |field|
330
330
  field.label = "relevance"
331
331
  field.sort = "score desc, pub_date_sort desc, title_sort asc"
332
332
  end
333
-
334
- @config.sort_fields.values.find{|f| f.label == "relevance"}.should_not be_nil
333
+
334
+ expect(@config.sort_fields.values.find{|f| f.label == "relevance"}).not_to be_nil
335
335
 
336
336
  end
337
337
  end
338
-
338
+
339
339
  describe "#default_search_field" do
340
340
  it "should use the field with a :default key" do
341
341
  @config.add_search_field('search_field_1')
342
342
  @config.add_search_field('search_field_2', :default => true)
343
343
 
344
- @config.default_search_field.key.should == 'search_field_2'
344
+ expect(@config.default_search_field.key).to eq('search_field_2')
345
345
  end
346
346
  end
347
-
347
+
348
348
  end