mirror of
https://github.com/redmine/redmine.git
synced 2026-05-06 03:57:06 +02:00
Prevent SystemStackError on Issue#all_dependent_issues with mutiple circular dependencies (#7320).
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@5104 e93f8b46-1217-0410-a6f0-8f06a7374b81
This commit is contained in:
@@ -686,6 +686,18 @@ class IssueTest < ActiveSupport::TestCase
|
||||
|
||||
assert_equal [2, 3], Issue.find(1).all_dependent_issues.collect(&:id).sort
|
||||
end
|
||||
|
||||
def test_all_dependent_issues_with_persistent_multiple_circular_dependencies
|
||||
IssueRelation.delete_all
|
||||
assert IssueRelation.create!(:issue_from => Issue.find(1), :issue_to => Issue.find(2), :relation_type => IssueRelation::TYPE_RELATES)
|
||||
assert IssueRelation.create!(:issue_from => Issue.find(2), :issue_to => Issue.find(3), :relation_type => IssueRelation::TYPE_RELATES)
|
||||
assert IssueRelation.create!(:issue_from => Issue.find(3), :issue_to => Issue.find(8), :relation_type => IssueRelation::TYPE_RELATES)
|
||||
# Validation skipping
|
||||
assert IssueRelation.new(:issue_from => Issue.find(8), :issue_to => Issue.find(2), :relation_type => IssueRelation::TYPE_RELATES).save(false)
|
||||
assert IssueRelation.new(:issue_from => Issue.find(3), :issue_to => Issue.find(1), :relation_type => IssueRelation::TYPE_RELATES).save(false)
|
||||
|
||||
assert_equal [2, 3, 8], Issue.find(1).all_dependent_issues.collect(&:id).sort
|
||||
end
|
||||
|
||||
context "#done_ratio" do
|
||||
setup do
|
||||
|
||||
Reference in New Issue
Block a user