on master help sign in
Fix config test
commit7918134255e28d563ae694e9a8764a523be672dc authorEric Mertens <emertens@gmail.com> dateThu 1 Sep 2016, 21:53 (10 years ago) parent58f0216
2 files changed+9−7
src/Graphics/Vty/Config.hs+2−2 test/VerifyConfig.hs+7−5
src/Graphics/Vty/Config.hs+2−2
@@ -232,8 +232,8 @@ ignoreLine = void $ manyTill anyChar newline
232232parseConfig :: Parser Config
233233parseConfig = liftM mconcat $ many $ do
234234 P.whiteSpace configLexer
235− let directives = [mapDecl, debugLogDecl]
236− try (choice directives) <|> (ignoreLine >> return def)
235+ let directives = [try mapDecl, try debugLogDecl]
236+ choice directives <|> (ignoreLine >> return def)
237237
238238class Parse a where parseValue :: Parser a
239239instance Parse Char where parseValue = P.charLiteral configLexer
test/VerifyConfig.hs+7−5
@@ -6,13 +6,14 @@ import Graphics.Vty.Input.Events
66
77import Data.Default
88import Data.String.QQ
9+import qualified Data.ByteString.Char8 as B
910
1011import Test.Framework
1112import Test.Framework.Providers.HUnit
1213import Test.HUnit hiding (Test)
1314
14−exampleConfig :: String
15−exampleConfig = [s|
15+exampleConfig :: B.ByteString
16+exampleConfig = B.pack [s|
1617-- comments should be ignored.
1718map _ "\ESC[B" KUp []
1819askfjla dfasjdflk jasdlkfj asdfj -- lines failing parse should be ignored
@@ -33,9 +34,10 @@ exampleConfigConfig = def
3334 }
3435
3536exampleConfigParses :: IO ()
36−exampleConfigParses = assertEqual "example config parses as expected"
37− exampleConfigConfig
38− (runParseConfig "exampleConfig" exampleConfig)
37+exampleConfigParses =
38+ assertEqual "example config parses as expected"
39+ exampleConfigConfig
40+ (runParseConfig "exampleConfig" exampleConfig)
3941
4042main :: IO ()
4143main = defaultMain