drop obsolete doctests, update docs in Tests module
This commit is contained in:
parent
636a3a7d10
commit
2d8a5950d1
185
Tests.hs
185
Tests.hs
@ -1,63 +1,18 @@
|
|||||||
{- |
|
{- |
|
||||||
hledger's test suite. Most tests are HUnit-based, and defined in the
|
|
||||||
@tests@ list below. These tests are built in to hledger and can be run at
|
|
||||||
any time on any platform with @hledger test@.
|
|
||||||
|
|
||||||
Secondly, we have tests in doctest format, which can be run with @make
|
This module contains hledger's unit tests. These are built in to hledger,
|
||||||
doctest@ in the hledger source tree. These have some advantages over
|
and can be run at any time by doing @hledger test@ (or, with a few more
|
||||||
hunit: they are sometimes easier to read and write; it is easier to read
|
options, by doing @make unittest@ in the hledger source tree.)
|
||||||
multi-line output; they can appear in, and test, documentation. On the
|
|
||||||
downside, they are not built in; you need a developer's setup to run them.
|
|
||||||
|
|
||||||
Thirdly, we have command-line functional tests in tests/*.test, which can
|
Other kinds of tests:
|
||||||
be run with @make functest@. These are still easier to read and write than
|
|
||||||
doctests, but likewise are not built in and are more distant from the code
|
|
||||||
they test and you have to come up with sensible filenames.
|
|
||||||
|
|
||||||
Here are the hledger doctests (some may reappear in other modules as
|
hledger's functional tests are a set of shell/command-line tests defined
|
||||||
examples):
|
by .test files in the tests\/ subdirectory. These can be run by doing
|
||||||
|
@make functest@ in the hledger source tree.
|
||||||
|
|
||||||
Run a few with c++ ledger first:
|
hledger's doctests are shell tests defined in literal blocks in haddock
|
||||||
|
documentation in the source, run by doing @make doctest@ in the hledger
|
||||||
@
|
source tree. They are no longer used, but here is an example:
|
||||||
$ ledger -f sample.ledger balance
|
|
||||||
$-1 assets
|
|
||||||
$1 bank:saving
|
|
||||||
$-2 cash
|
|
||||||
$2 expenses
|
|
||||||
$1 food
|
|
||||||
$1 supplies
|
|
||||||
$-2 income
|
|
||||||
$-1 gifts
|
|
||||||
$-1 salary
|
|
||||||
$1 liabilities:debts
|
|
||||||
@
|
|
||||||
|
|
||||||
@
|
|
||||||
$ ledger -f sample.ledger balance o
|
|
||||||
$1 expenses:food
|
|
||||||
$-2 income
|
|
||||||
$-1 gifts
|
|
||||||
$-1 salary
|
|
||||||
--------------------
|
|
||||||
$-1
|
|
||||||
@
|
|
||||||
|
|
||||||
Then hledger:
|
|
||||||
|
|
||||||
@
|
|
||||||
$ hledger -f sample.ledger balance
|
|
||||||
$-1 assets
|
|
||||||
$1 bank:saving
|
|
||||||
$-2 cash
|
|
||||||
$2 expenses
|
|
||||||
$1 food
|
|
||||||
$1 supplies
|
|
||||||
$-2 income
|
|
||||||
$-1 gifts
|
|
||||||
$-1 salary
|
|
||||||
$1 liabilities:debts
|
|
||||||
@
|
|
||||||
|
|
||||||
@
|
@
|
||||||
$ hledger -f sample.ledger balance o
|
$ hledger -f sample.ledger balance o
|
||||||
@ -69,127 +24,7 @@ $ hledger -f sample.ledger balance o
|
|||||||
$-1
|
$-1
|
||||||
@
|
@
|
||||||
|
|
||||||
@
|
|
||||||
$ hledger -f sample.ledger balance --depth 1
|
|
||||||
$-1 assets
|
|
||||||
$2 expenses
|
|
||||||
$-2 income
|
|
||||||
$1 liabilities
|
|
||||||
@
|
|
||||||
-}
|
-}
|
||||||
{-
|
|
||||||
@
|
|
||||||
$ printf "2009/1/1 a\n b 1.1\n c -1\n" | runhaskell hledger.hs -f- reg 2>&1 ; true
|
|
||||||
"-" (line 4, column 1):
|
|
||||||
unexpected end of input
|
|
||||||
could not balance this transaction, amounts do not add up to zero:
|
|
||||||
2009/01/01 a
|
|
||||||
b 1.1
|
|
||||||
c -1
|
|
||||||
|
|
||||||
|
|
||||||
@
|
|
||||||
|
|
||||||
@
|
|
||||||
$ printf "2009/1/1 x\n (virtual) 100\n a 1\n b\n" | runhaskell hledger.hs -f- print 2>&1 ; true
|
|
||||||
2009/01/01 x
|
|
||||||
(virtual) 100
|
|
||||||
a 1
|
|
||||||
b
|
|
||||||
|
|
||||||
@
|
|
||||||
|
|
||||||
Unicode input/output tests
|
|
||||||
|
|
||||||
-- layout of the balance command with unicode names
|
|
||||||
@
|
|
||||||
$ printf "2009-01-01 проверка\n τράπεζα 10 руб\n नकद\n" | hledger -f - bal
|
|
||||||
10 руб τράπεζα
|
|
||||||
-10 руб नकद
|
|
||||||
@
|
|
||||||
|
|
||||||
-- layout of the register command with unicode names
|
|
||||||
@
|
|
||||||
$ printf "2009-01-01 проверка\n τράπεζα 10 руб\n नकद\n" | hledger -f - reg
|
|
||||||
2009/01/01 проверка τράπεζα 10 руб 10 руб
|
|
||||||
नकद -10 руб 0
|
|
||||||
@
|
|
||||||
|
|
||||||
-- layout of the print command with unicode names
|
|
||||||
@
|
|
||||||
$ printf "2009-01-01 проверка\n счёт:первый 1\n счёт:второй\n" | hledger -f - print
|
|
||||||
2009/01/01 проверка
|
|
||||||
счёт:первый 1
|
|
||||||
счёт:второй
|
|
||||||
|
|
||||||
@
|
|
||||||
|
|
||||||
-- search for unicode account names
|
|
||||||
@
|
|
||||||
$ printf "2009-01-01 проверка\n τράπεζα 10 руб\n नकद\n" | hledger -f - reg τράπ
|
|
||||||
2009/01/01 проверка τράπεζα 10 руб 10 руб
|
|
||||||
@
|
|
||||||
|
|
||||||
-- search for unicode descriptions (should choose only the first entry)
|
|
||||||
@
|
|
||||||
$ printf "2009-01-01 аура (cyrillic letters)\n bank 10\n cash\n2010-01-01 aypa (roman letters)\n bank 20\n cash\n" | hledger -f - reg desc:аура
|
|
||||||
2009/01/01 аура (cyrillic let.. bank 10 10
|
|
||||||
cash -10 0
|
|
||||||
@
|
|
||||||
|
|
||||||
-- error message with unicode in ledger
|
|
||||||
-- not implemented yet
|
|
||||||
--@
|
|
||||||
$ printf "2009-01-01 broken entry\n дебит 1\n кредит -2\n" | hledger -f - 2>&1 ; true
|
|
||||||
hledger: could not balance this transaction, amounts do not add up to zero:
|
|
||||||
2009/01/01 broken entry
|
|
||||||
дебит 1
|
|
||||||
кредит -2
|
|
||||||
|
|
||||||
|
|
||||||
--@
|
|
||||||
|
|
||||||
@
|
|
||||||
$ printf "2009-01-01 x\n a 2\n b (b) b -1\n c\n" | hledger -f - print 2>&1; true
|
|
||||||
2009/01/01 x
|
|
||||||
a 2
|
|
||||||
b (b) b -1
|
|
||||||
c
|
|
||||||
|
|
||||||
@
|
|
||||||
|
|
||||||
Nafai's bug
|
|
||||||
@
|
|
||||||
$ printf "2009/1/1 x\n a: 13\n b\n" | hledger -f - bal -E 2>&1; true
|
|
||||||
hledger: parse error at (line 1, column 4):
|
|
||||||
unexpected " "
|
|
||||||
accountname seems ill-formed: a:
|
|
||||||
@
|
|
||||||
|
|
||||||
|
|
||||||
Eliding, general layout
|
|
||||||
@
|
|
||||||
$ printf "2009/1/1 x\n aaaaaaaaaaaaaaaaaaaa:aaaaaaaaaaaaaaaaaaaa:aaaaaaaaaaaaaaaaaaaa €1\n b\n" | hledger -f - bal 2>&1
|
|
||||||
€1 aaaaaaaaaaaaaaaaaaaa:aaaaaaaaaaaaaaaaaaaa:aaaaaaaaaaaaaaaaaaaa
|
|
||||||
€-1 b
|
|
||||||
@
|
|
||||||
|
|
||||||
--@
|
|
||||||
$ printf "2009/1/1 x\n aaaaaaaaaaaaaaaaaaaa:aaaaaaaaaaaaaaaaaaaa:aaaaaaaaaaaaaaaaaaaa €1\n b\n" | hledger -f - reg 2>&1
|
|
||||||
2009/01/01 x aa:aa:aaaaaaaaaaaaaaaa €1 €1
|
|
||||||
b €-1 0
|
|
||||||
@
|
|
||||||
|
|
||||||
--@
|
|
||||||
$ printf "2009/1/1 x\n aaaaaaaaaaaaaaaaaaaa:aaaaaaaaaaaaaaaaaaaa:aaaaaaaaaaaaaaaaaaaa €1\n b\n" | hledger -f - print 2>&1
|
|
||||||
2009/01/01 x
|
|
||||||
aa:aaaaaaaaaa:aaaaaaaaaaaaaaaaaaaa
|
|
||||||
b
|
|
||||||
@
|
|
||||||
-}
|
|
||||||
-- other test tools:
|
|
||||||
-- http://hackage.haskell.org/cgi-bin/hackage-scripts/package/test-framework
|
|
||||||
-- http://hackage.haskell.org/cgi-bin/hackage-scripts/package/HTF
|
|
||||||
|
|
||||||
module Tests
|
module Tests
|
||||||
where
|
where
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user