test/test_publication.rb in epub-parser-0.1.8 vs test/test_publication.rb in epub-parser-0.1.9
- old
+ new
@@ -21,18 +21,18 @@
class TestMetadata < TestPublication
def test_meta_refines_setter_connect_refinee_to_the_meta
refiner = Package::Metadata::Meta.new
refinee = Package::Metadata::Meta.new
refiner.refines = refinee
- assert_same refinee.refiners.first, refiner
+ assert_same refinee.refiners.first, refiner
end
def test_link_refines_setter_connect_refinee_to_the_link
refiner = Package::Metadata::Link.new
refinee = Package::Metadata::Meta.new
refiner.refines = refinee
- assert_same refinee.refiners.first, refiner
+ assert_same refinee.refiners.first, refiner
end
def test_title_returns_extended_title_when_it_exists
extended_title = Package::Metadata::Title.new
extended_title.id = 'extended-title'
@@ -181,9 +181,62 @@
end
end
class TestManifest < TestPublication
include EPUB::Publication
+
+ def setup
+ @manifest = EPUB::Publication::Package::Manifest.new
+ @nav1 = EPUB::Publication::Package::Manifest::Item.new
+ @nav1.id = 'nav1'
+ @nav1.properties = %w[nav]
+ @nav2 = EPUB::Publication::Package::Manifest::Item.new
+ @nav2.id = 'nav2'
+ @nav2.properties = %w[nav]
+ @item = EPUB::Publication::Package::Manifest::Item.new
+ @item.id = 'item'
+ @cover_image = EPUB::Publication::Package::Manifest::Item.new
+ @cover_image.id = 'cover-image'
+ @cover_image.properties = %w[cover-image]
+ @manifest << @nav1 << @item << @nav2 << @cover_image
+ end
+
+ def test_each_item_returns_enumerator_when_no_block_given
+ assert_instance_of Enumerator, @manifest.each_item
+ end
+
+ def test_each_nav_iterates_over_items_with_nav_property
+ navs = [@nav1, @nav2]
+ i = 0
+ @manifest.each_nav do |nav|
+ assert_same navs[i], nav
+ i += 1
+ end
+ end
+
+ def test_each_nav_returns_iterable_object_when_no_block_given
+ navs = [@nav1, @nav2]
+
+ assert_respond_to @manifest.each_nav, :each
+ @manifest.each_nav.with_index do |nav, i|
+ assert_same navs[i], nav
+ end
+ end
+
+ def test_navs_iterates_over_items_with_nav_property
+ navs = [@nav1, @nav2]
+ @manifest.navs.each_with_index do |nav, i|
+ assert_same navs[i], nav
+ end
+ end
+
+ def test_nav_returns_first_item_with_nav_property
+ assert_same @nav1, @manifest.nav
+ end
+
+ def test_cover_image_returns_item_with_cover_image_property
+ assert_same @cover_image, @manifest.cover_image
+ end
class TestItem < TestManifest
def test_content_document_returns_nil_when_not_xhtml_nor_svg
item = EPUB::Publication::Package::Manifest::Item.new
item.media_type = 'some/media'