summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--CHANGELOG.md5
-rw-r--r--tests/Tex/LogParse.hs160
-rw-r--r--texrunner.cabal7
3 files changed, 8 insertions, 164 deletions
diff --git a/CHANGELOG.md b/CHANGELOG.md
new file mode 100644
index 0000000..0635a56
--- /dev/null
+++ b/CHANGELOG.md
@@ -0,0 +1,5 @@
+## [v0.0.1.1] (2016-06-06)
+
+- allow `base-4.9`
+- fix file capitalisation
+
diff --git a/tests/Tex/LogParse.hs b/tests/Tex/LogParse.hs
deleted file mode 100644
index 5cef0b2..0000000
--- a/tests/Tex/LogParse.hs
+++ /dev/null
@@ -1,160 +0,0 @@
-{-# LANGUAGE OverloadedStrings #-}
-{-# OPTIONS_GHC -fno-warn-missing-signatures #-}
-module Tex.LogParse where
-
-import Data.ByteString.Lazy.Char8 as B (unlines, ByteString, writeFile)
-import Data.Monoid
-
-import Test.HUnit
-import Test.Framework.Providers.HUnit
-import Test.Framework as F
-
-import System.Texrunner
-import System.Texrunner.Parse
-import Control.Lens
-import Data.Foldable
-
-tests = texTests ++ latexTests ++ contextTests
-
-texTests = [checkErrors "tex error parse" tex]
-latexTests = [checkErrors "latex error parse" latex]
-contextTests = [checkErrors "context error parse" context]
-
-withHead :: Monad m => [a] -> (a -> m ()) -> m ()
-withHead (a:_) f = f a
-withHead _ _ = return ()
-
-tex e code = testCase ("tex" ++ show e) $ do
- (exitCode, texLog, mPDF) <- runTex "pdftex" [] [] code
- take 1 (map error' (texErrors texLog)) @?= [e]
-
-latexHeader, latexBye :: ByteString
-latexHeader = B.unlines
- [ "\\documentclass{article}"
- , "\\begin{document}"
- ]
-latexBye = "\\end{document}"
-
-latex e code = testCase ("latex" ++ show e) $ do
- (exitCode, texLog, mPDF) <- runTex "pdflatex" [] [] (latexHeader <> code)
- head (map error' $ texErrors texLog) @?= e
-
-contextHeader, contextBye :: ByteString
-contextHeader = "\\starttext"
-contextBye = "\\stoptext"
-
-context e code = testCase ("context" ++ show e) $ do
- (exitCode, texLog, mPDF) <- runTex "context" [] [] (contextHeader <> code)
- take 1 (map error' (texErrors texLog)) @?= [e]
- -- head (map error' $ texErrors texLog) @?= e
- -- assertBool ("context" ++ show e) $ texLog `containsError` e
-
--- Generating tex sample tex files -------------------------------------
-
--- plain tex
-
-genTexFiles :: IO ()
-genTexFiles = for_ labeledErrors mkFile
- where
- mkFile (nm, (_err, xs)) = ifor_ xs $ \i x -> do
- let doc = latexHeader <> x <> latexBye
- name | length xs == 1 = nm
- | otherwise = nm <> "-" <> show (i+1)
- B.writeFile ("tests/samples/tex/" <> name <> ".tex") doc
-
--- latex
-
--- pdflatex -draftmode --interaction=nonstopmode $i
-
-genLatexFiles :: IO ()
-genLatexFiles = for_ labeledErrors mkFile
- where
- mkFile (nm, (_err, xs)) = ifor_ xs $ \i x -> do
- let doc = latexHeader <> x <> latexBye
- name | length xs == 1 = nm
- | otherwise = nm <> "-" <> show (i+1)
- B.writeFile ("tests/samples/latex/" <> name <> ".tex") doc
-
--- context tex
-
-genContextFiles :: IO ()
-genContextFiles = for_ labeledErrors mkFile
- where
- mkFile (nm, (_err, xs)) = ifor_ xs $ \i x -> do
- let doc = contextHeader <> x <> contextBye
- name | length xs == 1 = nm
- | otherwise = nm <> "-" <> show (i+1)
- B.writeFile ("tests/samples/context/" <> name <> ".tex") doc
-
-labeledErrors =
- [ ("missing-dollar", missingDollar)
- , ("dimention-too-large", dimensionTooLarge)
- , ("illegal-unit", illegalUnit)
- , ("missing-number", missingNumber)
- , ("undefined-control-sequence", undefinedControlSequence)
- ]
-
--- Checking error parsing ----------------------------------------------
-
-containsError :: TexLog -> TexError -> Bool
-containsError log (TexError _ err) = err `elem` map error' (texErrors log)
-
-checkError :: (TexError' -> ByteString -> F.Test) -> (TexError', [ByteString]) -> F.Test
-checkError f (e, codes) = testGroup (show e) $ map (f e) codes
-
-checkErrors :: TestName -> (TexError' -> ByteString -> F.Test) -> F.Test
-checkErrors name f = testGroup name $ map (checkError f) texErrs
-
--- Sample errors -------------------------------------------------------
-
-texErrs =
- [ missingDollar
- , dimensionTooLarge
- , illegalUnit
- , missingNumber
- , undefinedControlSequence
- ]
-
-missingDollar = (,) (Missing '$')
- [ "$x+1=2\n\n"
- , "$$x+1=2\n\n"
- ]
-
-dimensionTooLarge = (,) DimensionTooLarge
- [ "\\hskip100000em"
- ]
-
-illegalUnit = (,) IllegalUnit
- [ "\\hskip1cn"
- ]
-
-missingNumber = (,) MissingNumber
- [ "\\hskip hi"
- ]
-
-undefinedControlSequence = (,) (UndefinedControlSequence "\\hobx")
- [ "\\hobx"
- ]
-
-
-
---
--- missingDollarExample2= "x_1"
---
--- missingDollarExample3= "
---
--- numberTooBig = "10000000000"
---
--- overfull = "\\hbox to 1em{overfill box}"
---
--- underfill = "\\hbox to 20em{underfill box}"
---
--- illegalUnit = "\\hskip{1cn}"
---
--- undefinedControlSequence = "\\hobx"
---
--- missingNumber = "\\hskip"
---
---
--- missingDollarTest = (texPutStrLn missingDollarExample, MissingDollar)
---
diff --git a/texrunner.cabal b/texrunner.cabal
index 2efb4e6..21cb6a3 100644
--- a/texrunner.cabal
+++ b/texrunner.cabal
@@ -1,5 +1,5 @@
name: texrunner
-version: 0.0.1.0
+version: 0.0.1.1
synopsis: Functions for running Tex from Haskell.
description:
texrunner is an interface to tex that attempts to parse errors and
@@ -16,7 +16,7 @@ maintainer: c.chalmers@me.com
copyright: 2015 Christopher Chalmers
category: System
build-type: Simple
-extra-source-files: README.md
+extra-source-files: README.md, CHANGELOG.md
cabal-version: >=1.10
source-repository head
type: git
@@ -28,7 +28,7 @@ library
System.Texrunner.Online
System.Texrunner.Parse
build-depends:
- base >=4.6 && <4.9,
+ base >=4.6 && <4.10,
bytestring >=0.10 && <1.0,
filepath,
directory >=1.2 && <2.0,
@@ -49,7 +49,6 @@ test-suite tests
default-language: Haskell2010
other-modules:
Tex.PDF
- Tex.LogParse
build-depends:
base,