Merge pull request #2734 from evazion/fix-negated-aliases
Resolve aliases when removing negated tags (fix #2730)
This commit is contained in:
@@ -615,6 +615,7 @@ class Post < ActiveRecord::Base
|
|||||||
def remove_negated_tags(tags)
|
def remove_negated_tags(tags)
|
||||||
negated_tags, tags = tags.partition {|x| x =~ /\A-/i}
|
negated_tags, tags = tags.partition {|x| x =~ /\A-/i}
|
||||||
negated_tags = negated_tags.map {|x| x[1..-1]}
|
negated_tags = negated_tags.map {|x| x[1..-1]}
|
||||||
|
negated_tags = TagAlias.to_aliased(negated_tags)
|
||||||
return tags - negated_tags
|
return tags - negated_tags
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|||||||
@@ -740,6 +740,13 @@ class PostTest < ActiveSupport::TestCase
|
|||||||
@post.reload
|
@post.reload
|
||||||
assert_equal("aaa ccc", @post.tag_string)
|
assert_equal("aaa ccc", @post.tag_string)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
should "resolve aliases" do
|
||||||
|
FactoryGirl.create(:tag_alias, :antecedent_name => "/tr", :consequent_name => "translation_request")
|
||||||
|
@post.update(:tag_string => "aaa translation_request -/tr")
|
||||||
|
|
||||||
|
assert_equal("aaa", @post.tag_string)
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
should "have an array representation of its tags" do
|
should "have an array representation of its tags" do
|
||||||
|
|||||||
Reference in New Issue
Block a user