From 3ed514cafc5170c8c031d46ecdbd2c0837661488 Mon Sep 17 00:00:00 2001 From: Fujimura Daisuke Date: Wed, 11 Jun 2014 16:13:25 +0900 Subject: [PATCH] Fix parseLine --- src/Git/Freq.hs | 1 + test/Git/FreqSpec.hs | 3 +++ 2 files changed, 4 insertions(+) diff --git a/src/Git/Freq.hs b/src/Git/Freq.hs index 02450d8..b61b335 100644 --- a/src/Git/Freq.hs +++ b/src/Git/Freq.hs @@ -22,6 +22,7 @@ type Result = Map FileName NumStat parseLine :: Text -> Maybe Change parseLine = go . T.splitOn (T.pack "\t") where go :: [Text] -> Maybe Change + go (_:_:"":_) = Nothing go (added:deleted:filename:_) = case (readIntMaybe added, readIntMaybe deleted) of (Just a, Just d) -> Just (filename, (a, d)) diff --git a/test/Git/FreqSpec.hs b/test/Git/FreqSpec.hs index 09b0a42..dc8af24 100644 --- a/test/Git/FreqSpec.hs +++ b/test/Git/FreqSpec.hs @@ -32,6 +32,9 @@ spec = do source <- createMockSource [ "1\t1\tgit-freq.cabal" , "2\t5\tREADME.md" , "3\t0\tgit-freq.cabal" + , "%0" + , "4\t3\t" + , "4\t\t3\tfoo" , "2\t9\tREADME.md" ] freq' source `shouldReturn` [ ("README.md", (4, 14))