Merge pull request #3146 from evazion/fix-reltags-alias
Fix #1608: Show wiki page of alias consequent for Related Tags
This commit is contained in:
@@ -1,8 +1,8 @@
|
||||
class RelatedTagQuery
|
||||
attr_reader :query, :category
|
||||
|
||||
def initialize(query, category)
|
||||
@query = query.strip
|
||||
def initialize(query, category = nil)
|
||||
@query = TagAlias.to_aliased(query.strip).join(" ")
|
||||
@category = category
|
||||
end
|
||||
|
||||
|
||||
@@ -250,7 +250,7 @@ class WikiPage < ActiveRecord::Base
|
||||
else
|
||||
match
|
||||
end
|
||||
end.map {|x| x.mb_chars.downcase.tr(" ", "_").to_s}
|
||||
end.map {|x| x.mb_chars.downcase.tr(" ", "_").to_s}.uniq
|
||||
end
|
||||
|
||||
def visible?
|
||||
|
||||
@@ -38,6 +38,24 @@ class RelatedTagQueryTest < ActiveSupport::TestCase
|
||||
end
|
||||
end
|
||||
|
||||
context "for an aliased tag" do
|
||||
setup do
|
||||
@ta = FactoryGirl.create(:tag_alias, antecedent_name: "xyz", consequent_name: "aaa")
|
||||
@wp = FactoryGirl.create(:wiki_page, title: "aaa", body: "blah [[foo|blah]] [[FOO]] [[bar]] blah")
|
||||
@query = RelatedTagQuery.new("xyz", "")
|
||||
|
||||
Tag.named("aaa").first.update_related
|
||||
end
|
||||
|
||||
should "take wiki tags from the consequent's wiki" do
|
||||
assert_equal(%w[foo bar], @query.wiki_page_tags)
|
||||
end
|
||||
|
||||
should "take related tags from the consequent tag" do
|
||||
assert_equal(%w[aaa bbb ccc], @query.tags)
|
||||
end
|
||||
end
|
||||
|
||||
context "for a pattern search" do
|
||||
setup do
|
||||
@query = RelatedTagQuery.new("a*", "")
|
||||
|
||||
Reference in New Issue
Block a user