hledger/tests/add/add.test
Simon Michael 21d9945ba9 tests: make functional tests use "hledger" again
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).
2015-07-12 12:29:53 -07:00

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