diff --git a/lib/redmine/menu_manager.rb b/lib/redmine/menu_manager.rb index 25974ed83..9e35b15a5 100644 --- a/lib/redmine/menu_manager.rb +++ b/lib/redmine/menu_manager.rb @@ -221,6 +221,8 @@ module Redmine end class Mapper + attr_reader :menu, :menu_items + def initialize(menu, items) items[menu] ||= MenuNode.new(:root, {}) @menu = menu diff --git a/test/unit/lib/redmine/menu_manager/mapper_test.rb b/test/unit/lib/redmine/menu_manager/mapper_test.rb index ad6e04f3e..80d294254 100644 --- a/test/unit/lib/redmine/menu_manager/mapper_test.rb +++ b/test/unit/lib/redmine/menu_manager/mapper_test.rb @@ -19,7 +19,18 @@ require File.expand_path('../../../../../test_helper', __FILE__) class Redmine::MenuManager::MapperTest < ActiveSupport::TestCase context "Mapper#initialize" do - should "be tested" + should "define a root MenuNode if menu is not present in items" do + menu_mapper = Redmine::MenuManager::Mapper.new(:test_menu, {}) + node = menu_mapper.menu_items + assert_not_nil node + assert_equal :root, node.name + end + + should "use existing MenuNode if present" do + node = "foo" # just an arbitrary reference + menu_mapper = Redmine::MenuManager::Mapper.new(:test_menu, {:test_menu => node}) + assert_equal node, menu_mapper.menu_items + end end def test_push_onto_root