dev: ui: convert tests to markdown, update
This commit is contained in:
parent
6e5c30ea1a
commit
479ef69d3f
@ -1,109 +1,100 @@
|
|||||||
* Tests for hledger-ui
|
# Tests for hledger-ui
|
||||||
|
|
||||||
When you want to check that hledger-ui is working correctly,
|
Manual tests for hledger-ui.
|
||||||
run through the following tests, by hand, in an 80x25 terminal.
|
If you don't want to run them all, spot-checking just a few of them
|
||||||
Each test gives a command to run in this directory, and the first
|
is still much better than nothing.
|
||||||
few lines of expected output (and any notes as a # comment).
|
|
||||||
|
|
||||||
Once you're familiar with the tests, you can view this file in Emacs
|
Each test is a heading and a literal block containing
|
||||||
org mode (eg) with all body text folded, showing just the test steps
|
a command, keypress sequence, or other tester action on the first line,
|
||||||
and brief expected result.
|
followed by the expected output, or a recognisable excerpt of it.
|
||||||
|
Generally tests assume an 80x25 terminal.
|
||||||
|
|
||||||
Another source of tests is the tutorial at https://hledger.org/ui.html,
|
Another source of hledger-ui tests is the https://hledger.org/ui.html tutorial,
|
||||||
which has nice screenshots, but might be less up to date.
|
which has nice screenshots but might be less up to date.
|
||||||
|
|
||||||
** hledger-ui -f sample.journal # shows all accounts in list mode
|
## Shows balance sheet accounts by default, in list mode
|
||||||
───────────────────── sample.journal account balances (1/8) ────────────────────
|
```
|
||||||
assets:bank:checking 0 # <- selected
|
$ hledger-ui -f sample.journal
|
||||||
|
────────────────── sample.journal balance sheet balances (1/4) ─────────────────
|
||||||
|
assets:bank:checking 0
|
||||||
assets:bank:saving $1
|
assets:bank:saving $1
|
||||||
assets:cash $-2
|
assets:cash $-2
|
||||||
expenses:food $1
|
|
||||||
expenses:supplies $1
|
|
||||||
income:gifts $-1
|
|
||||||
income:salary $-1
|
|
||||||
liabilities:debts $1
|
liabilities:debts $1
|
||||||
|
```
|
||||||
|
|
||||||
** t # switches to tree mode
|
## `t` switches to tree mode
|
||||||
──────────────────── sample.journal account balances (3/13) ────────────────────
|
```
|
||||||
|
t
|
||||||
|
────────────────── sample.journal balance sheet balances (3/7) ─────────────────
|
||||||
assets $-1
|
assets $-1
|
||||||
bank $1
|
bank $1
|
||||||
checking 0 # <- selected
|
checking 0
|
||||||
saving $1
|
saving $1
|
||||||
cash $-2
|
cash $-2
|
||||||
expenses $2
|
|
||||||
food $1
|
|
||||||
supplies $1
|
|
||||||
income $-2
|
|
||||||
gifts $-1
|
|
||||||
salary $-1
|
|
||||||
liabilities $1
|
liabilities $1
|
||||||
debts $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 # <- selected
|
1
|
||||||
expenses $2
|
──────────── sample.journal balance sheet balances to depth 1 (1/2) ────────────
|
||||||
income $-2
|
assets $-1
|
||||||
liabilities $1
|
liabilities $1
|
||||||
|
```
|
||||||
|
|
||||||
** RIGHT # shows assets & subaccounts' transactions (register ignores depth limit)
|
## `RIGHT` shows assets & subaccounts' transactions (register ignores depth limit)
|
||||||
|
```
|
||||||
|
RIGHT
|
||||||
─────────────────────────── assets transactions (5/5) ──────────────────────────
|
─────────────────────────── assets transactions (5/5) ──────────────────────────
|
||||||
2008-01-01 income in:salary $1 $1
|
2008-01-01 income in:salary $1 $1
|
||||||
2008-06-01 gift in:gifts $1 $2
|
2008-06-01 gift in:gifts $1 $2
|
||||||
2008-06-02 save as:ba:saving, as:ba:chec.. 0 $2
|
2008-06-02 save as:ba:saving, as:ba:chec.. 0 $2
|
||||||
2008-06-03 * eat & shop ex:food, ex:supplies $-2 0
|
2008-06-03 * eat & shop ex:food, ex:supplies $-2 0
|
||||||
2008-12-31 * pay off li:debts $-1 $-1 # <- selected
|
2008-12-31 * pay off li:debts $-1 $-1 # <- selected
|
||||||
|
```
|
||||||
|
|
||||||
** ESC # resets UI state to top menu screen
|
## `ESC` resets UI state to top menu screen
|
||||||
|
```
|
||||||
|
ESC
|
||||||
──────────────────────────────── sample.journal ────────────────────────────────
|
──────────────────────────────── sample.journal ────────────────────────────────
|
||||||
All accounts # <- selected
|
All accounts
|
||||||
Balance sheet accounts (assets, liabilities, equity)
|
Balance sheet accounts (assets, liabilities, equity) # <- selected
|
||||||
Income statement accounts (revenues, expenses)
|
Income statement accounts (revenues, expenses)
|
||||||
|
```
|
||||||
|
|
||||||
** / bank # sets a filter query app-wide, affecting all screens
|
## `/` sets a filter query app-wide, affecting all screens
|
||||||
|
```
|
||||||
|
/ expenses ENTER
|
||||||
|
```
|
||||||
|
|
||||||
** DOWN RIGHT # enters the balance sheet screen, showing only ALE accounts restricted to those with "bank" in the name
|
## The Income statement accounts screen shows only RX accounts, now filtered by "expenses"
|
||||||
─────────────── sample.journal balance sheet matching bank (2/2) ───────────────
|
```
|
||||||
assets:bank:checking 0 # <- selected
|
DOWN RIGHT
|
||||||
assets:bank:saving $1
|
──────── sample.journal income statement changes matching expenses (1/2) ───────
|
||||||
|
expenses:food $1
|
||||||
|
expenses:supplies $1
|
||||||
|
```
|
||||||
|
|
||||||
** RIGHT # shows assets:bank:checking & subaccounts' transactions
|
## `RIGHT` from register screen shows transaction detail
|
||||||
───────────── assets:bank:checking transactions matching bank (4/4) ────────────
|
```
|
||||||
2008-01-01 income in:salary $1 $1
|
RIGHT RIGHT
|
||||||
2008-06-01 gift in:gifts $1 $2
|
────────── Transaction #4 (1 of 1 matching expenses in expenses:food) ──────────
|
||||||
2008-06-02 save as:ba:saving $-1 $1
|
2008-06-03 * eat & shop
|
||||||
2008-12-31 * pay off li:debts $-1 0 # <- selected
|
expenses:food $1
|
||||||
|
expenses:supplies $1
|
||||||
|
assets:cash $-2
|
||||||
|
```
|
||||||
|
|
||||||
** / SPACE desc:a # add another filter term, showing only transactions with "a" in the description
|
## `?` shows help dialog over current screen; all content fits unclipped in 80x25, including the last q quit line
|
||||||
───────── assets:bank:checking transactions matching bank desc:a (2/2) ─────────
|
```
|
||||||
2008-06-02 save as:ba:saving $-1 $-1
|
?
|
||||||
2008-12-31 * pay off as:ba:checking $-1 $-2 # <- selected
|
|
||||||
|
|
||||||
** RIGHT # shows transaction detail
|
|
||||||
───── Transaction #5 (2 of 2 matching bank desc:a in assets:bank:checking) ─────
|
|
||||||
2008-12-31 * pay off
|
|
||||||
liabilities:debts $1
|
|
||||||
assets:bank:checking $-1
|
|
||||||
|
|
||||||
** UP # shows previous matched transaction
|
|
||||||
───── Transaction #3 (1 of 2 matching bank desc:a in assets:bank:checking) ─────
|
|
||||||
2008-06-02 save
|
|
||||||
assets:bank:saving $1
|
|
||||||
assets:bank:checking $-1
|
|
||||||
|
|
||||||
** DOWN # shows next matched transaction
|
|
||||||
───── Transaction #5 (2 of 2 matching bank desc:a 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
|
|
||||||
┌──────────────────────Help (LEFT/ESC/?/q to close help)──────────────────────┐─
|
┌──────────────────────Help (LEFT/ESC/?/q to close help)──────────────────────┐─
|
||||||
│ Navigation Filtering │
|
│ Navigation Filtering │
|
||||||
│ UP/DOWN/PUP/PDN/HOME/END/k/j/C-p/C-n / set a filter query │
|
│ UP/DOWN/PUP/PDN/HOME/END/k/j/C-p/C-n / set a filter query │
|
||||||
│ move selection up/down F show future & periodic txns │
|
│ move selection up/down F show future & periodic txns │
|
||||||
│ RIGHT/l/C-f show txns, or txn detail R show real/all postings │
|
│ RIGHT/l/C-f show txns, or txn detail R show real/all postings │
|
||||||
│ LEFT/h/C-b go back Z show nonzero/all amounts │
|
│ LEFT/h/C-b go back z show nonzero/all amounts │
|
||||||
│ ESC cancel, or reset app state U/P/C show unmarked/pending/cleared │
|
│ ESC cancel, or reset app state U/P/C show unmarked/pending/cleared │
|
||||||
│ S-DOWN /S-UP shrink/grow period │
|
│ S-DOWN /S-UP shrink/grow period │
|
||||||
│ Accounts screen S-RIGHT/S-LEFT next/previous period │
|
│ Accounts screen S-RIGHT/S-LEFT next/previous period │
|
||||||
@ -122,49 +113,77 @@ which has nice screenshots, but might be less up to date.
|
|||||||
│ show manual in pager/man/info C-z suspend │
|
│ show manual in pager/man/info C-z suspend │
|
||||||
│ q quit │
|
│ q quit │
|
||||||
└─────────────────────────────────────────────────────────────────────────────┘
|
└─────────────────────────────────────────────────────────────────────────────┘
|
||||||
──── ?:help t:list/tree -+:depth H:end-bals/changes F:forecast a:add q:quit ────
|
────────── ?:help LEFT:back UP/DOWN:prev/next E:editor g:reload q:quit ─────────
|
||||||
|
```
|
||||||
|
|
||||||
** q # q with help dialog open closes it
|
## q with help dialog open closes it
|
||||||
──── Transaction #5 (1 of 1 matching bank desc:pay in assets:bank:checking) ────
|
```
|
||||||
2008-12-31 * pay off
|
q
|
||||||
liabilities:debts $1
|
────────── Transaction #4 (1 of 1 matching expenses in expenses:food) ──────────
|
||||||
assets:bank:checking $-1
|
2008-06-03 * eat & shop
|
||||||
|
expenses:food $1
|
||||||
|
expenses:supplies $1
|
||||||
|
assets:cash $-2
|
||||||
|
```
|
||||||
|
|
||||||
** q # q elsewhere exits the app, terminal is restored to its previous state
|
## q in other cases exits the app; terminal is restored cleanly to its previous state
|
||||||
|
```
|
||||||
|
q
|
||||||
~/src/hledger/hledger-ui/test$ hledger-ui -f sample.journal
|
~/src/hledger/hledger-ui/test$ hledger-ui -f sample.journal
|
||||||
~/src/hledger/hledger-ui/test$
|
~/src/hledger/hledger-ui/test$
|
||||||
|
```
|
||||||
|
|
||||||
** hledger-ui -f sample.journal --register checking date:200812 # date query at startup
|
## date query at startup
|
||||||
|
```
|
||||||
|
hledger-ui -f sample.journal --register checking date:200812
|
||||||
──── assets:bank:checking transactions matching date:200812 in 2008-12 (1/1) ───
|
──── assets:bank:checking transactions matching date:200812 in 2008-12 (1/1) ───
|
||||||
2008-12-31 * pay off li:debts $-1 0 # <- selected
|
2008-12-31 * pay off li:debts $-1 0 # <- selected
|
||||||
|
```
|
||||||
|
|
||||||
** hledger-ui -f sample.journal --register checking date:200812 --change # total is now $-1
|
## total is now $-1
|
||||||
|
```
|
||||||
|
hledger-ui -f sample.journal --register checking date:200812 --change
|
||||||
──── assets:bank:checking transactions matching date:200812 in 2008-12 (1/1) ───
|
──── assets:bank:checking transactions matching date:200812 in 2008-12 (1/1) ───
|
||||||
2008-12-31 * pay off li:debts $-1 $-1
|
2008-12-31 * pay off li:debts $-1 $-1
|
||||||
|
```
|
||||||
|
|
||||||
** hledger-ui -f bcexample.journal --tree --register assets # wide content is elided as shown
|
## wide content is elided as shown
|
||||||
|
```
|
||||||
|
hledger-ui -f bcexample.journal --tree --register assets
|
||||||
───────────────────────── Assets transactions (518/518) ────────────────────────
|
───────────────────────── Assets transactions (518/518) ────────────────────────
|
||||||
2014-07-26 * .. .. 16.00 GLD, -1515.83 USD ..GLD, 17.00 ITOT, 6 more..
|
2014-07-26 * .. .. 16.00 GLD, -1515.83 USD ..GLD, 17.00 ITOT, 6 more..
|
||||||
2014-07-31 * .. .. 2550.60 USD, 4.62 VACHR ..GLD, 17.00 ITOT, 6 more..
|
2014-07-31 * .. .. 2550.60 USD, 4.62 VACHR ..GLD, 17.00 ITOT, 6 more..
|
||||||
2014-08-03 * .. .. -2400.00 USD ..GLD, 17.00 ITOT, 6 more..
|
2014-08-03 * .. .. -2400.00 USD ..GLD, 17.00 ITOT, 6 more..
|
||||||
... # <- last item selected
|
... # <- last item selected
|
||||||
|
```
|
||||||
|
|
||||||
** hledger-ui --today 2021-09-01 -f forecast.journal --register a # future and forecasted txns are hidden by default
|
## future and forecasted txns are hidden by default
|
||||||
|
```
|
||||||
|
hledger-ui --today 2021-09-01 -f forecast.journal --register a
|
||||||
───────────────────────────── a transactions (1/1) ─────────────────────────────
|
───────────────────────────── a transactions (1/1) ─────────────────────────────
|
||||||
0000-01-01 past transaction a 1 1
|
0000-01-01 past transaction a 1 1
|
||||||
|
```
|
||||||
|
|
||||||
** hledger-ui --today 2021-09-01 -f forecast.journal --register a --forecast # with --forecast, future ordinary txns, and forecasted txns within the default forecast period, are shown
|
## with --forecast, future ordinary txns, and forecasted txns within the default forecast period, are shown
|
||||||
|
```
|
||||||
|
hledger-ui --today 2021-09-01 -f forecast.journal --register a --forecast
|
||||||
───────────────────────────── a transactions (4/4) ─────────────────────────────
|
───────────────────────────── a transactions (4/4) ─────────────────────────────
|
||||||
2020-01-01 past transaction a 1 1
|
2020-01-01 past transaction a 1 1
|
||||||
2021-12-31 near future transaction a 2 3
|
2021-12-31 near future transaction a 2 3
|
||||||
2022-01-01 near future forecast tran.. a 3 6
|
2022-01-01 near future forecast tran.. a 3 6
|
||||||
2022-02-01 near future forecast tran.. a 3 9 # <- selected
|
2022-02-01 near future forecast tran.. a 3 9 # <- selected
|
||||||
|
```
|
||||||
|
|
||||||
** hledger-ui --today 2021-09-01 -f forecast.journal --register a --forecast 2021 # "=" is required between --forecast and its argument
|
## "=" is required between --forecast and its argument
|
||||||
|
```
|
||||||
|
hledger-ui --today 2021-09-01 -f forecast.journal --register a --forecast 2021
|
||||||
────────────────────── a transactions matching 2021 (1/0) ──────────────────────
|
────────────────────── a transactions matching 2021 (1/0) ──────────────────────
|
||||||
|
|
||||||
|
```
|
||||||
|
|
||||||
** hledger-ui --today 2021-09-01 -f forecast.journal --register a --forecast=2021 # the forecast period can be specified, and this allows forecast txns to overlap ordinary transactions
|
## the forecast period can be specified, and this allows forecast txns to overlap ordinary transactions
|
||||||
|
```
|
||||||
|
hledger-ui --today 2021-09-01 -f forecast.journal --register a --forecast=2021
|
||||||
──────────────────────────── a transactions (14/14) ────────────────────────────
|
──────────────────────────── a transactions (14/14) ────────────────────────────
|
||||||
2020-01-01 past transaction a 1 1
|
2020-01-01 past transaction a 1 1
|
||||||
2021-01-01 near future forecast tran.. a 3 4
|
2021-01-01 near future forecast tran.. a 3 4
|
||||||
@ -180,16 +199,25 @@ which has nice screenshots, but might be less up to date.
|
|||||||
2021-11-01 near future forecast tran.. a 3 34
|
2021-11-01 near future forecast tran.. a 3 34
|
||||||
2021-12-01 near future forecast tran.. a 3 37
|
2021-12-01 near future forecast tran.. a 3 37
|
||||||
2021-12-31 near future transaction a 2 39 # <- selected
|
2021-12-31 near future transaction a 2 39 # <- selected
|
||||||
|
```
|
||||||
|
|
||||||
** press F four times # the future & forecasted txns are toggled every time (#1411)
|
## the future & forecasted txns are toggled every time (#1411)
|
||||||
|
```
|
||||||
|
press F four times
|
||||||
|
```
|
||||||
|
|
||||||
** hledger-ui --today 2021-09-01 -f forecast.journal --register a --forecast=2021 --watch, press F once # future/forecasted txns are hidden
|
## future/forecasted txns are hidden
|
||||||
|
```
|
||||||
|
hledger-ui --today 2021-09-01 -f forecast.journal --register a --forecast=2021 --watch, press F once
|
||||||
───────────────────────────── a transactions (2/2) ─────────────────────────────
|
───────────────────────────── a transactions (2/2) ─────────────────────────────
|
||||||
2020-01-01 past transaction a 1 1
|
2020-01-01 past transaction a 1 1
|
||||||
2021-12-31 near future transaction a 2 3 # <- selected
|
2021-12-31 near future transaction a 2 3 # <- selected
|
||||||
|
|
||||||
|
```
|
||||||
|
|
||||||
** with the above still running, touch forecast.journal, press F again # forecast txns reappear (scrolled a bit), even with file modified while hidden (#1204)
|
## forecast txns reappear (scrolled a bit), even with file modified while hidden (#1204)
|
||||||
|
```
|
||||||
|
with the above still running, touch forecast.journal, press F again
|
||||||
──────────────────────────── a transactions (14/14) ────────────────────────────
|
──────────────────────────── a transactions (14/14) ────────────────────────────
|
||||||
2021-01-01 near future forecast tran.. a 3 4
|
2021-01-01 near future forecast tran.. a 3 4
|
||||||
2021-02-01 near future forecast tran.. a 3 7
|
2021-02-01 near future forecast tran.. a 3 7
|
||||||
@ -204,20 +232,33 @@ which has nice screenshots, but might be less up to date.
|
|||||||
2021-11-01 near future forecast tran.. a 3 34
|
2021-11-01 near future forecast tran.. a 3 34
|
||||||
2021-12-01 near future forecast tran.. a 3 37
|
2021-12-01 near future forecast tran.. a 3 37
|
||||||
2021-12-31 near future transaction a 2 39 # <- selected
|
2021-12-31 near future transaction a 2 39 # <- selected
|
||||||
|
```
|
||||||
|
|
||||||
** hledger-ui -f 1468.j, 2, RIGHT # in list mode, register of account above depth limit shows only its transactions
|
## in list mode, register of account above depth limit shows only its transactions
|
||||||
|
```
|
||||||
|
hledger-ui -f 1468.j, 2, RIGHT
|
||||||
───────────────────────────── a transactions (1/1) ─────────────────────────────
|
───────────────────────────── a transactions (1/1) ─────────────────────────────
|
||||||
2021-01-01 a 1 1 # <- selected
|
2021-01-01 a 1 1 # <- selected
|
||||||
|
```
|
||||||
|
|
||||||
** LEFT, DOWN, RIGHT # in list mode, register of account at depth limit shows its and subaccounts' transactions (#1468)
|
## in list mode, register of account at depth limit shows its and subaccounts' transactions (#1468)
|
||||||
|
```
|
||||||
|
LEFT, DOWN, RIGHT
|
||||||
──────────────────────────── a:aa transactions (2/2) ───────────────────────────
|
──────────────────────────── a:aa transactions (2/2) ───────────────────────────
|
||||||
2021-01-02 a:aa 10 10
|
2021-01-02 a:aa 10 10
|
||||||
2021-01-03 a:aa:aaa 100 110 # <- selected
|
2021-01-03 a:aa:aaa 100 110 # <- selected
|
||||||
|
```
|
||||||
|
|
||||||
** hledger-ui -f sample.journal saving, edit and change the "save" txn description and amount to "NEW" and $22, g # current screen shows new data after reload
|
## current screen shows new data after reload
|
||||||
|
```
|
||||||
|
hledger-ui -f sample.journal saving, edit and change the "save" txn description and amount to "NEW" and $22, g
|
||||||
───────────── sample.journal account balances matching saving (1/1) ────────────
|
───────────── sample.journal account balances matching saving (1/1) ────────────
|
||||||
assets:bank:saving $22
|
assets:bank:saving $22
|
||||||
|
```
|
||||||
|
|
||||||
** RIGHT # newly created screens show new data after reload
|
## newly created screens show new data after reload
|
||||||
|
```
|
||||||
|
RIGHT
|
||||||
───────────── assets:bank:saving transactions matching saving (1/1) ────────────
|
───────────── assets:bank:saving transactions matching saving (1/1) ────────────
|
||||||
2008-06-02 NEW as:ba:saving $22 $22
|
2008-06-02 NEW as:ba:saving $22 $22
|
||||||
|
```
|
||||||
Loading…
Reference in New Issue
Block a user