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
|
class RelatedTagQuery
|
||||||
attr_reader :query, :category
|
attr_reader :query, :category
|
||||||
|
|
||||||
def initialize(query, category)
|
def initialize(query, category = nil)
|
||||||
@query = query.strip
|
@query = TagAlias.to_aliased(query.strip).join(" ")
|
||||||
@category = category
|
@category = category
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|||||||
@@ -250,7 +250,7 @@ class WikiPage < ActiveRecord::Base
|
|||||||
else
|
else
|
||||||
match
|
match
|
||||||
end
|
end
|
||||||
end.map {|x| x.mb_chars.downcase.tr(" ", "_").to_s}
|
end.map {|x| x.mb_chars.downcase.tr(" ", "_").to_s}.uniq
|
||||||
end
|
end
|
||||||
|
|
||||||
def visible?
|
def visible?
|
||||||
|
|||||||
@@ -38,6 +38,24 @@ class RelatedTagQueryTest < ActiveSupport::TestCase
|
|||||||
end
|
end
|
||||||
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
|
context "for a pattern search" do
|
||||||
setup do
|
setup do
|
||||||
@query = RelatedTagQuery.new("a*", "")
|
@query = RelatedTagQuery.new("a*", "")
|
||||||
|
|||||||
Reference in New Issue
Block a user