# -*- encoding: utf-8 -*- require "spec_helper" describe Kitabu::TOC::HTML do HTML = <<-HTML

Item 1

Item 1.2

Item 1.1.3

Item 1.1.1.4

Item 1.1.1.1.5
Item 1.1.1.1.1.6

Item 2.1

Item 2.1 again

Internacionalização

HTML HTML.force_encoding("utf-8") let(:toc) { described_class.generate(HTML) } let(:html) { toc.to_html } let(:content) { toc.content } it "has no body tag" do content.should_not match(//) end it "generates toc" do html.should have_tag("div.level2.item-1-2", "Item 1.2") html.should have_tag("div.level3.item-1-1-3", "Item 1.1.3") html.should have_tag("div.level4.item-1-1-1-4", "Item 1.1.1.4") html.should have_tag("div.level5.item-1-1-1-1-5", "Item 1.1.1.1.5") html.should have_tag("div.level6.item-1-1-1-1-1-6", "Item 1.1.1.1.1.6") html.should have_tag("div.level2.item-2-1", "Item 2.1") html.should have_tag("div.level2.item-2-1-again", "Item 2.1 again") html.should have_tag("div.level2.internacionalizacao", "Internacionalização") end it "adds id attribute to content" do content.should have_tag("h2#item-1-2", "Item 1.2") content.should have_tag("h3#item-1-1-3", "Item 1.1.3") content.should have_tag("h4#item-1-1-1-4", "Item 1.1.1.4") content.should have_tag("h5#item-1-1-1-1-5", "Item 1.1.1.1.5") content.should have_tag("h6#item-1-1-1-1-1-6", "Item 1.1.1.1.1.6") content.should have_tag("h2#item-2-1", "Item 2.1") content.should have_tag("h2#item-2-1-again", "Item 2.1 again") content.should have_tag("h2#internacionalizacao", "Internacionalização") end end