parent
							
								
									e83d9a1e34
								
							
						
					
					
						commit
						1624206b5d
					
				| @ -1,9 +1,10 @@ | ||||
| # Testing parse error messages for accuracy and usefulness. | ||||
| 
 | ||||
| # 1. A journal with an incomplete date. | ||||
| # A journal with an incomplete date. | ||||
| < | ||||
| 2018 | ||||
| 
 | ||||
| # 1. | ||||
| $ hledger -f - print | ||||
| >2 | ||||
| hledger: -:1:5: | ||||
| @ -12,30 +13,34 @@ 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. | ||||
| # If they all failed, it would show the error from the first (journal reader). | ||||
| # But in this case the timedot reader can parse it (and shows two decimal places). | ||||
| # A journal with an unbalanced transaction. | ||||
| < | ||||
| 2018/1/1 | ||||
|   a  1 | ||||
| 
 | ||||
| $ hledger -f - bal -N | ||||
| # 2. When read from stdin, this example actually passes because hledger tries all readers. | ||||
| # If they all failed, it would show the error from the first (journal reader). | ||||
| # But in this case the timedot reader can parse it. | ||||
| $ hledger -f - print | ||||
| > | ||||
|                 1.00  a | ||||
| 2018/01/01 * | ||||
|     (a)            1.00 | ||||
| 
 | ||||
| >= | ||||
| 
 | ||||
| # 3. So in these tests we must sometimes force the desired format, like so. | ||||
| # Now we see the error from the journal reader. | ||||
| $ hledger -f journal:- bal -N | ||||
| $ hledger -f journal:- print | ||||
| >2 /hledger: could not balance this transaction \(real postings are off by 1\)/ | ||||
| >=1 | ||||
| 
 | ||||
| # 4. A posting without two spaces between account and amount. | ||||
| # A posting without two spaces between account and amount. | ||||
| < | ||||
| 2018/1/1 | ||||
|   (a) 1 | ||||
| 
 | ||||
| # hledger doesn't detect this as an error directly, it parses account name "(a) 1" here. | ||||
| # 4. hledger doesn't detect this as an error directly, it parses account name "(a) 1" and | ||||
| # amount 0 here. | ||||
| $ hledger -f - print -x | ||||
| 2018/01/01 | ||||
|     (a) 1               0 | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user