mirror of
https://github.com/jgm/pandoc.git
synced 2026-08-28 17:20:47 +08:00
59b8b3ed4b
Each worksheet turns into a section containing a table. The common file `nativeDiff` has been extract from the Docx and Pptx text files and put in Tests.Helpers.
132 lines
5.3 KiB
Haskell
132 lines
5.3 KiB
Haskell
module Main (main) where
|
|
|
|
import System.Environment (getArgs, getExecutablePath)
|
|
import qualified Control.Exception as E
|
|
import Text.Pandoc.App (convertWithOpts, handleOptInfo, defaultOpts, options,
|
|
parseOptionsFromArgs)
|
|
import Text.Pandoc.Error (handleError)
|
|
import Text.Pandoc.Scripting (noEngine)
|
|
import GHC.IO.Encoding
|
|
import Test.Tasty
|
|
import qualified Tests.Command
|
|
import qualified Tests.Old
|
|
import qualified Tests.Readers.Creole
|
|
import qualified Tests.Readers.Docx
|
|
import qualified Tests.Readers.Pptx
|
|
import qualified Tests.Readers.Xlsx
|
|
import qualified Tests.Readers.DokuWiki
|
|
import qualified Tests.Readers.EPUB
|
|
import qualified Tests.Readers.FB2
|
|
import qualified Tests.Readers.HTML
|
|
import qualified Tests.Readers.JATS
|
|
import qualified Tests.Readers.Jira
|
|
import qualified Tests.Readers.LaTeX
|
|
import qualified Tests.Readers.Markdown
|
|
import qualified Tests.Readers.Muse
|
|
import qualified Tests.Readers.ODT
|
|
import qualified Tests.Readers.Org
|
|
import qualified Tests.Readers.RST
|
|
import qualified Tests.Readers.RTF
|
|
import qualified Tests.Readers.Txt2Tags
|
|
import qualified Tests.Readers.Man
|
|
import qualified Tests.Readers.Mdoc
|
|
import qualified Tests.Readers.Pod
|
|
import qualified Tests.Shared
|
|
import qualified Tests.Writers.AsciiDoc
|
|
import qualified Tests.Writers.ConTeXt
|
|
import qualified Tests.Writers.DocBook
|
|
import qualified Tests.Writers.Docx
|
|
import qualified Tests.Writers.FB2
|
|
import qualified Tests.Writers.HTML
|
|
import qualified Tests.Writers.JATS
|
|
import qualified Tests.Writers.Jira
|
|
import qualified Tests.Writers.LaTeX
|
|
import qualified Tests.Writers.Markdown
|
|
import qualified Tests.Writers.Ms
|
|
import qualified Tests.Writers.Muse
|
|
import qualified Tests.Writers.Native
|
|
import qualified Tests.Writers.Org
|
|
import qualified Tests.Writers.Plain
|
|
import qualified Tests.Writers.Powerpoint
|
|
import qualified Tests.Writers.RST
|
|
import qualified Tests.Writers.AnnotatedTable
|
|
import qualified Tests.Writers.TEI
|
|
import qualified Tests.Writers.Markua
|
|
import qualified Tests.Writers.BBCode
|
|
import qualified Tests.XML
|
|
import qualified Tests.MediaBag
|
|
import Text.Pandoc.Shared (inDirectory)
|
|
|
|
tests :: FilePath -> TestTree
|
|
tests pandocPath = testGroup "pandoc tests"
|
|
[ Tests.Command.tests
|
|
, testGroup "Old" (Tests.Old.tests pandocPath)
|
|
, testGroup "Shared" Tests.Shared.tests
|
|
, testGroup "MediaBag" Tests.MediaBag.tests
|
|
, testGroup "XML" Tests.XML.tests
|
|
, testGroup "Writers"
|
|
[ testGroup "Native" Tests.Writers.Native.tests
|
|
, testGroup "ConTeXt" Tests.Writers.ConTeXt.tests
|
|
, testGroup "LaTeX" Tests.Writers.LaTeX.tests
|
|
, testGroup "HTML" Tests.Writers.HTML.tests
|
|
, testGroup "JATS" Tests.Writers.JATS.tests
|
|
, testGroup "Jira" Tests.Writers.Jira.tests
|
|
, testGroup "Docbook" Tests.Writers.DocBook.tests
|
|
, testGroup "Markdown" Tests.Writers.Markdown.tests
|
|
, testGroup "Org" Tests.Writers.Org.tests
|
|
, testGroup "Plain" Tests.Writers.Plain.tests
|
|
, testGroup "AsciiDoc" Tests.Writers.AsciiDoc.tests
|
|
, testGroup "Docx" Tests.Writers.Docx.tests
|
|
, testGroup "RST" Tests.Writers.RST.tests
|
|
, testGroup "TEI" Tests.Writers.TEI.tests
|
|
, testGroup "markua" Tests.Writers.Markua.tests
|
|
, testGroup "Muse" Tests.Writers.Muse.tests
|
|
, testGroup "FB2" Tests.Writers.FB2.tests
|
|
, testGroup "PowerPoint" Tests.Writers.Powerpoint.tests
|
|
, testGroup "Ms" Tests.Writers.Ms.tests
|
|
, testGroup "AnnotatedTable" Tests.Writers.AnnotatedTable.tests
|
|
, testGroup "BBCode" Tests.Writers.BBCode.tests
|
|
]
|
|
, testGroup "Readers"
|
|
[ testGroup "LaTeX" Tests.Readers.LaTeX.tests
|
|
, testGroup "Markdown" Tests.Readers.Markdown.tests
|
|
, testGroup "HTML" Tests.Readers.HTML.tests
|
|
, testGroup "JATS" Tests.Readers.JATS.tests
|
|
, testGroup "Jira" Tests.Readers.Jira.tests
|
|
, testGroup "Org" Tests.Readers.Org.tests
|
|
, testGroup "RST" Tests.Readers.RST.tests
|
|
, testGroup "RTF" Tests.Readers.RTF.tests
|
|
, testGroup "Docx" Tests.Readers.Docx.tests
|
|
, testGroup "Pptx" Tests.Readers.Pptx.tests
|
|
, testGroup "Xlsx" Tests.Readers.Xlsx.tests
|
|
, testGroup "ODT" Tests.Readers.ODT.tests
|
|
, testGroup "Txt2Tags" Tests.Readers.Txt2Tags.tests
|
|
, testGroup "EPUB" Tests.Readers.EPUB.tests
|
|
, testGroup "Muse" Tests.Readers.Muse.tests
|
|
, testGroup "Creole" Tests.Readers.Creole.tests
|
|
, testGroup "Man" Tests.Readers.Man.tests
|
|
, testGroup "Mdoc" Tests.Readers.Mdoc.tests
|
|
, testGroup "FB2" Tests.Readers.FB2.tests
|
|
, testGroup "DokuWiki" Tests.Readers.DokuWiki.tests
|
|
, testGroup "Pod" Tests.Readers.Pod.tests
|
|
]
|
|
]
|
|
|
|
main :: IO ()
|
|
main = do
|
|
setLocaleEncoding utf8
|
|
args <- getArgs
|
|
case args of
|
|
"--emulate":args' -> -- emulate pandoc executable
|
|
E.catch
|
|
(do
|
|
res <- parseOptionsFromArgs options defaultOpts "pandoc" args'
|
|
case res of
|
|
Left e -> handleOptInfo noEngine e
|
|
Right opts -> convertWithOpts noEngine opts)
|
|
(handleError . Left)
|
|
_ -> inDirectory "test" $ do
|
|
fp <- getExecutablePath
|
|
-- putStrLn $ "Using pandoc executable at " ++ fp
|
|
defaultMain $ tests fp
|