Fix #4193: Wiki tags for related tags are no longer in wiki order.

This commit is contained in:
evazion
2019-10-15 00:36:22 -05:00
parent 1ca4add525
commit ab5227e8bd
2 changed files with 10 additions and 2 deletions

View File

@@ -206,8 +206,9 @@ class WikiPage < ApplicationRecord
end
def tags
titles = DText.parse_wiki_titles(body)
Tag.nonempty.where(name: titles.uniq).pluck(:name)
titles = DText.parse_wiki_titles(body).uniq
tags = Tag.nonempty.where(name: titles).pluck(:name)
titles & tags
end
def visible?

View File

@@ -91,6 +91,13 @@ class RelatedTagQueryTest < ActiveSupport::TestCase
should "find any tags embedded in the wiki page" do
assert_equal(["bbb", "ccc"], @query.wiki_page_tags)
end
should "return the tags in the same order as given by the wiki" do
create(:wiki_page, title: "wiki", body: "[[ccc]] [[bbb]] [[ccc]] [[bbb]] [[aaa]]")
query = RelatedTagQuery.new(query: "wiki")
assert_equal(%w[ccc bbb aaa], query.wiki_page_tags)
end
end
end