summaryrefslogtreecommitdiffstats
path: root/test
diff options
context:
space:
mode:
authorEric Davis <edavis@littlestreamsoftware.com>2010-02-18 05:01:39 +0000
committerEric Davis <edavis@littlestreamsoftware.com>2010-02-18 05:01:39 +0000
commit28e9bc5d823e4b5ed7585feaa8afdd11446ac754 (patch)
treeceee0db8e154ee141f18820cf22110daf580c770 /test
parent0fcc436f226fd58e9463ccc92ad488b4630d14f4 (diff)
downloadredmine-28e9bc5d823e4b5ed7585feaa8afdd11446ac754.tar.gz
redmine-28e9bc5d823e4b5ed7585feaa8afdd11446ac754.zip
Fix an IndexError if all the :last menu items are deleted from a menu. #4718
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@3447 e93f8b46-1217-0410-a6f0-8f06a7374b81
Diffstat (limited to 'test')
-rw-r--r--test/unit/lib/redmine/menu_manager/mapper_test.rb19
1 files changed, 18 insertions, 1 deletions
diff --git a/test/unit/lib/redmine/menu_manager/mapper_test.rb b/test/unit/lib/redmine/menu_manager/mapper_test.rb
index 699c0cf2c..a23b624f7 100644
--- a/test/unit/lib/redmine/menu_manager/mapper_test.rb
+++ b/test/unit/lib/redmine/menu_manager/mapper_test.rb
@@ -17,7 +17,7 @@
require File.dirname(__FILE__) + '/../../../../test_helper'
-class Redmine::MenuManager::MapperTest < Test::Unit::TestCase
+class Redmine::MenuManager::MapperTest < ActiveSupport::TestCase
context "Mapper#initialize" do
should "be tested"
end
@@ -163,4 +163,21 @@ class Redmine::MenuManager::MapperTest < Test::Unit::TestCase
menu_mapper = Redmine::MenuManager::Mapper.new(:test_menu, {})
assert_nil menu_mapper.delete(:test_missing)
end
+
+ test 'deleting all items' do
+ # Exposed by deleting :last items
+ Redmine::MenuManager.map :test_menu do |menu|
+ menu.push :not_last, Redmine::Info.help_url
+ menu.push :administration, { :controller => 'projects', :action => 'show'}, {:last => true}
+ menu.push :help, Redmine::Info.help_url, :last => true
+ end
+
+ assert_nothing_raised do
+ Redmine::MenuManager.map :test_menu do |menu|
+ menu.delete(:administration)
+ menu.delete(:help)
+ menu.push :test_overview, { :controller => 'projects', :action => 'show'}, {}
+ end
+ end
+ end
end