pdftotext-0.0.1.0: test/PdftotextSpec.hs
{-# LANGUAGE BlockArguments #-}
{-# LANGUAGE OverloadedStrings #-}
module PdftotextSpec (spec) where
import qualified Data.Text.IO as T
import Pdftotext
import Test.Hspec
spec :: Spec
spec = do
before (openFile "test/simple.pdf") do
describe "pdftotext with layout `None`" do
it "produces same output as `pdftotext simple.pdf`" \(Just doc) -> do
exp <- T.readFile "test/simple_none.txt"
pdftotext None doc `shouldBe` exp
describe "pdftotext with layout `Raw`" do
it "produces same output as `pdftotext -raw simple.pdf`" \(Just doc) -> do
exp <- T.readFile "test/simple_raw.txt"
pdftotext Raw doc `shouldBe` exp
describe "pdftotext with layout `Physical`" do
it "produces same output as `pdftotext -layout simple.pdf`" \(Just doc) -> do
exp <- T.readFile "test/simple_physical.txt"
pdftotext Physical doc `shouldBe` exp
describe "PDF" do
it "should have expected number of pages (`pagesTotal`)" \(Just doc) ->
pagesTotal doc `shouldBe` 4
it "should contain correct number of pages (`pages`)" \(Just doc) ->
length (pages doc) `shouldBe` 4