diff --git a/examples/forecast.journal b/examples/forecast.journal new file mode 100644 index 000000000..a5baf09cd --- /dev/null +++ b/examples/forecast.journal @@ -0,0 +1,37 @@ +~ quarterly + (a) $1 + +;~ every 15th day of month +; (b) $10 + +2020-01-01 regular transaction + (a) $1 + +comment + +~/src/hledger/examples$ date +Thu Dec 10 14:29:49 PST 2020 +~/src/hledger/examples$ hledger -f forecast.journal print --forecast +2020-01-01 regular transaction + (a) $1 + +2020-04-01 + ; generated-transaction: ~ quarterly + (a) $1 + +2020-07-01 + ; generated-transaction: ~ quarterly + (a) $1 + +2020-10-01 + ; generated-transaction: ~ quarterly + (a) $1 + +2021-01-01 + ; generated-transaction: ~ quarterly + (a) $1 + +2021-04-01 + ; generated-transaction: ~ quarterly + (a) $1 + diff --git a/hledger-ui/test/bcexample.hledger b/hledger-ui/test/bcexample.journal similarity index 100% rename from hledger-ui/test/bcexample.hledger rename to hledger-ui/test/bcexample.journal diff --git a/hledger-ui/test/forecast.journal b/hledger-ui/test/forecast.journal new file mode 120000 index 000000000..9c95b309f --- /dev/null +++ b/hledger-ui/test/forecast.journal @@ -0,0 +1 @@ +../../examples/forecast.journal \ No newline at end of file diff --git a/hledger-ui/test/sample.journal b/hledger-ui/test/sample.journal index 378892c6a..6fcdfce0e 120000 --- a/hledger-ui/test/sample.journal +++ b/hledger-ui/test/sample.journal @@ -1 +1 @@ -examples/sample.journal \ No newline at end of file +../../examples/sample.journal \ No newline at end of file diff --git a/hledger-ui/test/uitest.org b/hledger-ui/test/uitest.org index 144b8d362..c32c20b01 100644 --- a/hledger-ui/test/uitest.org +++ b/hledger-ui/test/uitest.org @@ -2,15 +2,13 @@ When you want to check that hledger-ui is working correctly, try some or all of these things. Additions welcome. -Expected output is shown below each step, at least the first part, -as copied from an 80x25 terminal. +Expected output, at least the first few lines of it, +as copied from an 80x25 terminal, is shown below each step. Another source of tests is the tutorial at https://hledger.org/ui.html, which has nice screenshots, but might be less up to date. -Run these in the examples directory. - -** hledger-ui -f sample.journal (shows all accounts in list mode) +** hledger-ui -f sample.journal : shows all accounts in list mode ───────────────────── sample.journal account balances (1/8) ──────────────────── assets:bank:checking 0 assets:bank:saving $1 @@ -21,7 +19,7 @@ Run these in the examples directory. income:salary $-1 liabilities:debts $1 -** t (switches to tree mode) +** t : switches to tree mode ──────────────────── sample.journal account balances (3/13) ──────────────────── assets $-1 bank $1 @@ -37,21 +35,21 @@ Run these in the examples directory. liabilities $1 debts $1 -** 1 (clips accounts to depth 1) +** 1 : clips accounts to depth 1 ─────────────── sample.journal account balances to depth 1 (1/4) ─────────────── assets $-1 expenses $2 income $-2 liabilities $1 -** RIGHT (expected failure: shows lots of periods instead of an empty register) +** RIGHT : expected failure: shows lots of periods instead of an empty register ────────────────────────── assets transactions (100/0) ───────────────────────── .. .. .. .. .. .. .. .. -** ESC (reset UI state to initial screen in list mode) +** ESC : reset UI state to initial screen in list mode ───────────────────── sample.journal account balances (1/8) ──────────────────── assets:bank:checking 0 assets:bank:saving $1 @@ -62,20 +60,20 @@ Run these in the examples directory. income:salary $-1 liabilities:debts $1 -** RIGHT (shows assets:bank:checking register, 2008-12-31 transaction selected) +** RIGHT : shows assets:bank:checking register, 2008-12-31 transaction selected ──────────────────── assets:bank:checking transactions (4/4) ─────────────────── 2008-01-01 income in:salary $1 $1 2008-06-01 gift in:gifts $1 $2 2008-06-02 save as:ba:saving $-1 $1 2008-12-31 * pay off li:debts $-1 0 -** RIGHT (shows transaction detail) +** RIGHT : shows transaction detail ──────────────── Transaction #5 (4 of 4 in assets:bank:checking) ─────────────── 2008-12-31 * pay off liabilities:debts $1 assets:bank:checking $-1 -** ? (shows help dialog over current screen; all content fits unclipped in 80x25, including the last q quit line) +** ? : shows help dialog over current screen; all content fits unclipped in 80x25, including the last q quit line ┌──────────────────────Help (LEFT/ESC/?/q to close help)──────────────────────┐─ │ Navigation Filtering │ │ UP/DOWN/PUP/PDN/HOME/END/k/j/C-p/C-n / set a filter query │ @@ -102,25 +100,25 @@ Run these in the examples directory. └─────────────────────────────────────────────────────────────────────────────┘ ──── ?:help t:list/tree -+:depth H:end-bals/changes F:forecast a:add q:quit ──── -** q (q with help dialog open closes it) +** q : q with help dialog open closes it ──────────────── Transaction #5 (4 of 4 in assets:bank:checking) ─────────────── 2008-12-31 * pay off liabilities:debts $1 assets:bank:checking $-1 -** q (q elsewhere exits the app, restoring the terminal to its previous state) +** q : q elsewhere exits the app, restoring the terminal to its previous state ~/src/hledger/hledger-ui/test$ hledger-ui -f sample.journal ~/src/hledger/hledger-ui/test$ -** hledger-ui -f sample.journal --register checking date:200812 (date query at startup) +** hledger-ui -f sample.journal --register checking date:200812 : date query at startup ──── assets:bank:checking transactions matching date:200812 in 2008-12 (1/1) ─── 2008-12-31 * pay off li:debts $-1 0 -** hledger-ui -f sample.journal --register checking date:200812 --change (total is now $-1) +** hledger-ui -f sample.journal --register checking date:200812 --change : total is now $-1 ──── assets:bank:checking transactions matching date:200812 in 2008-12 (1/1) ─── 2008-12-31 * pay off li:debts $-1 $-1 -** hledger-ui -f bcexample.hledger --tree --register assets +** hledger-ui -f bcexample.hledger --tree --register assets : elides wide content as shown ──────────────────────── Assets transactions (518/518) ──────────────────────── 2014-07-26 * .. .. 16.00 GLD, -1515.83 USD ..0 GLD, 17.00 ITOT, 6 more.. 2014-07-31 * .. .. 2550.60 USD, 4.62 VACHR ..0 GLD, 17.00 ITOT, 6 more.. @@ -130,3 +128,18 @@ Run these in the examples directory. 2014-08-09 * .. .. -560.82 USD ..0 GLD, 17.00 ITOT, 6 more.. 2014-08-14 * .. .. 2550.60 USD, 4.62 VACHR ..0 GLD, 17.00 ITOT, 6 more.. 2014-08-15 * .. .. -16.00 GLD, 1481.29 USD ..0 GLD, 17.00 ITOT, 6 more.. + +** hledger-ui -f forecast.journal --register a --forecast : +───────────────────────── a transactions (1/1) ───────────────────────── + 2020-01-01 regular transaction a $1 $1 + +** F (shows future/forecast transactions) +──────────────────────── a transactions (1/6) ───────────────────────── + 2020-01-01 regular transaction a $1 $1 + 2020-04-01 a $1 $2 + 2020-07-01 a $1 $3 + 2020-10-01 a $1 $4 + 2021-01-01 a $1 $5 + 2021-04-01 a $1 $6 + +** press F at least twice more (toggles future/forecast transactions every time)