Sha256: d6f508528a45da7b2dfcb3e372d1f3a0d627298223c331a01e8460845c7a743a

Contents?: true

Size: 996 Bytes

Versions: 2

Compression:

Stored size: 996 Bytes

Contents

require_relative 'helper'

class TestParserContentDocument < Test::Unit::TestCase
  def setup
    @manifest = EPUB::Publication::Package::Manifest.new
    %w[item-1.xhtml item-2.xhtml nav.xhtml].each.with_index do |href, index|
      item = EPUB::Publication::Package::Manifest::Item.new
      item.id = index
      item.href = Addressable::URI.parse(href)
      @manifest << item
    end

    @dir = 'test/fixtures/book'
    @parser = EPUB::Parser::ContentDocument.new(@manifest.items.last)
  end

  def test_parse_navigations
    doc = Nokogiri.XML open("#{@dir}/OPS/nav.xhtml")
    navs = @parser.parse_navigations doc
    nav = navs.first

    assert_equal 1, navs.length
    assert_equal 'Table of Contents', nav.heading
    assert_equal 'toc', nav.type

    assert_equal 2, nav.items.length
    assert_equal @manifest.items.first, nav.items.first.item
    assert_equal @manifest.items[1], nav.items[1].items[0].item
    assert_equal @manifest.items[1], nav.items[1].items[1].item
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
epub-parser-0.1.4 test/test_parser_content_document.rb
epub-parser-0.1.3 test/test_parser_content_document.rb