# -*- 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