Skip to content
Snippets Groups Projects
Commit 3976630c authored by Dmitriy Zaporozhets's avatar Dmitriy Zaporozhets
Browse files

Merge branch 'fix-wiki-search' into 'master'

Fix Error 500 when searching Wiki pages

If a Wiki page turns up a hit in the search results, an error will occur:

```
Completed 500 Internal Server Error in 836ms

NoMethodError - undefined method `slug' for "test.markdown":String:
  app/helpers/wiki_helper.rb:10:in `namespace_project_wiki_path'
  app/views/search/results/_wiki_blob.html.haml:4:in `_app_views_search_results__wiki_blob_html_haml___2752621660395393333_70299911622700'
  actionview (4.1.9) lib/action_view/template.rb:145:in `block in render'
  activesupport (4.1.9) lib/active_support/notifications.rb:161:in `instrument'
  actionview (4.1.9) lib/action_view/template.rb:339:in `instrument'
  actionview (4.1.9) lib/action_view/template.rb:143:in `render'
```

An unhandled String containing the name of the Wiki page would be provided to the URL path generator. This MR handles that case.

Closes #1547

See merge request !592
parent 7ef05ad0
No related branches found
No related tags found
No related merge requests found
Please view this file on the master branch, on stable branches it's out of date.
 
v 7.11.0 (unreleased)
- Make Reply-To config apply to change e-mail confirmation and other Devise notifications (Stan Hu)
- Add application setting to restrict user signups to e-mail domains (Stan Hu)
- Don't allow a merge request to be merged when its title starts with "WIP".
- Add a page title to every page.
- Allow primary email to be set to an email that you've already added.
- Fix Error 500 when searching Wiki pages (Stan Hu)
- Get Gitorious importer to work again.
- Fix clone URL field and X11 Primary selection (Dmitry Medvinsky)
- Ignore invalid lines in .gitmodules
Loading
Loading
Loading
Loading
@@ -6,6 +6,8 @@ module WikiHelper
case wiki_page
when Symbol
wiki_page
when String
wiki_page
else
wiki_page.slug
end
Loading
Loading
Loading
Loading
@@ -44,3 +44,9 @@ Feature: Search
Then I should see "Foo" link in the search results
And I should not see "Bar" link in the search results
 
Scenario: I should see Wiki blobs
And project has Wiki content
When I click project "Shop" link
And I search for "Wiki content"
And I click "Wiki" link
Then I should see "test_wiki" link in the search results
Loading
Loading
@@ -159,6 +159,11 @@ class Spinach::Features::ProjectWiki < Spinach::FeatureSteps
page.should have_content('History for')
end
 
step 'I search for Wiki content' do
fill_in "Search in this project", with: "wiki_content"
click_button "Search"
end
def wiki
@project_wiki = ProjectWiki.new(project, current_user)
end
Loading
Loading
Loading
Loading
@@ -18,6 +18,11 @@ class Spinach::Features::Search < Spinach::FeatureSteps
click_button "Search"
end
 
step 'I search for "Wiki content"' do
fill_in "dashboard_search", with: "content"
click_button "Search"
end
step 'I click "Issues" link' do
within '.search-filter' do
click_link 'Issues'
Loading
Loading
@@ -36,6 +41,12 @@ class Spinach::Features::Search < Spinach::FeatureSteps
end
end
 
step 'I click "Wiki" link' do
within '.search-filter' do
click_link 'Wiki'
end
end
step 'I should see "Shop" project link' do
page.should have_link "Shop"
end
Loading
Loading
@@ -66,4 +77,13 @@ class Spinach::Features::Search < Spinach::FeatureSteps
step 'I should not see "Bar" link in the search results' do
find(:css, '.search-results').should_not have_link 'Bar'
end
step 'I should see "test_wiki" link in the search results' do
find(:css, '.search-results').should have_link 'test_wiki.md'
end
step 'project has Wiki content' do
@wiki = ::ProjectWiki.new(project, current_user)
@wiki.create_page("test_wiki", "Some Wiki content", :markdown, "first commit")
end
end
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment