test/breadcrumbs_test.rb in breadcrumbs-0.1.7 vs test/breadcrumbs_test.rb in breadcrumbs-0.2.0
- old
+ new
@@ -1,73 +1,72 @@
-# -*- encoding: utf-8 -*-
+# frozen_string_literal: true
+
require "test_helper"
-class BreadcrumbsTest < Test::Unit::TestCase
+class BreadcrumbsTest < Minitest::Test
def setup
@breadcrumbs = Breadcrumbs.new
@inline = Breadcrumbs::Render::Inline.new(@breadcrumbs)
end
def test_return_safe_html
- html_mock = mock()
- html_mock.expects(:html_safe).once
- Breadcrumbs::Render::List.any_instance.stubs(:render).returns(html_mock)
- @breadcrumbs.render(format: "list")
+ assert @breadcrumbs.render(format: "list").html_safe?
end
def test_add_item
@breadcrumbs.add "Home"
assert_equal 1, @breadcrumbs.items.count
@breadcrumbs << "Home"
assert_equal 2, @breadcrumbs.items.count
end
- def test_tag
- assert_equal "<span>Hi!</span>", @inline.tag(:span, "Hi!")
- end
-
def test_tag_with_attributes
expected = %[<span class="greetings" id="hi">Hi!</span>]
- assert_equal expected, @inline.tag(:span, "Hi!", class: "greetings", id: "hi")
+ assert_equal expected,
+ @inline.tag(:span, "Hi!", class: "greetings", id: "hi")
end
def test_tag_with_block
assert_equal "<span>Hi!</span>", @inline.tag(:span) { "Hi!" }
end
def test_tag_with_block_and_attributes
expected = %[<span class="greetings" id="hi">Hi!</span>]
- assert_equal expected, @inline.tag(:span, class: "greetings", id: "hi") { "Hi!" }
+ assert_equal expected,
+ @inline.tag(:span, class: "greetings", id: "hi") { "Hi!" }
end
def test_nested_tags
expected = %[<span class="greetings"><strong id="hi">Hi!</strong></span>]
- actual = @inline.tag(:span, class: "greetings") { tag(:strong, "Hi!", id: "hi") }
+ actual = @inline.tag(:span, class: "greetings") do
+ @inline.tag(:strong, "Hi!", id: "hi")
+ end
+
assert_equal expected, actual
end
def test_render_as_list
@breadcrumbs.add "Home", "/", class: "home"
html = Nokogiri::HTML(@breadcrumbs.render)
- assert_not_nil html.at("ul.breadcrumbs")
+ refute_nil html.at("ul.breadcrumbs")
assert_nil html.at("ul.breadcrumbs[format=list]")
end
def test_render_as_ordered_list
@breadcrumbs.add "Home", "/"
html = Nokogiri::HTML(@breadcrumbs.render(format: "ordered_list"))
- assert_not_nil html.at("ol.breadcrumbs")
+ refute_nil html.at("ol.breadcrumbs")
end
def test_render_as_list_with_custom_attributes
@breadcrumbs.add "Home", "/", class: "home"
html = Nokogiri::HTML(@breadcrumbs.render(id: "breadcrumbs", class: "top"))
- assert_not_nil html.at("ul.top#breadcrumbs")
+ refute_nil html.at("ul.top#breadcrumbs")
end
def test_render_as_list_add_items
@breadcrumbs.add "Home", "/", class: "home"
@breadcrumbs.add "About", "/about", class: "about"
@@ -93,11 +92,11 @@
assert_equal "/about", link["href"]
assert_equal "last item-2", items[2]["class"]
assert_equal "People", items[2].inner_text
assert_nil items[2].at("a")
- assert_not_nil items[2].at("span")
+ refute_nil items[2].at("span")
end
def test_render_inline
@breadcrumbs.add "Home", "/", class: "home"
html = Nokogiri::HTML(@breadcrumbs.render(format: "inline"))
@@ -110,11 +109,11 @@
@breadcrumbs.add "About", "/about", class: "about"
@breadcrumbs.add "People"
html = @breadcrumbs.render(format: "inline")
html = Nokogiri::HTML("<div>#{html}</div>")
- separator = Nokogiri::HTML("<span>»</span>").at("span").inner_text
+ separator = "»"
items = html.search("div *")
assert_equal 5, items.count
@@ -177,31 +176,30 @@
def test_render_scope_as_text_for_missing_scope
@breadcrumbs.add :contact
@breadcrumbs.add "Help"
html = Nokogiri::HTML(@breadcrumbs.render)
-
items = html.search("li")
assert_equal "contact", items[0].inner_text
assert_equal "Help", items[1].inner_text
end
def test_pimp_action_controller
methods = ActionController::Base.instance_methods
- assert (methods.include?(:breadcrumbs) || methods.include?("breadcrumbs"))
+ assert(methods.include?(:breadcrumbs) || methods.include?("breadcrumbs"))
end
def test_escape_text_when_rendering_inline
@breadcrumbs.add "<script>alert(1)</script>"
- html = @breadcrumbs.render(format: "inline")
+ html = Nokogiri::HTML(@breadcrumbs.render(format: "inline"))
- assert_equal %[<span class="first last item-0"><script>alert(1)</script></span>], html
+ assert_empty html.search("script")
end
def test_escape_text_when_rendering_list
@breadcrumbs.add "<script>alert(1)</script>"
- html = @breadcrumbs.render
+ html = Nokogiri::HTML(@breadcrumbs.render)
- assert_match /<script>alert\(1\)<\/script>/, html
+ assert_empty html.search("script")
end
end