Merge pull request #1470 from jkr/metadata-test

Media test
This commit is contained in:
John MacFarlane 2014-07-30 23:52:36 -07:00
commit 143d5b7328
3 changed files with 27 additions and 0 deletions

View file

@ -385,6 +385,7 @@ Test-Suite test-pandoc
syb >= 0.1 && < 0.5,
pandoc,
pandoc-types >= 1.12.3.3 && < 1.13,
base64-bytestring >= 0.1 && < 1.1,
bytestring >= 0.9 && < 0.11,
text >= 0.11 && < 1.2,
directory >= 1 && < 1.3,

View file

@ -5,7 +5,10 @@ import Text.Pandoc.Readers.Native
import Text.Pandoc.Definition
import Tests.Helpers
import Test.Framework
import qualified Data.ByteString as BS
import qualified Data.ByteString.Lazy as B
import qualified Data.ByteString.Char8 as B8
import qualified Data.ByteString.Base64 as B64
import Text.Pandoc.Readers.Docx
import Text.Pandoc.Writers.Native (writeNative)
import qualified Data.Map as M
@ -52,6 +55,22 @@ testCompareWithOpts opts name docxFile nativeFile =
testCompare :: String -> FilePath -> FilePath -> Test
testCompare = testCompareWithOpts def
testCompareMediaIO :: String -> FilePath -> FilePath -> FilePath -> IO Test
testCompareMediaIO name docxFile mediaPath mediaFile = do
df <- B.readFile docxFile
mf <- B.readFile mediaFile
let (_, mb) = readDocx def df
dBytes = case M.lookup mediaPath mb of
Just bs -> bs
Nothing -> error "Media file not found"
d64 = B8.unpack $ B64.encode $ BS.concat $ B.toChunks dBytes
m64 = B8.unpack $ B64.encode $ BS.concat $ B.toChunks mf
return $ test id name (d64, m64)
testCompareMedia :: String -> FilePath -> FilePath -> FilePath -> Test
testCompareMedia name docxFile mediaPath mediaFile =
buildTest $ testCompareMediaIO name docxFile mediaPath mediaFile
tests :: [Test]
tests = [ testGroup "inlines"
@ -165,6 +184,13 @@ tests = [ testGroup "inlines"
"docx.track_changes_deletion.docx"
"docx.track_changes_deletion_all.native"
]
, testGroup "media"
[ testCompareMedia
"image extraction"
"docx.image.docx"
"media/image1.jpeg"
"docx.image1.jpeg"
]
, testGroup "metadata"
[ testCompareWithOpts def{readerStandalone=True}
"metadata fields"

BIN
tests/docx.image1.jpeg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 46 KiB