129 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			129 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| ##############################################################################
 | |
| # data validation
 | |
| #
 | |
| # 1. should prompt again for a bad date
 | |
| hledgerdev -f $$-add.j add; rm -f $$-add.j
 | |
| <<<
 | |
| 2009/1/32
 | |
| >>> /date .*: date .*/
 | |
| >>>=0
 | |
| 
 | |
| # 2. should accept a blank date
 | |
| hledgerdev -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
 | |
| hledgerdev -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 \. to complete.*: Accept.*: $/
 | |
| >>>=0
 | |
| 
 | |
| # 4. default commodity with greater precision
 | |
|  printf 'D $1000.00\n' >t$$.j; hledgerdev -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; hledgerdev -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; hledgerdev -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; hledgerdev -f t$$.j add >/dev/null; cat t$$.j; rm -f t$$.j
 | |
| <<<
 | |
| 
 | |
| 
 | |
| a
 | |
| $1000.00
 | |
| b
 | |
| 
 | |
| .
 | |
| 
 | |
| >>> /a  +\$1000\.00/
 | |
| >>>=0
 | |
| 
 | |
| # 8. no commodity entered, the (most recent) default commodity should be applied
 | |
| # (and a non-ascii commodity symbol should work)
 | |
|  printf 'D $1000.0\nD £1,000.00\n' >t$$.j; hledgerdev -f t$$.j add; cat t$$.j; rm -f t$$.j
 | |
| <<<
 | |
| 2010/1/1
 | |
| 
 | |
| a
 | |
| 1000
 | |
| b
 | |
| 
 | |
| .
 | |
| 
 | |
| >>> /a  +£1,000.00/
 | |
| >>>=0
 | |
| 
 | |
| # 9. default amounts should not fail to balance due to precision
 | |
| rm -f nosuch.journal; hledgerdev -f nosuch.journal add; rm -f nosuch.journal
 | |
| <<<
 | |
| 2010/1/1
 | |
| x
 | |
| a
 | |
| 0.25
 | |
| b
 | |
| 0.5
 | |
| c
 | |
| >>> /amount  3 \? \[-0.75\]/
 | |
| >>>=0
 | |
| 
 | |
| ## 10. shouldn't add decimals if there aren't any
 | |
| ## printf '\n\na\n1\nb\n' | hledgerdev -f /dev/null add
 | |
| # hledgerdev -f /dev/null add
 | |
| # <<<
 | |
| 
 | |
| 
 | |
| # a
 | |
| # 1
 | |
| # b
 | |
| # >>> /amount  2 \[-1\]/
 | |
| # >>>=0
 | |
| 
 |