diff options
author | Eric Davis <edavis@littlestreamsoftware.com> | 2010-02-18 05:01:39 +0000 |
---|---|---|
committer | Eric Davis <edavis@littlestreamsoftware.com> | 2010-02-18 05:01:39 +0000 |
commit | 28e9bc5d823e4b5ed7585feaa8afdd11446ac754 (patch) | |
tree | ceee0db8e154ee141f18820cf22110daf580c770 /test | |
parent | 0fcc436f226fd58e9463ccc92ad488b4630d14f4 (diff) | |
download | redmine-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.rb | 19 |
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 |