diff options
-rw-r--r-- | src/textual.cc | 6 | ||||
-rw-r--r-- | test/regress/1942_a.test | 28 | ||||
-rw-r--r-- | test/regress/1942_b.test | 28 | ||||
-rw-r--r-- | test/regress/1942_c.test | 28 | ||||
-rw-r--r-- | test/regress/1942_d.test | 28 |
5 files changed, 117 insertions, 1 deletions
diff --git a/src/textual.cc b/src/textual.cc index b4e51fbe..70bf4129 100644 --- a/src/textual.cc +++ b/src/textual.cc @@ -1705,7 +1705,11 @@ post_t * instance_t::parse_post(char * line, // as amount cannot store more than 1 commodity. post->amount = diff.to_amount(); DEBUG("textual.parse", "line " << context.linenum << ": " - << "Overwrite null posting"); + << "Overwrite null posting with " << diff.to_amount()); + } else { + post->amount = amt - amt; // this is '0' with the correct commodity. + DEBUG("textual.parse", "line " << context.linenum << ": " + << "Overwrite null posting with zero diff with " << amt - amt); } } else { // balance assertion diff --git a/test/regress/1942_a.test b/test/regress/1942_a.test new file mode 100644 index 00000000..4d57f2ba --- /dev/null +++ b/test/regress/1942_a.test @@ -0,0 +1,28 @@ +2018/01/01 * Opening Balance + Assets:Checking $1000.00 + Equity:Opening Balances -$1000.00 + +2018/01/01 * Budget + [Assets:Budget:Rent] $100.00 + [Assets:Budget:Emergency] $200.00 + [Assets:Checking] -$300.00 + +2018/01/01 * Budget + [Assets:Budget:Rent] = $100.00 + [Assets:Budget:Emergency] = $400.00 + [Assets:Bank] -$500.00 + +test bal Assets -> 1 +__ERROR__ +While parsing file "$FILE", line 13: +While balancing transaction from "$FILE", lines 10-13: +> 2018/01/01 * Budget +> [Assets:Budget:Rent] = $100.00 +> [Assets:Budget:Emergency] = $400.00 +> [Assets:Bank] -$500.00 +Unbalanced remainder is: + $-300.00 +Amount to balance against: + $200.00 +Error: Transaction does not balance +end test diff --git a/test/regress/1942_b.test b/test/regress/1942_b.test new file mode 100644 index 00000000..03dd71a3 --- /dev/null +++ b/test/regress/1942_b.test @@ -0,0 +1,28 @@ +2018/01/01 * Opening Balance + Assets:Checking $1000.00 + Equity:Opening Balances -$1000.00 + +2018/01/01 * Budget + [Assets:Budget:Rent] $100.00 + [Assets:Budget:Emergency] $200.00 + [Assets:Checking] -$300.00 + +2018/01/01 * Budget + [Assets:Budget:Rent] $0 = $100.00 + [Assets:Budget:Emergency] = $400.00 + [Assets:Bank] -$500.00 + +test bal Assets -> 1 +__ERROR__ +While parsing file "$FILE", line 13: +While balancing transaction from "$FILE", lines 10-13: +> 2018/01/01 * Budget +> [Assets:Budget:Rent] $0 = $100.00 +> [Assets:Budget:Emergency] = $400.00 +> [Assets:Bank] -$500.00 +Unbalanced remainder is: + $-300.00 +Amount to balance against: + $200.00 +Error: Transaction does not balance +end test diff --git a/test/regress/1942_c.test b/test/regress/1942_c.test new file mode 100644 index 00000000..a36099bd --- /dev/null +++ b/test/regress/1942_c.test @@ -0,0 +1,28 @@ +2018/01/01 * Opening Balance + Assets:Checking $1000.00 + Equity:Opening Balances -$1000.00 + +2018/01/01 * Budget + Assets:Budget:Rent $100.00 + Assets:Budget:Emergency $200.00 + Assets:Checking -$300.00 + +2018/01/01 * Budget + Assets:Budget:Rent = $100.00 + Assets:Budget:Emergency = $400.00 + Assets:Bank -$500.00 + +test bal Assets -> 1 +__ERROR__ +While parsing file "$FILE", line 13: +While balancing transaction from "$FILE", lines 10-13: +> 2018/01/01 * Budget +> Assets:Budget:Rent = $100.00 +> Assets:Budget:Emergency = $400.00 +> Assets:Bank -$500.00 +Unbalanced remainder is: + $-300.00 +Amount to balance against: + $200.00 +Error: Transaction does not balance +end test diff --git a/test/regress/1942_d.test b/test/regress/1942_d.test new file mode 100644 index 00000000..11b40494 --- /dev/null +++ b/test/regress/1942_d.test @@ -0,0 +1,28 @@ +2018/01/01 * Opening Balance + Assets:Checking $1000.00 + Equity:Opening Balances -$1000.00 + +2018/01/01 * Budget + Assets:Budget:Rent $100.00 + Assets:Budget:Emergency $200.00 + Assets:Checking -$300.00 + +2018/01/01 * Budget + Assets:Budget:Rent $0 + Assets:Budget:Emergency = $400.00 + Assets:Bank -$500.00 + +test bal Assets -> 1 +__ERROR__ +While parsing file "$FILE", line 13: +While balancing transaction from "$FILE", lines 10-13: +> 2018/01/01 * Budget +> Assets:Budget:Rent $0 +> Assets:Budget:Emergency = $400.00 +> Assets:Bank -$500.00 +Unbalanced remainder is: + $-300.00 +Amount to balance against: + $200.00 +Error: Transaction does not balance +end test |