]> granicus.if.org Git - docbook-dsssl/commitdiff
Finishing support for covers in epub files destined for .mobi and the Kindle
authorKeith Fahlgren <abdelazer@users.sourceforge.net>
Thu, 10 Jul 2008 17:20:14 +0000 (17:20 +0000)
committerKeith Fahlgren <abdelazer@users.sourceforge.net>
Thu, 10 Jul 2008 17:20:14 +0000 (17:20 +0000)
xsl/epub/bin/spec/epub_realbook_spec.rb
xsl/epub/docbook.xsl

index aca579739d29748f37ac945f637fab74f46cb3e3..a59a8116b93062752a6c2d357b85c369747fab05 100755 (executable)
@@ -34,6 +34,7 @@ describe DocBook::Epub do
 
     @html_files = Dir.glob(File.join(@tmpdir2, "**", "*.html"))
     @opf_file = Dir.glob(File.join(@tmpdir2, "**", "*.opf")).first
+    @opf_lines = File.open(@opf_file).readlines
   end  
 
   it "should be able to render a valid .epub for the 'Real Book' test document #{@xml_file}" do
@@ -45,8 +46,28 @@ describe DocBook::Epub do
     @cover_links.length.should == 1
   end  
 
+  it "should mark the HTML cover as not linear for the 'Real Book' test document #{@xml_file}" do
+    @opf_lines.each {|l|
+      if l =~ /itemref[^>]+idref=['"]cover['"]/
+        l.should =~ /item[^>]+linear=['"]no['"]/
+      end  
+    }  
+  end
+
+  it "should use the cover image @id for the opf/meta[@name='cover'] for the 'Real Book' test document #{@xml_file}" do
+    @opf_lines.each {|l|
+      if l =~ /meta[^>]+name=['"]cover['"]/
+        l.should =~ /meta[^>]+cover-image/
+      end  
+    }  
+  end
+
+  it "should reference the cover in the OPF guide for the 'Real Book' test document #{@xml_file}" do
+    @opf_lines.to_s.should =~ /reference[^>]+type=['"]cover['"]/
+  end
+
   it "should use the <isbn> as dc:identifier for the 'Real Book' test document #{@xml_file}" do
-    File.open(@opf_file).readlines.to_s.should =~ /identifier[^>]+>urn:isbn:[0-9]/
+    @opf_lines.to_s.should =~ /identifier[^>]+>urn:isbn:[0-9]/
   end
 
   after(:all) do
index 4e9b5ff4dfecb388844185375d6322735cc20bcd..8570c87e4165473c545a692dafa22ed5bcd65fac 100644 (file)
               <xsl:element name="meta">
                 <xsl:attribute name="name">cover</xsl:attribute>
                 <xsl:attribute name="content">
-                  <xsl:value-of select="$epub.cover.id"/>
+                  <xsl:value-of select="$epub.cover.image.id"/>
                 </xsl:attribute>
               </xsl:element>
             </xsl:if>