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 )
''
end
end