Sha256: 2f1c323c8462c789af48ca74bcd524ab5e362dbb55682e9b275c609fc59a2546

Contents?: true

Size: 1.22 KB

Versions: 4

Compression:

Stored size: 1.22 KB

Contents

# -*- coding: utf-8 -*-
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 = href
      @manifest << item
    end
    @manifest.package = Object.new
    stub(@manifest.package).full_path {"OPS/ルートファイル.opf"}

    @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 Set.new(["toc", "frontmatter"]), nav.types

    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

    assert_equal '第四節', nav.items.last.items.last.text

    assert_true nav.hidden?
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
epub-parser-0.4.3 test/test_parser_content_document.rb
epub-parser-0.4.2 test/test_parser_content_document.rb
epub-parser-0.4.1 test/test_parser_content_document.rb
epub-parser-0.4.0 test/test_parser_content_document.rb