hledger/tests/journal/default-commodity.test
Mykola Orliuk 015b764d00 Preserve implicit amounts and prices the way user wrote them in output of print command (#471)
* Remember original postings during infer and pivot

This includes such functions like:
- inferFromAssignment
- inferBalancingAmount
- inferBalancingPrices
- pivotPosting

* Use original postings for hledger print

- Introduce "--explicit" option for "print" command which brings back
  old behavior when every inferred number being printed.
- Make "print" by default print original postings without inferred
  amounts. But use effective account name to have effect from aliases.
- Instruct shell tests with an new expected output or to use
  --explicit option when inferred amounts are checked.

Resolves simonmichael/hledger#442
2017-01-13 07:25:44 -08:00

75 lines
1.2 KiB
Plaintext

# a default commodity defined with the D directive will be used for any
# subsequent commodity-less posting amounts. The sample amount's display style
# is also applied, and the resulting amount may end up setting the canonical
# display style for the commodity.
# 1. no default commodity
hledger -f- print
<<<
2010/1/1
a 1000
b
>>>
2010/01/01
a 1000
b
>>>=0
# 2. pound, two decimal places, no digit group separator
hledger -f- print
<<<
D £1000.00
2010/1/1
a 1000
b
>>>
2010/01/01
a £1000.00
b
>>>=0
# 3. dollar, comma decimal point, three decimal places, no digit group separator
hledger -f- print
<<<
D $1,000
2010/1/1
a 1000
b
>>>
2010/01/01
a $1000,000
b
>>>=0
# 4. dollar, three digit group separator, one decimal place
hledger -f- print
<<<
D $1,000.0
2010/1/1
(a) 1000000
>>>
2010/01/01
(a) $1,000,000.0
>>>=0
# 5. commodity and display style applied to the second posting amount..
# which ends up setting the digit group style, since it's the first amount
# with digit groups. The great precision is used.
hledger -f- print
<<<
D $1,000.0
2010/1/1
(a) $1000000.00
(b) 1000000
>>>
2010/01/01
(a) $1,000,000.00
(b) $1,000,000.00
>>>=0