require 'webgen/test' class VerticalMenuStyleTest < Webgen::PluginTestCase plugin_files [ 'webgen/plugins/menustyles/vertical.rb', 'webgen/plugins/filehandlers/directory.rb', 'webgen/plugins/filehandlers/page.rb', 'webgen/plugins/tags/menu.rb' ] plugin_to_test 'MenuStyle/Vertical' def test_submenu root = @manager['Core/FileHandler'].instance_eval { build_tree } tree_en = @manager['Tag/Menu'].instance_eval { create_menu_tree( root, nil, Webgen::LanguageManager.language_for_code( 'en' ) ) } # testing minLevels and maxLevels output = @plugin.build_menu( root.resolve_node('index.en.page'), tree_en, options_hash( 1, 1, 1, true ) ) assert_equal( menu_output( '' ), output ) output = @plugin.build_menu( root.resolve_node('index.en.page'), tree_en, options_hash( 1, 2, 1, true ) ) assert_equal( menu_output( '' ), output ) output = @plugin.build_menu( root.resolve_node('index.en.page'), tree_en, options_hash( 1, 2, 2, true ) ) assert_equal( menu_output( '' ), output ) # testing showCurrentSubtreeOnly output = @plugin.build_menu( root.resolve_node('dir1/file11.en.page'), tree_en, options_hash( 1, 1, 2, true ) ) assert_equal( menu_output( '' ), output ) output = @plugin.build_menu( root.resolve_node('dir1/file11.en.page'), tree_en, options_hash( 1, 1, 2, false ) ) assert_equal( menu_output( '' ), output ) # testing startLevel output = @plugin.build_menu( root.resolve_node('index.en.page'), tree_en, options_hash( 2, 1, 1, true ) ) assert_equal( menu_output( '' ), output ) output = @plugin.build_menu( root.resolve_node('dir1/file11.en.page'), tree_en, options_hash( 2, 1, 2, true ) ) assert_equal( menu_output( '' ), output ) output = @plugin.build_menu( root.resolve_node('dir1/file11.en.page'), tree_en, options_hash( 2, 1, 2, false ) ) assert_equal( menu_output( '' ), output ) output = @plugin.build_menu( root.resolve_node('dir1/file11.en.page'), tree_en, options_hash( 2, 2, 2, false ) ) assert_equal( menu_output( '' ), output ) output = @plugin.build_menu( root.resolve_node('dir1/dir11/file111.en.page'), tree_en, options_hash( 2, 1, 2, true ) ) assert_equal( menu_output( '' ), output ) end ####### private ####### def options_hash( startLevel, minLevels, maxLevels, subtree ) {'startLevel'=>startLevel, 'minLevels'=>minLevels, 'maxLevels'=>maxLevels, 'showCurrentSubtreeOnly'=>subtree} end def menu_output( menu ) '
' + menu + '
' end end