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'