From 9f5882719bf453275410fdc4616c993f6917e799 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Filip=20Grali=C5=84ski?= Date: Tue, 10 Jul 2018 12:10:02 +0200 Subject: [PATCH] param can take an empty value --- src/GEval/ParseParams.hs | 4 ++-- test/Spec.hs | 5 +++++ 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/src/GEval/ParseParams.hs b/src/GEval/ParseParams.hs index 036e568..eaaeb43 100644 --- a/src/GEval/ParseParams.hs +++ b/src/GEval/ParseParams.hs @@ -36,5 +36,5 @@ parseParam :: Parser (Text, Text) parseParam = do param <- many1 $ satisfy (\c -> c /= '=' && c /= ',') "=" - val <- many1 $ notChar ',' - pure $ (strip $ pack param, strip $ pack val) + val <- Data.Attoparsec.Text.takeWhile (/= ',') + pure $ (strip $ pack param, strip val) diff --git a/test/Spec.hs b/test/Spec.hs index 061602f..318d73e 100644 --- a/test/Spec.hs +++ b/test/Spec.hs @@ -333,6 +333,11 @@ main = hspec $ do OutputFileParsed "out" (Data.Map.Strict.fromList [("nb_epochs", "12"), ("foo", "off"), ("bar-baz", "10")]) + it "empty val" $ do + parseParamsFromFilePath "out-nb_epochs=1,foo=,bar-baz=8.tsv" `shouldBe` + OutputFileParsed "out" (Data.Map.Strict.fromList [("nb_epochs", "1"), + ("foo", ""), + ("bar-baz", "8")])