parent
42f47e2b6b
commit
9d33342ff3
42
tests/journal/parse-errors.test
Normal file
42
tests/journal/parse-errors.test
Normal file
@ -0,0 +1,42 @@
|
|||||||
|
# Testing parse error messages for accuracy and usefulness.
|
||||||
|
|
||||||
|
# 1. A journal with an incomplete date.
|
||||||
|
<
|
||||||
|
2018
|
||||||
|
|
||||||
|
$ hledger -f - print
|
||||||
|
>2
|
||||||
|
hledger: -:1:5:
|
||||||
|
unexpected newline
|
||||||
|
expecting date separator or the rest of year or month
|
||||||
|
|
||||||
|
>=1
|
||||||
|
|
||||||
|
# 2. A journal with an unbalanced transaction.
|
||||||
|
# When read from stdin, this example actually passes because hledger tries all readers
|
||||||
|
# and the timedot reader parses it (and shows two decimal places).
|
||||||
|
<
|
||||||
|
2018/1/1
|
||||||
|
a 1
|
||||||
|
|
||||||
|
$ hledger -f - bal -N
|
||||||
|
>
|
||||||
|
1.00 a
|
||||||
|
|
||||||
|
# 3. If we force journal format, we get the expected error.
|
||||||
|
$ hledger -f journal:- bal -N
|
||||||
|
>2 /hledger: could not balance this transaction \(real postings are off by 1\)/
|
||||||
|
>=1
|
||||||
|
|
||||||
|
# 4. A posting without two spaces between account and amount (forcing journal format).
|
||||||
|
<
|
||||||
|
2018/1/1
|
||||||
|
(a) 1
|
||||||
|
|
||||||
|
# hledger doesn't detect this as an error directly, it parses account name "(a) 1" here.
|
||||||
|
$ hledger -f journal:- print -x
|
||||||
|
2018/01/01
|
||||||
|
(a) 1 0
|
||||||
|
|
||||||
|
>=
|
||||||
|
|
||||||
Loading…
Reference in New Issue
Block a user