OSDN Git Service

Fixed: wiki page with backslash in title can not be found (#7589).
authorJean-Philippe Lang <jp_lang@yahoo.fr>
Sat, 12 Mar 2011 13:42:29 +0000 (13:42 +0000)
committerJean-Philippe Lang <jp_lang@yahoo.fr>
Sat, 12 Mar 2011 13:42:29 +0000 (13:42 +0000)
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@5097 e93f8b46-1217-0410-a6f0-8f06a7374b81

app/models/wiki.rb
test/unit/wiki_test.rb

index c83bd19..eb521c9 100644 (file)
@@ -46,10 +46,10 @@ class Wiki < ActiveRecord::Base
   def find_page(title, options = {})
     title = start_page if title.blank?
     title = Wiki.titleize(title)
-    page = pages.first(:conditions => ["LOWER(title) LIKE LOWER(?)", title])
+    page = pages.first(:conditions => ["LOWER(title) = LOWER(?)", title])
     if !page && !(options[:with_redirect] == false)
       # search for a redirect
-      redirect = redirects.first(:conditions => ["LOWER(title) LIKE LOWER(?)", title])
+      redirect = redirects.first(:conditions => ["LOWER(title) = LOWER(?)", title])
       page = find_page(redirect.redirects_to, :with_redirect => false) if redirect
     end
     page
index 8fa937c..10c0082 100644 (file)
@@ -20,7 +20,7 @@
 require File.expand_path('../../test_helper', __FILE__)
 
 class WikiTest < ActiveSupport::TestCase
-  fixtures :wikis, :wiki_pages, :wiki_contents, :wiki_content_versions
+  fixtures :projects, :wikis, :wiki_pages, :wiki_contents, :wiki_content_versions
   
   def test_create
     wiki = Wiki.new(:project => Project.find(2))
@@ -49,6 +49,9 @@ class WikiTest < ActiveSupport::TestCase
     
     page = WikiPage.find(10)
     assert_equal page, wiki.find_page('Этика_менеджмента')
+    
+    page = WikiPage.generate!(:wiki => wiki, :title => '2009\\02\\09')
+    assert_equal page, wiki.find_page('2009\\02\\09')
   end
   
   def test_titleize