Using "hledgerdev" was a hack to help ensure that tests used a fresh developer build by default. Now they specify "hledger" again, which fits better with stack. It's up to the tester to make sure the desired executable is first in PATH or specified with -w. (Note a couple of tests currently don't obey -w and will always run "hledger", see addons.test).
		
			
				
	
	
		
			114 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			114 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| ##############################################################################
 | |
| # data validation
 | |
| #
 | |
| # 1. should prompt again for a bad date
 | |
| hledger -f $$-add.j add; rm -f $$-add.j
 | |
| <<<
 | |
| 2009/1/32
 | |
| >>> /A valid hledger smart date is required/
 | |
| >>>=0
 | |
| 
 | |
| # 2. should accept a blank date
 | |
| hledger -f $$-add.j add; rm -f $$-add.j
 | |
| <<<
 | |
| 
 | |
| >>> /Date .*Description:/
 | |
| >>>=0
 | |
| 
 | |
| ##############################################################################
 | |
| # precision and commodity handling
 | |
| #
 | |
| # 3. simple add with no existing journal, no commodity entered
 | |
| hledger -f $$-add.j add; rm -f $$-add.j
 | |
| <<<
 | |
| 
 | |
| 
 | |
| a
 | |
| 1000.0
 | |
| b
 | |
| 
 | |
| .
 | |
| >>> /Date.*Description.*Account 1.*Amount  1.*Account 2.*Amount  2.*Account 3.*or \. or enter to finish.*/
 | |
| >>>=0
 | |
| 
 | |
| # 4. default commodity with greater precision
 | |
|  printf 'D $1000.00\n' >t$$.j; hledger -f t$$.j add >/dev/null; cat t$$.j; rm -f t$$.j
 | |
| <<<
 | |
| 
 | |
| 
 | |
| a
 | |
| $1000.0
 | |
| b
 | |
| 
 | |
| .
 | |
| 
 | |
| >>> /a  +\$1000\.0/
 | |
| >>>=0
 | |
| 
 | |
| # 5. default commodity with less precision
 | |
|  printf 'D $1000.0\n' >t$$.j; hledger -f t$$.j add >/dev/null; cat t$$.j; rm -f t$$.j
 | |
| <<<
 | |
| 
 | |
| 
 | |
| a
 | |
| $1000.00
 | |
| b
 | |
| 
 | |
| .
 | |
| 
 | |
| >>> /a  +\$1000\.00/
 | |
| >>>=0
 | |
| 
 | |
| # 6. existing commodity with greater precision
 | |
|  printf '2010/1/1\n a  $1000.00\n b\n' >t$$.j; hledger -f t$$.j add >/dev/null; cat t$$.j; rm -f t$$.j
 | |
| <<<
 | |
| 
 | |
| 
 | |
| a
 | |
| $1000.0
 | |
| b
 | |
| 
 | |
| .
 | |
| >>> /a  +\$1000\.0/
 | |
| >>>=0
 | |
| 
 | |
| # 7. existing commodity with less precision
 | |
|  printf '2010/1/1\n a  $1000.0\n b\n' >t$$.j; hledger -f t$$.j add >/dev/null; cat t$$.j; rm -f t$$.j
 | |
| <<<
 | |
| 
 | |
| 
 | |
| a
 | |
| $1000.00
 | |
| b
 | |
| 
 | |
| .
 | |
| 
 | |
| >>> /a  +\$1000\.00/
 | |
| >>>=0
 | |
| 
 | |
| # 8. default amounts should not fail to balance due to precision
 | |
| rm -f nosuch.journal; hledger -f nosuch.journal add; rm -f nosuch.journal
 | |
| <<<
 | |
| 2010/1/1
 | |
| x
 | |
| a
 | |
| 0.25
 | |
| b
 | |
| 0.5
 | |
| c
 | |
| >>> /Amount  3 \[-0.75\]:/
 | |
| >>>=0
 | |
| 
 | |
| ## 9. shouldn't add decimals if there aren't any
 | |
| ## printf '\n\na\n1\nb\n' | hledger -f /dev/null add
 | |
| # hledger -f /dev/null add
 | |
| # <<<
 | |
| 
 | |
| 
 | |
| # a
 | |
| # 1
 | |
| # b
 | |
| # >>> /amount  2 \[-1\]/
 | |
| # >>>=0
 | |
| 
 |