1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58
|
# frozen_string_literal: true
require 'test_helper'
class TestTableOfContentsFilter < Minitest::Test
include Jekyll::TableOfContentsFilter
DUMMY_HTML = '<div>Dummy HTML Content</div>'
def test_toc_only
@context = disable_toc_context
assert_empty toc_only(DUMMY_HTML)
end
def test_inject_anchors
@context = disable_toc_context
assert_equal DUMMY_HTML, inject_anchors(DUMMY_HTML)
end
def test_toc
@context = disable_toc_context
assert_equal DUMMY_HTML, toc(DUMMY_HTML)
end
def test_toc_only2
@context = enable_toc_context
assert_equal %(<ul id="toc" class="section-nav">\n</ul>), toc_only(DUMMY_HTML)
end
def test_inject_anchors2
@context = enable_toc_context
assert_equal DUMMY_HTML, inject_anchors(DUMMY_HTML)
end
def test_toc2
@context = enable_toc_context
assert_equal %(<ul id="toc" class="section-nav">\n</ul>#{DUMMY_HTML}), toc(DUMMY_HTML)
end
private
def disable_toc_context
Struct.new(:registers).new({ page: { 'toc' => false } })
end
def enable_toc_context
Struct.new(:registers).new({
page: { 'toc' => true },
site: Struct.new(:config).new({ 'toc' => false })
})
end
end
|