From 5d1f535b5e0f7d7846ae3df9a1699a2852633a9d Mon Sep 17 00:00:00 2001 From: Simon Michael Date: Fri, 10 Apr 2009 05:00:51 +0000 Subject: [PATCH] require some postings in ledger transactions --- Ledger/Parse.hs | 2 +- Tests.hs | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/Ledger/Parse.hs b/Ledger/Parse.hs index f716e26ad..fa11c8f65 100644 --- a/Ledger/Parse.hs +++ b/Ledger/Parse.hs @@ -362,7 +362,7 @@ ledgercode :: GenParser Char st String ledgercode = try (do { char '('; code <- anyChar `manyTill` char ')'; many1 spacenonewline; return code } ) <|> return "" ledgerpostings :: GenParser Char LedgerFileCtx [Posting] -ledgerpostings = many $ try ledgerposting +ledgerpostings = many1 $ try ledgerposting ledgerposting :: GenParser Char LedgerFileCtx Posting ledgerposting = many1 spacenonewline >> choice [ normalposting, virtualposting, balancedvirtualposting ] diff --git a/Tests.hs b/Tests.hs index 1cbd46f48..49d558b0d 100644 --- a/Tests.hs +++ b/Tests.hs @@ -562,6 +562,8 @@ tests = [ parseWithCtx ledgerTransaction entry1_str `parseis` entry1 assertBool "ledgerTransaction should not parse just a date" $ isLeft $ parseWithCtx ledgerTransaction "2009/1/1\n" + assertBool "ledgerTransaction should require some postings" + $ isLeft $ parseWithCtx ledgerTransaction "2009/1/1 a\n" ,"ledgerHistoricalPrice" ~: do parseWithCtx ledgerHistoricalPrice price1_str `parseis` price1