diff options
author | John Wiegley <johnw@newartisans.com> | 2009-06-28 15:53:46 +0100 |
---|---|---|
committer | John Wiegley <johnw@newartisans.com> | 2009-06-28 15:53:46 +0100 |
commit | e8f315f00d0874e2afdee45525c4ce96d0768336 (patch) | |
tree | 2f8c3273fc1e5567e2326a66b4017b9f7c39caa2 | |
parent | 6e582a87774140337b56568358e27e7cfe09514c (diff) | |
download | fork-ledger-e8f315f00d0874e2afdee45525c4ce96d0768336.tar.gz fork-ledger-e8f315f00d0874e2afdee45525c4ce96d0768336.tar.bz2 fork-ledger-e8f315f00d0874e2afdee45525c4ce96d0768336.zip |
Correctly align amounts formatted as "%12(amount)"
-rw-r--r-- | src/format.cc | 3 | ||||
-rw-r--r-- | test/regress/F559EC12.test | 35 |
2 files changed, 37 insertions, 1 deletions
diff --git a/src/format.cc b/src/format.cc index 6620e5a4..ecac1133 100644 --- a/src/format.cc +++ b/src/format.cc @@ -345,7 +345,8 @@ void format_t::format(std::ostream& out_str, scope_t& scope) } DEBUG("format.expr", "value = (" << value << ")"); - value.print(out, elem->min_width); + value.print(out, elem->min_width, -1, + ! elem->has_flags(ELEMENT_ALIGN_LEFT)); } catch (const calc_error&) { add_error_context(_("While calculating format expression:")); diff --git a/test/regress/F559EC12.test b/test/regress/F559EC12.test new file mode 100644 index 00000000..7900b60d --- /dev/null +++ b/test/regress/F559EC12.test @@ -0,0 +1,35 @@ +format "%-12(scrub(amount))" +<<< +>>>1 +--- Context is first posting of the following transaction --- +2004/05/27 Book Store + Expenses:Books 20 BOOK @ $10 + Liabilities:MasterCard $-200.00 + +--- Input format string --- +%-12(scrub(amount)) + +--- Format elements --- +Element: EXPR flags: 0x1 min: 12 max: 0 expr: scrub(amount) + +--- Formatted string --- +"20 BOOK " +>>>2 +=== 0 +format "%12(scrub(amount))" +>>>1 +--- Context is first posting of the following transaction --- +2004/05/27 Book Store + Expenses:Books 20 BOOK @ $10 + Liabilities:MasterCard $-200.00 + +--- Input format string --- +%12(scrub(amount)) + +--- Format elements --- +Element: EXPR flags: 0x0 min: 12 max: 0 expr: scrub(amount) + +--- Formatted string --- +" 20 BOOK" +>>>2 +=== 0 |