Sha256: 93b2069deec2406c325497e47c44c7bb281ff6b91ccf0959347c4ebe30c9047d

Contents?: true

Size: 1.17 KB

Versions: 4

Compression:

Stored size: 1.17 KB

Contents

# 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

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
jekyll-toc-0.17.1 test/test_jekyll-toc.rb
jekyll-toc-0.17.0 test/test_jekyll-toc.rb
jekyll-toc-0.16.1 test/test_jekyll-toc.rb
jekyll-toc-0.16.0 test/test_jekyll-toc.rb