mirror of
https://github.com/simonmichael/hledger.git
synced 2024-11-08 15:14:49 +03:00
d3663b818e
This allows period and comma to be used for decimal point and digit group separator or vice versa, and also flexible digit groups. See http://en.wikipedia.org/wiki/Decimal_separator . Digit group separators are possibly not worth the trouble and might not stay.
101 lines
2.4 KiB
Plaintext
101 lines
2.4 KiB
Plaintext
##############################################################################
|
|
# data validation
|
|
#
|
|
# 1. should prompt again for a bad date
|
|
rm -f add-default-commodity-$$.j; bin/hledger -f add-default-commodity-$$.j add; rm -f add-default-commodity-$$.j
|
|
<<<
|
|
2009/1/32
|
|
>>> /date .*: date .*/
|
|
#
|
|
# 2. should accept a blank date
|
|
rm -f add-default-commodity-$$.j; bin/hledger -f add-default-commodity-$$.j add; rm -f add-default-commodity-$$.j
|
|
<<<
|
|
|
|
>>> /date .*: description/
|
|
#
|
|
##############################################################################
|
|
# precision and commodity handling
|
|
#
|
|
# 3. simple add with no existing journal, no commodity entered
|
|
rm -f add-default-commodity-$$.j; bin/hledger -f add-default-commodity-$$.j add; rm -f add-default-commodity-$$.j
|
|
<<<
|
|
|
|
|
|
a
|
|
1000.0
|
|
b
|
|
|
|
.
|
|
>>> /^date \[.*\]: description \[\]: account 1: amount 1: account 2: amount 2 \[-1000.0\]: account 3: date \[.*\]: $/
|
|
#
|
|
# 4. default commodity with greater precision
|
|
printf 'D $1000.00\n' >add-default-commodity-$$.j; hledger -fadd-default-commodity-$$.j add >/dev/null; cat add-default-commodity-$$.j; rm -f add-default-commodity-$$.j
|
|
<<<
|
|
|
|
|
|
a
|
|
$1000.0
|
|
b
|
|
|
|
.
|
|
>>> /a +\$1000\.0/
|
|
#
|
|
# 5. default commodity with less precision
|
|
printf 'D $1000.0\n' >add-default-commodity-$$.j; hledger -fadd-default-commodity-$$.j add >/dev/null; cat add-default-commodity-$$.j; rm -f add-default-commodity-$$.j
|
|
<<<
|
|
|
|
|
|
a
|
|
$1000.00
|
|
b
|
|
|
|
.
|
|
>>> /a +\$1000\.00/
|
|
#
|
|
# 6. existing commodity with greater precision
|
|
printf '2010/1/1\n a $1000.00\n b\n' >add-default-commodity-$$.j; hledger -fadd-default-commodity-$$.j add >/dev/null; cat add-default-commodity-$$.j; rm -f add-default-commodity-$$.j
|
|
<<<
|
|
|
|
|
|
a
|
|
$1000.0
|
|
b
|
|
|
|
.
|
|
>>> /a +\$1000\.0/
|
|
#
|
|
# 7. existing commodity with less precision
|
|
printf '2010/1/1\n a $1000.0\n b\n' >add-default-commodity-$$.j; hledger -fadd-default-commodity-$$.j add >/dev/null; cat add-default-commodity-$$.j; rm -f add-default-commodity-$$.j
|
|
<<<
|
|
|
|
|
|
a
|
|
$1000.00
|
|
b
|
|
|
|
.
|
|
>>> /a +\$1000\.00/
|
|
#
|
|
# 8. no commodity entered, the (most recent) default commodity should be applied
|
|
printf 'D $1000.0\nD £1,000.00\n' >add-default-commodity-$$.j; hledger -fadd-default-commodity-$$.j add; cat add-default-commodity-$$.j; rm -f add-default-commodity-$$.j
|
|
<<<
|
|
2010/1/1
|
|
|
|
a
|
|
1000
|
|
b
|
|
|
|
.
|
|
>>> /a +£1,000.0/
|
|
# 9. default amounts should not fail to balance due to precision
|
|
bin/hledger -f nosuch.journal add
|
|
<<<
|
|
2010/1/1
|
|
x
|
|
a
|
|
0.25
|
|
b
|
|
0.5
|
|
c
|
|
>>> /amount 3 \[-0.75\]/
|