test/helper_test.rb in menu_builder-0.4.1 vs test/helper_test.rb in menu_builder-0.4.2

- old
+ new

@@ -4,69 +4,95 @@ tests MenuBuilder::ViewHelpers attr_accessor :controller, :request test "menu yields an instance of Menu" do - concat(menu do |m| + concat(menu { |m| assert m.instance_of?(MenuBuilder::ViewHelpers::Menu) - end) + }) end test "menu create an unordered list" do concat(menu(:id => "menu") { |m| }) assert_select "ul#menu" end test "menu accept html options like classes and id" do - concat(menu :id=>"menu", :class=>"tabs" do |m| end) + concat(menu(:id=>"menu", :class=>"tabs") { |m| }) assert_select "ul#menu.tabs" end test "menu create a line item" do concat(menu { |m| concat m.home "Home", "#" }) assert_select "li", 1 end test "create a link inside line item" do concat(menu { |m| concat m.home "Home", "/" }) - expected = %(<ul><li><a href="/">Home</a></li></ul>) - assert_dom_equal expected, output_buffer + assert_select "ul > li > a" end test "set the class to the current item li" do @menu_items = [:home] - concat(menu do |m| + concat(menu { |m| concat m.home "Home", "/" concat m.contact "Store", "/store" - end) + }) assert_select "li.current", 1 end test "accept more than one menu item" do @menu_items = [:settings, :notifications] - concat(menu do |m| + concat(menu { |m| concat m.home "Home", "/" concat m.notifications "Notifications", "/notifications" concat m.settings "Settings", "/settings" - end) + }) assert_select "li.current", 2 end test "accept more than one menu" do @menu_items = [:settings, :notifications] - concat(menu do |m| + concat(menu { |m| concat m.home "Home", "/" concat m.notifications "Notifications", "/notifications" - end) + }) - concat(menu do |m| + concat(menu { |m| concat m.home "Contact", "/contact" concat m.notifications "Settings", "/settings" - end) + }) assert_select "li.current", 2 end -end \ No newline at end of file + + test "marks the first item with class .first" do + concat(menu { |m| + concat m.home "Home", "/" + concat m.contact "Store", "/store" + }) + assert_select "li.first", 1 + end + + test 'marks the last item with class .last' do + concat(menu { |m| + concat m.home "Home", "/" + concat m.contact "Store", "/store" + concat m.notifications "Settings", "/settings" + }) + assert_select "li.last", 1 + end + + test "pass a block to an item" do + concat(menu { |m| + concat(m.account("/account") { + concat tag(:img, nil, { :src => 'icon.jpg' }) + }) + }) + + assert_select "ul > li > a > img" + end +end