mirror of
https://github.com/simonmichael/hledger.git
synced 2024-12-26 20:02:27 +03:00
21d9945ba9
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
|
|
|