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:
Albert Yi
2017-06-13 15:39:42 -07:00
committed by GitHub
3 changed files with 21 additions and 3 deletions

View File

@@ -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

View File

@@ -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?

View File

@@ -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*", "")