From 5cc0080776eaa31d4355b5e1dcd58cdbec3b339a Mon Sep 17 00:00:00 2001 From: Simon Michael Date: Sun, 18 Dec 2022 00:35:15 -1000 Subject: [PATCH] ;dev: cli: ledger tests: snapshot of ledger regress tests' data --- .../test/ledger-compat/regress/012ADB60.test | 25 + .../test/ledger-compat/regress/0161EB1E.test | 16 + .../test/ledger-compat/regress/04C5E1CA.test | 17 + .../test/ledger-compat/regress/04D86CD0.test | 12 + .../test/ledger-compat/regress/0CA014F9.test | 12 + .../test/ledger-compat/regress/0DDDEBC0.dat | 3 + .../test/ledger-compat/regress/0DDDEBC0.test | 10 + hledger/test/ledger-compat/regress/1036.test | 81 ++ .../test/ledger-compat/regress/1038_1.test | 19 + .../test/ledger-compat/regress/1038_2.test | 19 + .../test/ledger-compat/regress/1038_3.test | 21 + hledger/test/ledger-compat/regress/1046.test | 36 + hledger/test/ledger-compat/regress/1050.test | 40 + hledger/test/ledger-compat/regress/1055.test | 27 + hledger/test/ledger-compat/regress/1057.test | 12 + hledger/test/ledger-compat/regress/1072.test | 32 + hledger/test/ledger-compat/regress/1074.test | 162 ++++ .../test/ledger-compat/regress/10D19C11.test | 38 + hledger/test/ledger-compat/regress/1102.test | 9 + hledger/test/ledger-compat/regress/1106.test | 12 + hledger/test/ledger-compat/regress/1127.test | 16 + hledger/test/ledger-compat/regress/1132.test | 17 + .../test/ledger-compat/regress/1147-a.test | 13 + .../test/ledger-compat/regress/1147-b.test | 11 + hledger/test/ledger-compat/regress/1159.test | 30 + hledger/test/ledger-compat/regress/1176.test | 24 + .../test/ledger-compat/regress/1182_1.test | 13 + .../test/ledger-compat/regress/1182_2.test | 18 + .../test/ledger-compat/regress/1187_1.test | 20 + .../test/ledger-compat/regress/1187_2.test | 19 + .../test/ledger-compat/regress/1187_3.test | 37 + .../test/ledger-compat/regress/1187_4.test | 33 + .../test/ledger-compat/regress/1187_5.test | 37 + hledger/test/ledger-compat/regress/1222.test | 8 + hledger/test/ledger-compat/regress/1224.test | 10 + .../test/ledger-compat/regress/1384C1D8.test | 28 + .../test/ledger-compat/regress/13965214.test | 29 + .../test/ledger-compat/regress/14DB77E7.test | 19 + .../test/ledger-compat/regress/15230B79.test | 13 + .../test/ledger-compat/regress/15A80F68.test | 16 + hledger/test/ledger-compat/regress/1626.test | 29 + hledger/test/ledger-compat/regress/1702.test | 18 + hledger/test/ledger-compat/regress/1703.test | 12 + hledger/test/ledger-compat/regress/1722.test | 13 + hledger/test/ledger-compat/regress/1723.test | 6 + hledger/test/ledger-compat/regress/1753.test | 13 + hledger/test/ledger-compat/regress/1775.test | 21 + .../test/ledger-compat/regress/178501DC.test | 22 + .../test/ledger-compat/regress/1894_1.test | 22 + .../test/ledger-compat/regress/1894_2.test | 22 + hledger/test/ledger-compat/regress/1895.test | 32 + .../test/ledger-compat/regress/1942_a.test | 29 + .../test/ledger-compat/regress/1942_b.test | 29 + .../test/ledger-compat/regress/1942_c.test | 29 + .../test/ledger-compat/regress/1942_d.test | 29 + hledger/test/ledger-compat/regress/1969.test | 18 + hledger/test/ledger-compat/regress/1998.test | 15 + .../test/ledger-compat/regress/1A546C4D.test | 14 + .../test/ledger-compat/regress/1CF1EEC2.test | 26 + .../test/ledger-compat/regress/1D275740.test | 176 ++++ .../test/ledger-compat/regress/1E192DF6.test | 58 ++ hledger/test/ledger-compat/regress/2001.test | 13 + hledger/test/ledger-compat/regress/2057.test | 13 + .../test/ledger-compat/regress/2058_1.test | 9 + .../test/ledger-compat/regress/2058_2.test | 12 + hledger/test/ledger-compat/regress/2069.test | 17 + hledger/test/ledger-compat/regress/2109.test | 24 + .../test/ledger-compat/regress/25A099C9.dat | 793 ++++++++++++++++++ .../test/ledger-compat/regress/25A099C9.test | 62 ++ .../test/ledger-compat/regress/2CE7DADB.test | 14 + .../test/ledger-compat/regress/2E3496BD.test | 20 + .../regress/370-budget_period_days.test | 28 + .../regress/370-budget_period_weeks.test | 30 + .../regress/370-forecast_period_days.test | 18 + .../regress/370-forecast_period_weeks.test | 17 + .../ledger-compat/regress/370-period.test | 444 ++++++++++ .../test/ledger-compat/regress/373540CC.test | 8 + hledger/test/ledger-compat/regress/375.test | 37 + hledger/test/ledger-compat/regress/383.test | 30 + .../test/ledger-compat/regress/3AAB00ED.test | 24 + .../test/ledger-compat/regress/3AB70168.test | 12 + .../test/ledger-compat/regress/3FE26304.test | 75 ++ .../test/ledger-compat/regress/4509F714.test | 26 + .../test/ledger-compat/regress/461980A1.test | 12 + .../test/ledger-compat/regress/47C579B8.test | 93 ++ .../test/ledger-compat/regress/494-a.ledger | 10 + .../test/ledger-compat/regress/494-b.ledger | 17 + .../test/ledger-compat/regress/4D9288AE.dat | 4 + .../test/ledger-compat/regress/4D9288AE.py | 6 + .../ledger-compat/regress/4D9288AE_py.test | 4 + hledger/test/ledger-compat/regress/516.test | 5 + .../test/ledger-compat/regress/53BCED29.test | 30 + hledger/test/ledger-compat/regress/543_a.test | 27 + hledger/test/ledger-compat/regress/543_b.test | 23 + hledger/test/ledger-compat/regress/543_c.test | 25 + hledger/test/ledger-compat/regress/543_d.test | 33 + .../test/ledger-compat/regress/550-584.test | 74 ++ hledger/test/ledger-compat/regress/553.test | 21 + .../test/ledger-compat/regress/55831A79.test | 25 + .../test/ledger-compat/regress/56BBE69B.test | 18 + .../test/ledger-compat/regress/5A03CFC3.test | 71 ++ .../test/ledger-compat/regress/5D92A5EB.test | 35 + .../test/ledger-compat/regress/5F1BAF17.test | 129 +++ .../test/ledger-compat/regress/5FBF2ED8.test | 19 + .../test/ledger-compat/regress/605A410D.test | 33 + .../test/ledger-compat/regress/6188B0EC.test | 11 + .../test/ledger-compat/regress/620F0674.test | 33 + .../test/ledger-compat/regress/640D3205.test | 21 + .../test/ledger-compat/regress/647D5DB9.test | 16 + .../test/ledger-compat/regress/65FECA4D.test | 13 + hledger/test/ledger-compat/regress/686.test | 34 + .../test/ledger-compat/regress/68917252.dat | 2 + .../test/ledger-compat/regress/68917252.test | 6 + .../test/ledger-compat/regress/6D9066DD.test | 18 + .../test/ledger-compat/regress/6DAB9FE3.test | 9 + .../test/ledger-compat/regress/6E041C52.test | 9 + .../test/ledger-compat/regress/6E7C2DF9.test | 25 + hledger/test/ledger-compat/regress/712-a.test | 11 + hledger/test/ledger-compat/regress/712-b.test | 23 + hledger/test/ledger-compat/regress/713-a.test | 41 + hledger/test/ledger-compat/regress/713-b.test | 49 ++ .../test/ledger-compat/regress/727B2DF8.test | 80 ++ hledger/test/ledger-compat/regress/730.test | 38 + .../test/ledger-compat/regress/751B2357.test | 18 + hledger/test/ledger-compat/regress/755.test | 91 ++ hledger/test/ledger-compat/regress/785.test | 86 ++ .../test/ledger-compat/regress/786A3DD0.test | 18 + .../test/ledger-compat/regress/78AB4B87.dat | 14 + .../test/ledger-compat/regress/78AB4B87.py | 29 + .../ledger-compat/regress/78AB4B87_py.test | 16 + .../test/ledger-compat/regress/793F6BF0.test | 51 ++ .../test/ledger-compat/regress/7C44010B.test | 31 + .../test/ledger-compat/regress/7F3650FD.test | 85 ++ .../test/ledger-compat/regress/8254755E.test | 18 + .../test/ledger-compat/regress/82763D86.test | 36 + .../test/ledger-compat/regress/83B4A0E5.test | 44 + .../test/ledger-compat/regress/854150DF.test | 26 + .../test/ledger-compat/regress/86D2BDC4.test | 11 + .../test/ledger-compat/regress/889BB167.test | 18 + .../test/ledger-compat/regress/89233B6D-a.dat | 4 + .../test/ledger-compat/regress/89233B6D-b.dat | 4 + .../test/ledger-compat/regress/89233B6D.test | 14 + .../test/ledger-compat/regress/8CE88DB4.test | 12 + .../test/ledger-compat/regress/8EAF77C0.test | 18 + .../test/ledger-compat/regress/9188F587.py | 29 + .../ledger-compat/regress/9188F587_py.test | 16 + .../test/ledger-compat/regress/95350193.test | 7 + .../test/ledger-compat/regress/96A8E4A1.test | 11 + hledger/test/ledger-compat/regress/981.test | 30 + hledger/test/ledger-compat/regress/999-a.test | 7 + hledger/test/ledger-compat/regress/999-b.test | 23 + .../test/ledger-compat/regress/9E0E606D.test | 20 + .../test/ledger-compat/regress/9EB10714.test | 44 + .../test/ledger-compat/regress/A013A73B.test | 11 + .../test/ledger-compat/regress/A28CF697.test | 10 + .../test/ledger-compat/regress/A3FA7601.dat | 3 + .../test/ledger-compat/regress/A3FA7601.test | 10 + .../test/ledger-compat/regress/A560FDAD.test | 86 ++ .../test/ledger-compat/regress/A8FCC765.dat | 2 + .../test/ledger-compat/regress/A8FCC765.test | 9 + .../test/ledger-compat/regress/AA2FF2B.test | 11 + .../test/ledger-compat/regress/ACE05ECE.test | 7 + .../test/ledger-compat/regress/AEDE9734.test | 13 + .../test/ledger-compat/regress/AFAFB804.test | 58 ++ .../test/ledger-compat/regress/B21BF389.py | 13 + .../ledger-compat/regress/B21BF389_py.test | 9 + .../test/ledger-compat/regress/B68FFB0D.test | 14 + .../test/ledger-compat/regress/BBFA1759.test | 19 + .../ledger-compat/regress/BF3C1F82-2.test | 15 + .../test/ledger-compat/regress/BF3C1F82.test | 22 + .../test/ledger-compat/regress/BFD3FBE1.test | 17 + .../test/ledger-compat/regress/C0212EAC.test | 31 + .../test/ledger-compat/regress/C19E4E9B.test | 19 + .../test/ledger-compat/regress/C523E23F.test | 20 + .../test/ledger-compat/regress/C927CFFE.test | 44 + .../test/ledger-compat/regress/C9D593B3.test | 24 + .../ledger-compat/regress/CAE63F5C-a.test | 18 + .../ledger-compat/regress/CAE63F5C-b.test | 15 + .../ledger-compat/regress/CAE63F5C-c.test | 15 + .../test/ledger-compat/regress/CEECC0B0.test | 20 + .../test/ledger-compat/regress/CFE5D8AA.test | 21 + .../test/ledger-compat/regress/CMakeLists.txt | 1 + .../test/ledger-compat/regress/D060256A.test | 15 + .../test/ledger-compat/regress/D2829FC4.test | 63 ++ .../test/ledger-compat/regress/D51BFF74.test | 25 + .../test/ledger-compat/regress/D943AE0F.test | 14 + .../test/ledger-compat/regress/D9C8EB08.test | 17 + .../test/ledger-compat/regress/DB490507.test | 26 + .../test/ledger-compat/regress/DDB54BB8.test | 19 + .../test/ledger-compat/regress/DE17CCF1.test | 62 ++ .../test/ledger-compat/regress/E2E479BC.test | 18 + .../test/ledger-compat/regress/E4C9A8EA.test | 23 + .../test/ledger-compat/regress/E627C594.test | 19 + .../test/ledger-compat/regress/E9F130C5.test | 29 + .../test/ledger-compat/regress/EA18D948.test | 15 + .../test/ledger-compat/regress/F06D5554.test | 553 ++++++++++++ .../test/ledger-compat/regress/F524E251.test | 38 + .../test/ledger-compat/regress/F559EC12.test | 42 + .../test/ledger-compat/regress/FCE11C8D.test | 8 + .../test/ledger-compat/regress/FDFBA165.test | 24 + hledger/test/ledger-compat/regress/GH520.test | 34 + .../regress/commodity_equivalency.test | 14 + .../regress/commodity_equivalency_2.test | 14 + .../ledger-compat/regress/equity-unround.test | 31 + .../regress/error-in-include.dat | 5 + .../regress/error-in-include.test | 18 + ...x-missing-trans-in-last-budget-period.test | 80 ++ .../regress/market-group-by.test | 27 + .../test/ledger-compat/regress/total-1.test | 29 + .../test/ledger-compat/regress/total-2.test | 31 + .../test/ledger-compat/regress/xact_code.dat | 3 + .../test/ledger-compat/regress/xact_code.py | 6 + .../ledger-compat/regress/xact_code_py.test | 4 + 213 files changed, 7220 insertions(+) create mode 100644 hledger/test/ledger-compat/regress/012ADB60.test create mode 100644 hledger/test/ledger-compat/regress/0161EB1E.test create mode 100644 hledger/test/ledger-compat/regress/04C5E1CA.test create mode 100644 hledger/test/ledger-compat/regress/04D86CD0.test create mode 100644 hledger/test/ledger-compat/regress/0CA014F9.test create mode 100644 hledger/test/ledger-compat/regress/0DDDEBC0.dat create mode 100644 hledger/test/ledger-compat/regress/0DDDEBC0.test create mode 100644 hledger/test/ledger-compat/regress/1036.test create mode 100644 hledger/test/ledger-compat/regress/1038_1.test create mode 100644 hledger/test/ledger-compat/regress/1038_2.test create mode 100644 hledger/test/ledger-compat/regress/1038_3.test create mode 100644 hledger/test/ledger-compat/regress/1046.test create mode 100644 hledger/test/ledger-compat/regress/1050.test create mode 100644 hledger/test/ledger-compat/regress/1055.test create mode 100644 hledger/test/ledger-compat/regress/1057.test create mode 100644 hledger/test/ledger-compat/regress/1072.test create mode 100644 hledger/test/ledger-compat/regress/1074.test create mode 100644 hledger/test/ledger-compat/regress/10D19C11.test create mode 100644 hledger/test/ledger-compat/regress/1102.test create mode 100644 hledger/test/ledger-compat/regress/1106.test create mode 100644 hledger/test/ledger-compat/regress/1127.test create mode 100644 hledger/test/ledger-compat/regress/1132.test create mode 100644 hledger/test/ledger-compat/regress/1147-a.test create mode 100644 hledger/test/ledger-compat/regress/1147-b.test create mode 100644 hledger/test/ledger-compat/regress/1159.test create mode 100644 hledger/test/ledger-compat/regress/1176.test create mode 100644 hledger/test/ledger-compat/regress/1182_1.test create mode 100644 hledger/test/ledger-compat/regress/1182_2.test create mode 100644 hledger/test/ledger-compat/regress/1187_1.test create mode 100644 hledger/test/ledger-compat/regress/1187_2.test create mode 100644 hledger/test/ledger-compat/regress/1187_3.test create mode 100644 hledger/test/ledger-compat/regress/1187_4.test create mode 100644 hledger/test/ledger-compat/regress/1187_5.test create mode 100644 hledger/test/ledger-compat/regress/1222.test create mode 100644 hledger/test/ledger-compat/regress/1224.test create mode 100644 hledger/test/ledger-compat/regress/1384C1D8.test create mode 100644 hledger/test/ledger-compat/regress/13965214.test create mode 100644 hledger/test/ledger-compat/regress/14DB77E7.test create mode 100644 hledger/test/ledger-compat/regress/15230B79.test create mode 100644 hledger/test/ledger-compat/regress/15A80F68.test create mode 100644 hledger/test/ledger-compat/regress/1626.test create mode 100644 hledger/test/ledger-compat/regress/1702.test create mode 100644 hledger/test/ledger-compat/regress/1703.test create mode 100644 hledger/test/ledger-compat/regress/1722.test create mode 100644 hledger/test/ledger-compat/regress/1723.test create mode 100644 hledger/test/ledger-compat/regress/1753.test create mode 100644 hledger/test/ledger-compat/regress/1775.test create mode 100644 hledger/test/ledger-compat/regress/178501DC.test create mode 100644 hledger/test/ledger-compat/regress/1894_1.test create mode 100644 hledger/test/ledger-compat/regress/1894_2.test create mode 100644 hledger/test/ledger-compat/regress/1895.test create mode 100644 hledger/test/ledger-compat/regress/1942_a.test create mode 100644 hledger/test/ledger-compat/regress/1942_b.test create mode 100644 hledger/test/ledger-compat/regress/1942_c.test create mode 100644 hledger/test/ledger-compat/regress/1942_d.test create mode 100644 hledger/test/ledger-compat/regress/1969.test create mode 100644 hledger/test/ledger-compat/regress/1998.test create mode 100644 hledger/test/ledger-compat/regress/1A546C4D.test create mode 100644 hledger/test/ledger-compat/regress/1CF1EEC2.test create mode 100644 hledger/test/ledger-compat/regress/1D275740.test create mode 100644 hledger/test/ledger-compat/regress/1E192DF6.test create mode 100644 hledger/test/ledger-compat/regress/2001.test create mode 100644 hledger/test/ledger-compat/regress/2057.test create mode 100644 hledger/test/ledger-compat/regress/2058_1.test create mode 100644 hledger/test/ledger-compat/regress/2058_2.test create mode 100644 hledger/test/ledger-compat/regress/2069.test create mode 100644 hledger/test/ledger-compat/regress/2109.test create mode 100644 hledger/test/ledger-compat/regress/25A099C9.dat create mode 100644 hledger/test/ledger-compat/regress/25A099C9.test create mode 100644 hledger/test/ledger-compat/regress/2CE7DADB.test create mode 100644 hledger/test/ledger-compat/regress/2E3496BD.test create mode 100644 hledger/test/ledger-compat/regress/370-budget_period_days.test create mode 100644 hledger/test/ledger-compat/regress/370-budget_period_weeks.test create mode 100644 hledger/test/ledger-compat/regress/370-forecast_period_days.test create mode 100644 hledger/test/ledger-compat/regress/370-forecast_period_weeks.test create mode 100644 hledger/test/ledger-compat/regress/370-period.test create mode 100644 hledger/test/ledger-compat/regress/373540CC.test create mode 100644 hledger/test/ledger-compat/regress/375.test create mode 100644 hledger/test/ledger-compat/regress/383.test create mode 100644 hledger/test/ledger-compat/regress/3AAB00ED.test create mode 100644 hledger/test/ledger-compat/regress/3AB70168.test create mode 100644 hledger/test/ledger-compat/regress/3FE26304.test create mode 100644 hledger/test/ledger-compat/regress/4509F714.test create mode 100644 hledger/test/ledger-compat/regress/461980A1.test create mode 100644 hledger/test/ledger-compat/regress/47C579B8.test create mode 100644 hledger/test/ledger-compat/regress/494-a.ledger create mode 100644 hledger/test/ledger-compat/regress/494-b.ledger create mode 100644 hledger/test/ledger-compat/regress/4D9288AE.dat create mode 100644 hledger/test/ledger-compat/regress/4D9288AE.py create mode 100644 hledger/test/ledger-compat/regress/4D9288AE_py.test create mode 100644 hledger/test/ledger-compat/regress/516.test create mode 100644 hledger/test/ledger-compat/regress/53BCED29.test create mode 100644 hledger/test/ledger-compat/regress/543_a.test create mode 100644 hledger/test/ledger-compat/regress/543_b.test create mode 100644 hledger/test/ledger-compat/regress/543_c.test create mode 100644 hledger/test/ledger-compat/regress/543_d.test create mode 100644 hledger/test/ledger-compat/regress/550-584.test create mode 100644 hledger/test/ledger-compat/regress/553.test create mode 100644 hledger/test/ledger-compat/regress/55831A79.test create mode 100644 hledger/test/ledger-compat/regress/56BBE69B.test create mode 100644 hledger/test/ledger-compat/regress/5A03CFC3.test create mode 100644 hledger/test/ledger-compat/regress/5D92A5EB.test create mode 100644 hledger/test/ledger-compat/regress/5F1BAF17.test create mode 100644 hledger/test/ledger-compat/regress/5FBF2ED8.test create mode 100644 hledger/test/ledger-compat/regress/605A410D.test create mode 100644 hledger/test/ledger-compat/regress/6188B0EC.test create mode 100644 hledger/test/ledger-compat/regress/620F0674.test create mode 100644 hledger/test/ledger-compat/regress/640D3205.test create mode 100644 hledger/test/ledger-compat/regress/647D5DB9.test create mode 100644 hledger/test/ledger-compat/regress/65FECA4D.test create mode 100644 hledger/test/ledger-compat/regress/686.test create mode 100644 hledger/test/ledger-compat/regress/68917252.dat create mode 100644 hledger/test/ledger-compat/regress/68917252.test create mode 100644 hledger/test/ledger-compat/regress/6D9066DD.test create mode 100644 hledger/test/ledger-compat/regress/6DAB9FE3.test create mode 100644 hledger/test/ledger-compat/regress/6E041C52.test create mode 100644 hledger/test/ledger-compat/regress/6E7C2DF9.test create mode 100644 hledger/test/ledger-compat/regress/712-a.test create mode 100644 hledger/test/ledger-compat/regress/712-b.test create mode 100644 hledger/test/ledger-compat/regress/713-a.test create mode 100644 hledger/test/ledger-compat/regress/713-b.test create mode 100644 hledger/test/ledger-compat/regress/727B2DF8.test create mode 100644 hledger/test/ledger-compat/regress/730.test create mode 100644 hledger/test/ledger-compat/regress/751B2357.test create mode 100644 hledger/test/ledger-compat/regress/755.test create mode 100644 hledger/test/ledger-compat/regress/785.test create mode 100644 hledger/test/ledger-compat/regress/786A3DD0.test create mode 100644 hledger/test/ledger-compat/regress/78AB4B87.dat create mode 100644 hledger/test/ledger-compat/regress/78AB4B87.py create mode 100644 hledger/test/ledger-compat/regress/78AB4B87_py.test create mode 100644 hledger/test/ledger-compat/regress/793F6BF0.test create mode 100644 hledger/test/ledger-compat/regress/7C44010B.test create mode 100644 hledger/test/ledger-compat/regress/7F3650FD.test create mode 100644 hledger/test/ledger-compat/regress/8254755E.test create mode 100644 hledger/test/ledger-compat/regress/82763D86.test create mode 100644 hledger/test/ledger-compat/regress/83B4A0E5.test create mode 100644 hledger/test/ledger-compat/regress/854150DF.test create mode 100644 hledger/test/ledger-compat/regress/86D2BDC4.test create mode 100644 hledger/test/ledger-compat/regress/889BB167.test create mode 100644 hledger/test/ledger-compat/regress/89233B6D-a.dat create mode 100644 hledger/test/ledger-compat/regress/89233B6D-b.dat create mode 100644 hledger/test/ledger-compat/regress/89233B6D.test create mode 100644 hledger/test/ledger-compat/regress/8CE88DB4.test create mode 100644 hledger/test/ledger-compat/regress/8EAF77C0.test create mode 100644 hledger/test/ledger-compat/regress/9188F587.py create mode 100644 hledger/test/ledger-compat/regress/9188F587_py.test create mode 100644 hledger/test/ledger-compat/regress/95350193.test create mode 100644 hledger/test/ledger-compat/regress/96A8E4A1.test create mode 100644 hledger/test/ledger-compat/regress/981.test create mode 100644 hledger/test/ledger-compat/regress/999-a.test create mode 100644 hledger/test/ledger-compat/regress/999-b.test create mode 100644 hledger/test/ledger-compat/regress/9E0E606D.test create mode 100644 hledger/test/ledger-compat/regress/9EB10714.test create mode 100644 hledger/test/ledger-compat/regress/A013A73B.test create mode 100644 hledger/test/ledger-compat/regress/A28CF697.test create mode 100644 hledger/test/ledger-compat/regress/A3FA7601.dat create mode 100644 hledger/test/ledger-compat/regress/A3FA7601.test create mode 100644 hledger/test/ledger-compat/regress/A560FDAD.test create mode 100644 hledger/test/ledger-compat/regress/A8FCC765.dat create mode 100644 hledger/test/ledger-compat/regress/A8FCC765.test create mode 100644 hledger/test/ledger-compat/regress/AA2FF2B.test create mode 100644 hledger/test/ledger-compat/regress/ACE05ECE.test create mode 100644 hledger/test/ledger-compat/regress/AEDE9734.test create mode 100644 hledger/test/ledger-compat/regress/AFAFB804.test create mode 100644 hledger/test/ledger-compat/regress/B21BF389.py create mode 100644 hledger/test/ledger-compat/regress/B21BF389_py.test create mode 100644 hledger/test/ledger-compat/regress/B68FFB0D.test create mode 100644 hledger/test/ledger-compat/regress/BBFA1759.test create mode 100644 hledger/test/ledger-compat/regress/BF3C1F82-2.test create mode 100644 hledger/test/ledger-compat/regress/BF3C1F82.test create mode 100644 hledger/test/ledger-compat/regress/BFD3FBE1.test create mode 100644 hledger/test/ledger-compat/regress/C0212EAC.test create mode 100644 hledger/test/ledger-compat/regress/C19E4E9B.test create mode 100644 hledger/test/ledger-compat/regress/C523E23F.test create mode 100644 hledger/test/ledger-compat/regress/C927CFFE.test create mode 100644 hledger/test/ledger-compat/regress/C9D593B3.test create mode 100644 hledger/test/ledger-compat/regress/CAE63F5C-a.test create mode 100644 hledger/test/ledger-compat/regress/CAE63F5C-b.test create mode 100644 hledger/test/ledger-compat/regress/CAE63F5C-c.test create mode 100644 hledger/test/ledger-compat/regress/CEECC0B0.test create mode 100644 hledger/test/ledger-compat/regress/CFE5D8AA.test create mode 100644 hledger/test/ledger-compat/regress/CMakeLists.txt create mode 100644 hledger/test/ledger-compat/regress/D060256A.test create mode 100644 hledger/test/ledger-compat/regress/D2829FC4.test create mode 100644 hledger/test/ledger-compat/regress/D51BFF74.test create mode 100644 hledger/test/ledger-compat/regress/D943AE0F.test create mode 100644 hledger/test/ledger-compat/regress/D9C8EB08.test create mode 100644 hledger/test/ledger-compat/regress/DB490507.test create mode 100644 hledger/test/ledger-compat/regress/DDB54BB8.test create mode 100644 hledger/test/ledger-compat/regress/DE17CCF1.test create mode 100644 hledger/test/ledger-compat/regress/E2E479BC.test create mode 100644 hledger/test/ledger-compat/regress/E4C9A8EA.test create mode 100644 hledger/test/ledger-compat/regress/E627C594.test create mode 100644 hledger/test/ledger-compat/regress/E9F130C5.test create mode 100644 hledger/test/ledger-compat/regress/EA18D948.test create mode 100644 hledger/test/ledger-compat/regress/F06D5554.test create mode 100644 hledger/test/ledger-compat/regress/F524E251.test create mode 100644 hledger/test/ledger-compat/regress/F559EC12.test create mode 100644 hledger/test/ledger-compat/regress/FCE11C8D.test create mode 100644 hledger/test/ledger-compat/regress/FDFBA165.test create mode 100644 hledger/test/ledger-compat/regress/GH520.test create mode 100644 hledger/test/ledger-compat/regress/commodity_equivalency.test create mode 100644 hledger/test/ledger-compat/regress/commodity_equivalency_2.test create mode 100644 hledger/test/ledger-compat/regress/equity-unround.test create mode 100644 hledger/test/ledger-compat/regress/error-in-include.dat create mode 100644 hledger/test/ledger-compat/regress/error-in-include.test create mode 100644 hledger/test/ledger-compat/regress/fix-missing-trans-in-last-budget-period.test create mode 100644 hledger/test/ledger-compat/regress/market-group-by.test create mode 100644 hledger/test/ledger-compat/regress/total-1.test create mode 100644 hledger/test/ledger-compat/regress/total-2.test create mode 100644 hledger/test/ledger-compat/regress/xact_code.dat create mode 100644 hledger/test/ledger-compat/regress/xact_code.py create mode 100644 hledger/test/ledger-compat/regress/xact_code_py.test diff --git a/hledger/test/ledger-compat/regress/012ADB60.test b/hledger/test/ledger-compat/regress/012ADB60.test new file mode 100644 index 000000000..84bda7525 --- /dev/null +++ b/hledger/test/ledger-compat/regress/012ADB60.test @@ -0,0 +1,25 @@ +2005/01/03 * Pay Credit card + Liabilities:CredCard $1,000.00 ; Electronic/ACH Debit + Assets:Current:Checking ; Electronic/ACH Debit + (Virtualaccount) $1,000.00 + +2006/01/03 Gift shop + Expenses:Gifts $46.50 + * Liabilities:CredCard + +2006/01/03 Bike shop + Expenses:Misc $199.00 + * Liabilities:CredCard + (testvirtual) $184.72 + +2006/01/04 Store + Expenses:Misc $49.95 + * Liabilities:CredCard + +comment +test equity -e 2006 +2005/01/03 Opening Balances + Assets:Current:Checking $-1,000.00 + Liabilities:CredCard $1,000.00 + (Virtualaccount) $1,000.00 +end test diff --git a/hledger/test/ledger-compat/regress/0161EB1E.test b/hledger/test/ledger-compat/regress/0161EB1E.test new file mode 100644 index 000000000..2ce5516cc --- /dev/null +++ b/hledger/test/ledger-compat/regress/0161EB1E.test @@ -0,0 +1,16 @@ +bucket Assets:Checking +2011/04/25 Tom's Used Cars + Auto $ 5,500.00 + ; :nobudget: + +A Assets:Checking +2011/04/27 Book Store + Books $20.00 + +comment +test reg +11-Apr-25 Tom's Used Cars Auto $ 5,500.00 $ 5,500.00 + Assets:Checking $ -5,500.00 0 +11-Apr-27 Book Store Books $ 20.00 $ 20.00 + Assets:Checking $ -20.00 0 +end test diff --git a/hledger/test/ledger-compat/regress/04C5E1CA.test b/hledger/test/ledger-compat/regress/04C5E1CA.test new file mode 100644 index 000000000..b1e36b1a9 --- /dev/null +++ b/hledger/test/ledger-compat/regress/04C5E1CA.test @@ -0,0 +1,17 @@ +2009/04/04 CS Club Sign + Expenses:School:CS Club:Home Depot:4" Brush 2 @ $3.97 + Liabilities:Mastercard + +2009/04/04 CS Club Sign + Expenses:School:CS Club:Home Depot:4" Brush (2 * $3.97) + Liabilities:Mastercard + +comment +test reg +09-Apr-04 CS Club Sign Ex:Sc:CS:Home:4" Brush 2 2 + Liabilities:Mastercard $-7.94 2 + $-7.94 +09-Apr-04 CS Club Sign Ex:Sc:CS:Home:4" Brush $7.94 2 + Liabilities:Mastercard $-7.94 2 + $-7.94 +end test diff --git a/hledger/test/ledger-compat/regress/04D86CD0.test b/hledger/test/ledger-compat/regress/04D86CD0.test new file mode 100644 index 000000000..f95f97575 --- /dev/null +++ b/hledger/test/ledger-compat/regress/04D86CD0.test @@ -0,0 +1,12 @@ + +; Test for invalid option embedded in journal + +--foo + +comment +test bal -> 1 +__ERROR__ +While parsing file "$FILE", line 4: +Error: Illegal option --foo +end test + diff --git a/hledger/test/ledger-compat/regress/0CA014F9.test b/hledger/test/ledger-compat/regress/0CA014F9.test new file mode 100644 index 000000000..ac5953d1e --- /dev/null +++ b/hledger/test/ledger-compat/regress/0CA014F9.test @@ -0,0 +1,12 @@ +2007/02/02 RD VMMXX + Assets:Investments:Vanguard:VMMXX 0.350 VMMXX @ $1.00 + Income:Dividends:Vanguard:VMMXX $-0.35 + +comment +test bal + 0.350 VMMXX Assets:Investments:Vanguard:VMMXX + $-0.35 Income:Dividends:Vanguard:VMMXX +-------------------- + $-0.35 + 0.350 VMMXX +end test diff --git a/hledger/test/ledger-compat/regress/0DDDEBC0.dat b/hledger/test/ledger-compat/regress/0DDDEBC0.dat new file mode 100644 index 000000000..21b6fce16 --- /dev/null +++ b/hledger/test/ledger-compat/regress/0DDDEBC0.dat @@ -0,0 +1,3 @@ +date,posted,amount, +12/12/2011,12/13/2011,$10, +12/12/2011,,$20, diff --git a/hledger/test/ledger-compat/regress/0DDDEBC0.test b/hledger/test/ledger-compat/regress/0DDDEBC0.test new file mode 100644 index 000000000..e240921db --- /dev/null +++ b/hledger/test/ledger-compat/regress/0DDDEBC0.test @@ -0,0 +1,10 @@ +comment +test -f /dev/null --input-date-format '%m/%d/%Y' convert test/regress/0DDDEBC0.dat +2011/12/12=2011/12/13 * + Expenses:Unknown $10 + Equity:Unknown + +2011/12/12 * + Expenses:Unknown $20 + Equity:Unknown +end test diff --git a/hledger/test/ledger-compat/regress/1036.test b/hledger/test/ledger-compat/regress/1036.test new file mode 100644 index 000000000..72f95419f --- /dev/null +++ b/hledger/test/ledger-compat/regress/1036.test @@ -0,0 +1,81 @@ + +account + +alias + +apply + +assert + +bucket + +check + +commodity + +def + +define + +apply account foo +end + +expr + +eval + +include + +!include + +import + +payee + +tag + +comment +foo bar +end comment + +value + +comment +test source -> 17 +__ERROR__ +While parsing file "$FILE", line 2: +Error: Directive 'account' requires an argument +While parsing file "$FILE", line 4: +Error: Directive 'alias' requires an argument +While parsing file "$FILE", line 6: +Error: Directive 'apply' requires an argument +While parsing file "$FILE", line 8: +Error: Directive 'assert' requires an argument +While parsing file "$FILE", line 10: +Error: Directive 'bucket' requires an argument +While parsing file "$FILE", line 12: +Error: Directive 'check' requires an argument +While parsing file "$FILE", line 14: +Error: Directive 'commodity' requires an argument +While parsing file "$FILE", line 16: +Error: Directive 'def' requires an argument +While parsing file "$FILE", line 18: +Error: Directive 'define' requires an argument +While parsing file "$FILE", line 23: +Error: Directive 'expr' requires an argument +While parsing file "$FILE", line 25: +Error: Directive 'eval' requires an argument +While parsing file "$FILE", line 27: +Error: Directive 'include' requires an argument +While parsing file "$FILE", line 29: +Error: Directive 'include' requires an argument +While parsing file "$FILE", line 31: +Error: Directive 'import' requires an argument +While parsing file "$FILE", line 33: +Error: Directive 'payee' requires an argument +While parsing file "$FILE", line 35: +Error: Directive 'tag' requires an argument +While parsing file "$FILE", line 41: +Error: Directive 'value' requires an argument +end test + diff --git a/hledger/test/ledger-compat/regress/1038_1.test b/hledger/test/ledger-compat/regress/1038_1.test new file mode 100644 index 000000000..4b718ec88 --- /dev/null +++ b/hledger/test/ledger-compat/regress/1038_1.test @@ -0,0 +1,19 @@ +Y2014 + +04/13 Bank + Expenses:Loan $400 + Assets:Cash + +05/13 Bug 1038 Test + Expenses:Some:Account $500 + Assets:Cash + +06/13 Landlord + Expenses:Rent $600 + Assets:Cash + +comment +test reg --now 2014-05-14 -p 'this month' +14-May-13 Bug 1038 Test Expenses:Some:Account $500 $500 + Assets:Cash $-500 0 +end test diff --git a/hledger/test/ledger-compat/regress/1038_2.test b/hledger/test/ledger-compat/regress/1038_2.test new file mode 100644 index 000000000..658ad931d --- /dev/null +++ b/hledger/test/ledger-compat/regress/1038_2.test @@ -0,0 +1,19 @@ +year 2014 + +04/13 Bank + Expenses:Loan $400 + Assets:Cash + +05/13 Bug 1038 Test + Expenses:Some:Account $500 + Assets:Cash + +06/13 Landlord + Expenses:Rent $600 + Assets:Cash + +comment +test reg --now 2014-05-14 -p 'this month' +14-May-13 Bug 1038 Test Expenses:Some:Account $500 $500 + Assets:Cash $-500 0 +end test diff --git a/hledger/test/ledger-compat/regress/1038_3.test b/hledger/test/ledger-compat/regress/1038_3.test new file mode 100644 index 000000000..34520d8b1 --- /dev/null +++ b/hledger/test/ledger-compat/regress/1038_3.test @@ -0,0 +1,21 @@ +apply year 2014 + +04/13 Bank + Expenses:Loan $400 + Assets:Cash + +05/13 Bug 1038 Test + Expenses:Some:Account $500 + Assets:Cash + +06/13 Landlord + Expenses:Rent $600 + Assets:Cash + +end apply + +comment +test reg --now 2014-05-14 -p 'this month' +14-May-13 Bug 1038 Test Expenses:Some:Account $500 $500 + Assets:Cash $-500 0 +end test diff --git a/hledger/test/ledger-compat/regress/1046.test b/hledger/test/ledger-compat/regress/1046.test new file mode 100644 index 000000000..15c26cfe3 --- /dev/null +++ b/hledger/test/ledger-compat/regress/1046.test @@ -0,0 +1,36 @@ + +2014-05-01 * Test 1 + A 1.00 GBP (@) 1.23 EUR + B -1.23 EUR + +2014-05-02 * Test 2 + A 1.00 GBP (@@) 1.23 EUR + B -1.23 EUR + +2014-05-03 * Test 3 + A 1.00 GBP @ 1.23 EUR + B -1.23 EUR + +2014-05-04 * Test 4 + A 1.00 GBP @@ 1.23 EUR + B -1.23 EUR + +comment +test print +2014/05/01 * Test 1 + A 1.00 GBP (@) 1.23 EUR + B -1.23 EUR + +2014/05/02 * Test 2 + A 1.00 GBP (@@) 1.23 EUR + B -1.23 EUR + +2014/05/03 * Test 3 + A 1.00 GBP @ 1.23 EUR + B -1.23 EUR + +2014/05/04 * Test 4 + A 1.00 GBP @@ 1.23 EUR + B -1.23 EUR +end test + diff --git a/hledger/test/ledger-compat/regress/1050.test b/hledger/test/ledger-compat/regress/1050.test new file mode 100644 index 000000000..e2a51e8fd --- /dev/null +++ b/hledger/test/ledger-compat/regress/1050.test @@ -0,0 +1,40 @@ + +D $1000.00 +D £1000.00 +D €1000.00 +D 1000.00 EUR + +2014-06-05 * Test + A 2 EUR @$1.37 + C + +2014-06-05 * Test + A 2 EUR @@£1.62 + C + +2014-06-05 * Test + A 2 EUR (@)€1.00 + C + +2014-06-05 * Test + A 2 EUR (@@)€2.00 + C + +comment +test bal + 8.00 EUR A + $-2.74 + £-1.62 + €-4.00 C +-------------------- + $-2.74 + 8.00 EUR + £-1.62 + €-4.00 +end test + +test pricedb +P 2014/06/05 00:00:00 EUR $1.37 +P 2014/06/05 00:00:00 EUR £0.81 +end test + diff --git a/hledger/test/ledger-compat/regress/1055.test b/hledger/test/ledger-compat/regress/1055.test new file mode 100644 index 000000000..6a25e65a3 --- /dev/null +++ b/hledger/test/ledger-compat/regress/1055.test @@ -0,0 +1,27 @@ +2011-01-01 * Opening balance + Assets:Broker 250.00 GBP = 250.00 GBP + Equity:Opening balance -250.00 GBP + +2011-02-01 * Buy 1 AAA for 10.00 GBP + Assets:Broker 1 AAA = 1 AAA + Assets:Broker -10.00 GBP + +2011-03-01 * Buy 1 AAA for 10.00 GBP + Assets:Broker 1 AAA = 2 AAA + Assets:Broker -10.00 GBP + +2011-04-01 * Buy 1 BBB for 15.00 GBP + Assets:Broker 1 BBB = 1 BBB + Assets:Broker -15.00 GBP + +comment +test bal + 2 AAA + 1 BBB + 215.00 GBP Assets:Broker + -250.00 GBP Equity:Opening balance +-------------------- + 2 AAA + 1 BBB + -35.00 GBP +end test diff --git a/hledger/test/ledger-compat/regress/1057.test b/hledger/test/ledger-compat/regress/1057.test new file mode 100644 index 000000000..4a26562a9 --- /dev/null +++ b/hledger/test/ledger-compat/regress/1057.test @@ -0,0 +1,12 @@ +2014/04/03 www.amazon.fr + Dépense:Loisir:Ordi:Matériel 101,50 € ; disque dur portable 2,5" 2000 Go + Dépense:Maison:Service:Poste + * Passif:Crédit:BanqueAccord -171,63 € + +comment +test --now=2014/06/27 emacs +(("$sourcepath/test/regress/1057.test" 1 (21308 60112 0) nil "www.amazon.fr" + (2 "Dépense:Loisir:Ordi:Matériel" "101,50 €" nil " disque dur portable 2,5\" 2000 Go") + (3 "Dépense:Maison:Service:Poste" "70,13 €" nil) + (4 "Passif:Crédit:BanqueAccord" "-171,63 €" t))) +end test diff --git a/hledger/test/ledger-compat/regress/1072.test b/hledger/test/ledger-compat/regress/1072.test new file mode 100644 index 000000000..24c565f99 --- /dev/null +++ b/hledger/test/ledger-compat/regress/1072.test @@ -0,0 +1,32 @@ + +--input-date-format %d/%m/%y +--date-format %d/%m/%y + +1/1/14 * Test + A $10 + B + +12/1/14 * Test + A $20 + B + +comment +test --input-date-format %d/%m/%y reg --begin 2/1/13 +01/01/14 Test A $10 $10 + B $-10 0 +12/01/14 Test A $20 $20 + B $-20 0 +end test + +test --input-date-format %d/%m/%y reg --begin 1/1/14 +01/01/14 Test A $10 $10 + B $-10 0 +12/01/14 Test A $20 $20 + B $-20 0 +end test + +test --input-date-format %d/%m/%y reg --begin 2/1/14 +12/01/14 Test A $20 $20 + B $-20 0 +end test + diff --git a/hledger/test/ledger-compat/regress/1074.test b/hledger/test/ledger-compat/regress/1074.test new file mode 100644 index 000000000..67d7efddf --- /dev/null +++ b/hledger/test/ledger-compat/regress/1074.test @@ -0,0 +1,162 @@ + +--input-date-format %Y-%m-%d +--date-format %Y-%m-%d + +2011-06-01 * Jun 2011 + A $10 + B + +2011-07-01 * Jul 2011 + A $10 + B + +2011-08-01 * Aug 2011 + A $10 + B + +2012-06-01 * Jun 2012 + A $10 + B + +2012-07-01 * Jul 2012 + A $10 + B + +2012-08-01 * Aug 2012 + A $10 + B + +2013-06-01 * Jun 2013 + A $10 + B + +2013-07-01 * Jul 2013 + A $10 + B + +2013-08-01 * Aug 2013 + A $10 + B + +2014-06-01 * Jun 2014 + A $10 + B + +2014-07-01 * Jul 2014 + A $10 + B + +2014-08-01 * Aug 2014 + A $10 + B + +2015-06-01 * Jun 2015 + A $10 + B + +2015-07-01 * Jul 2015 + A $10 + B + +2015-08-01 * Aug 2015 + A $10 + B + +comment +test --now 2012-02-03 reg -p "from june to july" +2012-06-01 Jun 2012 A $10 $10 + B $-10 0 +end test + +test --now 2013-02-03 reg -p "from june to july" +2013-06-01 Jun 2013 A $10 $10 + B $-10 0 +end test + +test --now 2014-02-03 reg -p "from june to july" +2014-06-01 Jun 2014 A $10 $10 + B $-10 0 +end test + +test --now 2014-10-02 reg -p "from june to july" +2014-06-01 Jun 2014 A $10 $10 + B $-10 0 +end test + +test --now 2012-02-03 reg -p "from june to july 2014" +2012-06-01 Jun 2012 A $10 $10 + B $-10 0 +2012-07-01 Jul 2012 A $10 $10 + B $-10 0 +2012-08-01 Aug 2012 A $10 $10 + B $-10 0 +2013-06-01 Jun 2013 A $10 $10 + B $-10 0 +2013-07-01 Jul 2013 A $10 $10 + B $-10 0 +2013-08-01 Aug 2013 A $10 $10 + B $-10 0 +2014-06-01 Jun 2014 A $10 $10 + B $-10 0 +end test + +test --now 2013-10-02 reg -p "from june to july 2014" +2013-06-01 Jun 2013 A $10 $10 + B $-10 0 +2013-07-01 Jul 2013 A $10 $10 + B $-10 0 +2013-08-01 Aug 2013 A $10 $10 + B $-10 0 +2014-06-01 Jun 2014 A $10 $10 + B $-10 0 +end test + +test --now 2014-01-02 reg -p "from june to july 2014" +2014-06-01 Jun 2014 A $10 $10 + B $-10 0 +end test + +test --now 2014-10-02 reg -p "from june to july 2014" +2014-06-01 Jun 2014 A $10 $10 + B $-10 0 +end test + +test --now 2012-02-03 reg -p "from june 2012 to july 2014" +2012-06-01 Jun 2012 A $10 $10 + B $-10 0 +2012-07-01 Jul 2012 A $10 $10 + B $-10 0 +2012-08-01 Aug 2012 A $10 $10 + B $-10 0 +2013-06-01 Jun 2013 A $10 $10 + B $-10 0 +2013-07-01 Jul 2013 A $10 $10 + B $-10 0 +2013-08-01 Aug 2013 A $10 $10 + B $-10 0 +2014-06-01 Jun 2014 A $10 $10 + B $-10 0 +end test + +test --now 2012-02-03 reg -p "from june 2013 to july 2014" +2013-06-01 Jun 2013 A $10 $10 + B $-10 0 +2013-07-01 Jul 2013 A $10 $10 + B $-10 0 +2013-08-01 Aug 2013 A $10 $10 + B $-10 0 +2014-06-01 Jun 2014 A $10 $10 + B $-10 0 +end test + +test --now 2015-02-03 reg -p "from june 2013 to july 2014" +2013-06-01 Jun 2013 A $10 $10 + B $-10 0 +2013-07-01 Jul 2013 A $10 $10 + B $-10 0 +2013-08-01 Aug 2013 A $10 $10 + B $-10 0 +2014-06-01 Jun 2014 A $10 $10 + B $-10 0 +end test + diff --git a/hledger/test/ledger-compat/regress/10D19C11.test b/hledger/test/ledger-compat/regress/10D19C11.test new file mode 100644 index 000000000..16309fb6e --- /dev/null +++ b/hledger/test/ledger-compat/regress/10D19C11.test @@ -0,0 +1,38 @@ +; Test for: ./ledger -f doc/sample.dat -E bal liab' shows the Assets account + += /^Expenses:Books/ + (Liabilities:Taxes) -0.10 + +~ Monthly + Assets:Bank:Checking $500.00 + Income:Salary + +2004/05/01 * Checking balance + Assets:Bank:Checking $1,000.00 + Equity:Opening Balances + +2004/05/01 * Investment balance + Assets:Brokerage 50 AAPL @ $30.00 + Equity:Opening Balances + +2004/05/14 * Pay day + Assets:Bank:Checking $500.00 + Income:Salary + +2004/05/27 Book Store + Expenses:Books $20.00 + Liabilities:MasterCard + +2004/05/27 (100) Credit card company + Liabilities:MasterCard $20.00 + Assets:Bank:Checking + +comment +test -E bal liabilities + $-2.00 Liabilities + 0 MasterCard + $-2.00 Taxes +-------------------- + $-2.00 +end test + diff --git a/hledger/test/ledger-compat/regress/1102.test b/hledger/test/ledger-compat/regress/1102.test new file mode 100644 index 000000000..c36e3e408 --- /dev/null +++ b/hledger/test/ledger-compat/regress/1102.test @@ -0,0 +1,9 @@ +2015/01/15 * Grocery Store + Assets:Cash ¤ -5,00 + Expenses:Food + +comment +test -i /dev/null reg +15-Jan-15 Grocery Store Assets:Cash ¤ -5,00 ¤ -5,00 + Expenses:Food ¤ 5,00 0 +end test diff --git a/hledger/test/ledger-compat/regress/1106.test b/hledger/test/ledger-compat/regress/1106.test new file mode 100644 index 000000000..5583e461e --- /dev/null +++ b/hledger/test/ledger-compat/regress/1106.test @@ -0,0 +1,12 @@ +2015/01/20 Payee + Assets:Cash ¤ 12,34 + Expenses:Food + +comment +test -F "»%(trim(' Trimmed '))«\n" reg expenses +»Trimmed« +end test + +test -F "»%(trim('Trimmed'))«\n" reg expenses +»Trimmed« +end test diff --git a/hledger/test/ledger-compat/regress/1127.test b/hledger/test/ledger-compat/regress/1127.test new file mode 100644 index 000000000..c5446d026 --- /dev/null +++ b/hledger/test/ledger-compat/regress/1127.test @@ -0,0 +1,16 @@ +; Test that automated transactions are added to accounts soon enough +; for assertions to work. + += expr account =~ /^Assets/ + (Foo) 1 + +2018-06-09 Something + Assets $100 + Equity + +2018-06-09 Assert amount added by automated transaction + [Foo] = $100 +comment +test bal Foo + $100 Foo +end test diff --git a/hledger/test/ledger-compat/regress/1132.test b/hledger/test/ledger-compat/regress/1132.test new file mode 100644 index 000000000..d999b0add --- /dev/null +++ b/hledger/test/ledger-compat/regress/1132.test @@ -0,0 +1,17 @@ +1994/09/02=1994/08/25 * Joe + Actif:Courant:BnpCc 126,00 F + Actif:Remboursement:Autre -126,00 F = 0,00 F + +1994/10/20=1994/08/25 * (3551465) Bill + Actif:Remboursement:Autre 126,00 F + Actif:Courant:BnpCc + +comment +test bal -> 1 +__ERROR__ +While parsing file "$FILE", line 3: +While parsing posting: + Actif:Remboursement:Autre -126,00 F = 0,00 F + ^^^^^^ +Error: Balance assertion off by 126,00 F (expected to see -126,00 F) +end test diff --git a/hledger/test/ledger-compat/regress/1147-a.test b/hledger/test/ledger-compat/regress/1147-a.test new file mode 100644 index 000000000..b3b968e9c --- /dev/null +++ b/hledger/test/ledger-compat/regress/1147-a.test @@ -0,0 +1,13 @@ +2000/01/01 Pre-transaction balance + A $5.00 = $0.00 + B + +comment +test bal -> 1 +__ERROR__ +While parsing file "$FILE", line 2: +While parsing posting: + A $5.00 = $0.00 + ^^^^^ +Error: Balance assertion off by $-5.00 (expected to see $5.00) +end test diff --git a/hledger/test/ledger-compat/regress/1147-b.test b/hledger/test/ledger-compat/regress/1147-b.test new file mode 100644 index 000000000..ab2280941 --- /dev/null +++ b/hledger/test/ledger-compat/regress/1147-b.test @@ -0,0 +1,11 @@ +2000/01/01 Post-transaction balance + A $5.00 = $5.00 + B + +comment +test bal + $5.00 A + $-5.00 B +-------------------- + 0 +end test diff --git a/hledger/test/ledger-compat/regress/1159.test b/hledger/test/ledger-compat/regress/1159.test new file mode 100644 index 000000000..015408eca --- /dev/null +++ b/hledger/test/ledger-compat/regress/1159.test @@ -0,0 +1,30 @@ +2003/09/13 a payee ; sat + A $100.00 + B + +2003/09/14 a payee ; mon + A $100.00 + B + +2004/10/15 a payee ; fri + A $50.00 + B + +2004/10/19 a payee ; tue + A $50.00 + B + +;sun first day of month +comment +test reg -p "every 12 months from 2001/04/01" +03-Apr-01 - 04-Mar-31 A $200.00 $200.00 + B $-200.00 0 +04-Apr-01 - 05-Mar-31 A $100.00 $100.00 + B $-100.00 0 +end test +test reg -p 'every 12 months' +03-Sep-01 - 04-Aug-31 A $200.00 $200.00 + B $-200.00 0 +04-Sep-01 - 05-Aug-31 A $100.00 $100.00 + B $-100.00 0 +end test diff --git a/hledger/test/ledger-compat/regress/1176.test b/hledger/test/ledger-compat/regress/1176.test new file mode 100644 index 000000000..2aa429e2b --- /dev/null +++ b/hledger/test/ledger-compat/regress/1176.test @@ -0,0 +1,24 @@ +2016-01-01 Employer + Me -5400s + Them 5400s +2016-01-01 Employer + Me -3600s + Them 3600s +2016-01-02 Employer + Me -1800s + Them 1800s +2016-01-02 Employer + Me -30s + Them 30s + +comment +test reg --time-colon +16-Jan-01 Employer Me -1:30h -1:30h + Them 1:30h 0 +16-Jan-01 Employer Me -1:00h -1:00h + Them 1:00h 0 +16-Jan-02 Employer Me -30:0m -30:0m + Them 30:0m 0 +16-Jan-02 Employer Me -30s -30s + Them 30s 0 +end test diff --git a/hledger/test/ledger-compat/regress/1182_1.test b/hledger/test/ledger-compat/regress/1182_1.test new file mode 100644 index 000000000..20fa34703 --- /dev/null +++ b/hledger/test/ledger-compat/regress/1182_1.test @@ -0,0 +1,13 @@ += +2000/01/01 Test + A $1.00 + B + +comment +test bal -> 1 +__ERROR__ +While parsing file "$FILE", line 1: +While parsing automated transaction: +> = +Error: Expected predicate after '=' +end test diff --git a/hledger/test/ledger-compat/regress/1182_2.test b/hledger/test/ledger-compat/regress/1182_2.test new file mode 100644 index 000000000..6cecf6b12 --- /dev/null +++ b/hledger/test/ledger-compat/regress/1182_2.test @@ -0,0 +1,18 @@ +2000/01/01 Test + A $1.00 + B + +============ + +2000/01/02 Test + A $1.00 + B + +comment +test bal -> 1 +__ERROR__ +While parsing file "$FILE", line 5: +While parsing automated transaction: +> ============ +Error: Expected predicate after '=' +end test diff --git a/hledger/test/ledger-compat/regress/1187_1.test b/hledger/test/ledger-compat/regress/1187_1.test new file mode 100644 index 000000000..84e1cd762 --- /dev/null +++ b/hledger/test/ledger-compat/regress/1187_1.test @@ -0,0 +1,20 @@ +2006/08/17 * Au Bon Bec + Dépense:Alimentation:Restaurant 100,00 € + Passif:Crédit:Banque + +2006/08/20 * Retrait + Dépense:Liquide 60,00 € + Passif:Crédit:Banque -60,00 € + Passif:Crédit:Banque 60,00 € = -100,00 € + Actif:Courant:Cc -60,00 € + +comment +test bal + -60,00 € Actif:Courant:Cc + 160,00 € Dépense + 100,00 € Alimentation:Restaurant + 60,00 € Liquide + -100,00 € Passif:Crédit:Banque +-------------------- + 0 +end test diff --git a/hledger/test/ledger-compat/regress/1187_2.test b/hledger/test/ledger-compat/regress/1187_2.test new file mode 100644 index 000000000..91190de97 --- /dev/null +++ b/hledger/test/ledger-compat/regress/1187_2.test @@ -0,0 +1,19 @@ +2001/01/01 * Balance + Actif:Courant:Cc 10000,00 F = 10000,00 F + Equity + +2002/01/11 * Passage à l'euro + Actif:Courant:Cc -10000,00 F = 0,00 F + Actif:Courant:Cc 1524,49 € = 1524,49 € + Revenu:Devise 10000,00 F + Revenu:Devise -1524,49 € + +comment +test bal + 1524,49 € Actif:Courant:Cc + -10000,00 F Equity + 10000,00 F + -1524,49 € Revenu:Devise +-------------------- + 0 +end test diff --git a/hledger/test/ledger-compat/regress/1187_3.test b/hledger/test/ledger-compat/regress/1187_3.test new file mode 100644 index 000000000..17ec0af8f --- /dev/null +++ b/hledger/test/ledger-compat/regress/1187_3.test @@ -0,0 +1,37 @@ +2000/01/01 Multiple posts + A $5.00 + B $7.20 + C $-114.99 + D + +2000/01/02 Many assertions + A $2.00 + A $3.00 = $10.00 + B $0.80 = $8.00 + C $-0.01 = $-115.00 + B $1.00 + C $1 + C $4 = $-110 + D + +2000/01/03 Incremental + A $1.00 = $11.00 + A $1.00 = $12.00 + A $1.00 = $13.00 + D + +2000/01/04 Assignment + A $2 + A = $25 + D $-10 + D $-2 + +comment +test bal + $25.00 A + $9.00 B + $-110.00 C + $76.00 D +-------------------- + 0 +end test diff --git a/hledger/test/ledger-compat/regress/1187_4.test b/hledger/test/ledger-compat/regress/1187_4.test new file mode 100644 index 000000000..95a2d9ce6 --- /dev/null +++ b/hledger/test/ledger-compat/regress/1187_4.test @@ -0,0 +1,33 @@ +2000/01/01 Multiple commodities + A $5.00 + A 32 F + B $-12 + C + +2000/01/02 Assertions + A $1 = $6 + A 1 F = 33 F + A $1 = $7 + A 1 F = 34 F + B 3 F = 3 F + B $12 = $0 + B 1 F = 4 F + C + +2000/01/03 Assignments + A = $0 + A -4 F = 30 F + B $-7 = $-7 + B = 0 F + C $14 + C 8 F + +comment +test bal + 30 F A + $-7.00 B + $7.00 + -30 F C +-------------------- + 0 +end test diff --git a/hledger/test/ledger-compat/regress/1187_5.test b/hledger/test/ledger-compat/regress/1187_5.test new file mode 100644 index 000000000..1c95d1c3c --- /dev/null +++ b/hledger/test/ledger-compat/regress/1187_5.test @@ -0,0 +1,37 @@ +2013/12/01 * Initial State + Crédit:Viseca:MasterCard P1 -618.50 CHF + Crédit:Viseca:MasterCard P2 -52.10 CHF + Equity:Opening Balances + +2013/12/15 * Buy Some Chocolate + Dépenses:Nourriture 19.00 EUR ; #1 + Crédit:Viseca:MasterCard P1 + +2013/12/15 * Buy Some Chocolate + Crédit:Viseca:MasterCard P1 18.00 EUR ; #2 + Recettes:Erreurs + +2013/12/23 * Facture Viseca + Crédit:Viseca:MasterCard P2 52.10 CHF = 0 ; #3 + Crédit:Viseca:MasterCard P1 618.50 CHF = 0 CHF ; #4 + Dépenses:Frais:Gestion Comptes 1.50 CHF + Crédit:Viseca -672.10 CHF + +2014/01/03 * Facture Viseca + Crédit:Viseca 672.10 CHF = 0 + Actif:Comptes:CP courant + +comment +test bal + -672.10 CHF Actif:Comptes:CP courant + -1.00 EUR Crédit:Viseca + -1.00 EUR MasterCard P1 + 1.50 CHF + 19.00 EUR Dépenses + 1.50 CHF Frais:Gestion Comptes + 19.00 EUR Nourriture + 670.60 CHF Equity:Opening Balances + -18.00 EUR Recettes:Erreurs +-------------------- + 0 +end test diff --git a/hledger/test/ledger-compat/regress/1222.test b/hledger/test/ledger-compat/regress/1222.test new file mode 100644 index 000000000..5c82da983 --- /dev/null +++ b/hledger/test/ledger-compat/regress/1222.test @@ -0,0 +1,8 @@ +--fooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo + +comment +test reg -> 1 +__ERROR__ +While parsing file "$FILE", line 1: +Error: Illegal option --fooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo +end test diff --git a/hledger/test/ledger-compat/regress/1224.test b/hledger/test/ledger-compat/regress/1224.test new file mode 100644 index 000000000..81191ec13 --- /dev/null +++ b/hledger/test/ledger-compat/regress/1224.test @@ -0,0 +1,10 @@ +2000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + +comment +test reg -> 1 +__ERROR__ +While parsing file "$FILE", line 1: +While parsing transaction: +> 2000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +Error: Invalid date: 2000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +end test diff --git a/hledger/test/ledger-compat/regress/1384C1D8.test b/hledger/test/ledger-compat/regress/1384C1D8.test new file mode 100644 index 000000000..870fe6005 --- /dev/null +++ b/hledger/test/ledger-compat/regress/1384C1D8.test @@ -0,0 +1,28 @@ +@alias OLD1 = NEW1 + +2012-01-01 Something + OLD1 $10.00 + Other + +!alias OLD2 = NEW2 + +2012-01-01 Something + OLD2 $10.00 + Other + +account NEW3 + alias OLD3 + +2012-01-01 Something + OLD3 $10.00 + Other + +comment +test bal + $10.00 NEW1 + $10.00 NEW2 + $10.00 NEW3 + $-30.00 Other +-------------------- + 0 +end test diff --git a/hledger/test/ledger-compat/regress/13965214.test b/hledger/test/ledger-compat/regress/13965214.test new file mode 100644 index 000000000..79d6d9444 --- /dev/null +++ b/hledger/test/ledger-compat/regress/13965214.test @@ -0,0 +1,29 @@ +Y2008 + +01/30 A + Bank 130 + Income + +02/01 B + Bank 140 + Income + +02/20 C + Bank 150 + Income + +03/01 D + Bank 160 + Income + +comment +test reg +08-Jan-30 A Bank 130 130 + Income -130 0 +08-Feb-01 B Bank 140 140 + Income -140 0 +08-Feb-20 C Bank 150 150 + Income -150 0 +08-Mar-01 D Bank 160 160 + Income -160 0 +end test diff --git a/hledger/test/ledger-compat/regress/14DB77E7.test b/hledger/test/ledger-compat/regress/14DB77E7.test new file mode 100644 index 000000000..daad5c278 --- /dev/null +++ b/hledger/test/ledger-compat/regress/14DB77E7.test @@ -0,0 +1,19 @@ +D 1000.00 GBP + +;P 2011-01-01 EUR 0.8604 GBP +P 2011-02-01 EUR 0.8576 GBP + +2011-01-31 * AdSense earnings + Assets:Receivable:AdSense 11.00 EUR + Income:AdSense + +2011-02-28 * AdSense earnings + Assets:Receivable:AdSense 10.00 EUR + Income:AdSense + +comment +test reg income:adse -X GBP -H +11-Jan-31 AdSense earnings Income:AdSense -11.00 EUR -11.00 EUR +11-Feb-28 Commodities revalued -9.43 GBP -9.43 GBP +11-Feb-28 AdSense earnings Income:AdSense -8.58 GBP -18.01 GBP +end test diff --git a/hledger/test/ledger-compat/regress/15230B79.test b/hledger/test/ledger-compat/regress/15230B79.test new file mode 100644 index 000000000..dac69b1bf --- /dev/null +++ b/hledger/test/ledger-compat/regress/15230B79.test @@ -0,0 +1,13 @@ +2010-04-02 Opening balance + Assets:A 14.75 EUR + Assets:B 2.84 GBP + Equity:Opening balance + +comment +test reg +10-Apr-02 Opening balance Assets:A 14.75 EUR 14.75 EUR + Assets:B 2.84 GBP 14.75 EUR + 2.84 GBP + Equity:Opening balance -14.75 EUR 2.84 GBP + Equity:Opening balance -2.84 GBP 0 +end test diff --git a/hledger/test/ledger-compat/regress/15A80F68.test b/hledger/test/ledger-compat/regress/15A80F68.test new file mode 100644 index 000000000..344c110a2 --- /dev/null +++ b/hledger/test/ledger-compat/regress/15A80F68.test @@ -0,0 +1,16 @@ +; Test for: Confusing error message with ledger v3 with invalid input + +2008/03/03 + A (2 FOO @ 10.00 EUR) = 20.00 EUR + B + +comment +test bal -> 1 +__ERROR__ +While parsing file "$FILE", line 4: +While parsing posting: + A (2 FOO @ 10.00 EUR) = 20.00 EUR + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +Error: Invalid char '@' +end test + diff --git a/hledger/test/ledger-compat/regress/1626.test b/hledger/test/ledger-compat/regress/1626.test new file mode 100644 index 000000000..53eacff09 --- /dev/null +++ b/hledger/test/ledger-compat/regress/1626.test @@ -0,0 +1,29 @@ +comment +test period every 1000 years from 1 Sep 2011 to 30 May 2012 --now=2018-06-10 +--- Period expression tokens --- +TOK_EVERY: every +TOK_INT: 1000 +TOK_YEARS: years +TOK_SINCE: since +TOK_INT: 1 +TOK_A_MONTH: Sep +TOK_INT: 2011 +TOK_UNTIL: until +TOK_INT: 30 +TOK_A_MONTH: May +TOK_INT: 2012 +END_REACHED: + +--- Before stabilization --- + range: from day 1 to day 30 +duration: 1000 years + +--- After stabilization --- + range: from day 1 to day 30 + start: 18-Jan-01 + finish: 18-Jan-30 +duration: 1000 years + +--- Sample dates in range (max. 20) --- + 1: 18-Jan-01 -- 18-Jan-29 +end test diff --git a/hledger/test/ledger-compat/regress/1702.test b/hledger/test/ledger-compat/regress/1702.test new file mode 100644 index 000000000..4a60bc038 --- /dev/null +++ b/hledger/test/ledger-compat/regress/1702.test @@ -0,0 +1,18 @@ +tag Foo + assert value =~ /^Bar$/ + +2019/01/01 * Payee + ;; Foo: Bar + Income:Foo $-1 + Assets:Cash $1 +2019/01/01 * Another Payee + Assets:Cash $-1 + Expenses:Baz $1 + +comment +test bal + $1 Expenses:Baz + $-1 Income:Foo +-------------------- + 0 +end test diff --git a/hledger/test/ledger-compat/regress/1703.test b/hledger/test/ledger-compat/regress/1703.test new file mode 100644 index 000000000..fb2233700 --- /dev/null +++ b/hledger/test/ledger-compat/regress/1703.test @@ -0,0 +1,12 @@ + +P 2018-10-31 MultifundosPlus R$0 + +2017-05-03 * Test + Assets:A 1 AAA @ R$ 3000 + Assets:B + +comment +test reg assets:a -V --now 2018-12-31 +17-May-03 Test Assets:A R$3000 R$3000 +end test + diff --git a/hledger/test/ledger-compat/regress/1722.test b/hledger/test/ledger-compat/regress/1722.test new file mode 100644 index 000000000..619cbc4a4 --- /dev/null +++ b/hledger/test/ledger-compat/regress/1722.test @@ -0,0 +1,13 @@ + +2003/12/20 Organic Co-op + Expenses:Food:Groceries $ 37.50 ; ] [=2004/01/01] + Assets:Cash $-37.50 + +comment +test bal + $ -37.50 Assets:Cash + $ 37.50 Expenses:Food:Groceries +-------------------- + 0 +end test + diff --git a/hledger/test/ledger-compat/regress/1723.test b/hledger/test/ledger-compat/regress/1723.test new file mode 100644 index 000000000..e22f31f3e --- /dev/null +++ b/hledger/test/ledger-compat/regress/1723.test @@ -0,0 +1,6 @@ +2017/3/17 deferred posting + + +comment +test reg +end test diff --git a/hledger/test/ledger-compat/regress/1753.test b/hledger/test/ledger-compat/regress/1753.test new file mode 100644 index 000000000..c914312f3 --- /dev/null +++ b/hledger/test/ledger-compat/regress/1753.test @@ -0,0 +1,13 @@ +2018-01-02 * Account name starting with semicolon + * ;A 10.00 EUR + B + +comment +test reg -> 1 +__ERROR__ +While parsing file "$FILE", line 2: +While parsing posting: + * ;A 10.00 EUR + +Error: Posting has no account +end test diff --git a/hledger/test/ledger-compat/regress/1775.test b/hledger/test/ledger-compat/regress/1775.test new file mode 100644 index 000000000..93dcb9727 --- /dev/null +++ b/hledger/test/ledger-compat/regress/1775.test @@ -0,0 +1,21 @@ +2017-02-28 * Test + Assets:A 10.00 EUR + Assets:B -10.00 EUR + +2017-03-30 * Test + Assets:A 10.00 EUR + Assets:B -10.00 EUR + +2018-03-30 * Test + Assets:A 10.00 EUR + Assets:B -10.00 EUR + +comment +test reg --input-date-format %F +17-Feb-28 Test Assets:A 10.00 EUR 10.00 EUR + Assets:B -10.00 EUR 0 +17-Mar-30 Test Assets:A 10.00 EUR 10.00 EUR + Assets:B -10.00 EUR 0 +18-Mar-30 Test Assets:A 10.00 EUR 10.00 EUR + Assets:B -10.00 EUR 0 +end test diff --git a/hledger/test/ledger-compat/regress/178501DC.test b/hledger/test/ledger-compat/regress/178501DC.test new file mode 100644 index 000000000..6300c8dc2 --- /dev/null +++ b/hledger/test/ledger-compat/regress/178501DC.test @@ -0,0 +1,22 @@ +; Test for: The bal report does not honor -r (ledger bal simon +; would show all accounts, rather than just simon and the related +; account). + +2011/10/26 trader joe's + simon $-50 + alice $-50 + expenses:food:groceries + +comment +test bal -r simon + $-50 alice + $100 expenses:food:groceries +-------------------- + $50 +end test + +test reg -r simon +11-Oct-26 trader joe's alice $-50 $-50 + expense:food:groceries $100 $50 +end test + diff --git a/hledger/test/ledger-compat/regress/1894_1.test b/hledger/test/ledger-compat/regress/1894_1.test new file mode 100644 index 000000000..918dfe251 --- /dev/null +++ b/hledger/test/ledger-compat/regress/1894_1.test @@ -0,0 +1,22 @@ += /Expenses:Transportation/ and not expr "has_tag(/NOTAX/)" + Expenses:Tax 0.2 + $account -0.2 + +2020-05-06 * Test + Expenses:Transportation 200.00 EUR + Assets:Bank -200.00 EUR + +2020-05-06 * Test + ; :NOTAX: + Expenses:Transportation 300.00 EUR + Assets:Bank -300.00 EUR + +comment +test bal + -500.00 EUR Assets:Bank + 500.00 EUR Expenses + 40.00 EUR Tax + 460.00 EUR Transportation +-------------------- + 0 +end test diff --git a/hledger/test/ledger-compat/regress/1894_2.test b/hledger/test/ledger-compat/regress/1894_2.test new file mode 100644 index 000000000..e521373eb --- /dev/null +++ b/hledger/test/ledger-compat/regress/1894_2.test @@ -0,0 +1,22 @@ += ^Expenses and expr "any(account =~ /^A:Assets/ and R)" + [A:Assets:Split] (amount / 2) + [B:Assets:Split] (-amount / 2) + += ^Expenses and expr "any(account =~ /^B:Assets/ and R)" + [B:Assets:Split] (amount / 2) + [A:Assets:Split] (-amount / 2) + +2020-05-08 * Test + Expenses:Transportation 200.00 EUR + A:Assets:Checking + +comment +test bal + -100.00 EUR A:Assets + -200.00 EUR Checking + 100.00 EUR Split + -100.00 EUR B:Assets:Split + 200.00 EUR Expenses:Transportation +-------------------- + 0 +end test diff --git a/hledger/test/ledger-compat/regress/1895.test b/hledger/test/ledger-compat/regress/1895.test new file mode 100644 index 000000000..32bd1304b --- /dev/null +++ b/hledger/test/ledger-compat/regress/1895.test @@ -0,0 +1,32 @@ + +2020-05-18 Test + Assets:foo 10.00 EUR + Assets:bar -10.00 EUR + +comment +test bal + 0 Assets + -10.00 EUR bar + 10.00 EUR foo +-------------------- + 0 +end test + +test bal --invert + 0 Assets + 10.00 EUR bar + -10.00 EUR foo +-------------------- + 0 +end test + +test reg --format="%(account) %10(amount) %10(amount_expr) %10(total) %10(display_amount) %10(display_total)\n" +Assets:foo 10.00 EUR 10.00 EUR 10.00 EUR 10.00 EUR 10.00 EUR +Assets:bar -10.00 EUR -10.00 EUR 0 -10.00 EUR 0 +end test + +test reg --format="%(account) %10(amount) %10(amount_expr) %10(total) %10(display_amount) %10(display_total)\n" --invert +Assets:foo 10.00 EUR -10.00 EUR -10.00 EUR -10.00 EUR -10.00 EUR +Assets:bar -10.00 EUR 10.00 EUR 0 10.00 EUR 0 +end test + diff --git a/hledger/test/ledger-compat/regress/1942_a.test b/hledger/test/ledger-compat/regress/1942_a.test new file mode 100644 index 000000000..39a614db3 --- /dev/null +++ b/hledger/test/ledger-compat/regress/1942_a.test @@ -0,0 +1,29 @@ +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 + +comment +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/hledger/test/ledger-compat/regress/1942_b.test b/hledger/test/ledger-compat/regress/1942_b.test new file mode 100644 index 000000000..6d2cf6114 --- /dev/null +++ b/hledger/test/ledger-compat/regress/1942_b.test @@ -0,0 +1,29 @@ +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 + +comment +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/hledger/test/ledger-compat/regress/1942_c.test b/hledger/test/ledger-compat/regress/1942_c.test new file mode 100644 index 000000000..ced2e5b2f --- /dev/null +++ b/hledger/test/ledger-compat/regress/1942_c.test @@ -0,0 +1,29 @@ +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 + +comment +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/hledger/test/ledger-compat/regress/1942_d.test b/hledger/test/ledger-compat/regress/1942_d.test new file mode 100644 index 000000000..d4ba8cd51 --- /dev/null +++ b/hledger/test/ledger-compat/regress/1942_d.test @@ -0,0 +1,29 @@ +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 + +comment +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 diff --git a/hledger/test/ledger-compat/regress/1969.test b/hledger/test/ledger-compat/regress/1969.test new file mode 100644 index 000000000..f3438043a --- /dev/null +++ b/hledger/test/ledger-compat/regress/1969.test @@ -0,0 +1,18 @@ + +2020-10-30 * Set up liability + Expenses:Test 310.56 EUR + Liabilities:Foo -310.56 EUR + +2020-10-30 * Pay liability + Assets:Bank -416.30 AUD @ 0.746 EUR + Liabilities:Foo + +2020-10-30 * Put another commodity into the account so the account is always displayed + Expenses:Test 10.00 GBP + Liabilities:Foo + +comment +test bal Liabilities:Foo + -10.00 GBP Liabilities:Foo +end test + diff --git a/hledger/test/ledger-compat/regress/1998.test b/hledger/test/ledger-compat/regress/1998.test new file mode 100644 index 000000000..116afc932 --- /dev/null +++ b/hledger/test/ledger-compat/regress/1998.test @@ -0,0 +1,15 @@ +2021-01-02 Same commodity, different values + Assets -1 Stock {100 USD} [2021-01-01] + Assets 1 Stock {100 EUR} [2021-01-01] + Equity + +comment +test bal --lots +1 Stock {EUR100} [2021/01/01] +-1 Stock {USD100} [2021/01/01] Assets +-1 Stock {EUR100} [2021/01/01] +1 Stock {USD100} [2021/01/01] Equity +-------------------- + 0 +end test + diff --git a/hledger/test/ledger-compat/regress/1A546C4D.test b/hledger/test/ledger-compat/regress/1A546C4D.test new file mode 100644 index 000000000..0bd775f9b --- /dev/null +++ b/hledger/test/ledger-compat/regress/1A546C4D.test @@ -0,0 +1,14 @@ +2012/02/22 * Testing invalid amount + Assets:Cash $1,00.00 + Equity:Opening Balances + +comment +test bal -> 1 +__ERROR__ +While parsing file "$FILE", line 2: +While parsing posting: + Assets:Cash $1,00.00 + ^^^^^^^^ +Error: Incorrect use of thousand-mark comma +end test + diff --git a/hledger/test/ledger-compat/regress/1CF1EEC2.test b/hledger/test/ledger-compat/regress/1CF1EEC2.test new file mode 100644 index 000000000..8f3ac533d --- /dev/null +++ b/hledger/test/ledger-compat/regress/1CF1EEC2.test @@ -0,0 +1,26 @@ +2009/01/01 sample + Assets:Super:ARF $1000.00 + Assets:Super:CSS $1000.00 + Assets:Super:CSS:Contributions $1000.00 + Income:Opening Balances + +2009/02/01 sample + Assets:Super:ARF $1000.00 + Assets:Super:CSS $1000.00 + Assets:Super:CSS:Contributions $1000.00 + Income:Opening Balances + +2009/03/01 sample + Assets:Super:ARF $1000.00 + Assets:Super:CSS $1000.00 + Assets:Super:CSS:Contributions $1000.00 + Income:Opening Balances + +comment +test equity assets +2009/03/01 Opening Balances + Assets:Super:ARF $3000.00 + Assets:Super:CSS $3000.00 + Assets:Super:CSS:Contributions $3000.00 + Equity:Opening Balances $-9000.00 +end test diff --git a/hledger/test/ledger-compat/regress/1D275740.test b/hledger/test/ledger-compat/regress/1D275740.test new file mode 100644 index 000000000..20cca79a1 --- /dev/null +++ b/hledger/test/ledger-compat/regress/1D275740.test @@ -0,0 +1,176 @@ +D 1.200,40 € + +1999/11/01 * Achat + Actif:SSB 125 STK + Actif:SSB -1672,42 $ + +1999/11/04 * Vente + Actif:SSB -125 STK + Dépense:SSB:Commissions 55,07 $ + Actif:SSB 1821,54 $ + +2001/05/01 * Vente + Actif:SSEA -188,7974 STK @ 14,200 $ + Dépense:SSEA:Commissions 19,60 $ + Actif:SSEA 2661,32 $ + +2001/12/21 * Achat + Actif:LPG 7,34316 AMD @ 200,340 € + Actif:LPG -1471,13 € + +2002/12/31 * Réinv. des dividendes + Actif:LPG 0,03032 AMD @ 135,060 € + Revenu:Dividende:AMD -4,10 € + +2003/12/31 * Réinv. des dividendes + Actif:LPG 0,02356 AMD @ 147,830 € + Revenu:Dividende:AMD -3,48 € + +2004/02/17 * Vente + Actif:LPG -7,39704 AMD @ 148,860 € + Actif:LPG 1101,12 € + +2005/12/31 * Réinv. des dividendes + Actif:LPG 0,87704 LAPD @ 22,680 € + Revenu:Dividende:LAPD -19,89 € + +2006/06/30 * Achat + Actif:CPE 54,7328 PM @ 33,200 € + Actif:CPE -1817,13 € + +2006/06/30 * Achat + Actif:CPE 13,8913 PM @ 33,200 € + Actif:CPE -461,19 € + +2007/04/01 Achat + Actif:SV 0,2087 CE @ 622,900 € + Actif:BC -130,00 € + +2007/12/27 Vente + Actif:SV -0,2086 EA @ 183,800 € + Actif:SV 38,34 € + +2008/01/01 Achat + Actif:SV 0,1757 CE @ 739,900 € + Actif:BC -130,00 € + +2008/02/01 Achat + Actif:SV 3,1863 EA @ 163,200 € + Actif:BC -520,00 € + +2008/05/01 Achat + Actif:SV 0,2599 CE @ 654,100 € + Actif:BC -170,00 € + +2008/10/30 Vente + Actif:SV -0,0405 CD @ 155,800 € + Actif:SV 6,31 € + +2008/12/31 Vente + Actif:SV -0,0357 MFE @ 259,100 € + Actif:SV 9,25 € + +2009/06/29 Vente + Actif:SV -0,0786 CD @ 155,600 € + Actif:SV 12,23 € + +2009/07/30 Vente + Actif:SV -0,0417 MFE @ 321,100 € + Actif:SV 13,39 € + +2009/08/01 Achat + Actif:SV 1,0204 MFE @ 333,200 € + Actif:BC -340,00 € + +2009/09/29 Vente + Actif:SV -0,0415 MFE @ 358,800 € + Actif:SV 14,89 € + +comment +test print +1999/11/01 * Achat + Actif:SSB 125,0000 STK + Actif:SSB -1672,42 $ + +1999/11/04 * Vente + Actif:SSB -125,0000 STK + Dépense:SSB:Commissions 55,07 $ + Actif:SSB 1821,54 $ + +2001/05/01 * Vente + Actif:SSEA -188,7974 STK @ 14,20 $ + Dépense:SSEA:Commissions 19,60 $ + Actif:SSEA 2661,32 $ + +2001/12/21 * Achat + Actif:LPG 7,34316 AMD @ 200,34 € + Actif:LPG -1.471,13 € + +2002/12/31 * Réinv. des dividendes + Actif:LPG 0,03032 AMD @ 135,06 € + Revenu:Dividende:AMD -4,10 € + +2003/12/31 * Réinv. des dividendes + Actif:LPG 0,02356 AMD @ 147,83 € + Revenu:Dividende:AMD -3,48 € + +2004/02/17 * Vente + Actif:LPG -7,39704 AMD @ 148,86 € + Actif:LPG 1.101,12 € + +2005/12/31 * Réinv. des dividendes + Actif:LPG 0,87704 LAPD @ 22,68 € + Revenu:Dividende:LAPD -19,89 € + +2006/06/30 * Achat + Actif:CPE 54,7328 PM @ 33,20 € + Actif:CPE -1.817,13 € + +2006/06/30 * Achat + Actif:CPE 13,8913 PM @ 33,20 € + Actif:CPE -461,19 € + +2007/04/01 Achat + Actif:SV 0,2087 CE @ 622,90 € + Actif:BC -130,00 € + +2007/12/27 Vente + Actif:SV -0,2086 EA @ 183,80 € + Actif:SV 38,34 € + +2008/01/01 Achat + Actif:SV 0,1757 CE @ 739,90 € + Actif:BC -130,00 € + +2008/02/01 Achat + Actif:SV 3,1863 EA @ 163,20 € + Actif:BC -520,00 € + +2008/05/01 Achat + Actif:SV 0,2599 CE @ 654,10 € + Actif:BC -170,00 € + +2008/10/30 Vente + Actif:SV -0,0405 CD @ 155,80 € + Actif:SV 6,31 € + +2008/12/31 Vente + Actif:SV -0,0357 MFE @ 259,10 € + Actif:SV 9,25 € + +2009/06/29 Vente + Actif:SV -0,0786 CD @ 155,60 € + Actif:SV 12,23 € + +2009/07/30 Vente + Actif:SV -0,0417 MFE @ 321,10 € + Actif:SV 13,39 € + +2009/08/01 Achat + Actif:SV 1,0204 MFE @ 333,20 € + Actif:BC -340,00 € + +2009/09/29 Vente + Actif:SV -0,0415 MFE @ 358,80 € + Actif:SV 14,89 € +end test diff --git a/hledger/test/ledger-compat/regress/1E192DF6.test b/hledger/test/ledger-compat/regress/1E192DF6.test new file mode 100644 index 000000000..76e15b7c2 --- /dev/null +++ b/hledger/test/ledger-compat/regress/1E192DF6.test @@ -0,0 +1,58 @@ +; -*- ledger -*- +D 1000,00 PLN +N $ +N h +N PLN +N zł +C 1,00 PLN = 1,00 + +2010-05-19 * ŁUKASZ STELMACH + Assets:Checking:Konto24 GBP 200,00 GBP @ 4,8799 PLN ; fikimiki + Assets:Checking:Konto<30 -975,98 PLN + +2010-05-19 * ŁUKASZ STELMACH + Assets:Checking:Konto24 GBP 200,00 GBP @ 4,8799 PLN ; fikimiki + Assets:Checking:Konto<30 -975,98 PLN + +2010-05-19 * ŁUKASZ STELMACH + Assets:Checking:Konto<30 -975,98 PLN @ 0,204922 GBP + Assets:Checking:Konto24 GBP 200,00 GBP ; fikimiki + +2010-05-19 * ŁUKASZ STELMACH + Assets:Checking:Konto<30 -975,98 PLN @ 0,204922 GBP + Assets:Checking:Konto24 GBP 200,00 GBP ; fikimiki + +2010-05-19 * ŁUKASZ STELMACH + Assets:Checking:Konto24 GBP 200,00 GBP @ 4,8799 PLN ; fikimiki + Assets:Checking:Konto<30 -975,98 PLN + +2010-05-19 * ŁUKASZ STELMACH + Assets:Checking:Konto24 GBP 200,00 GBP @ 4,8799 PLN ; fikimiki + Assets:Checking:Konto<30 -975,98 PLN + +comment +test reg +10-May-19 ŁUKASZ STELMACH As:Checkin:Konto24 GBP 200,00 GBP 200,00 GBP + Asse:Checking:Konto<30 -975.98 -975.98 + 200,00 GBP +10-May-19 ŁUKASZ STELMACH As:Checkin:Konto24 GBP 200,00 GBP -975.98 + 400,00 GBP + Asse:Checking:Konto<30 -975.98 -1951.96 + 400,00 GBP +10-May-19 ŁUKASZ STELMACH Asse:Checking:Konto<30 -975.98 -2927.94 + 400,00 GBP + As:Checkin:Konto24 GBP 200,00 GBP -2927.94 + 600,00 GBP +10-May-19 ŁUKASZ STELMACH Asse:Checking:Konto<30 -975.98 -3903.92 + 600,00 GBP + As:Checkin:Konto24 GBP 200,00 GBP -3903.92 + 800,00 GBP +10-May-19 ŁUKASZ STELMACH As:Checkin:Konto24 GBP 200,00 GBP -3903.92 + 1000,00 GBP + Asse:Checking:Konto<30 -975.98 -4879.9 + 1000,00 GBP +10-May-19 ŁUKASZ STELMACH As:Checkin:Konto24 GBP 200,00 GBP -4879.9 + 1200,00 GBP + Asse:Checking:Konto<30 -975.98 -5855.88 + 1200,00 GBP +end test diff --git a/hledger/test/ledger-compat/regress/2001.test b/hledger/test/ledger-compat/regress/2001.test new file mode 100644 index 000000000..ab26c205f --- /dev/null +++ b/hledger/test/ledger-compat/regress/2001.test @@ -0,0 +1,13 @@ +2021/4/1 Was Already Working + Expenses:Something (3 - 1) + Assets:Cash + +2021/4/2 Now Fixed + Expenses:Something (3-1) + Assets:Cash + +comment +test reg exp +21-Apr-01 Was Already Working Expenses:Something 2 2 +21-Apr-02 Now Fixed Expenses:Something 2 4 +end test diff --git a/hledger/test/ledger-compat/regress/2057.test b/hledger/test/ledger-compat/regress/2057.test new file mode 100644 index 000000000..4fe813327 --- /dev/null +++ b/hledger/test/ledger-compat/regress/2057.test @@ -0,0 +1,13 @@ +C 1 "" = 1 $ + +2021-01-01 Test + A $10 + B + +comment +test bal + 10 A + -10 B +-------------------- + 0 +end test diff --git a/hledger/test/ledger-compat/regress/2058_1.test b/hledger/test/ledger-compat/regress/2058_1.test new file mode 100644 index 000000000..640664f54 --- /dev/null +++ b/hledger/test/ledger-compat/regress/2058_1.test @@ -0,0 +1,9 @@ +2021/1/2 Test + A $1.00 + B + +comment +test -p 'last %^@' bal -> 1 +__ERROR__ +Error: Invalid char '%' +end test diff --git a/hledger/test/ledger-compat/regress/2058_2.test b/hledger/test/ledger-compat/regress/2058_2.test new file mode 100644 index 000000000..cad6ab0f8 --- /dev/null +++ b/hledger/test/ledger-compat/regress/2058_2.test @@ -0,0 +1,12 @@ +2021/1/2 Test + A $1.00 + B + +comment +test --limit 'date>=[2020/12/31' register A -> 1 +__ERROR__ +While parsing value expression: + (date>=[2020/12/31)&((account =~ /A/)) + +Error: Missing ']' +end test diff --git a/hledger/test/ledger-compat/regress/2069.test b/hledger/test/ledger-compat/regress/2069.test new file mode 100644 index 000000000..d7b50cbf6 --- /dev/null +++ b/hledger/test/ledger-compat/regress/2069.test @@ -0,0 +1,17 @@ +P 2021-01-01 EUR 1.15 USD + +2021-01-01 Test 1 + A 100 USD + B + +2021-01-01 Test 2 + A 100 EUR + B + +comment +test -X USD --sort display_amount reg +21-Jan-01 Test 2 B -115 USD -115 USD +21-Jan-01 Test 1 B -100 USD -215 USD + A 100 USD -115 USD +21-Jan-01 Test 2 A 115 USD 0 +end test diff --git a/hledger/test/ledger-compat/regress/2109.test b/hledger/test/ledger-compat/regress/2109.test new file mode 100644 index 000000000..fda3cb99e --- /dev/null +++ b/hledger/test/ledger-compat/regress/2109.test @@ -0,0 +1,24 @@ +2021/11/22 Entry + Assets:Foo 100 FOO (Note) {$43.44} + Income:Bar + +2021/11/22 Entry + Assets:Foo 100 FOO (Misc) {$45.44} = 200 FOO + Income:Bar + +2021/11/22 Entry + Assets:Foo $100 + Income:Bar + +2021/11/22 Balance Check + Assets:Foo 0 FOO = 200 FOO + +comment +test reg +21-Nov-22 Entry Assets:Foo 100 FOO 100 FOO + Income:Bar -100 FOO 0 +21-Nov-22 Entry Assets:Foo 100 FOO 100 FOO + Income:Bar -100 FOO 0 +21-Nov-22 Entry Assets:Foo $100 $100 + Income:Bar $-100 0 +end test diff --git a/hledger/test/ledger-compat/regress/25A099C9.dat b/hledger/test/ledger-compat/regress/25A099C9.dat new file mode 100644 index 000000000..1b7d21012 --- /dev/null +++ b/hledger/test/ledger-compat/regress/25A099C9.dat @@ -0,0 +1,793 @@ +/* + * Copyright (c) 2003-2012, John Wiegley. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * - Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * - Neither the name of New Artisans LLC nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/** + * @defgroup math Mathematical objects + */ + +/** + * @file amount.h + * @author John Wiegley + * + * @ingroup math + * + * @brief Basic type for handling commoditized math: amount_t + * + * An amount is the most basic numerical type in Ledger, and relies on + * commodity.h to represent commoditized amounts, which allows Ledger to + * handle mathematical expressions involving disparate commodities. + * + * Amounts can be of virtually infinite size and precision. When + * division or multiplication is performed, the precision is + * automatically expanded to include as many extra digits as necessary + * to avoid losing information. + */ +#ifndef _AMOUNT_H +#define _AMOUNT_H + +#include "utils.h" +#include "times.h" +#include "flags.h" + +namespace ledger { + +class commodity_t; +struct annotation_t; +struct keep_details_t; + +DECLARE_EXCEPTION(amount_error, std::runtime_error); + +enum parse_flags_enum_t { + PARSE_DEFAULT = 0x00, + PARSE_PARTIAL = 0x01, + PARSE_SINGLE = 0x02, + PARSE_NO_MIGRATE = 0x04, + PARSE_NO_REDUCE = 0x08, + PARSE_NO_ASSIGN = 0x10, + PARSE_NO_ANNOT = 0x20, + PARSE_OP_CONTEXT = 0x40, + PARSE_SOFT_FAIL = 0x80 +}; + +typedef basic_flags_t parse_flags_t; + +/** + * @brief Encapsulate infinite-precision commoditized amounts + * + * Used to represent commoditized infinite-precision numbers, and + * uncommoditized, plain numbers. In the commoditized case, commodities + * keep track of how they are used, and are always displayed back to the + * user after the same fashion. For uncommoditized numbers, no display + * truncation is ever done. In both cases, internal precision is always + * kept to an excessive degree. + */ +class amount_t + : public ordered_field_operators > > > +{ +public: + /** Ready the amount subsystem for use. + @note Normally called by session_t::initialize(). */ + static void initialize(); + /** Shutdown the amount subsystem and free all resources. + @note Normally called by session_t::shutdown(). */ + static void shutdown(); + + static bool is_initialized; + + /** The amount's decimal precision. */ + typedef uint_least16_t precision_t; + + /** Number of places of precision by which values are extended to + avoid losing precision during division and multiplication. */ + static const std::size_t extend_by_digits = 6U; + + /** If amounts should be streamed using to_fullstring() rather than + to_string(), so that complete precision is always displayed no matter + what the precision of an individual commodity may be. */ + static bool stream_fullstrings; + +protected: + void _copy(const amount_t& amt); + void _dup(); + void _clear(); + void _release(); + + struct bigint_t; + + bigint_t * quantity; + commodity_t * commodity_; + +public: + /** @name Constructors + @{ */ + + /** Creates a value for which is_null() is true, and which has no + value or commodity. If used in a value expression it evaluates to + zero, and its commodity equals \c commodity_t::null_commodity. */ + amount_t() : quantity(NULL), commodity_(NULL) { + TRACE_CTOR(amount_t, ""); + } + + /** Convert a double to an amount. As much precision as possible is + decoded from the binary floating point number. */ + amount_t(const double val); + + /** Convert an unsigned long to an amount. It's precision is zero. */ + amount_t(const unsigned long val); + + /** Convert a long to an amount. It's precision is zero, and the sign + is preserved. */ + amount_t(const long val); + + /** Parse a string as an (optionally commoditized) amount. If no + commodity is present, the resulting commodity is \c + commodity_t::null_commodity. The number may be of infinite + precision. */ + explicit amount_t(const string& val) : quantity(NULL) { + parse(val); + TRACE_CTOR(amount_t, "const string&"); + } + /** Parse a pointer to a C string as an (optionally commoditized) + amount. If no commodity is present, the resulting commodity is \c + commodity_t::null_commodity. The number may be of infinite + precision. */ + explicit amount_t(const char * val) : quantity(NULL) { + assert(val); + parse(val); + TRACE_CTOR(amount_t, "const char *"); + } + + /*@}*/ + + /** Create an amount whose display precision is never truncated, even + if the amount uses a commodity (which normally causes "round on + streaming" to occur). This function is mostly used by debugging + code and unit tests. This is the proper way to specify \c + $100.005, where display of the extra digit precision is required. + If a regular constructor were used, the amount would stream as \c + $100.01, even though its internal value equals \c $100.005. */ + static amount_t exact(const string& value); + + /** Release the reference count held for the underlying \c + amount_t::bigint_t object. */ + ~amount_t() { + TRACE_DTOR(amount_t); + if (quantity) + _release(); + } + + /** @name Assignment and copy + @{*/ + + /** Copy an amount object. Copies are very efficient, using a + copy-on-write model. Until the copy is changed, it refers to the + same memory used by the original via reference counting. The \c + amount_t::bigint_t class in amount.cc maintains the reference. */ + amount_t(const amount_t& amt) : quantity(NULL) { + if (amt.quantity) + _copy(amt); + else + commodity_ = NULL; + TRACE_CTOR(amount_t, "copy"); + } + /** Copy an amount object, applying the given commodity annotation + details afterward. This is equivalent to doing a normal copy + (@see amount_t(const amount_t&)) and then calling + amount_t::annotate(). */ + amount_t(const amount_t& amt, const annotation_t& details) : quantity(NULL) { + assert(amt.quantity); + _copy(amt); + annotate(details); + TRACE_CTOR(amount_t, "const amount_t&, const annotation_t&"); + } + /** Assign an amount object. This is like copying if the amount was + null beforehand, otherwise the previous value's reference is must + be freed. */ + amount_t& operator=(const amount_t& amt); + + amount_t& operator=(const double val) { + return *this = amount_t(val); + } + amount_t& operator=(const unsigned long val) { + return *this = amount_t(val); + } + amount_t& operator=(const long val) { + return *this = amount_t(val); + } + + /* Assign a string to an amount. This causes the contents of the + string to be parsed, look for a commoditized or uncommoditized + amount specifier. */ + amount_t& operator=(const string& str) { + return *this = amount_t(str); + } + amount_t& operator=(const char * str) { + assert(str); + return *this = amount_t(str); + } + + /*@}*/ + + /** @name Comparison + @{ */ + + /** Compare two amounts, returning a number less than zero if \p amt + is greater, exactly zero if they are equal, and greater than zero + if \p amt is less. This method is used to implement all of the + other comparison methods.*/ + int compare(const amount_t& amt) const; + + /** Test two amounts for equality. First the commodity pointers are + quickly tested, then the multi-precision values themselves must be + compared. */ + bool operator==(const amount_t& amt) const; + + template + bool operator==(const T& val) const { + return compare(val) == 0; + } + template + bool operator<(const T& amt) const { + return compare(amt) < 0; + } + template + bool operator>(const T& amt) const { + return compare(amt) > 0; + } + + /*@}*/ + + /** @name Binary arithmetic + */ + /*@{*/ + + amount_t& operator+=(const amount_t& amt); + amount_t& operator-=(const amount_t& amt); + amount_t& operator*=(const amount_t& amt) { + return multiply(amt); + } + amount_t& multiply(const amount_t& amt, bool ignore_commodity = false); + + /** Divide two amounts while extending the precision to preserve the + accuracy of the result. For example, if \c 10 is divided by \c 3, + the result ends up having a precision of \link + amount_t::extend_by_digits \endlink place to avoid losing internal + resolution. */ + amount_t& operator/=(const amount_t& amt); + + /*@}*/ + + /** @name Unary arithmetic + @{ */ + + /** Return an amount's internal precision. To find the precision it + should be displayed at -- assuming it was not created using + amount_t::exact() -- use the following expression instead: + @code + amount.commodity().precision() + @endcode */ + precision_t precision() const; + bool keep_precision() const; + void set_keep_precision(const bool keep = true) const; + precision_t display_precision() const; + + /** Returns the negated value of an amount. + @see operator-() + */ + amount_t negated() const { + amount_t temp(*this); + temp.in_place_negate(); + return temp; + } + void in_place_negate(); + + amount_t operator-() const { + return negated(); + } + + /** Returns the absolute value of an amount. Equivalent to: + @code + (x < * 0) ? - x : x + @endcode + */ + amount_t abs() const { + if (sign() < 0) + return negated(); + return *this; + } + + amount_t inverted() const { + amount_t temp(*this); + temp.in_place_invert(); + return temp; + } + void in_place_invert(); + + /** Yields an amount whose display precision when output is truncated + to the display precision of its commodity. This is normally the + default state of an amount, but if one has become unrounded, this + sets the "keep precision" state back to false. + @see set_keep_precision */ + amount_t rounded() const { + amount_t temp(*this); + temp.in_place_round(); + return temp; + } + void in_place_round(); + + /** Yields an amount which has lost all of its extra precision, beyond what + the display precision of the commodity would have printed. */ + amount_t truncated() const { + amount_t temp(*this); + temp.in_place_truncate(); + return temp; + } + void in_place_truncate(); + + /** Yields an amount which has lost all of its extra precision, beyond what + the display precision of the commodity would have printed. */ + amount_t floored() const { + amount_t temp(*this); + temp.in_place_floor(); + return temp; + } + void in_place_floor(); + + /** Yields an amount which has lost all of its extra precision, beyond what + the display precision of the commodity would have printed. */ + amount_t ceilinged() const { + amount_t temp(*this); + temp.in_place_ceiling(); + return temp; + } + void in_place_ceiling(); + + /** Yields an amount whose display precision is never truncated, even + though its commodity normally displays only rounded values. */ + amount_t unrounded() const { + amount_t temp(*this); + temp.in_place_unround(); + return temp; + } + void in_place_unround(); + + /** reduces a value to its most basic commodity form, for amounts that + utilize "scaling commodities". For example, an amount of \c 1h + after reduction will be \c 3600s. + */ + amount_t reduced() const { + amount_t temp(*this); + temp.in_place_reduce(); + return temp; + } + void in_place_reduce(); + + /** unreduce(), if used with a "scaling commodity", yields the most + compact form greater than one. That is, \c 3599s will unreduce to + \c 59.98m, while \c 3601 unreduces to \c 1h. + */ + amount_t unreduced() const { + amount_t temp(*this); + temp.in_place_unreduce(); + return temp; + } + void in_place_unreduce(); + + /** Returns the historical value for an amount -- the default moment + returns the most recently known price -- based on the price history + for the given commodity (or determined automatically, if none is + provided). For example, if the amount were 10 AAPL, and + on Apr 10, 2000 each share of \c AAPL was worth \c $10, then + calling value() for that moment in time would yield the amount \c + $100.00. + */ + optional + value(const datetime_t& moment = datetime_t(), + const commodity_t * in_terms_of = NULL) const; + + optional price() const; + + /*@}*/ + + /** @name Truth tests + */ + /*@{*/ + + /** Truth tests. An amount may be truth test in several ways: + + sign() returns an integer less than, greater than, or equal to + zero depending on whether the amount is negative, zero, or + greater than zero. Note that this function tests the actual + value of the amount -- using its internal precision -- and not + the display value. To test its display value, use: + `round().sign()'. + + is_nonzero(), or operator bool, returns true if an amount's + display value is not zero. + + is_zero() returns true if an amount's display value is zero. + Thus, $0.0001 is considered zero if the current display precision + for dollars is two decimal places. + + is_realzero() returns true if an amount's actual value is zero. + Thus, $0.0001 is never considered realzero. + + is_null() returns true if an amount has no value and no + commodity. This only occurs if an uninitialized amount has never + been assigned a value. + */ + int sign() const; + + operator bool() const { + return is_nonzero(); + } + bool is_nonzero() const { + return ! is_zero(); + } + + bool is_zero() const; + bool is_realzero() const { + return sign() == 0; + } + + bool is_null() const { + if (! quantity) { + assert(! commodity_); + return true; + } + return false; + } + + /*@}*/ + + /** @name Conversion + */ + /*@{*/ + + /** Conversion methods. An amount may be converted to the same types + it can be constructed from -- with the exception of unsigned + long. Implicit conversions are not allowed in C++ (though they + are in Python), rather the following conversion methods must be + called explicitly: + + to_double([bool]) returns an amount as a double. If the optional + boolean argument is true (the default), an exception is thrown if + the conversion would lose information. + + to_long([bool]) returns an amount as a long integer. If the + optional boolean argument is true (the default), an exception is + thrown if the conversion would lose information. + + fits_in_long() returns true if to_long() would not lose + precision. + + to_string() returns an amount'ss "display value" as a string -- + after rounding the value according to the commodity's default + precision. It is equivalent to: `round().to_fullstring()'. + + to_fullstring() returns an amount's "internal value" as a string, + without any rounding. + + quantity_string() returns an amount's "display value", but + without any commodity. Note that this is different from + `number().to_string()', because in that case the commodity has + been stripped and the full, internal precision of the amount + would be displayed. + */ + double to_double() const; + long to_long() const; + bool fits_in_long() const; + + operator string() const { + return to_string(); + } + string to_string() const; + string to_fullstring() const; + string quantity_string() const; + + /*@}*/ + + /** @name Commodity methods + */ + /*@{*/ + + /** The following methods relate to an + amount's commodity: + + commodity() returns an amount's commodity. If the amount has no + commodity, the value returned is the `null_commodity'. + + has_commodity() returns true if the amount has a commodity. + + set_commodity(commodity_t) sets an amount's commodity to the + given value. Note that this merely sets the current amount to + that commodity, it does not "observe" the amount for possible + changes in the maximum display precision of the commodity, the + way that `parse' does. + + clear_commodity() sets an amount's commodity to null, such that + has_commodity() afterwards returns false. + + number() returns a commodity-less version of an amount. This is + useful for accessing just the numeric portion of an amount. + */ + commodity_t * commodity_ptr() const; + commodity_t& commodity() const { + return *commodity_ptr(); + } + + bool has_commodity() const; + void set_commodity(commodity_t& comm) { + if (! quantity) + *this = 0L; + commodity_ = &comm; + } + amount_t with_commodity(const commodity_t& comm) const { + if (commodity_ == &comm) { + return *this; + } else { + amount_t tmp(*this); + tmp.set_commodity(const_cast(comm)); + return tmp; + } + } + void clear_commodity() { + commodity_ = NULL; + } + + amount_t number() const { + if (! has_commodity()) + return *this; + + amount_t temp(*this); + temp.clear_commodity(); + return temp; + } + + /*@}*/ + + /** @name Commodity annotations + */ + /*@{*/ + + /** An amount's commodity may be annotated with special details, such as the + price it was purchased for, when it was acquired, or an arbitrary note, + identifying perhaps the lot number of an item. + + annotate_commodity(amount_t price, [datetime_t date, string tag]) + sets the annotations for the current amount's commodity. Only + the price argument is required, although it can be passed as + `none' if no price is desired. + + commodity_annotated() returns true if an amount's commodity has + any annotation details associated with it. + + annotation_details() returns all of the details of an annotated + commodity's annotations. The structure returns will evaluate as + boolean false if there are no details. + + strip_annotations() returns an amount whose commodity's annotations have + been stripped. + */ + void annotate(const annotation_t& details); + bool has_annotation() const; + + annotation_t& annotation(); + const annotation_t& annotation() const { + return const_cast(*this).annotation(); + } + + /** If the lot price is considered whenever working with commoditized + values. + + Let's say a user adds two values of the following form: + @code + 10 AAPL + 10 AAPL {$20} + @endcode + + This expression adds ten shares of Apple stock with another ten + shares that were purchased for \c $20 a share. If \c keep_price + is false, the result of this expression is an amount equal to + 20 AAPL. If \c keep_price is \c true the expression + yields an exception for adding amounts with different commodities. + In that case, a \link balance_t \endlink object must be used to + store the combined sum. */ + amount_t strip_annotations(const keep_details_t& what_to_keep) const; + + /*@}*/ + + /** @name Parsing + */ + /*@{*/ + + /** The `flags' argument of both parsing may be one or more of the + following: + + PARSE_NO_MIGRATE means to not pay attention to the way an + amount is used. Ordinarily, if an amount were $100.001, for + example, it would cause the default display precision for $ to be + "widened" to three decimal places. If PARSE_NO_MIGRATE is + used, the commodity's default display precision is not changed. + + PARSE_NO_REDUCE means not to call in_place_reduce() on the + resulting amount after it is parsed. + + These parsing methods observe the amounts they parse (unless + PARSE_NO_MIGRATE is true), and set the display details of + the corresponding commodity accordingly. This way, amounts do + not require commodities to be pre-defined in any way, but merely + displays them back to the user in the same fashion as it saw them + used. + + There is also a static convenience method called + `parse_conversion' which can be used to define a relationship + between scaling commodity values. For example, Ledger uses it to + define the relationships among various time values: + + @code + amount_t::parse_conversion("1.0m", "60s"); // a minute is 60 seconds + amount_t::parse_conversion("1.0h", "60m"); // an hour is 60 minutes + @endcode + + The method parse() is used to parse an amount from an input stream + or a string. A global operator>>() is also defined which simply + calls parse on the input stream. The parse() method has two forms: + + parse(istream, flags_t) parses an amount from the given input + stream. + + parse(string, flags_t) parses an amount from the given string. + + parse(string, flags_t) also parses an amount from a string. + */ + bool parse(std::istream& in, + const parse_flags_t& flags = PARSE_DEFAULT); + bool parse(const string& str, + const parse_flags_t& flags = PARSE_DEFAULT) { + std::istringstream stream(str); + bool result = parse(stream, flags); + return result; + } + + static void parse_conversion(const string& larger_str, + const string& smaller_str); + + /*@}*/ + + /** @name Printing + */ + /*@{*/ + + /** An amount may be output to a stream using the `print' method. There is + also a global operator<< defined which simply calls print for an amount + on the given stream. There is one form of the print method, which takes + one required argument and two arguments with default values: + + print(ostream, bool omit_commodity = false, bool full_precision = false) + prints an amounts to the given output stream, using its commodity's + default display characteristics. If `omit_commodity' is true, the + commodity will not be displayed, only the amount (although the + commodity's display precision is still used). If `full_precision' is + true, the full internal precision of the amount is displayed, regardless + of its commodity's display precision. + */ +#define AMOUNT_PRINT_NO_FLAGS 0x00 +#define AMOUNT_PRINT_RIGHT_JUSTIFY 0x01 +#define AMOUNT_PRINT_COLORIZE 0x02 +#define AMOUNT_PRINT_NO_COMPUTED_ANNOTATIONS 0x04 +#define AMOUNT_PRINT_ELIDE_COMMODITY_QUOTES 0x08 + + void print(std::ostream& out, + const uint_least8_t flags = AMOUNT_PRINT_NO_FLAGS) const; + + /*@}*/ + + /** @name Debugging + */ + /*@{*/ + + /** There are two methods defined to help with debugging: + + dump(ostream) dumps an amount to an output stream. There is + little different from print(), it simply surrounds the display + value with a marker, for example "AMOUNT($1.00)". This code is + used by other dumping code elsewhere in Ledger. + + valid() returns true if an amount is valid. This ensures that if + an amount has a commodity, it has a valid value pointer, for + example, even if that pointer simply points to a zero value. + */ + void dump(std::ostream& out) const { + out << "AMOUNT("; + print(out); + out << ")"; + } + + bool valid() const; + +#if HAVE_BOOST_SERIALIZATION +private: + /** Serialization. */ + + friend class boost::serialization::access; + + template + void serialize(Archive& ar, const unsigned int /* version */); +#endif // HAVE_BOOST_SERIALIZATION + + /*@}*/ +}; + +inline amount_t amount_t::exact(const string& value) { + amount_t temp; + temp.parse(value, PARSE_NO_MIGRATE); + return temp; +} + +inline string amount_t::to_string() const { + std::ostringstream bufstream; + print(bufstream); + return bufstream.str(); +} + +inline string amount_t::to_fullstring() const { + std::ostringstream bufstream; + unrounded().print(bufstream); + return bufstream.str(); +} + +inline string amount_t::quantity_string() const { + std::ostringstream bufstream; + number().print(bufstream); + return bufstream.str(); +} + +inline std::ostream& operator<<(std::ostream& out, const amount_t& amt) { + if (amount_t::stream_fullstrings) + amt.unrounded().print(out); + else + amt.print(out); + return out; +} +inline std::istream& operator>>(std::istream& in, amount_t& amt) { + amt.parse(in); + return in; +} + +void put_amount(property_tree::ptree& pt, const amount_t& amt, + bool wrap = true, bool commodity_details = false); + +} // namespace ledger + +#endif // _AMOUNT_H diff --git a/hledger/test/ledger-compat/regress/25A099C9.test b/hledger/test/ledger-compat/regress/25A099C9.test new file mode 100644 index 000000000..70357abfa --- /dev/null +++ b/hledger/test/ledger-compat/regress/25A099C9.test @@ -0,0 +1,62 @@ +comment +test -f test/regress/25A099C9.dat reg -> 29 +__ERROR__ +While parsing file "$sourcepath/test/regress/25A099C9.dat", line 1: +Error: Directive '/*' requires an argument +While parsing file "$sourcepath/test/regress/25A099C9.dat", line 32: +Error: Directive '/**' requires an argument +While parsing file "$sourcepath/test/regress/25A099C9.dat", line 36: +Error: Directive '/**' requires an argument +While parsing file "$sourcepath/test/regress/25A099C9.dat", line 66: +Error: No quantity specified for amount +While parsing file "$sourcepath/test/regress/25A099C9.dat", line 69: +Error: Unexpected whitespace at beginning of line +While parsing file "$sourcepath/test/regress/25A099C9.dat", line 78: +Error: Directive '};' requires an argument +While parsing file "$sourcepath/test/regress/25A099C9.dat", line 82: +Error: Directive '/**' requires an argument +While parsing file "$sourcepath/test/regress/25A099C9.dat", line 93: +Error: Unexpected whitespace at beginning of line +While parsing file "$sourcepath/test/regress/25A099C9.dat", line 97: +Error: Directive '{' requires an argument +While parsing file "$sourcepath/test/regress/25A099C9.dat", line 98: +Error: Directive 'public:' requires an argument +While parsing file "$sourcepath/test/regress/25A099C9.dat", line 120: +Error: Directive 'protected:' requires an argument +While parsing file "$sourcepath/test/regress/25A099C9.dat", line 131: +Error: Directive 'public:' requires an argument +While parsing file "$sourcepath/test/regress/25A099C9.dat", line 711: +Error: Unexpected whitespace at beginning of line +While parsing file "$sourcepath/test/regress/25A099C9.dat", line 740: +Error: Directive 'private:' requires an argument +While parsing file "$sourcepath/test/regress/25A099C9.dat", line 749: +Error: Unexpected whitespace at beginning of line +While parsing file "$sourcepath/test/regress/25A099C9.dat", line 750: +Error: Directive '};' requires an argument +While parsing file "$sourcepath/test/regress/25A099C9.dat", line 752: +Error: Invalid date/time: line amount_t amoun +While parsing file "$sourcepath/test/regress/25A099C9.dat", line 756: +Error: Directive '}' requires an argument +While parsing file "$sourcepath/test/regress/25A099C9.dat", line 758: +Error: Invalid date/time: line string amount_ +While parsing file "$sourcepath/test/regress/25A099C9.dat", line 762: +Error: Directive '}' requires an argument +While parsing file "$sourcepath/test/regress/25A099C9.dat", line 764: +Error: Invalid date/time: line string amount_ +While parsing file "$sourcepath/test/regress/25A099C9.dat", line 768: +Error: Directive '}' requires an argument +While parsing file "$sourcepath/test/regress/25A099C9.dat", line 770: +Error: Invalid date/time: line string amount_ +While parsing file "$sourcepath/test/regress/25A099C9.dat", line 774: +Error: Directive '}' requires an argument +While parsing file "$sourcepath/test/regress/25A099C9.dat", line 776: +Error: Invalid date/time: line std::ostream& +While parsing file "$sourcepath/test/regress/25A099C9.dat", line 782: +Error: Directive '}' requires an argument +While parsing file "$sourcepath/test/regress/25A099C9.dat", line 783: +Error: Invalid date/time: line std::istream& +While parsing file "$sourcepath/test/regress/25A099C9.dat", line 786: +Error: Directive '}' requires an argument +While parsing file "$sourcepath/test/regress/25A099C9.dat", line 789: +Error: Unexpected whitespace at beginning of line +end test diff --git a/hledger/test/ledger-compat/regress/2CE7DADB.test b/hledger/test/ledger-compat/regress/2CE7DADB.test new file mode 100644 index 000000000..4d47c795d --- /dev/null +++ b/hledger/test/ledger-compat/regress/2CE7DADB.test @@ -0,0 +1,14 @@ +2012-01-01 * Buy AAA + A 1 AAA @ 1.00 EUR + B -1.00 EUR + +2012-02-01 * Buy AAA + A 1 AAA @ 2.00 EUR + B -2.00 EUR + +comment +test --anon pricedb --format "%(date) %(amount)\n" +2012/01/01 1.00 A +2012/02/01 2.00 A +end test + diff --git a/hledger/test/ledger-compat/regress/2E3496BD.test b/hledger/test/ledger-compat/regress/2E3496BD.test new file mode 100644 index 000000000..d37433866 --- /dev/null +++ b/hledger/test/ledger-compat/regress/2E3496BD.test @@ -0,0 +1,20 @@ +D 1,000.00 USD + +2007-12-31 * Start of year / Opening balances. + Account1 1000 EUR @ 1.6 USD + Account2 -1000 EUR @ 1.5 USD + +comment +test bal -> 1 +__ERROR__ +While parsing file "$FILE", line 5: +While balancing transaction from "$FILE", lines 3-5: +> 2007-12-31 * Start of year / Opening balances. +> Account1 1000 EUR @ 1.6 USD +> Account2 -1000 EUR @ 1.5 USD +Unbalanced remainder is: + 100.00 USD +Amount to balance against: + 1,600.00 USD +Error: Transaction does not balance +end test diff --git a/hledger/test/ledger-compat/regress/370-budget_period_days.test b/hledger/test/ledger-compat/regress/370-budget_period_days.test new file mode 100644 index 000000000..dd1d84660 --- /dev/null +++ b/hledger/test/ledger-compat/regress/370-budget_period_days.test @@ -0,0 +1,28 @@ +;budgets care about start dates +~ every 14 days from 2010/02/23 + Expenses:Bills:Housecleaning $85.00 + Assets:Bank:Checking + +;before Sun aug 01 2010 +;now is Mon jun 21 2010 +;a Tuesday? +; +comment +test reg --budget --now=2010/06/13 +10-Feb-23 Budget transaction Ex:Bills:Housecleaning $-85.00 $-85.00 +10-Feb-23 Budget transaction Assets:Bank:Checking $85.00 0 +10-Mar-09 Budget transaction Ex:Bills:Housecleaning $-85.00 $-85.00 +10-Mar-09 Budget transaction Assets:Bank:Checking $85.00 0 +10-Mar-23 Budget transaction Ex:Bills:Housecleaning $-85.00 $-85.00 +10-Mar-23 Budget transaction Assets:Bank:Checking $85.00 0 +10-Apr-06 Budget transaction Ex:Bills:Housecleaning $-85.00 $-85.00 +10-Apr-06 Budget transaction Assets:Bank:Checking $85.00 0 +10-Apr-20 Budget transaction Ex:Bills:Housecleaning $-85.00 $-85.00 +10-Apr-20 Budget transaction Assets:Bank:Checking $85.00 0 +10-May-04 Budget transaction Ex:Bills:Housecleaning $-85.00 $-85.00 +10-May-04 Budget transaction Assets:Bank:Checking $85.00 0 +10-May-18 Budget transaction Ex:Bills:Housecleaning $-85.00 $-85.00 +10-May-18 Budget transaction Assets:Bank:Checking $85.00 0 +10-Jun-01 Budget transaction Ex:Bills:Housecleaning $-85.00 $-85.00 +10-Jun-01 Budget transaction Assets:Bank:Checking $85.00 0 +end test diff --git a/hledger/test/ledger-compat/regress/370-budget_period_weeks.test b/hledger/test/ledger-compat/regress/370-budget_period_weeks.test new file mode 100644 index 000000000..9cbeb4d72 --- /dev/null +++ b/hledger/test/ledger-compat/regress/370-budget_period_weeks.test @@ -0,0 +1,30 @@ +;budgets care about start dates +~ every 2 weeks from 2010/02/23 + Expenses:Bills:Housecleaning $85.00 + Assets:Bank:Checking + +;before Sun aug 01 2010 +;now is Mon jun 21 2010 +;a Tuesday? +; +comment +test reg --budget --now=2010/06/13 +10-Feb-23 Budget transaction Ex:Bills:Housecleaning $-85.00 $-85.00 +10-Feb-23 Budget transaction Assets:Bank:Checking $85.00 0 +10-Feb-28 Budget transaction Ex:Bills:Housecleaning $-85.00 $-85.00 +10-Feb-28 Budget transaction Assets:Bank:Checking $85.00 0 +10-Mar-14 Budget transaction Ex:Bills:Housecleaning $-85.00 $-85.00 +10-Mar-14 Budget transaction Assets:Bank:Checking $85.00 0 +10-Mar-28 Budget transaction Ex:Bills:Housecleaning $-85.00 $-85.00 +10-Mar-28 Budget transaction Assets:Bank:Checking $85.00 0 +10-Apr-11 Budget transaction Ex:Bills:Housecleaning $-85.00 $-85.00 +10-Apr-11 Budget transaction Assets:Bank:Checking $85.00 0 +10-Apr-25 Budget transaction Ex:Bills:Housecleaning $-85.00 $-85.00 +10-Apr-25 Budget transaction Assets:Bank:Checking $85.00 0 +10-May-09 Budget transaction Ex:Bills:Housecleaning $-85.00 $-85.00 +10-May-09 Budget transaction Assets:Bank:Checking $85.00 0 +10-May-23 Budget transaction Ex:Bills:Housecleaning $-85.00 $-85.00 +10-May-23 Budget transaction Assets:Bank:Checking $85.00 0 +10-Jun-06 Budget transaction Ex:Bills:Housecleaning $-85.00 $-85.00 +10-Jun-06 Budget transaction Assets:Bank:Checking $85.00 0 +end test diff --git a/hledger/test/ledger-compat/regress/370-forecast_period_days.test b/hledger/test/ledger-compat/regress/370-forecast_period_days.test new file mode 100644 index 000000000..5b04b0f57 --- /dev/null +++ b/hledger/test/ledger-compat/regress/370-forecast_period_days.test @@ -0,0 +1,18 @@ +;does not care about start date +~ every 14 days from 2010/02/23 + Expenses:Bills:Housecleaning $85.00 + Assets:Bank:Checking + +;before Sun aug 01 2010 +;now is Mon jun 21 2010 +;a Tuesday? +;forecasts period start is now first forecast transaction is now + 1 'tomorrow' +comment +test reg --forecast 'date <[2010/08/01]' --now=2010/06/13 +10-Jun-27 Forecast transaction Ex:Bills:Housecleaning $85.00 $85.00 +10-Jun-27 Forecast transaction Assets:Bank:Checking $-85.00 0 +10-Jul-11 Forecast transaction Ex:Bills:Housecleaning $85.00 $85.00 +10-Jul-11 Forecast transaction Assets:Bank:Checking $-85.00 0 +10-Jul-25 Forecast transaction Ex:Bills:Housecleaning $85.00 $85.00 +10-Jul-25 Forecast transaction Assets:Bank:Checking $-85.00 0 +end test diff --git a/hledger/test/ledger-compat/regress/370-forecast_period_weeks.test b/hledger/test/ledger-compat/regress/370-forecast_period_weeks.test new file mode 100644 index 000000000..af9425cc1 --- /dev/null +++ b/hledger/test/ledger-compat/regress/370-forecast_period_weeks.test @@ -0,0 +1,17 @@ +;Tuesday +~ every 2 weeks from 2010/02/23 + Expenses:Bills:Housecleaning $85.00 + Assets:Bank:Checking + +;before Sun aug 01 2010 +;now is Mon jun 21 2010 +;a Sunday +comment +test reg --forecast 'date <[2010/08/01]' --now=2010/06/21 +10-Jun-27 Forecast transaction Ex:Bills:Housecleaning $85.00 $85.00 +10-Jun-27 Forecast transaction Assets:Bank:Checking $-85.00 0 +10-Jul-11 Forecast transaction Ex:Bills:Housecleaning $85.00 $85.00 +10-Jul-11 Forecast transaction Assets:Bank:Checking $-85.00 0 +10-Jul-25 Forecast transaction Ex:Bills:Housecleaning $85.00 $85.00 +10-Jul-25 Forecast transaction Assets:Bank:Checking $-85.00 0 +end test diff --git a/hledger/test/ledger-compat/regress/370-period.test b/hledger/test/ledger-compat/regress/370-period.test new file mode 100644 index 000000000..ff2574631 --- /dev/null +++ b/hledger/test/ledger-compat/regress/370-period.test @@ -0,0 +1,444 @@ +;period days should not be aligned + +comment +test period 'every 14 days from 2011/10/03' +--- Period expression tokens --- +TOK_EVERY: every +TOK_INT: 14 +TOK_DAYS: days +TOK_SINCE: since +TOK_DATE: year 2011 month Oct day 3 +END_REACHED: + +--- Before stabilization --- + range: from year 2011 month Oct day 3 +duration: 14 days + +--- After stabilization --- + range: from year 2011 month Oct day 3 + start: 11-Oct-03 +duration: 14 days + +--- Sample dates in range (max. 20) --- + 1: 11-Oct-03 -- 11-Oct-16 + 2: 11-Oct-17 -- 11-Oct-30 + 3: 11-Oct-31 -- 11-Nov-13 + 4: 11-Nov-14 -- 11-Nov-27 + 5: 11-Nov-28 -- 11-Dec-11 + 6: 11-Dec-12 -- 11-Dec-25 + 7: 11-Dec-26 -- 12-Jan-08 + 8: 12-Jan-09 -- 12-Jan-22 + 9: 12-Jan-23 -- 12-Feb-05 +10: 12-Feb-06 -- 12-Feb-19 +11: 12-Feb-20 -- 12-Mar-04 +12: 12-Mar-05 -- 12-Mar-18 +13: 12-Mar-19 -- 12-Apr-01 +14: 12-Apr-02 -- 12-Apr-15 +15: 12-Apr-16 -- 12-Apr-29 +16: 12-Apr-30 -- 12-May-13 +17: 12-May-14 -- 12-May-27 +18: 12-May-28 -- 12-Jun-10 +19: 12-Jun-11 -- 12-Jun-24 +20: 12-Jun-25 -- 12-Jul-08 +end test +;ensure weeks behave as before +test period 'every 1 weeks from 2011/10/03' +--- Period expression tokens --- +TOK_EVERY: every +TOK_INT: 1 +TOK_WEEKS: weeks +TOK_SINCE: since +TOK_DATE: year 2011 month Oct day 3 +END_REACHED: + +--- Before stabilization --- + range: from year 2011 month Oct day 3 +duration: 1 week + +--- After stabilization --- + range: from year 2011 month Oct day 3 + start: 11-Oct-03 +duration: 1 week + +--- Sample dates in range (max. 20) --- + 1: 11-Oct-03 -- 11-Oct-08 + 2: 11-Oct-09 -- 11-Oct-15 + 3: 11-Oct-16 -- 11-Oct-22 + 4: 11-Oct-23 -- 11-Oct-29 + 5: 11-Oct-30 -- 11-Nov-05 + 6: 11-Nov-06 -- 11-Nov-12 + 7: 11-Nov-13 -- 11-Nov-19 + 8: 11-Nov-20 -- 11-Nov-26 + 9: 11-Nov-27 -- 11-Dec-03 +10: 11-Dec-04 -- 11-Dec-10 +11: 11-Dec-11 -- 11-Dec-17 +12: 11-Dec-18 -- 11-Dec-24 +13: 11-Dec-25 -- 11-Dec-31 +14: 12-Jan-01 -- 12-Jan-07 +15: 12-Jan-08 -- 12-Jan-14 +16: 12-Jan-15 -- 12-Jan-21 +17: 12-Jan-22 -- 12-Jan-28 +18: 12-Jan-29 -- 12-Feb-04 +19: 12-Feb-05 -- 12-Feb-11 +20: 12-Feb-12 -- 12-Feb-18 +end test +test period 'every 2 weeks from 2011/10/03' +--- Period expression tokens --- +TOK_EVERY: every +TOK_INT: 2 +TOK_WEEKS: weeks +TOK_SINCE: since +TOK_DATE: year 2011 month Oct day 3 +END_REACHED: + +--- Before stabilization --- + range: from year 2011 month Oct day 3 +duration: 2 weeks + +--- After stabilization --- + range: from year 2011 month Oct day 3 + start: 11-Oct-03 +duration: 2 weeks + +--- Sample dates in range (max. 20) --- + 1: 11-Oct-03 -- 11-Oct-08 + 2: 11-Oct-09 -- 11-Oct-22 + 3: 11-Oct-23 -- 11-Nov-05 + 4: 11-Nov-06 -- 11-Nov-19 + 5: 11-Nov-20 -- 11-Dec-03 + 6: 11-Dec-04 -- 11-Dec-17 + 7: 11-Dec-18 -- 11-Dec-31 + 8: 12-Jan-01 -- 12-Jan-14 + 9: 12-Jan-15 -- 12-Jan-28 +10: 12-Jan-29 -- 12-Feb-11 +11: 12-Feb-12 -- 12-Feb-25 +12: 12-Feb-26 -- 12-Mar-10 +13: 12-Mar-11 -- 12-Mar-24 +14: 12-Mar-25 -- 12-Apr-07 +15: 12-Apr-08 -- 12-Apr-21 +16: 12-Apr-22 -- 12-May-05 +17: 12-May-06 -- 12-May-19 +18: 12-May-20 -- 12-Jun-02 +19: 12-Jun-03 -- 12-Jun-16 +20: 12-Jun-17 -- 12-Jun-30 +end test +test period 'every 3 weeks from 2011/10/03' +--- Period expression tokens --- +TOK_EVERY: every +TOK_INT: 3 +TOK_WEEKS: weeks +TOK_SINCE: since +TOK_DATE: year 2011 month Oct day 3 +END_REACHED: + +--- Before stabilization --- + range: from year 2011 month Oct day 3 +duration: 3 weeks + +--- After stabilization --- + range: from year 2011 month Oct day 3 + start: 11-Oct-03 +duration: 3 weeks + +--- Sample dates in range (max. 20) --- + 1: 11-Oct-03 -- 11-Oct-22 + 2: 11-Oct-23 -- 11-Nov-12 + 3: 11-Nov-13 -- 11-Dec-03 + 4: 11-Dec-04 -- 11-Dec-24 + 5: 11-Dec-25 -- 12-Jan-14 + 6: 12-Jan-15 -- 12-Feb-04 + 7: 12-Feb-05 -- 12-Feb-25 + 8: 12-Feb-26 -- 12-Mar-17 + 9: 12-Mar-18 -- 12-Apr-07 +10: 12-Apr-08 -- 12-Apr-28 +11: 12-Apr-29 -- 12-May-19 +12: 12-May-20 -- 12-Jun-09 +13: 12-Jun-10 -- 12-Jun-30 +14: 12-Jul-01 -- 12-Jul-21 +15: 12-Jul-22 -- 12-Aug-11 +16: 12-Aug-12 -- 12-Sep-01 +17: 12-Sep-02 -- 12-Sep-22 +18: 12-Sep-23 -- 12-Oct-13 +19: 12-Oct-14 -- 12-Nov-03 +20: 12-Nov-04 -- 12-Nov-24 +end test +test period 'every 4 weeks from 2011/10/03' +--- Period expression tokens --- +TOK_EVERY: every +TOK_INT: 4 +TOK_WEEKS: weeks +TOK_SINCE: since +TOK_DATE: year 2011 month Oct day 3 +END_REACHED: + +--- Before stabilization --- + range: from year 2011 month Oct day 3 +duration: 4 weeks + +--- After stabilization --- + range: from year 2011 month Oct day 3 + start: 11-Oct-03 +duration: 4 weeks + +--- Sample dates in range (max. 20) --- + 1: 11-Oct-03 -- 11-Oct-22 + 2: 11-Oct-23 -- 11-Nov-19 + 3: 11-Nov-20 -- 11-Dec-17 + 4: 11-Dec-18 -- 12-Jan-14 + 5: 12-Jan-15 -- 12-Feb-11 + 6: 12-Feb-12 -- 12-Mar-10 + 7: 12-Mar-11 -- 12-Apr-07 + 8: 12-Apr-08 -- 12-May-05 + 9: 12-May-06 -- 12-Jun-02 +10: 12-Jun-03 -- 12-Jun-30 +11: 12-Jul-01 -- 12-Jul-28 +12: 12-Jul-29 -- 12-Aug-25 +13: 12-Aug-26 -- 12-Sep-22 +14: 12-Sep-23 -- 12-Oct-20 +15: 12-Oct-21 -- 12-Nov-17 +16: 12-Nov-18 -- 12-Dec-15 +17: 12-Dec-16 -- 13-Jan-12 +18: 13-Jan-13 -- 13-Feb-09 +19: 13-Feb-10 -- 13-Mar-09 +20: 13-Mar-10 -- 13-Apr-06 +end test +test period 'every 5 weeks from 2011/10/03' +--- Period expression tokens --- +TOK_EVERY: every +TOK_INT: 5 +TOK_WEEKS: weeks +TOK_SINCE: since +TOK_DATE: year 2011 month Oct day 3 +END_REACHED: + +--- Before stabilization --- + range: from year 2011 month Oct day 3 +duration: 5 weeks + +--- After stabilization --- + range: from year 2011 month Oct day 3 + start: 11-Oct-03 +duration: 5 weeks + +--- Sample dates in range (max. 20) --- + 1: 11-Oct-03 -- 11-Oct-22 + 2: 11-Oct-23 -- 11-Nov-26 + 3: 11-Nov-27 -- 11-Dec-31 + 4: 12-Jan-01 -- 12-Feb-04 + 5: 12-Feb-05 -- 12-Mar-10 + 6: 12-Mar-11 -- 12-Apr-14 + 7: 12-Apr-15 -- 12-May-19 + 8: 12-May-20 -- 12-Jun-23 + 9: 12-Jun-24 -- 12-Jul-28 +10: 12-Jul-29 -- 12-Sep-01 +11: 12-Sep-02 -- 12-Oct-06 +12: 12-Oct-07 -- 12-Nov-10 +13: 12-Nov-11 -- 12-Dec-15 +14: 12-Dec-16 -- 13-Jan-19 +15: 13-Jan-20 -- 13-Feb-23 +16: 13-Feb-24 -- 13-Mar-30 +17: 13-Mar-31 -- 13-May-04 +18: 13-May-05 -- 13-Jun-08 +19: 13-Jun-09 -- 13-Jul-13 +20: 13-Jul-14 -- 13-Aug-17 +end test +test period 'every 6 weeks from 2011/10/03' +--- Period expression tokens --- +TOK_EVERY: every +TOK_INT: 6 +TOK_WEEKS: weeks +TOK_SINCE: since +TOK_DATE: year 2011 month Oct day 3 +END_REACHED: + +--- Before stabilization --- + range: from year 2011 month Oct day 3 +duration: 6 weeks + +--- After stabilization --- + range: from year 2011 month Oct day 3 + start: 11-Oct-03 +duration: 6 weeks + +--- Sample dates in range (max. 20) --- + 1: 11-Oct-03 -- 11-Oct-22 + 2: 11-Oct-23 -- 11-Dec-03 + 3: 11-Dec-04 -- 12-Jan-14 + 4: 12-Jan-15 -- 12-Feb-25 + 5: 12-Feb-26 -- 12-Apr-07 + 6: 12-Apr-08 -- 12-May-19 + 7: 12-May-20 -- 12-Jun-30 + 8: 12-Jul-01 -- 12-Aug-11 + 9: 12-Aug-12 -- 12-Sep-22 +10: 12-Sep-23 -- 12-Nov-03 +11: 12-Nov-04 -- 12-Dec-15 +12: 12-Dec-16 -- 13-Jan-26 +13: 13-Jan-27 -- 13-Mar-09 +14: 13-Mar-10 -- 13-Apr-20 +15: 13-Apr-21 -- 13-Jun-01 +16: 13-Jun-02 -- 13-Jul-13 +17: 13-Jul-14 -- 13-Aug-24 +18: 13-Aug-25 -- 13-Oct-05 +19: 13-Oct-06 -- 13-Nov-16 +20: 13-Nov-17 -- 13-Dec-28 +end test +test period 'every 7 weeks from 2011/10/03' +--- Period expression tokens --- +TOK_EVERY: every +TOK_INT: 7 +TOK_WEEKS: weeks +TOK_SINCE: since +TOK_DATE: year 2011 month Oct day 3 +END_REACHED: + +--- Before stabilization --- + range: from year 2011 month Oct day 3 +duration: 7 weeks + +--- After stabilization --- + range: from year 2011 month Oct day 3 + start: 11-Oct-03 +duration: 7 weeks + +--- Sample dates in range (max. 20) --- + 1: 11-Oct-03 -- 11-Nov-12 + 2: 11-Nov-13 -- 11-Dec-31 + 3: 12-Jan-01 -- 12-Feb-18 + 4: 12-Feb-19 -- 12-Apr-07 + 5: 12-Apr-08 -- 12-May-26 + 6: 12-May-27 -- 12-Jul-14 + 7: 12-Jul-15 -- 12-Sep-01 + 8: 12-Sep-02 -- 12-Oct-20 + 9: 12-Oct-21 -- 12-Dec-08 +10: 12-Dec-09 -- 13-Jan-26 +11: 13-Jan-27 -- 13-Mar-16 +12: 13-Mar-17 -- 13-May-04 +13: 13-May-05 -- 13-Jun-22 +14: 13-Jun-23 -- 13-Aug-10 +15: 13-Aug-11 -- 13-Sep-28 +16: 13-Sep-29 -- 13-Nov-16 +17: 13-Nov-17 -- 14-Jan-04 +18: 14-Jan-05 -- 14-Feb-22 +19: 14-Feb-23 -- 14-Apr-12 +20: 14-Apr-13 -- 14-May-31 +end test +test period 'every 8 weeks from 2011/10/03' +--- Period expression tokens --- +TOK_EVERY: every +TOK_INT: 8 +TOK_WEEKS: weeks +TOK_SINCE: since +TOK_DATE: year 2011 month Oct day 3 +END_REACHED: + +--- Before stabilization --- + range: from year 2011 month Oct day 3 +duration: 8 weeks + +--- After stabilization --- + range: from year 2011 month Oct day 3 + start: 11-Oct-03 +duration: 8 weeks + +--- Sample dates in range (max. 20) --- + 1: 11-Oct-03 -- 11-Nov-19 + 2: 11-Nov-20 -- 12-Jan-14 + 3: 12-Jan-15 -- 12-Mar-10 + 4: 12-Mar-11 -- 12-May-05 + 5: 12-May-06 -- 12-Jun-30 + 6: 12-Jul-01 -- 12-Aug-25 + 7: 12-Aug-26 -- 12-Oct-20 + 8: 12-Oct-21 -- 12-Dec-15 + 9: 12-Dec-16 -- 13-Feb-09 +10: 13-Feb-10 -- 13-Apr-06 +11: 13-Apr-07 -- 13-Jun-01 +12: 13-Jun-02 -- 13-Jul-27 +13: 13-Jul-28 -- 13-Sep-21 +14: 13-Sep-22 -- 13-Nov-16 +15: 13-Nov-17 -- 14-Jan-11 +16: 14-Jan-12 -- 14-Mar-08 +17: 14-Mar-09 -- 14-May-03 +18: 14-May-04 -- 14-Jun-28 +19: 14-Jun-29 -- 14-Aug-23 +20: 14-Aug-24 -- 14-Oct-18 +end test +test period 'every 9 weeks from 2011/10/03' +--- Period expression tokens --- +TOK_EVERY: every +TOK_INT: 9 +TOK_WEEKS: weeks +TOK_SINCE: since +TOK_DATE: year 2011 month Oct day 3 +END_REACHED: + +--- Before stabilization --- + range: from year 2011 month Oct day 3 +duration: 9 weeks + +--- After stabilization --- + range: from year 2011 month Oct day 3 + start: 11-Oct-03 +duration: 9 weeks + +--- Sample dates in range (max. 20) --- + 1: 11-Oct-03 -- 11-Nov-12 + 2: 11-Nov-13 -- 12-Jan-14 + 3: 12-Jan-15 -- 12-Mar-17 + 4: 12-Mar-18 -- 12-May-19 + 5: 12-May-20 -- 12-Jul-21 + 6: 12-Jul-22 -- 12-Sep-22 + 7: 12-Sep-23 -- 12-Nov-24 + 8: 12-Nov-25 -- 13-Jan-26 + 9: 13-Jan-27 -- 13-Mar-30 +10: 13-Mar-31 -- 13-Jun-01 +11: 13-Jun-02 -- 13-Aug-03 +12: 13-Aug-04 -- 13-Oct-05 +13: 13-Oct-06 -- 13-Dec-07 +14: 13-Dec-08 -- 14-Feb-08 +15: 14-Feb-09 -- 14-Apr-12 +16: 14-Apr-13 -- 14-Jun-14 +17: 14-Jun-15 -- 14-Aug-16 +18: 14-Aug-17 -- 14-Oct-18 +19: 14-Oct-19 -- 14-Dec-20 +20: 14-Dec-21 -- 15-Feb-21 +end test +test period 'every 10 weeks from 2011/10/03' +--- Period expression tokens --- +TOK_EVERY: every +TOK_INT: 10 +TOK_WEEKS: weeks +TOK_SINCE: since +TOK_DATE: year 2011 month Oct day 3 +END_REACHED: + +--- Before stabilization --- + range: from year 2011 month Oct day 3 +duration: 10 weeks + +--- After stabilization --- + range: from year 2011 month Oct day 3 + start: 11-Oct-03 +duration: 10 weeks + +--- Sample dates in range (max. 20) --- + 1: 11-Oct-03 -- 11-Oct-22 + 2: 11-Oct-23 -- 11-Dec-31 + 3: 12-Jan-01 -- 12-Mar-10 + 4: 12-Mar-11 -- 12-May-19 + 5: 12-May-20 -- 12-Jul-28 + 6: 12-Jul-29 -- 12-Oct-06 + 7: 12-Oct-07 -- 12-Dec-15 + 8: 12-Dec-16 -- 13-Feb-23 + 9: 13-Feb-24 -- 13-May-04 +10: 13-May-05 -- 13-Jul-13 +11: 13-Jul-14 -- 13-Sep-21 +12: 13-Sep-22 -- 13-Nov-30 +13: 13-Dec-01 -- 14-Feb-08 +14: 14-Feb-09 -- 14-Apr-19 +15: 14-Apr-20 -- 14-Jun-28 +16: 14-Jun-29 -- 14-Sep-06 +17: 14-Sep-07 -- 14-Nov-15 +18: 14-Nov-16 -- 15-Jan-24 +19: 15-Jan-25 -- 15-Apr-04 +20: 15-Apr-05 -- 15-Jun-13 +end test diff --git a/hledger/test/ledger-compat/regress/373540CC.test b/hledger/test/ledger-compat/regress/373540CC.test new file mode 100644 index 000000000..cdef8667e --- /dev/null +++ b/hledger/test/ledger-compat/regress/373540CC.test @@ -0,0 +1,8 @@ +2004/05/27 Book Store + Expenses:Books 20 BOOK @ $10 + Liabilities:MasterCard $-200.00 + +comment +test bal --sort total --flat -X '$' not '(Income|Liabilities)' + $200.00 Expenses:Books +end test diff --git a/hledger/test/ledger-compat/regress/375.test b/hledger/test/ledger-compat/regress/375.test new file mode 100644 index 000000000..ae4727616 --- /dev/null +++ b/hledger/test/ledger-compat/regress/375.test @@ -0,0 +1,37 @@ + +2009-01-01 * Jan 09 + Assets:Current 100.00 EUR + Income:Salary + +2009-02-01 * Feb 09 + Assets:Current 100.00 EUR + Income:Salary + +2009-03-01 * Mar 09 + Assets:Current 100.00 EUR + Income:Salary + +2010-01-01 * Jan 10 + Assets:Current 100.00 EUR + Income:Salary + +2010-02-01 * Feb 10 + Assets:Current 100.00 EUR + Income:Salary + +comment +test reg -p "until Feb 2009" +09-Jan-01 Jan 09 Assets:Current 100.00 EUR 100.00 EUR + Income:Salary -100.00 EUR 0 +end test + +test reg -p "until February 2009" +09-Jan-01 Jan 09 Assets:Current 100.00 EUR 100.00 EUR + Income:Salary -100.00 EUR 0 +end test + +test reg -p "in Feb 2009" +09-Feb-01 Feb 09 Assets:Current 100.00 EUR 100.00 EUR + Income:Salary -100.00 EUR 0 +end test + diff --git a/hledger/test/ledger-compat/regress/383.test b/hledger/test/ledger-compat/regress/383.test new file mode 100644 index 000000000..d0a6900dc --- /dev/null +++ b/hledger/test/ledger-compat/regress/383.test @@ -0,0 +1,30 @@ + +--input-date-format %Y:%m:%d + +D 1000.00 GBP + +2014:05:12 * Test + Assets:Investments 100 AA {2.00 GBP} [2014:01:01] @@ 200.00 GBP + Equity:Opening balance + +comment +test bal Assets:Investments --lots --date-format %Y.%m.%d +100 AA {2.00 GBP} [2014.01.01] Assets:Investments +end test + +test bal Assets:Investments --lots --date-format %Y/%m/%d +100 AA {2.00 GBP} [2014/01/01] Assets:Investments +end test + +test bal Assets:Investments --lots --date-format %Y:%m:%d +100 AA {2.00 GBP} [2014:01:01] Assets:Investments +end test + +test bal Assets:Investments --lots --date-format %Y-%m-%d +100 AA {2.00 GBP} [2014-01-01] Assets:Investments +end test + +test bal Assets:Investments --lots --date-format %y-%b-%d +100 AA {2.00 GBP} [14-Jan-01] Assets:Investments +end test + diff --git a/hledger/test/ledger-compat/regress/3AAB00ED.test b/hledger/test/ledger-compat/regress/3AAB00ED.test new file mode 100644 index 000000000..729343630 --- /dev/null +++ b/hledger/test/ledger-compat/regress/3AAB00ED.test @@ -0,0 +1,24 @@ +; Test for: --sort d not working with -p + +2009-01-01 Opening Balances + Assets:Checking 100.00 EUR + Equity:Opening Balances + +2009-03-01 Test + Expenses:Phone 10.00 EUR + Assets:Checking + +2009-02-01 Test + Expenses:Phone 10.00 EUR + Assets:Checking + +comment +test --sort d -p "until 2010" reg +09-Jan-01 Opening Balances Assets:Checking 100.00 EUR 100.00 EUR + Equit:Opening Balances -100.00 EUR 0 +09-Feb-01 Test Expenses:Phone 10.00 EUR 10.00 EUR + Assets:Checking -10.00 EUR 0 +09-Mar-01 Test Expenses:Phone 10.00 EUR 10.00 EUR + Assets:Checking -10.00 EUR 0 +end test + diff --git a/hledger/test/ledger-compat/regress/3AB70168.test b/hledger/test/ledger-compat/regress/3AB70168.test new file mode 100644 index 000000000..057328637 --- /dev/null +++ b/hledger/test/ledger-compat/regress/3AB70168.test @@ -0,0 +1,12 @@ +i 2007/03/01 23:00:00 A +o 2007/03/02 01:00:00 +i 2007/03/11 23:00:00 B +o 2007/03/12 01:00:00 + +comment +test bal + 2.00h A + 2.00h B +-------------------- + 4.00h +end test diff --git a/hledger/test/ledger-compat/regress/3FE26304.test b/hledger/test/ledger-compat/regress/3FE26304.test new file mode 100644 index 000000000..abaf5e2a6 --- /dev/null +++ b/hledger/test/ledger-compat/regress/3FE26304.test @@ -0,0 +1,75 @@ +N $ +P 2010/09/28 20:43:24 E $3.700 +P 2010/09/28 20:43:25 A $5.230 +P 2010/09/28 20:43:26 D $34.020 +P 2010/09/28 20:43:27 C $12.370 +P 2010/09/28 20:43:28 F $39.700 +P 2010/09/28 20:43:29 B $39.430 +P 2010/09/29 13:50:15 E $3.720 +P 2010/09/29 13:50:15 A $5.240 +P 2010/09/29 13:50:17 D $33.920 +P 2010/09/29 13:50:18 C $12.310 P 2010/09/29 13:50:18 F $39.670 +P 2010/09/29 13:50:19 B $39.830 + +2010/04/04 * Opening Balance + Assets:Sub1 100 A @ $0.01 + Equity:Opening Balances + +2010/04/04 * Opening Balance + Assets:Sub1 100 B @ $32.27 + Equity:Opening Balances + +2010/04/04 * Opening Balance + Assets:Sub1 100 C @ $11.30 + Equity:Opening Balances + +2010/04/04 * Opening Balance + Assets:Sub1 100 D @ $20.30 + Equity:Opening Balances + +2010/04/04 * Opening Balance + Assets:Sub1:Leftovers $6.79 + Equity:Opening Balances + +2010/04/04 * Opening Balance + Assets:Sub1 11 D + Equity:Opening Balances + +2010/04/04 * Opening Balance + Assets:Sub1 100 E @ $2.97 + Equity:Opening Balances + +2010/05/18=2010/05/21 * FOO + Assets:Sub1 200 F @ $27.190 + Expenses:Qux $29.95 + Assets:Sub2 + +2010/07/02 * BAR + Income:D -$169.65 + Assets:Sub2 $32.50 + Assets:Sub1 6 D @ $22.64 + Assets:Sub1:Leftovers + +comment +test bal -X \$ sub1 + $18026.74 Assets:Sub1 + $8.10 Leftovers +-------------------- + $18026.74 +end test + +test reg -X \$ sub1 --now=2012/03/14 +10-Apr-04 Opening Balance Assets:Sub1 $1.00 $1.00 +10-Apr-04 Opening Balance Assets:Sub1 $3227.00 $3228.00 +10-Apr-04 Opening Balance Assets:Sub1 $1130.00 $4358.00 +10-Apr-04 Opening Balance Assets:Sub1 $2030.00 $6388.00 +10-Apr-04 Opening Balance Assets:Sub1:Leftovers $6.79 $6394.79 +10-Apr-04 Opening Balance Assets:Sub1 $223.30 $6618.09 +10-Apr-04 Opening Balance Assets:Sub1 $297.00 $6915.09 +10-May-18 FOO Assets:Sub1 $5438.00 $12353.09 +10-Jul-02 Commodities revalued $259.74 $12612.83 +10-Jul-02 BAR Assets:Sub1 $135.84 $12748.67 + Assets:Sub1:Leftovers $1.31 $12749.98 +10-Sep-29 Commodities revalued $5251.46 $18001.44 +12-Mar-14 Commodities revalued $25.30 $18026.74 +end test diff --git a/hledger/test/ledger-compat/regress/4509F714.test b/hledger/test/ledger-compat/regress/4509F714.test new file mode 100644 index 000000000..9194f3829 --- /dev/null +++ b/hledger/test/ledger-compat/regress/4509F714.test @@ -0,0 +1,26 @@ +P 2008/01/01 $ €1 + +2008/01/11 LIAT + Expenses:Travel:Airfare $40.00 + Liabilities:MasterCard + +2008/02/05 CTX + Expenses:Travel:Auto €240.38 + Liabilities:MasterCard + +comment +test bal --exchange=€ + €280.38 Expenses:Travel + €40.00 Airfare + €240.38 Auto + €-280.38 Liabilities:MasterCard +-------------------- + 0 +end test + +test bal --exchange=€ --percent + 100.00% Expenses:Travel + 14.27% Airfare + 85.73% Auto + 100.00% Liabilities:MasterCard +end test diff --git a/hledger/test/ledger-compat/regress/461980A1.test b/hledger/test/ledger-compat/regress/461980A1.test new file mode 100644 index 000000000..9fb8a971f --- /dev/null +++ b/hledger/test/ledger-compat/regress/461980A1.test @@ -0,0 +1,12 @@ +2008/01/01 one + test:a 1 + test:b + +comment +test bal + 0 test + 1 a + -1 b +-------------------- + 0 +end test diff --git a/hledger/test/ledger-compat/regress/47C579B8.test b/hledger/test/ledger-compat/regress/47C579B8.test new file mode 100644 index 000000000..4dd08bb8d --- /dev/null +++ b/hledger/test/ledger-compat/regress/47C579B8.test @@ -0,0 +1,93 @@ +2008/01/11 LIAT + Expenses:Travel:Airfare 40,00 € + Liabilities:MasterCard + +2008/01/14 cheaptickets.com + Expenses:Travel:Airfare 182,19 € + Liabilities:MasterCard + +2008/02/05 CTX + Expenses:Travel:Auto 240,38 € + Liabilities:MasterCard + +2008/02/05 UNITED + Expenses:Travel:Airfare 238,80 € + Liabilities:MasterCard + +2008/02/05 UNITED + Expenses:Travel:Airfare 238,80 € + Liabilities:MasterCard + +2008/02/22 BUDGET RENT-A-CAR + Expenses:Travel:Auto 40,59 € + Liabilities:MasterCard + +2008/03/16 IBERIA + Expenses:Travel:Airfare 1231,60 € + Liabilities:MasterCard + +2008/03/16 IBERIA + Expenses:Travel:Airfare 1231,60 € + Liabilities:MasterCard + +2008/04/03 AMERICAN + Expenses:Travel:Airfare 155,86 € + Liabilities:MasterCard + +2008/04/03 AMERICAN + Expenses:Travel:Airfare 155,86 € + Liabilities:MasterCard + +2008/04/30 UNITED + Expenses:Travel:Airfare 437,21 € + Liabilities:MasterCard + +2008/04/30 UNITED + Expenses:Travel:Airfare 437,21 € + Liabilities:MasterCard + +2008/08/08 BCIS I-131 FILING FEE- + Expenses:Travel:Passport 170,00 € + Liabilities:MasterCard + +2008/09/06 AMERICAN + Expenses:Travel:Airfare 912,60 € + Liabilities:MasterCard + +2008/09/06 AMERICAN + Expenses:Travel:Airfare 912,60 € + Liabilities:MasterCard + +2008/09/22 AGNT FEE + Expenses:Travel:Airfare 70,00 € + Liabilities:MasterCard + +2008/09/22 DELTA + Expenses:Travel:Airfare 806,20 € + Liabilities:MasterCard + +2008/09/22 DELTA + Expenses:Travel:Airfare 806,20 € + Liabilities:MasterCard + +2008/09/22 LIAT 1974 LIMITED + Expenses:Travel:Airfare 418,34 € + Liabilities:MasterCard + +2008/12/26 U.S. Department of State + Expenses:Travel:Passport 127,00 € + Assets:Checking + +2008/12/26 U.S. Department of State + Expenses:Travel:Passport 127,00 € + Assets:Checking + +comment +test --decimal-comma --percent balance + 100.00% Assets:Checking + 100.00% Expenses:Travel + 92.15% Airfare + 3.13% Auto + 4.72% Passport + 100.00% Liabilities:MasterCard +end test diff --git a/hledger/test/ledger-compat/regress/494-a.ledger b/hledger/test/ledger-compat/regress/494-a.ledger new file mode 100644 index 000000000..4094f7dc6 --- /dev/null +++ b/hledger/test/ledger-compat/regress/494-a.ledger @@ -0,0 +1,10 @@ + +15.03.2006 Exxon + Expenses:Auto:Gas 10,00 € + Liabilities:MasterCard -10,00 € + +test --input-date-format '%d.%m.%Y' reg +06-Mar-15 Exxon Expenses:Auto:Gas 10,00 € 10,00 € + Liabilities:MasterCard -10,00 € 0 +end test + diff --git a/hledger/test/ledger-compat/regress/494-b.ledger b/hledger/test/ledger-compat/regress/494-b.ledger new file mode 100644 index 000000000..40e8b1b7b --- /dev/null +++ b/hledger/test/ledger-compat/regress/494-b.ledger @@ -0,0 +1,17 @@ + +--input-date-format %d.%m + +Y2010 +03.01 * Foo + A 10.00 EUR + B + +05.02 * Bar + A 20.00 EUR + B + +test reg A +10-Jan-03 Foo A 10.00 EUR 10.00 EUR +10-Feb-05 Bar A 20.00 EUR 30.00 EUR +end test + diff --git a/hledger/test/ledger-compat/regress/4D9288AE.dat b/hledger/test/ledger-compat/regress/4D9288AE.dat new file mode 100644 index 000000000..758feb199 --- /dev/null +++ b/hledger/test/ledger-compat/regress/4D9288AE.dat @@ -0,0 +1,4 @@ +2012-03-17 Payee + Expenses:Food $20 + Assets:Cash + diff --git a/hledger/test/ledger-compat/regress/4D9288AE.py b/hledger/test/ledger-compat/regress/4D9288AE.py new file mode 100644 index 000000000..20ba566be --- /dev/null +++ b/hledger/test/ledger-compat/regress/4D9288AE.py @@ -0,0 +1,6 @@ +from __future__ import print_function + +import ledger + +for post in ledger.read_journal("test/regress/4D9288AE.dat").query("^expenses:"): + print(post.cost) diff --git a/hledger/test/ledger-compat/regress/4D9288AE_py.test b/hledger/test/ledger-compat/regress/4D9288AE_py.test new file mode 100644 index 000000000..e36da7f8b --- /dev/null +++ b/hledger/test/ledger-compat/regress/4D9288AE_py.test @@ -0,0 +1,4 @@ +comment +test python test/regress/4D9288AE.py +None +end test diff --git a/hledger/test/ledger-compat/regress/516.test b/hledger/test/ledger-compat/regress/516.test new file mode 100644 index 000000000..85ee0759f --- /dev/null +++ b/hledger/test/ledger-compat/regress/516.test @@ -0,0 +1,5 @@ +comment +test cleared --file test/input/parsing.dat --cleared-format "%-30(account) %15(get_at(total_expr, 0)) %15(get_at(total_expr, 1))\n%/" +Assets $30 0 +Income $-30 0 +end test diff --git a/hledger/test/ledger-compat/regress/53BCED29.test b/hledger/test/ledger-compat/regress/53BCED29.test new file mode 100644 index 000000000..13bf20577 --- /dev/null +++ b/hledger/test/ledger-compat/regress/53BCED29.test @@ -0,0 +1,30 @@ +D $1,000.00 + +; payroll taxes += /^Payroll/ + Liabilities:Taxes:CFICA 0.062 + Liabilities:Taxes:CMED 0.0145 + $account:EFICA -0.062 + $account:EMED -0.0145 + +; Hourly rates for each employee, as commodity prices. +P 2010/01/01 EONE $15.00 + +; Payroll transactions +2010/05/18 Payroll from May 2nd to May 15th for Employee1 + Assets:Checking 20 EONE + Payroll:Employee1 + +comment +test bal -V + $300.00 Assets:Checking + $-22.95 Liabilities:Taxes + $-18.60 CFICA + $-4.35 CMED + $-277.05 Payroll:Employee1 + $18.60 EFICA + $4.35 EMED +-------------------- + 0 +end test + diff --git a/hledger/test/ledger-compat/regress/543_a.test b/hledger/test/ledger-compat/regress/543_a.test new file mode 100644 index 000000000..c5b5df3dc --- /dev/null +++ b/hledger/test/ledger-compat/regress/543_a.test @@ -0,0 +1,27 @@ +2018/01/01 * Opening Balance + Assets:Checking $100.00 + Equity:Opening Balances + +2018/01/01 * Budget + [Assets:Checking] -$100.00 + [Assets:Budget:Food:Groceries] $20.00 + [Assets:Budget:Food:Restaurants] $80.00 + +2018/01/02 * Assertion + [Assets:Checking] = $0.00 + +2018/01/02 * Assertion + Assets:Checking = $100.00 + +comment +test bal Assets + $100.00 Assets:Budget:Food + $20.00 Groceries + $80.00 Restaurants +-------------------- + $100.00 +end test + +test bal Assets -R + $100.00 Assets:Checking +end test diff --git a/hledger/test/ledger-compat/regress/543_b.test b/hledger/test/ledger-compat/regress/543_b.test new file mode 100644 index 000000000..caf1aac66 --- /dev/null +++ b/hledger/test/ledger-compat/regress/543_b.test @@ -0,0 +1,23 @@ +2018/01/01 * Opening Balance + Assets:Checking $100.00 + Equity:Opening Balances + +2018/01/01 * Budget + [Assets:Checking] -$100.00 + [Assets:Budget:Food:Groceries] $20.00 + [Assets:Budget:Food:Restaurants] $80.00 + +2018/01/02 * Buy Groceries + [Assets:Budget:Food:Groceries] -$20 = $0 + [Assets:Checking] $20 + Assets:Checking -$20 = $80 + Expenses:Food:Groceries $20 + +comment +test bal Assets + $80.00 Assets:Budget:Food:Restaurants +end test + +test bal Assets -R + $80.00 Assets:Checking +end test diff --git a/hledger/test/ledger-compat/regress/543_c.test b/hledger/test/ledger-compat/regress/543_c.test new file mode 100644 index 000000000..f3a4799a8 --- /dev/null +++ b/hledger/test/ledger-compat/regress/543_c.test @@ -0,0 +1,25 @@ +2018/01/01 * Opening Balance + Assets:Checking $100.00 + Equity:Opening Balances + +2018/01/01 * Budget + [Assets:Checking] -$100.00 + [Assets:Budget:Food:Groceries] $20.00 + [Assets:Budget:Food:Restaurants] $80.00 + +2018/01/02 * Budget Groceries + [Assets:Budget:Food:Groceries] -$20 = $0 + [Assets:Checking] $20 + +2018/01/02 * Buy Groceries + Assets:Checking -$20 = $80 + Expenses:Food:Groceries $20 + +comment +test bal Assets + $80.00 Assets:Budget:Food:Restaurants +end test + +test bal Assets -R + $80.00 Assets:Checking +end test diff --git a/hledger/test/ledger-compat/regress/543_d.test b/hledger/test/ledger-compat/regress/543_d.test new file mode 100644 index 000000000..2ae9e4ad1 --- /dev/null +++ b/hledger/test/ledger-compat/regress/543_d.test @@ -0,0 +1,33 @@ +2018/01/01 * Opening Balance + Assets:Checking $100.00 + Equity:Opening Balances + +2018/01/01 * Budget + [Assets:Checking] = 0 + [Assets:Budget:Food:Groceries] $20.00 + [Assets:Budget:Food:Restaurants] $80.00 + +2018/01/02 * Groceries + Assets:Checking = $80.00 + Expenses:Groceries + +comment +test bal + $80.00 Assets + $100.00 Budget:Food + $20.00 Groceries + $80.00 Restaurants + $-20.00 Checking + $-100.00 Equity:Opening Balances + $20.00 Expenses:Groceries +-------------------- + 0 +end test + +test bal -R + $80.00 Assets:Checking + $-100.00 Equity:Opening Balances + $20.00 Expenses:Groceries +-------------------- + 0 +end test diff --git a/hledger/test/ledger-compat/regress/550-584.test b/hledger/test/ledger-compat/regress/550-584.test new file mode 100644 index 000000000..d69651d9e --- /dev/null +++ b/hledger/test/ledger-compat/regress/550-584.test @@ -0,0 +1,74 @@ +; this file contains spaces after the payee and tag values. Ledger +; should ignore the trailing spaces for the purposes of determining +; unique values +; +; bug 584 and 550 reported trailing spaces being considered +; significant in payee and tag values. +; +; running +; ledger -f test/spaces.dat payees +; yielded two distinct payees, because utils.h/next_element() didn't +; handle a single space followed by a null correctly. +; +; running +; ledger -f test/spaces.dat reg --group-by "tag('test')" +; yielded four groups. + +2011/11/28 * test + ; no space after payee or tag value + Expenses:misc $1 ; test: spaces + Assets:checking + +2011/11/28 * test + ; single space after payee and tag value + Expenses:misc $2 ; test: spaces + Assets:checking + +2011/11/28 test + ; two spaces after payee and tag value + Expenses:misc $4 ; test: spaces + Assets:checking + +2011/11/28 test + ; three spaces after payee and tag value + Expenses:misc $8 ; test: spaces + Assets:checking + +2011/11/28 testcommodity + ; COM commodity has no space after + Expenses:misc 1 COM + Assets:checking + +2011/11/28 testcommodity + ; COM commodity has one space after + Expenses:misc 1 COM + Assets:checking + +2011/11/28 testcommodity + ; COM commodity has two spaces after + Expenses:misc 1 COM + Assets:checking + +2011/11/28 testcommodity + ; COM commodity has three spaces after + Expenses:misc 1 COM + Assets:checking + +comment +test payees +test +testcommodity +end test + +test reg --group-by "tag('test')" +spaces +11-Nov-28 test Expenses:misc $1 $1 +11-Nov-28 test Expenses:misc $2 $3 +11-Nov-28 test Expenses:misc $4 $7 +11-Nov-28 test Expenses:misc $8 $15 +end test + +test commodities +$ +COM +end test diff --git a/hledger/test/ledger-compat/regress/553.test b/hledger/test/ledger-compat/regress/553.test new file mode 100644 index 000000000..230e41ca3 --- /dev/null +++ b/hledger/test/ledger-compat/regress/553.test @@ -0,0 +1,21 @@ +# Test for missing arguments +apply account +apply tag +apply fixed +apply rate +apply year + +comment +test -f - bal -> 5 +__ERROR__ +While parsing file "", line 2: +Error: Directive 'apply account' requires an argument +While parsing file "", line 3: +Error: Directive 'apply tag' requires an argument +While parsing file "", line 4: +Error: Directive 'apply fixed' requires an argument +While parsing file "", line 5: +Error: Directive 'apply rate' requires an argument +While parsing file "", line 6: +Error: Directive 'apply year' requires an argument +end test diff --git a/hledger/test/ledger-compat/regress/55831A79.test b/hledger/test/ledger-compat/regress/55831A79.test new file mode 100644 index 000000000..b0725aa54 --- /dev/null +++ b/hledger/test/ledger-compat/regress/55831A79.test @@ -0,0 +1,25 @@ +2008/01/01 * previous balances + liabilities:credit cards:discover 4462 $-1094.38 + equity:opening balances + +2008/01/18 * DISCOVER FEES + liabilities:credit cards:discover 4462:interest $-36.59 + assets:bank:wells fargo:checking + +2008/01/18 * DISCOVER FEES + liabilities:credit cards:discover 4462:fee $-39 + liabilities:credit cards:discover 4462:interest $-28.17 + assets:bank:wells fargo:checking + +2008/03/01 * discover card payment + liabilities:credit cards:discover 4462 $1198.14 + assets:bank:wells fargo:checking + +comment +test bal discover + 0 liabilities:credit cards:discover 4462 + $-39.00 fee + $-64.76 interest +-------------------- + 0 +end test diff --git a/hledger/test/ledger-compat/regress/56BBE69B.test b/hledger/test/ledger-compat/regress/56BBE69B.test new file mode 100644 index 000000000..971ba1836 --- /dev/null +++ b/hledger/test/ledger-compat/regress/56BBE69B.test @@ -0,0 +1,18 @@ +D 1000.00 USD + +2010-01-07 * Put money in + Assets:A -20.00 EUR + Equity:Opening balances + +2010-01-11 * Purchase + Assets:A 20.00 EUR @@ 25.00 USD + Expenses:B + +comment +test bal + 20.00 EUR Equity:Opening balances + -25.00 USD Expenses:B +-------------------- + 20.00 EUR + -25.00 USD +end test diff --git a/hledger/test/ledger-compat/regress/5A03CFC3.test b/hledger/test/ledger-compat/regress/5A03CFC3.test new file mode 100644 index 000000000..13d3d8dca --- /dev/null +++ b/hledger/test/ledger-compat/regress/5A03CFC3.test @@ -0,0 +1,71 @@ += /^Income/ + (Liabilities:Tithe) 0.12 + +~ Monthly + Assets:Checking $500.00 + Income:Salary + +2003/12/01 * Checking balance + Assets:Checking $1,000.00 + Equity:Opening Balances + +2003/12/20 Organic Co-op + Expenses:Food:Groceries $ 37.50 ; [=2004/01/01] + Expenses:Food:Groceries $ 37.50 ; [=2004/02/01] + Expenses:Food:Groceries $ 37.50 ; [=2004/03/01] + Expenses:Food:Groceries $ 37.50 ; [=2004/04/01] + Expenses:Food:Groceries $ 37.50 ; [=2004/05/01] + Expenses:Food:Groceries $ 37.50 ; [=2004/06/01] + Assets:Checking $ -225.00 + +2003/12/28=2004/01/01 Acme Mortgage + Liabilities:Mortgage:Principal $ 200.00 + Expenses:Interest:Mortgage $ 500.00 + Expenses:Escrow $ 300.00 + Assets:Checking $ -1000.00 + +2004/01/02 Grocery Store + Expenses:Food:Groceries $ 65.00 + Assets:Checking + +2004/01/05 Employer + Assets:Checking $ 2000.00 + Income:Salary + +2004/01/14 Bank + ; Regular monthly savings transfer + Assets:Savings $ 300.00 + Assets:Checking + +2004/01/19 Grocery Store + Expenses:Food:Groceries $ 44.00 + Assets:Checking + +2004/01/25 Bank + ; Transfer to cover car purchase + Assets:Checking $ 5,500.00 + Assets:Savings + ; :nobudget: + +2004/01/25 Tom's Used Cars + Expenses:Auto $ 5,500.00 + ; :nobudget: + Assets:Checking + +2004/01/27 Book Store + Expenses:Books $20.00 + Liabilities:MasterCard + +2004/02/01 Sale + Assets:Checking:Business $ 30.00 + Income:Sales + +comment +test bal assets + $ -3,804.00 Assets + $ 1,396.00 Checking + $ 30.00 Business + $ -5,200.00 Savings +-------------------- + $ -3,804.00 +end test diff --git a/hledger/test/ledger-compat/regress/5D92A5EB.test b/hledger/test/ledger-compat/regress/5D92A5EB.test new file mode 100644 index 000000000..d89b67996 --- /dev/null +++ b/hledger/test/ledger-compat/regress/5D92A5EB.test @@ -0,0 +1,35 @@ +~ Monthly from 2010/7/1 + Expenses:Auto:Gas $100.00 + Expenses:Auto:Insurance $100.00 + Expenses:Childcare $100.00 + Expenses:Entertainment:Blizzard $100.00 + Expenses:Entertainment:Netflix $100.00 + Expenses:Groceries $100.00 + Expenses:Utilities:Electric $100.00 + Expenses:Utilities:Water $100.00 + Expenses:Utilities:Sewage $100.00 + Liabilities:Education:ULL $100.00 + Liabilities:Mortgage $100.00 + Assets:Bank:Checking + +comment +test -J reg checking -> 1 +__ERROR__ +While parsing file "$FILE", line 13: +While parsing periodic transaction: +> ~ Monthly from 2010/7/1 +> Expenses:Auto:Gas $100.00 +> Expenses:Auto:Insurance $100.00 +> Expenses:Childcare $100.00 +> Expenses:Entertainment:Blizzard $100.00 +> Expenses:Entertainment:Netflix $100.00 +> Expenses:Groceries $100.00 +> Expenses:Utilities:Electric $100.00 +> Expenses:Utilities:Water $100.00 +> Expenses:Utilities:Sewage $100.00 +> Liabilities:Education:ULL $100.00 +> Liabilities:Mortgage $100.00 +> Assets:Bank:Checking +Error: Posting with null amount's account may be misspelled: + "Expenses:Entertainment:Blizzard $100.00" +end test diff --git a/hledger/test/ledger-compat/regress/5F1BAF17.test b/hledger/test/ledger-compat/regress/5F1BAF17.test new file mode 100644 index 000000000..3b0a75f69 --- /dev/null +++ b/hledger/test/ledger-compat/regress/5F1BAF17.test @@ -0,0 +1,129 @@ +2006/02/16 b5f40e96 + da39a3ee:8d437dbf:ee2bf9bd:f61e33bf $713.35 + Assets + +2006/03/27 c7ab1f2d + da39a3ee:8d437dbf:ee2bf9bd:9b69a35a $139.62 + Assets + +2006/03/30 f32ea1dc + da39a3ee:8d437dbf:ee2bf9bd:d219c681 $1,600.00 + Assets + +2006/04/21 d449d51e + da39a3ee:8d437dbf:ee2bf9bd:75b04b88 $698.10 + Assets + +2006/05/02 b02f8323 + da39a3ee:8d437dbf:ee2bf9bd $42.22 + Assets + +2006/05/05 2a6f6850 + da39a3ee:8d437dbf:ee2bf9bd:75b04b88:b3850e04 $2,468.00 + Assets + +2006/05/09 59f92263 + da39a3ee:8d437dbf:ee2bf9bd:071c929a $132.82 + Assets + +2006/05/18 f78a7a51 + da39a3ee:8d437dbf:ee2bf9bd:e97de844 $368.05 + Assets + +2006/05/19 f35c594c + da39a3ee:8d437dbf:ee2bf9bd:d4e7d7d3 $386.62 + Assets + +2006/05/22 0233a991 + da39a3ee:8d437dbf:ee2bf9bd:9c6e5a3f $141.98 + Assets + +2006/05/23 56ccae7f + da39a3ee:8d437dbf:ee2bf9bd:d31d367b $81.78 + Assets + +2006/05/24 d449d51e + da39a3ee:8d437dbf:ee2bf9bd:75b04b88 $65.00 + Assets + +2006/05/25 dc833c91 + da39a3ee:8d437dbf:ee2bf9bd:d31d367b $34.37 + Assets + +2006/05/31 6822b496 + da39a3ee:8d437dbf:ee2bf9bd:e97de844 $41.78 + Assets + +2006/06/02 dff8ccb2 + da39a3ee:8d437dbf:ee2bf9bd:14e351e1 $67.36 + Assets + +2006/06/02 e1eb3f4b + da39a3ee:8d437dbf:ee2bf9bd:2c7a078f $14.00 + Assets + +2006/06/04 feec73ea + da39a3ee:8d437dbf:ee2bf9bd:131260cb $144.99 + Assets + +2006/06/04 e8f65e0a + da39a3ee:8d437dbf:ee2bf9bd:d219c681 $75.00 + Assets + +2006/06/04 3fd43f7b + da39a3ee:8d437dbf:ee2bf9bd:9c4ba7d0 $239.59 + Assets + +2006/06/06 754be754 + da39a3ee:8d437dbf:ee2bf9bd:35b25929 $1,160.14 + Assets + +2006/06/06 00c16d44 + da39a3ee:8d437dbf:ee2bf9bd:e97de844 $78.45 + Assets + +2006/06/08 e7b0b317 + da39a3ee:8d437dbf:ee2bf9bd $443.00 + Assets + +2006/07/17 a30c4c31 + da39a3ee:8d437dbf:ee2bf9bd $880.80 + Assets + +2006/08/08 e31a0cf9 + da39a3ee:8d437dbf:ee2bf9bd $104.53 + Assets + +2006/08/10 f0c0c688 + da39a3ee:8d437dbf:ee2bf9bd $196.70 + Assets + +2006/09/12 1bc59c63 + da39a3ee:8d437dbf:ee2bf9bd $217.79 + Assets + +2007/07/16 557e3a00 + da39a3ee:8d437dbf:ee2bf9bd:f61e33bf $117.80 + Assets + +comment +test bal da39 --flat --sort amount --display-total amount + $14.00 da39a3ee:8d437dbf:ee2bf9bd:2c7a078f + $67.36 da39a3ee:8d437dbf:ee2bf9bd:14e351e1 + $116.15 da39a3ee:8d437dbf:ee2bf9bd:d31d367b + $132.82 da39a3ee:8d437dbf:ee2bf9bd:071c929a + $139.62 da39a3ee:8d437dbf:ee2bf9bd:9b69a35a + $141.98 da39a3ee:8d437dbf:ee2bf9bd:9c6e5a3f + $144.99 da39a3ee:8d437dbf:ee2bf9bd:131260cb + $239.59 da39a3ee:8d437dbf:ee2bf9bd:9c4ba7d0 + $386.62 da39a3ee:8d437dbf:ee2bf9bd:d4e7d7d3 + $488.28 da39a3ee:8d437dbf:ee2bf9bd:e97de844 + $763.10 da39a3ee:8d437dbf:ee2bf9bd:75b04b88 + $831.15 da39a3ee:8d437dbf:ee2bf9bd:f61e33bf + $1,160.14 da39a3ee:8d437dbf:ee2bf9bd:35b25929 + $1,675.00 da39a3ee:8d437dbf:ee2bf9bd:d219c681 + $1,885.04 da39a3ee:8d437dbf:ee2bf9bd + $2,468.00 da39a3ee:8d437dbf:ee2bf9bd:75b04b88:b3850e04 +-------------------- + 0 +end test diff --git a/hledger/test/ledger-compat/regress/5FBF2ED8.test b/hledger/test/ledger-compat/regress/5FBF2ED8.test new file mode 100644 index 000000000..8ebe0e5df --- /dev/null +++ b/hledger/test/ledger-compat/regress/5FBF2ED8.test @@ -0,0 +1,19 @@ +2008/01/01 * Checking balance + Assets:Bank:Checking £0.00 + Equity:Opening Balances + +2008/02/02 Salary + Income:Employer £-334.00 + Assets:Bank:Checking $512.85 @@ £334.00 + +2008/03/02 Salary + Income:Employer £-248.07 + Assets:Bank:Checking $404.82 @@ £248.07 + +comment +test bal -B + £582.07 Assets:Bank:Checking + £-582.07 Income:Employer +-------------------- + 0 +end test diff --git a/hledger/test/ledger-compat/regress/605A410D.test b/hledger/test/ledger-compat/regress/605A410D.test new file mode 100644 index 000000000..3010873f9 --- /dev/null +++ b/hledger/test/ledger-compat/regress/605A410D.test @@ -0,0 +1,33 @@ += expr amount > 500 and account =~ /Employer:One/ + (Virtual) 1 + +2012-01-16 KFC + Employer:One $1,000.00 + Assets:Cash + += expr amount>500 and account =~ /Employer:Two/ + (Virtual) 10 + +2012-02-16 KFC + Employer:Two $1,000.00 + Assets:Cash + += Employer:Three and expr amount>500 + (Virtual) 100 + +2012-03-16 KFC + Employer:Three $1,000.00 + Assets:Cash + +comment +test reg +12-Jan-16 KFC Employer:One $1,000.00 $1,000.00 + Assets:Cash $-1,000.00 0 + (Virtual) $1,000.00 $1,000.00 +12-Feb-16 KFC Employer:Two $1,000.00 $2,000.00 + Assets:Cash $-1,000.00 $1,000.00 + (Virtual) $10,000.00 $11,000.00 +12-Mar-16 KFC Employer:Three $1,000.00 $12,000.00 + Assets:Cash $-1,000.00 $11,000.00 + (Virtual) $100,000.00 $111,000.00 +end test diff --git a/hledger/test/ledger-compat/regress/6188B0EC.test b/hledger/test/ledger-compat/regress/6188B0EC.test new file mode 100644 index 000000000..ecefc5d1f --- /dev/null +++ b/hledger/test/ledger-compat/regress/6188B0EC.test @@ -0,0 +1,11 @@ +; Test for: No error message if the parser cannot find an included file + +!include 6188B0EC-does-not-exist.dat + +comment +test bal -> 1 +__ERROR__ +While parsing file "$FILE", line 3: +Error: File to include was not found: "$sourcepath/test/regress/6188B0EC-does-not-exist.dat" +end test + diff --git a/hledger/test/ledger-compat/regress/620F0674.test b/hledger/test/ledger-compat/regress/620F0674.test new file mode 100644 index 000000000..5343f3a43 --- /dev/null +++ b/hledger/test/ledger-compat/regress/620F0674.test @@ -0,0 +1,33 @@ +~ Monthly since 2010/01/01 + Expenses:Bills:Rent $873.00 + Expenses:Household $200.00 + Income:Salary -$2491.60 + Assets:Bank:Checking + +~ biweekly from 2010/02/23 + Expenses:Bills:Housecleaning $85.00 + Assets:Bank:Checking + +comment +test reg bank --forecast "d<=[next year]" -d "d>=[this month] & d<=[next year]" --sort d --now=2010/06/20 +10-Jul-01 Forecast transaction Assets:Bank:Checking $1418.60 $1418.60 +10-Jul-04 Forecast transaction Assets:Bank:Checking $-85.00 $1333.60 +10-Jul-18 Forecast transaction Assets:Bank:Checking $-85.00 $1248.60 +10-Aug-01 Forecast transaction Assets:Bank:Checking $1418.60 $2667.20 +10-Aug-01 Forecast transaction Assets:Bank:Checking $-85.00 $2582.20 +10-Aug-15 Forecast transaction Assets:Bank:Checking $-85.00 $2497.20 +10-Aug-29 Forecast transaction Assets:Bank:Checking $-85.00 $2412.20 +10-Sep-01 Forecast transaction Assets:Bank:Checking $1418.60 $3830.80 +10-Sep-12 Forecast transaction Assets:Bank:Checking $-85.00 $3745.80 +10-Sep-26 Forecast transaction Assets:Bank:Checking $-85.00 $3660.80 +10-Oct-01 Forecast transaction Assets:Bank:Checking $1418.60 $5079.40 +10-Oct-10 Forecast transaction Assets:Bank:Checking $-85.00 $4994.40 +10-Oct-24 Forecast transaction Assets:Bank:Checking $-85.00 $4909.40 +10-Nov-01 Forecast transaction Assets:Bank:Checking $1418.60 $6328.00 +10-Nov-07 Forecast transaction Assets:Bank:Checking $-85.00 $6243.00 +10-Nov-21 Forecast transaction Assets:Bank:Checking $-85.00 $6158.00 +10-Dec-01 Forecast transaction Assets:Bank:Checking $1418.60 $7576.60 +10-Dec-05 Forecast transaction Assets:Bank:Checking $-85.00 $7491.60 +10-Dec-19 Forecast transaction Assets:Bank:Checking $-85.00 $7406.60 +11-Jan-01 Forecast transaction Assets:Bank:Checking $1418.60 $8825.20 +end test diff --git a/hledger/test/ledger-compat/regress/640D3205.test b/hledger/test/ledger-compat/regress/640D3205.test new file mode 100644 index 000000000..cd059dd14 --- /dev/null +++ b/hledger/test/ledger-compat/regress/640D3205.test @@ -0,0 +1,21 @@ +; Test for: "print" command filters out the "balance assertions" + +2008/12/31 * Interest + Assets:Brokerage $800.00 + Income:Somewhere + +2008/12/31 * Interest + Assets:Brokerage $200.00 = $1,000.00 + Income:Somewhere + +comment +test print +2008/12/31 * Interest + Assets:Brokerage $800.00 + Income:Somewhere + +2008/12/31 * Interest + Assets:Brokerage $200.00 = $1000.00 + Income:Somewhere +end test + diff --git a/hledger/test/ledger-compat/regress/647D5DB9.test b/hledger/test/ledger-compat/regress/647D5DB9.test new file mode 100644 index 000000000..c57eb2d2f --- /dev/null +++ b/hledger/test/ledger-compat/regress/647D5DB9.test @@ -0,0 +1,16 @@ +2008/01/01 * Purchase Apple shares + Equities 1000 AAPL @ $2 + Cash + +2008/06/30 * Sell some Apple shares + Equities -500 AAPL @ $2.5 + Cash + +P 2008/10/01 02:18:02 AAPL $3 +P 2009/01/31 02:18:02 AAPL $4 +P 3000/01/01 02:18:02 APPL $100 + +comment +test bal --end 2008/12/31 -JV Equities +2008-12-31 1500 +end test diff --git a/hledger/test/ledger-compat/regress/65FECA4D.test b/hledger/test/ledger-compat/regress/65FECA4D.test new file mode 100644 index 000000000..7f210e776 --- /dev/null +++ b/hledger/test/ledger-compat/regress/65FECA4D.test @@ -0,0 +1,13 @@ +--now=2012-02-28 + +Y 2012 + +2/29 E-trade Bank + Expenses:Food $20 + Assets:Cash + +comment +test reg +12-Feb-29 E-trade Bank Expenses:Food $20 $20 + Assets:Cash $-20 0 +end test diff --git a/hledger/test/ledger-compat/regress/686.test b/hledger/test/ledger-compat/regress/686.test new file mode 100644 index 000000000..10af87f86 --- /dev/null +++ b/hledger/test/ledger-compat/regress/686.test @@ -0,0 +1,34 @@ +2005/01/03 Opening Balances + Assets:Current:Checking $-1,000.00 + Liabilities:CredCard $1,000.00 + (Virtualaccount) $1,000.00 + +2005/01/10 carfund + Assets:Savings $1550.00 + Assets:Checking + +2005/01/03 Joe's + Expenses:Dining $46.50 + Liabilities:CredCard + (Virtualaccount2) $46.50 + +2005/01/05 Another gift + Expenses:Gifts $30.00 + Liabilities:CredCard + +2006/01/03 Gift shop + Expenses:Gifts $46.50 + Liabilities:CredCard + +comment +test equity -e 2006 +2005/01/10 Opening Balances + Assets:Checking $-1,550.00 + Assets:Current:Checking $-1,000.00 + Assets:Savings $1,550.00 + Expenses:Dining $46.50 + Expenses:Gifts $30.00 + Liabilities:CredCard $923.50 + (Virtualaccount) $1,000.00 + (Virtualaccount2) $46.50 +end test diff --git a/hledger/test/ledger-compat/regress/68917252.dat b/hledger/test/ledger-compat/regress/68917252.dat new file mode 100644 index 000000000..8857f7416 --- /dev/null +++ b/hledger/test/ledger-compat/regress/68917252.dat @@ -0,0 +1,2 @@ +date,amount, +12/12/2011,10,test,extra,fields diff --git a/hledger/test/ledger-compat/regress/68917252.test b/hledger/test/ledger-compat/regress/68917252.test new file mode 100644 index 000000000..14bc1a827 --- /dev/null +++ b/hledger/test/ledger-compat/regress/68917252.test @@ -0,0 +1,6 @@ +comment +test -f /dev/null --input-date-format "%m/%d/%Y" convert test/regress/68917252.dat +2011/12/12 * + Expenses:Unknown 10 + Equity:Unknown +end test diff --git a/hledger/test/ledger-compat/regress/6D9066DD.test b/hledger/test/ledger-compat/regress/6D9066DD.test new file mode 100644 index 000000000..7a425ada2 --- /dev/null +++ b/hledger/test/ledger-compat/regress/6D9066DD.test @@ -0,0 +1,18 @@ +2009/09/23 * (EFT) Elec Ext Deposit AMAZON.COM FZXXOLTQ - Retail dis payments.amazon.com + Assets:Checking $39.05 + Assets:Receivable:Amazon + +2007/10/15 * FOO ; :USA: + Assets:NRL:Checking $1,726.18 + Assets:Receivable:CEG ; [2007/10/05] + +comment +test print +2009/09/23 * (EFT) Elec Ext Deposit AMAZON.COM FZXXOLTQ - Retail dis payments.amazon.com + Assets:Checking $39.05 + Assets:Receivable:Amazon + +2007/10/15 * FOO ; :USA: + Assets:NRL:Checking $1,726.18 + Assets:Receivable:CEG ; [2007/10/05] +end test diff --git a/hledger/test/ledger-compat/regress/6DAB9FE3.test b/hledger/test/ledger-compat/regress/6DAB9FE3.test new file mode 100644 index 000000000..d8c7ae773 --- /dev/null +++ b/hledger/test/ledger-compat/regress/6DAB9FE3.test @@ -0,0 +1,9 @@ +2009/01/01 Sample + assets 0 FOO @ $8.88 + equity + +comment +test reg -E +09-Jan-01 Sample assets 0 0 + equity 0 0 +end test diff --git a/hledger/test/ledger-compat/regress/6E041C52.test b/hledger/test/ledger-compat/regress/6E041C52.test new file mode 100644 index 000000000..ed67c7be2 --- /dev/null +++ b/hledger/test/ledger-compat/regress/6E041C52.test @@ -0,0 +1,9 @@ +2012-03-16 KFC + Expenses:E of March: End of April $100.00 + Assets:Cash + +comment +test reg +12-Mar-16 KFC Ex:E of: End of April $100.00 $100.00 + Assets:Cash $-100.00 0 +end test diff --git a/hledger/test/ledger-compat/regress/6E7C2DF9.test b/hledger/test/ledger-compat/regress/6E7C2DF9.test new file mode 100644 index 000000000..b3cf96d56 --- /dev/null +++ b/hledger/test/ledger-compat/regress/6E7C2DF9.test @@ -0,0 +1,25 @@ +Y 2010 +10/10 * TwentyTen + Account:Ten $ 10.10 + Assets:Cash + +apply year 2011 +11/11 * TwentyEleven + Account:Eleven $ 11.11 + Assets:Cash + +2012/12/12 * TwentyTwelve + Account:Twelve $ 12.12 + Assets:Cash + +11/11 * TwentyEleven Again + Account:Eleven $ 11.11 + Assets:Cash + +comment +test reg --sort date account +10-Oct-10 TwentyTen Account:Ten $ 10.10 $ 10.10 +11-Nov-11 TwentyEleven Account:Eleven $ 11.11 $ 21.21 +11-Nov-11 TwentyEleven Again Account:Eleven $ 11.11 $ 32.32 +12-Dec-12 TwentyTwelve Account:Twelve $ 12.12 $ 44.44 +end test diff --git a/hledger/test/ledger-compat/regress/712-a.test b/hledger/test/ledger-compat/regress/712-a.test new file mode 100644 index 000000000..6ef5ab9c5 --- /dev/null +++ b/hledger/test/ledger-compat/regress/712-a.test @@ -0,0 +1,11 @@ +2012/09/27 PLN Payment + Accrued 3,547.65 PLN {=$0.315786} + Accrued 5,320.06 PLN {=$0.315786} + Assets:Checking $-2,800.30 + +comment +test -X $ -V reg +12-Sep-27 PLN Payment Accrued $1,120.30 $1,120.30 + Accrued $1,680.00 $2,800.30 + Assets:Checking $-2,800.30 0 +end test diff --git a/hledger/test/ledger-compat/regress/712-b.test b/hledger/test/ledger-compat/regress/712-b.test new file mode 100644 index 000000000..3d72c6e5e --- /dev/null +++ b/hledger/test/ledger-compat/regress/712-b.test @@ -0,0 +1,23 @@ + +2011-01-01 * Opening balance + Assets:Cash 10.00 GBP + Equity:Opening balance -10.00 GBP + +2011-02-01 * Buy 1 AAA for 10.00 GBP + Assets:Investments 1 AAA {10.00 GBP} + Assets:Cash -10.00 GBP + +2011-12-07 * Sell AAA with a gain + Assets:Cash 12.00 GBP + Assets:Investments -1 AAA {10.00 GBP} @@ 12.00 GBP + Income:Capital gains -2.00 GBP + +comment +test bal + 12.00 GBP Assets:Cash + -10.00 GBP Equity:Opening balance + -2.00 GBP Income:Capital gains +-------------------- + 0 +end test + diff --git a/hledger/test/ledger-compat/regress/713-a.test b/hledger/test/ledger-compat/regress/713-a.test new file mode 100644 index 000000000..7d3e76d8d --- /dev/null +++ b/hledger/test/ledger-compat/regress/713-a.test @@ -0,0 +1,41 @@ + +2011-01-01 * Opening balance + Assets:Cash 25.00 GBP + Equity:Opening balance -25.00 GBP + +2011-02-01 * Buy 1 AAA for 10.00 GBP + Assets:Investments 1 AAA {10.00 GBP} + Assets:Cash -10.00 GBP + +2011-03-07 * Sell one AAA with a gain + Assets:Cash 12.00 GBP + Assets:Investments -1 AAA {10.00 GBP} @@ 12.00 GBP + Income:Capital gains -2.00 GBP + +2011-04-01 * Buy 1 BBB for 15.00 GBP + Assets:Investments 1 BBB {15.00 GBP} + Assets:Cash -15.00 GBP + +comment +test bal -B Assets:Investments -p "until 2011-02-20" + 10.00 GBP Assets:Investments +end test + +test bal -B Assets:Investments -p "until 2011-03-20" +end test + +test bal -B Assets:Investments -p "until 2011-04-20" + 15.00 GBP Assets:Investments +end test + +test bal Assets:Investments -p "until 2011-02-20" + 1 AAA Assets:Investments +end test + +test bal Assets:Investments -p "until 2011-03-20" +end test + +test bal Assets:Investments -p "until 2011-04-20" + 1 BBB Assets:Investments +end test + diff --git a/hledger/test/ledger-compat/regress/713-b.test b/hledger/test/ledger-compat/regress/713-b.test new file mode 100644 index 000000000..e445062d4 --- /dev/null +++ b/hledger/test/ledger-compat/regress/713-b.test @@ -0,0 +1,49 @@ + +2014-01-01 * Opening balances + Assets:Cash 100.00 GBP + Equity:Opening balances + +2014-02-01 * Buy 1 AAA for 10 GBP + Assets:Investments 1 AAA @ 10.00 GBP + Assets:Cash -10.00 GBP + +2014-03-01 * Buy 1 AAA for 20 GBP + Assets:Investments 1 AAA @ 20.00 GBP + Assets:Cash -20.00 GBP + +; Let's say the second purchase attracts an equalisation of 2.00 GBP. +; This means that the purchase price from now on should be 18.00 +; rather than 20.00 GBP. So we add a new share with that price and +; the original date, and remove the existing share at the old price; the +; difference of 2.00 GBP is the equalisation received, which is paid to +; the account. +2014-04-16 * Dividend (Equalisation) from AAA + Assets:Investments 1 AAA {18.00 GBP} [2014-03-01] @@ 18.00 GBP + Assets:Investments -1 AAA {20.00 GBP} [2014-03-01] @@ 20.00 GBP + Assets:Broker 2.00 GBP + +comment +test bal -B Assets:Investment -p "until 2014-02-20" + 10.00 GBP Assets:Investments +end test + +test bal -B Assets:Investment -p "until 2014-03-20" + 30.00 GBP Assets:Investments +end test + +test bal -B Assets:Investment -p "until 2014-04-20" + 28.00 GBP Assets:Investments +end test + +test bal Assets:Investment -p "until 2014-02-20" + 1 AAA Assets:Investments +end test + +test bal Assets:Investment -p "until 2014-03-20" + 2 AAA Assets:Investments +end test + +test bal Assets:Investment -p "until 2014-04-20" + 2 AAA Assets:Investments +end test + diff --git a/hledger/test/ledger-compat/regress/727B2DF8.test b/hledger/test/ledger-compat/regress/727B2DF8.test new file mode 100644 index 000000000..a1ff79445 --- /dev/null +++ b/hledger/test/ledger-compat/regress/727B2DF8.test @@ -0,0 +1,80 @@ +N $ + += /^Expenses:Books/ + (Liabilities:Taxes) -0.10 + +~ Monthly + Assets:Bank:Checking $500.00 + Income:Salary + +2004/05/01 * Checking balance + Assets:Bank:Checking $1,000.00 + Equity:Opening Balances + +2004/05/03=2004/05/01 * Investment balance + Assets:Brokerage 50 AAPL @ $30.00 + Equity:Opening Balances + +2004/05/14 * Páy dày + Assets:Bank:Checking 500.00€ + Income:Salary + +2004/05/14 * Another dày in which there is Páying + Asséts:Bánk:Chécking:Asséts:Bánk:Chécking $500.00 + Income:Salary + +2004/05/14 * Another dày in which there is Páying + Русский язык:Русский язык:Русский язык:Русский язык $1000.00 + Income:Salary + +2004/05/27 Book Store + Expenses:Books $20.00 + Expenses:Cards $40.00 + Expenses:Docs $30.00 + Liabilities:MasterCard + +2004/05/27 (100) Credit card company + ; This is an xact note! + ; Sample: Value + Liabilities:MasterCard $20.00 + ; This is a posting note! + ; Sample: Another Value + ; :MyTag: + Assets:Bank:Checking + ; :AnotherTag: + +comment +test reg --force-color +04-May-01 Checking balance Assets:Bank:Checking  $1,000.00 $1,000.00 + Equit:Opening Balances $-1,000.00 0 +04-May-03 Investment balance Assets:Brokerage  50 AAPL 50 AAPL + Equit:Opening Balances $-1,500.00 $-1,500.00 + 50 AAPL +04-May-14 Páy dày Assets:Bank:Checking  500.00€ $-1,500.00 + 50 AAPL + 500.00€ + Income:Salary  -500.00€ $-1,500.00 + 50 AAPL +04-May-14 Another dày in whic.. ..Bá:Ch:As:Bá:Chécking $500.00 $-1,000.00 + 50 AAPL + Income:Salary  $-500.00 $-1,500.00 + 50 AAPL +04-May-14 Another dày in whic.. Ру:Ру:Рус:Русский язык $1,000.00 $-500.00 + 50 AAPL + Income:Salary  $-1,000.00 $-1,500.00 + 50 AAPL +04-May-27 Book Store  Expenses:Books  $20.00 $-1,480.00 + 50 AAPL + Expenses:Cards  $40.00 $-1,440.00 + 50 AAPL + Expenses:Docs  $30.00 $-1,410.00 + 50 AAPL + Liabilities:MasterCard $-90.00 $-1,500.00 + 50 AAPL + (Liabilities:Taxes)  $-2.00 $-1,502.00 + 50 AAPL +04-May-27 Credit card company  Liabilities:MasterCard $20.00 $-1,482.00 + 50 AAPL + Assets:Bank:Checking  $-20.00 $-1,502.00 + 50 AAPL +end test diff --git a/hledger/test/ledger-compat/regress/730.test b/hledger/test/ledger-compat/regress/730.test new file mode 100644 index 000000000..10efbf200 --- /dev/null +++ b/hledger/test/ledger-compat/regress/730.test @@ -0,0 +1,38 @@ +; Using -M in combination with an empty result causes a segmentation fault +; therefore this test case does not have or need any test data + +comment +test -f /dev/null -M reg +end test + +; Tests mentioned in #730 +test reg -M +end test + +test reg -M .foo +end test + +test reg -M -e 2012/01 +end test + + +; Tests mentioned in #1080 +test reg '^Expenses' and expr 'any(account =~ /^Assets:Cash/)' --period 'every week this month' +end test + +test bal '^Expenses' and expr 'any(account =~ /^Assets:Cash/)' --period 'every week this month' +end test + +test bal reg foo and expr 'any(account =~ /bar/)' --period 'every week' +end test + + +; Tests mentioned in #1084 +test b abc -M +end test + +test reg foo -M +end test + +test bal foo -M +end test diff --git a/hledger/test/ledger-compat/regress/751B2357.test b/hledger/test/ledger-compat/regress/751B2357.test new file mode 100644 index 000000000..914ab462b --- /dev/null +++ b/hledger/test/ledger-compat/regress/751B2357.test @@ -0,0 +1,18 @@ +01.10.2011 4b4e2a89 + ef9d9585:efa1fb7b:22845e93:0e3763f0 2,00 A + 2c166ff7:d34e3aa1:8a5075b3:56f3c726 + +01.10.2011 15983995 + eb78b6c0:a2857de3:d6d8ea07:6688fc4e 2,58 A + ba3ffe56:c3ba36a5:aa63399f:e9e1d043 + +comment +test print --date-format=%d.%m.%Y --input-date-format=%d.%m.%Y +01.10.2011 4b4e2a89 + ef9d9585:efa1fb7b:22845e93:0e3763f0 2,00 A + 2c166ff7:d34e3aa1:8a5075b3:56f3c726 + +01.10.2011 15983995 + eb78b6c0:a2857de3:d6d8ea07:6688fc4e 2,58 A + ba3ffe56:c3ba36a5:aa63399f:e9e1d043 +end test diff --git a/hledger/test/ledger-compat/regress/755.test b/hledger/test/ledger-compat/regress/755.test new file mode 100644 index 000000000..40010c25a --- /dev/null +++ b/hledger/test/ledger-compat/regress/755.test @@ -0,0 +1,91 @@ + +; Test backwards compatibility with ledger2 + +--date-format %Y/%m/%d + +2009-04-17 * Test 1 + A 10.00 EUR + B + +2009-04-18=2010-04-20 (110) Test 2 + * C 20.00 EUR ;foo + * B + +comment +test -F "%a\n" reg +A +B +C +B +end test + +test -F "%A\n" reg +A +B +C +B +end test + +test -F "%d\n" reg +2009/04/17 +2009/04/17 +2009/04/18=2010/04/20 +2009/04/18=2010/04/20 +end test + +test -F "%D\n" reg +2009/04/17 +2009/04/17 +2009/04/18 +2009/04/18 +end test + +test -F "%S\n" reg +$FILE +$FILE +$FILE +$FILE +end test + +test -F "%b\n" reg +7 +8 +11 +12 +end test + +test -F "%B\n" reg +90 +126 +168 +209 +end test + +test -F "%X%P\n" reg +* Test 1 +* Test 1 +* Test 2 +* Test 2 +end test + +test -F "%Y%P\n" reg +* Test 1 +* Test 1 +Test 2 +Test 2 +end test + +test -F "%C%P\n" reg +Test 1 +Test 1 +(110) Test 2 +(110) Test 2 +end test + +test -F "%N\n" reg + + +foo + +end test + diff --git a/hledger/test/ledger-compat/regress/785.test b/hledger/test/ledger-compat/regress/785.test new file mode 100644 index 000000000..1cec6950c --- /dev/null +++ b/hledger/test/ledger-compat/regress/785.test @@ -0,0 +1,86 @@ + +account AA + alias + +account BB + default + +account CC + note + +account DD + payee + +account EE + value + +account FF + assert + +account GG + check + +account HH + eval + +account II + expr + +commodity AAA + alias + +commodity BBB + default + +commodity CCC + nomarket + +commodity DDD + value + +commodity EEE + format + +commodity FFF + note + +payee FOO + alias + uuid fooo + +payee BAR + uuid + +comment +test source -> 14 +__ERROR__ +While parsing file "$FILE", line 3: +Error: Account directive 'alias' requires an argument +While parsing file "$FILE", line 9: +Error: Account directive 'note' requires an argument +While parsing file "$FILE", line 12: +Error: Account directive 'payee' requires an argument +While parsing file "$FILE", line 15: +Error: Account directive 'value' requires an argument +While parsing file "$FILE", line 18: +Error: Account directive 'assert' requires an argument +While parsing file "$FILE", line 21: +Error: Account directive 'check' requires an argument +While parsing file "$FILE", line 24: +Error: Account directive 'eval' requires an argument +While parsing file "$FILE", line 27: +Error: Account directive 'expr' requires an argument +While parsing file "$FILE", line 30: +Error: Commodity directive 'alias' requires an argument +While parsing file "$FILE", line 39: +Error: Commodity directive 'value' requires an argument +While parsing file "$FILE", line 42: +Error: Commodity directive 'format' requires an argument +While parsing file "$FILE", line 45: +Error: Commodity directive 'note' requires an argument +While parsing file "$FILE", line 48: +Error: Payee directive 'alias' requires an argument +While parsing file "$FILE", line 52: +Error: Payee directive 'uuid' requires an argument +end test + diff --git a/hledger/test/ledger-compat/regress/786A3DD0.test b/hledger/test/ledger-compat/regress/786A3DD0.test new file mode 100644 index 000000000..7ffde9ddf --- /dev/null +++ b/hledger/test/ledger-compat/regress/786A3DD0.test @@ -0,0 +1,18 @@ +D 1000.00 EUR + +2011-02-27 * Australia + A -100.00 AUD @ 0.746 EUR + B + +2012-03-12 * Withdrawal + Assets:Cash USD 200.00 + Expenses:Banking:Fees USD 2.50 + Assets:Chequing CAD -203.42 + Epenses:Banking:Fees CAD 2.00 + Assets:Chqeuing CAD -2.00 + +comment +test pricedb +P 2011/02/27 00:00:00 AUD 0.746 EUR +P 2012/03/12 00:00:00 USD CAD 1.00454320987654321 +end test diff --git a/hledger/test/ledger-compat/regress/78AB4B87.dat b/hledger/test/ledger-compat/regress/78AB4B87.dat new file mode 100644 index 000000000..45b3028a9 --- /dev/null +++ b/hledger/test/ledger-compat/regress/78AB4B87.dat @@ -0,0 +1,14 @@ +D 1000.00 EUR +P 2011-01-01 GBP 1.2 EUR + +2011-01-01 * Opening balance + Assets:Bank 10.00 GBP + Equity:Opening balance + +2012-01-02 * Test + Assets:Bank 5.00 GBP + Income:Whatever + +2012-01-03 * Test + Assets:Bank + Income:Whatever -5.00 EUR @ 0.8733 GBP diff --git a/hledger/test/ledger-compat/regress/78AB4B87.py b/hledger/test/ledger-compat/regress/78AB4B87.py new file mode 100644 index 000000000..affc3496a --- /dev/null +++ b/hledger/test/ledger-compat/regress/78AB4B87.py @@ -0,0 +1,29 @@ +from __future__ import print_function + +import ledger + +eur = ledger.commodities.find_or_create('EUR') + +total_eur = ledger.Amount("0.00 EUR") +total_gbp = ledger.Amount("0.00 GBP") +total = ledger.Amount("0.00 EUR") + +for post in ledger.read_journal("test/regress/78AB4B87.dat").query("^income:"): + print(post.amount) + print(post.amount.commodity) + if post.amount.commodity == "EUR": + total_eur += post.amount + elif post.amount.commodity == "GBP": + total_gbp += post.amount + + a = post.amount.value(eur) + if a: + print("Total is presently: (%s)" % total) + print("Converted to EUR: (%s)" % a) + total += a + print("Total is now: (%s)" % total) + else: + print("Cannot convert '%s'" % post.amount) + print() + +print(total) diff --git a/hledger/test/ledger-compat/regress/78AB4B87_py.test b/hledger/test/ledger-compat/regress/78AB4B87_py.test new file mode 100644 index 000000000..c44703b94 --- /dev/null +++ b/hledger/test/ledger-compat/regress/78AB4B87_py.test @@ -0,0 +1,16 @@ +comment +test python test/regress/78AB4B87.py +-5.00 GBP +GBP +Total is presently: (0.00 EUR) +Converted to EUR: (-5.73 EUR) +Total is now: (-5.73 EUR) + +-5.00 EUR {0.8733 GBP} [2012/01/03] +EUR +Total is presently: (-5.73 EUR) +Converted to EUR: (-5.00 EUR) +Total is now: (-10.73 EUR) + +-10.73 EUR +end test diff --git a/hledger/test/ledger-compat/regress/793F6BF0.test b/hledger/test/ledger-compat/regress/793F6BF0.test new file mode 100644 index 000000000..d95889da2 --- /dev/null +++ b/hledger/test/ledger-compat/regress/793F6BF0.test @@ -0,0 +1,51 @@ +N $ + += /^Expenses:Books/ + (Liabilities:Taxes) -0.10 + +~ Monthly + Assets:Bank:Checking $500.00 + Income:Salary + +2004/05/01 * Checking balance + Assets:Bank:Checking $1,000.00 + Equity:Opening Balances + +2004/05/03=2004/05/01 * Investment balance + Assets:Brokerage 50 AAPL @ $30.00 + Equity:Opening Balances + +2004/05/14 * Páy dày + Assets:Bank:Checking 500.00€ + Income:Salary + +2004/05/14 * Another dày in which there is Páying + Asséts:Bánk:Chécking:Asséts:Bánk:Chécking $500.00 + Income:Salary + +2004/05/14 * Another dày in which there is Páying + Русский язык:Русский язык:Русский язык:Русский язык $1000.00 + Income:Salary + +2004/05/27 Book Store + Expenses:Books $20.00 + Expenses:Cards $40.00 + Expenses:Docs $30.00 + Liabilities:MasterCard + +2004/05/27 (100) Credit card company + ; This is an xact note! + ; Sample: Value + Liabilities:MasterCard $20.00 + ; This is a posting note! + ; Sample: Another Value + ; :MyTag: + Assets:Bank:Checking + ; :AnotherTag: + +comment +test entry 2009/03/15 book 10 +2009/03/15 Book Store + Expenses:Books $10.00 + Liabilities:MasterCard +end test diff --git a/hledger/test/ledger-compat/regress/7C44010B.test b/hledger/test/ledger-compat/regress/7C44010B.test new file mode 100644 index 000000000..c56c2bbdc --- /dev/null +++ b/hledger/test/ledger-compat/regress/7C44010B.test @@ -0,0 +1,31 @@ +D 1000,00 € + +1994/1/1 Company + Assets:Checking 10000 F + Income:Salary + +1998/1/1 Transfer + Assets:US account 200 $ + Assets:Checking -1000 F + +P 1998/12/31 $ 6 F + +1999/1/1 Books + Expenses:Books 200 $ + Assets:US account + +P 2002/1/1 € 6,55957 F + +2002/1/1 Company + Assets:Checking 2000 € + Income:Salary + +comment +test reg -X F -J Assets +1994-01-01 10000 +1998-01-01 11000 +1998-01-01 10000 +1998-12-31 10200 +1999-01-01 9000 +2002-01-01 22119.14 +end test diff --git a/hledger/test/ledger-compat/regress/7F3650FD.test b/hledger/test/ledger-compat/regress/7F3650FD.test new file mode 100644 index 000000000..8fddbcc8d --- /dev/null +++ b/hledger/test/ledger-compat/regress/7F3650FD.test @@ -0,0 +1,85 @@ +comment +test period --now=2010/11/01 12/01 +--- Period expression tokens --- +TOK_DATE: month Dec day 1 +END_REACHED: + +--- Before stabilization --- + range: in month Dec day 1 + +--- After stabilization --- + range: in month Dec day 1 + start: 10-Dec-01 + finish: 10-Dec-02 + +--- Sample dates in range (max. 20) --- + 1: 10-Dec-01 +end test + +test period --now=2010/11/01 10/01 +--- Period expression tokens --- +TOK_DATE: month Oct day 1 +END_REACHED: + +--- Before stabilization --- + range: in month Oct day 1 + +--- After stabilization --- + range: in month Oct day 1 + start: 10-Oct-01 + finish: 10-Oct-02 + +--- Sample dates in range (max. 20) --- + 1: 10-Oct-01 +end test + +test period --now=2010/11/01 2009/10 +--- Period expression tokens --- +TOK_DATE: year 2009 month Oct +END_REACHED: + +--- Before stabilization --- + range: in year 2009 month Oct + +--- After stabilization --- + range: in year 2009 month Oct + start: 09-Oct-01 + finish: 09-Nov-01 + +--- Sample dates in range (max. 20) --- + 1: 09-Oct-01 +end test + +test period --now=2010/11/01 2009/10/01 +--- Period expression tokens --- +TOK_DATE: year 2009 month Oct day 1 +END_REACHED: + +--- Before stabilization --- + range: in year 2009 month Oct day 1 + +--- After stabilization --- + range: in year 2009 month Oct day 1 + start: 09-Oct-01 + finish: 09-Oct-02 + +--- Sample dates in range (max. 20) --- + 1: 09-Oct-01 +end test + +test period --now=2010/11/01 2009 +--- Period expression tokens --- +TOK_INT: 2009 +END_REACHED: + +--- Before stabilization --- + range: in year 2009 + +--- After stabilization --- + range: in year 2009 + start: 09-Jan-01 + finish: 10-Jan-01 + +--- Sample dates in range (max. 20) --- + 1: 09-Jan-01 +end test diff --git a/hledger/test/ledger-compat/regress/8254755E.test b/hledger/test/ledger-compat/regress/8254755E.test new file mode 100644 index 000000000..0125875e7 --- /dev/null +++ b/hledger/test/ledger-compat/regress/8254755E.test @@ -0,0 +1,18 @@ +~ Monthly + Expenses:Auto:Fuel $120.00 + Expenses:Food:Out $100.00 + Expenses:Food:Groceries $350.00 + Assets + +2009/11/01 + Expenses:Food:Out $50.00 + Assets + +comment +test bal --flat food:out --now=2009/12/31 + $50.00 Expenses:Food:Out +end test + +test bal --flat --budget food:out --now=2009/12/31 + $-150.00 Expenses:Food:Out +end test diff --git a/hledger/test/ledger-compat/regress/82763D86.test b/hledger/test/ledger-compat/regress/82763D86.test new file mode 100644 index 000000000..1b6110bf0 --- /dev/null +++ b/hledger/test/ledger-compat/regress/82763D86.test @@ -0,0 +1,36 @@ +; Test for: 'ledger -f doc/sample.dat reg -s -n liab' elides too much +; It collapses the account down to "", even though there was +; only one account! + += /^Expenses:Books/ + (Liabilities:Taxes) -0.10 + +~ Monthly + Assets:Bank:Checking $500.00 + Income:Salary + +2004/05/01 * Checking balance + Assets:Bank:Checking $1,000.00 + Equity:Opening Balances + +2004/05/01 * Investment balance + Assets:Brokerage 50 AAPL @ $30.00 + Equity:Opening Balances + +2004/05/14 * Pay day + Assets:Bank:Checking $500.00 + Income:Salary + +2004/05/27 Book Store + Expenses:Books $20.00 + Liabilities:MasterCard + +2004/05/27 (100) Credit card company + Liabilities:MasterCard $20.00 + Assets:Bank:Checking + +comment +test -s reg liabilities +04-May-27 - 04-May-27 (Liabilities:Taxes) $-2.00 $-2.00 +end test + diff --git a/hledger/test/ledger-compat/regress/83B4A0E5.test b/hledger/test/ledger-compat/regress/83B4A0E5.test new file mode 100644 index 000000000..cc5e7d277 --- /dev/null +++ b/hledger/test/ledger-compat/regress/83B4A0E5.test @@ -0,0 +1,44 @@ +P 2012-03-01 EUR $2 +P 2012-03-01 GBP $2 + +2012-03-05 KFC + Expenses:Food 10 EUR + Assets:Cash + +2012-03-10 KFC + Expenses:Food 10 GBP + Assets:Cash + +comment +test reg food +12-Mar-05 KFC Expenses:Food 10 EUR 10 EUR +12-Mar-10 KFC Expenses:Food 10 GBP 10 EUR + 10 GBP +end test + +test reg food -V +12-Mar-05 KFC Expenses:Food $20 $20 +12-Mar-10 KFC Expenses:Food $20 $40 +end test + +test reg food -X '$' +12-Mar-05 KFC Expenses:Food $20 $20 +12-Mar-10 KFC Expenses:Food $20 $40 +end test + +test reg food -X '$,GBP' +12-Mar-05 KFC Expenses:Food $20 $20 +12-Mar-10 KFC Expenses:Food 10 GBP $20 + 10 GBP +end test + +test reg food -X '$!,GBP' +12-Mar-05 KFC Expenses:Food $20 $20 +12-Mar-10 KFC Expenses:Food $20 $40 +end test + +test reg food -X '$,EUR' +12-Mar-05 KFC Expenses:Food 10 EUR 10 EUR +12-Mar-10 KFC Expenses:Food $20 $20 + 10 EUR +end test diff --git a/hledger/test/ledger-compat/regress/854150DF.test b/hledger/test/ledger-compat/regress/854150DF.test new file mode 100644 index 000000000..b197e8288 --- /dev/null +++ b/hledger/test/ledger-compat/regress/854150DF.test @@ -0,0 +1,26 @@ +2011-11-10 * test + A:B:C 12.50 GBP + A:C + +comment +test bal --flat -d "depth>=2" + 12.50 GBP A:B:C + -12.50 GBP A:C +-------------------- + 0 +end test + +test bal --flat -d "depth>1" + 12.50 GBP A:B:C + -12.50 GBP A:C +-------------------- + 0 +end test + +test bal --flat -d "depth>2" + 12.50 GBP A:B:C +end test + +test bal --flat -d "depth==2" + -12.50 GBP A:C +end test diff --git a/hledger/test/ledger-compat/regress/86D2BDC4.test b/hledger/test/ledger-compat/regress/86D2BDC4.test new file mode 100644 index 000000000..0039e5bbe --- /dev/null +++ b/hledger/test/ledger-compat/regress/86D2BDC4.test @@ -0,0 +1,11 @@ +2009/06/03 Westjet + Expenses:Transportation:Air C$429.80 @ 1.572865 + Expenses:Bank:Fees 2.73 + Liabilities:Mastercard + +comment +test reg -B +09-Jun-03 Westjet Expe:Transportatio:Air 676.017377 676.017377 + Expenses:Bank:Fees 2.73 678.747377 + Liabilities:Mastercard -678.747377 0 +end test diff --git a/hledger/test/ledger-compat/regress/889BB167.test b/hledger/test/ledger-compat/regress/889BB167.test new file mode 100644 index 000000000..201785d1c --- /dev/null +++ b/hledger/test/ledger-compat/regress/889BB167.test @@ -0,0 +1,18 @@ +D 1000.00 GBP + +P 2011-01-01 EUR 0.8604 GBP +P 2011-02-01 EUR 0.8576 GBP + +2011-01-31 * AdSense earnings + Assets:Receivable:AdSense 11.00 EUR + Income:AdSense + +2011-02-28 * AdSense earnings + Assets:Receivable:AdSense 10.00 EUR + Income:AdSense + +comment +test reg income:adse -X GBP -H +11-Jan-31 AdSense earnings Income:AdSense -9.46 GBP -9.46 GBP +11-Feb-28 AdSense earnings Income:AdSense -8.58 GBP -18.04 GBP +end test diff --git a/hledger/test/ledger-compat/regress/89233B6D-a.dat b/hledger/test/ledger-compat/regress/89233B6D-a.dat new file mode 100644 index 000000000..01d00e9a7 --- /dev/null +++ b/hledger/test/ledger-compat/regress/89233B6D-a.dat @@ -0,0 +1,4 @@ +1994/01/02 * Salary + Asssets:Bank:Checking 200.00 + Income:Salary -200.00 + diff --git a/hledger/test/ledger-compat/regress/89233B6D-b.dat b/hledger/test/ledger-compat/regress/89233B6D-b.dat new file mode 100644 index 000000000..f54dc66f6 --- /dev/null +++ b/hledger/test/ledger-compat/regress/89233B6D-b.dat @@ -0,0 +1,4 @@ +1994/01/02 * Rent + Expenses:Rent 100.00 + Asssets:Bank:Checking -100.00 + diff --git a/hledger/test/ledger-compat/regress/89233B6D.test b/hledger/test/ledger-compat/regress/89233B6D.test new file mode 100644 index 000000000..ee7aa6852 --- /dev/null +++ b/hledger/test/ledger-compat/regress/89233B6D.test @@ -0,0 +1,14 @@ +!apply account A +!include 89233B6D-a.dat +!end + +!apply account B +!include 89233B6D-b.dat +!end + +comment +test reg "^A:" +94-Jan-02 Salary A:Assset:Bank:Checking 200 200 + A:Income:Salary -200 0 +end test + diff --git a/hledger/test/ledger-compat/regress/8CE88DB4.test b/hledger/test/ledger-compat/regress/8CE88DB4.test new file mode 100644 index 000000000..6350c32cf --- /dev/null +++ b/hledger/test/ledger-compat/regress/8CE88DB4.test @@ -0,0 +1,12 @@ +2010-01-01 * Test + Expenses:Food 100.00 EUR + Assets:Cash -100.00 EUR + +2011-07-30 * Exchange EUR to BAM + Assets:Cash -22.00 EUR + Assets:Cash 44.00 BAM + +comment +test pricedb +P 2011/07/30 00:00:00 EUR 2.00 BAM +end test diff --git a/hledger/test/ledger-compat/regress/8EAF77C0.test b/hledger/test/ledger-compat/regress/8EAF77C0.test new file mode 100644 index 000000000..8e9b31116 --- /dev/null +++ b/hledger/test/ledger-compat/regress/8EAF77C0.test @@ -0,0 +1,18 @@ +2011/08/05 Rehab Donation + Asset:Bank:Boi:Current:Dk 10 + Expenses:Misc:Charity + + 2011/08/07 Net Salary + Asset:Bank:Boi:Savings:Dk -3016.24 + Income:NetSalary:Dk + +2011/08/30 Net Salary + Asset:Bank:Boi:Savings:Dk -3016.24 + Income:NetSalary:Dk + +comment +test reg -> 1 +__ERROR__ +While parsing file "$FILE", line 5: +Error: Unexpected whitespace at beginning of line +end test diff --git a/hledger/test/ledger-compat/regress/9188F587.py b/hledger/test/ledger-compat/regress/9188F587.py new file mode 100644 index 000000000..9095d58cd --- /dev/null +++ b/hledger/test/ledger-compat/regress/9188F587.py @@ -0,0 +1,29 @@ +from __future__ import print_function + +import ledger + +eur = ledger.commodities.find_or_create('EUR') + +total_eur = ledger.Amount("0.00 EUR") +total_gbp = ledger.Amount("0.00 GBP") +total = ledger.Amount("0.00 EUR") + +for post in ledger.read_journal("test/regress/78AB4B87.dat").query("^income:"): + print(post.amount) + print(post.amount.commodity) + if post.amount.commodity == "EUR": + total_eur += post.amount + elif post.amount.commodity == "GBP": + total_gbp += post.amount + + a = post.amount.value(eur, post.date) + if a: + print("Total is presently: (%s)" % total) + print("Converted to EUR: (%s)" % a) + total += a + print("Total is now: (%s)" % total) + else: + print("Cannot convert '%s'" % post.amount) + print() + +print(total) diff --git a/hledger/test/ledger-compat/regress/9188F587_py.test b/hledger/test/ledger-compat/regress/9188F587_py.test new file mode 100644 index 000000000..8535355f1 --- /dev/null +++ b/hledger/test/ledger-compat/regress/9188F587_py.test @@ -0,0 +1,16 @@ +comment +test python test/regress/9188F587.py +-5.00 GBP +GBP +Total is presently: (0.00 EUR) +Converted to EUR: (-6.00 EUR) +Total is now: (-6.00 EUR) + +-5.00 EUR {0.8733 GBP} [2012/01/03] +EUR +Total is presently: (-6.00 EUR) +Converted to EUR: (-5.00 EUR) +Total is now: (-11.00 EUR) + +-11.00 EUR +end test diff --git a/hledger/test/ledger-compat/regress/95350193.test b/hledger/test/ledger-compat/regress/95350193.test new file mode 100644 index 000000000..5b5e40dc5 --- /dev/null +++ b/hledger/test/ledger-compat/regress/95350193.test @@ -0,0 +1,7 @@ +2011-11-08 * Test + Assets:Voucher:Amazon 137.87 GBP (48H5) + Assets:Cash -137.87 GBP + +comment +test pricedb +end test diff --git a/hledger/test/ledger-compat/regress/96A8E4A1.test b/hledger/test/ledger-compat/regress/96A8E4A1.test new file mode 100644 index 000000000..d6da018bc --- /dev/null +++ b/hledger/test/ledger-compat/regress/96A8E4A1.test @@ -0,0 +1,11 @@ +2011-01-31 * Test + Expenses:Travel 1 "Spr MegaBonus" + Assets:Voucher + +comment +test -X EUR -H bal + -1 "Spr MegaBonus" Assets:Voucher + 1 "Spr MegaBonus" Expenses:Travel +-------------------- + 0 +end test diff --git a/hledger/test/ledger-compat/regress/981.test b/hledger/test/ledger-compat/regress/981.test new file mode 100644 index 000000000..6d1ffabb6 --- /dev/null +++ b/hledger/test/ledger-compat/regress/981.test @@ -0,0 +1,30 @@ + +; Test a regex longer than 255 char + +tag Project + check value =~ /^(0ad|ankur|aptosid|archlinux|chakra|debian|debconf14|debconf15|debconf16|drizzle|ffmpeg|ffmpeg|fluxbox|freedesktop|freedombox|gallery|texmacs|haskell|jenkins|libreoffice|madwifi|mingw|openvas|openwrt|openbioinformatics|openembedded|openvoting|osunix|path64|plan9|postgresql|privoxy|smc|helios|tidesdk|tux4kids|yafaray|spi)$/ + +2016-01-01 * Test - correct tag + Expenses:Hosting 20.00 USD + ; Project: debian + Assets:Cash -20.00 USD + +2016-02-01 * Test - wrong tag + Expenses:Hosting 20.00 USD + ; Project: foo + Assets:Cash -20.00 USD + +comment +test bal + -40.00 USD Assets:Cash + 40.00 USD Expenses:Hosting +-------------------- + 0 +__ERROR__ +Warning: "$FILE", line 15: Metadata check failed for (Project: foo): (value =~ /^(0ad|ankur|aptosid|archlinux|chakra|debian|debconf14|debconf15|debconf16|drizzle|ffmpeg|ffmpeg|fluxbox|freedesktop|freedombox|gallery|texmacs|haskell|jenkins|libreoffice|madwifi|mingw|openvas|openwrt|openbioinformatics|openembedded|openvoting|osunix|path64|plan9|postgresql|privoxy|smc|helios|tidesdk|tux4kids|yafaray|spi)$/) +end test + +test reg --limit 'payee =~ /XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/' +__ERROR__ +Warning: "$FILE", line 15: Metadata check failed for (Project: foo): (value =~ /^(0ad|ankur|aptosid|archlinux|chakra|debian|debconf14|debconf15|debconf16|drizzle|ffmpeg|ffmpeg|fluxbox|freedesktop|freedombox|gallery|texmacs|haskell|jenkins|libreoffice|madwifi|mingw|openvas|openwrt|openbioinformatics|openembedded|openvoting|osunix|path64|plan9|postgresql|privoxy|smc|helios|tidesdk|tux4kids|yafaray|spi)$/) +end test diff --git a/hledger/test/ledger-compat/regress/999-a.test b/hledger/test/ledger-compat/regress/999-a.test new file mode 100644 index 000000000..1bc98cff9 --- /dev/null +++ b/hledger/test/ledger-compat/regress/999-a.test @@ -0,0 +1,7 @@ +2012-03-10 My Brother + Assets:Brokerage 1000 AAPL (@) $1 + Income:Gifts Received + +comment +test prices +end test diff --git a/hledger/test/ledger-compat/regress/999-b.test b/hledger/test/ledger-compat/regress/999-b.test new file mode 100644 index 000000000..d41eee00d --- /dev/null +++ b/hledger/test/ledger-compat/regress/999-b.test @@ -0,0 +1,23 @@ + +2014-01-01 * Test + Assets:Cash 10.00 GBP + Equity:Opening balance -10.00 GBP + +2014-02-01 * Exchange rate 1.10 + Assets:Cash -1.00 GBP @ 1.10 EUR + Assets:Cash 1.10 EUR + +2014-03-01 * Exchange rate 1.20 + Assets:Cash -1.00 GBP (@) 1.20 EUR + Assets:Cash 1.20 EUR + +comment +test pricedb +P 2014/02/01 00:00:00 GBP 1.10 EUR +end test + +test reg Equity:Opening -X EUR +14-Jan-01 Test Equity:Opening balance -10.00 GBP -10.00 GBP +14-Feb-01 Commodities revalued 0 -11.00 EUR +end test + diff --git a/hledger/test/ledger-compat/regress/9E0E606D.test b/hledger/test/ledger-compat/regress/9E0E606D.test new file mode 100644 index 000000000..faa71f0dd --- /dev/null +++ b/hledger/test/ledger-compat/regress/9E0E606D.test @@ -0,0 +1,20 @@ +D 1000.00 GBP + +P 2011-02-01 EUR 0.8576 GBP +P 2011-03-01 EUR 0.8612 GBP +P 2011-04-01 EUR 0.8510 GBP + +2011-01-31 * AdSense earnings + Assets:Receivable:AdSense 11.00 EUR + Income:AdSense + +2011-02-28 * AdSense earnings + Assets:Receivable:AdSense 10.00 EUR + Income:AdSense + +comment +test reg income:ad -X GBP -H +11-Jan-31 AdSense earnings Income:AdSense -11.00 EUR -11.00 EUR +11-Feb-28 Commodities revalued -9.43 GBP -9.43 GBP +11-Feb-28 AdSense earnings Income:AdSense -8.58 GBP -18.01 GBP +end test diff --git a/hledger/test/ledger-compat/regress/9EB10714.test b/hledger/test/ledger-compat/regress/9EB10714.test new file mode 100644 index 000000000..302748d87 --- /dev/null +++ b/hledger/test/ledger-compat/regress/9EB10714.test @@ -0,0 +1,44 @@ +1994/01/01 Achat Rialto + Actif:Fixe:Rialto 2 Rialto + Actif:BNP -120000 € + Actif:BNP 120000 € + Revenu:Salaire -120000 € + +P 1995/01/01 Rialto 70000 € +P 1996/01/01 Rialto 90000 € +P 1997/01/01 Rialto 90000 € +P 1998/01/01 Rialto 105000 € +P 1999/01/01 Rialto 110000 € +P 2000/01/01 Rialto 120000 € +P 2001/01/01 Rialto 130000 € +P 2002/01/01 Rialto 140000 € +P 2003/01/01 Rialto 150000 € +P 2004/01/01 Rialto 160000 € +P 2005/01/01 Rialto 170000 € +P 2006/01/01 Rialto 180000 € +P 2007/01/01 Rialto 190000 € +P 2008/01/01 Rialto 200000 € +P 2009/01/01 Rialto 210000 € +P 2010/01/01 Rialto 211000 € + +comment +test reg -J -V ^Actif +1994-01-01 120000 +1994-01-01 0 +1994-01-01 120000 +1995-01-01 140000 +1996-01-01 180000 +1998-01-01 210000 +1999-01-01 220000 +2000-01-01 240000 +2001-01-01 260000 +2002-01-01 280000 +2003-01-01 300000 +2004-01-01 320000 +2005-01-01 340000 +2006-01-01 360000 +2007-01-01 380000 +2008-01-01 400000 +2009-01-01 420000 +2010-01-01 422000 +end test diff --git a/hledger/test/ledger-compat/regress/A013A73B.test b/hledger/test/ledger-compat/regress/A013A73B.test new file mode 100644 index 000000000..0171c0fb6 --- /dev/null +++ b/hledger/test/ledger-compat/regress/A013A73B.test @@ -0,0 +1,11 @@ + +2014-01-01 c ; x + a 1 + b + +comment +test reg +14-Jan-01 c a 1 1 + b -1 0 +end test + diff --git a/hledger/test/ledger-compat/regress/A28CF697.test b/hledger/test/ledger-compat/regress/A28CF697.test new file mode 100644 index 000000000..afc7706d3 --- /dev/null +++ b/hledger/test/ledger-compat/regress/A28CF697.test @@ -0,0 +1,10 @@ +2010-02-05 * Flight SN2094 + Assets:Rewards:Airmiles 125 "M&M" + Income:Rewards + +comment +test print +2010/02/05 * Flight SN2094 + Assets:Rewards:Airmiles 125 "M&M" + Income:Rewards +end test diff --git a/hledger/test/ledger-compat/regress/A3FA7601.dat b/hledger/test/ledger-compat/regress/A3FA7601.dat new file mode 100644 index 000000000..9a734e677 --- /dev/null +++ b/hledger/test/ledger-compat/regress/A3FA7601.dat @@ -0,0 +1,3 @@ +date,posted,code,payee,amount,total,note, +12/12/2011,12/13/2011,100,Test,$10,$20,test, +12/12/2011,12/12/2011,,,$10,$20, diff --git a/hledger/test/ledger-compat/regress/A3FA7601.test b/hledger/test/ledger-compat/regress/A3FA7601.test new file mode 100644 index 000000000..8e544857b --- /dev/null +++ b/hledger/test/ledger-compat/regress/A3FA7601.test @@ -0,0 +1,10 @@ +comment +test -f /dev/null --input-date-format '%m/%d/%Y' convert test/regress/A3FA7601.dat +2011/12/12=2011/12/13 * (100) Test ;test + Expenses:Unknown $10 + Equity:Unknown $-10 = $20 + +2011/12/12=2011/12/12 * + Expenses:Unknown $10 + Equity:Unknown $-10 = $20 +end test diff --git a/hledger/test/ledger-compat/regress/A560FDAD.test b/hledger/test/ledger-compat/regress/A560FDAD.test new file mode 100644 index 000000000..e6fe8d3f0 --- /dev/null +++ b/hledger/test/ledger-compat/regress/A560FDAD.test @@ -0,0 +1,86 @@ +2012-01-01 * Opening balance + Assets:Current 17.43 EUR + Assets:Investments 200 "LU02" @ 24.77 EUR + Assets:Investments 58 "LU02" @ 24.79900855 EUR + Equity:Opening balance + +2012-01-01 * Opening balance + Assets:Pension 785.44 GBP + Assets:Pension 97.0017 "H2" @ 5.342999720204 GBP + Assets:Pension 4.3441 "H1" @ 5.289999915108 GBP + Equity:Opening balance + +2012-01-01 * Opening balance: misc + Assets:Piggy bank 3.51 GBP + Equity:Opening balance + +2012-01-01 * Opening balance + Assets:Rewards 9836 AAdvantage + Equity:Opening balance + +2012-01-03 * Receivable + Assets:Current + Assets:Receivable -161.06 EUR + Assets:Receivable -9.99 GBP @@ 11.65 EUR + +2012-01-27 * Test + Income:Test -2759.50 GBP + Income:Test -110.76 GBP + Assets:Foo 345.57 GBP + Expenses:Test 16.47 GBP + Expenses:Test 6.33 GBP + Expenses:Test 261.39 GBP + Assets:Current + +comment +test reg -X EUR -H +12-Jan-01 Opening balance Assets:Current 17.43 EUR 17.43 EUR + Assets:Investments 4959.80 EUR 4977.23 EUR + Assets:Investments 1438.34 EUR 6415.57 EUR + Equity:Opening balance -6409.77 EUR 5.80 EUR +12-Jan-01 Opening balance Assets:Pension 785.44 GBP 5.80 EUR + 785.44 GBP + Assets:Pension 97.0017 H2 5.80 EUR + 785.44 GBP + 97.0017 H2 + Assets:Pension 4.3441 H1 5.80 EUR + 785.44 GBP + 4.3441 H1 + 97.0017 H2 + Equity:Opening balance -1326.70 GBP 5.80 EUR + -541.26 GBP + 4.3441 H1 + 97.0017 H2 +12-Jan-01 Opening balance: misc Assets:Piggy bank 3.51 GBP 5.80 EUR + -537.75 GBP + 4.3441 H1 + 97.0017 H2 + Equity:Opening balance -3.51 GBP 5.80 EUR + -541.26 GBP + 4.3441 H1 + 97.0017 H2 +12-Jan-01 Opening balance Assets:Rewards 9836 AAdvantage 9836 AAdvantage + 5.80 EUR + -541.26 GBP + 4.3441 H1 + 97.0017 H2 + Equity:Opening balance -9836 AAdvantage 5.80 EUR + -541.26 GBP + 4.3441 H1 + 97.0017 H2 +12-Jan-03 Commodities revalued 0 5.80 EUR +12-Jan-03 Receivable Assets:Current 172.71 EUR 178.51 EUR + Assets:Receivable -161.06 EUR 17.45 EUR + Assets:Receivable -11.65 EUR 5.80 EUR +12-Jan-27 Test 0.01 EUR 5.81 EUR + Income:Test -3218.04 EUR -3212.23 EUR + -0.01 EUR -3212.24 EUR + Income:Test -129.16 EUR -3341.40 EUR + Assets:Foo 402.99 EUR -2938.41 EUR + Expenses:Test 19.21 EUR -2919.20 EUR + Expenses:Test 7.38 EUR -2911.82 EUR + 0.01 EUR -2911.81 EUR + Expenses:Test 304.82 EUR -2606.99 EUR + -0.01 EUR -2607.00 EUR + Assets:Current 2612.80 EUR 5.80 EUR +end test diff --git a/hledger/test/ledger-compat/regress/A8FCC765.dat b/hledger/test/ledger-compat/regress/A8FCC765.dat new file mode 100644 index 000000000..abc51a0a7 --- /dev/null +++ b/hledger/test/ledger-compat/regress/A8FCC765.dat @@ -0,0 +1,2 @@ +P 2012-03-16 06:47:12 CAD $2.50 +P 2012-03-17 06:47:12 CAD $3.50 diff --git a/hledger/test/ledger-compat/regress/A8FCC765.test b/hledger/test/ledger-compat/regress/A8FCC765.test new file mode 100644 index 000000000..8972d05af --- /dev/null +++ b/hledger/test/ledger-compat/regress/A8FCC765.test @@ -0,0 +1,9 @@ +2012-03-17 KFC + Expenses:Food 20 CAD + Assets:Cash + +comment +test pricedb --price-db test/regress/A8FCC765.dat +P 2012/03/16 06:47:12 CAD $2.5 +P 2012/03/17 06:47:12 CAD $3.5 +end test diff --git a/hledger/test/ledger-compat/regress/AA2FF2B.test b/hledger/test/ledger-compat/regress/AA2FF2B.test new file mode 100644 index 000000000..d088ffacd --- /dev/null +++ b/hledger/test/ledger-compat/regress/AA2FF2B.test @@ -0,0 +1,11 @@ +2008/01/20 * La Poste + Revenu:Invest:Exonéré + Actif:Courant:LaPosteLivretA 25,24 € = 25,24 € + +comment +test --args-only --decimal-comma bal + 25,24 € Actif:Courant:LaPosteLivretA + -25,24 € Revenu:Invest:Exonéré +-------------------- + 0 +end test diff --git a/hledger/test/ledger-compat/regress/ACE05ECE.test b/hledger/test/ledger-compat/regress/ACE05ECE.test new file mode 100644 index 000000000..16a1ad64b --- /dev/null +++ b/hledger/test/ledger-compat/regress/ACE05ECE.test @@ -0,0 +1,7 @@ +i 2011/07/20 17:00:00 Hello Work project +o 2011/07/21 01:00:00 Hello + +comment +test reg Hello +11-Jul-20 Work project (Hello) 8.00h 8.00h +end test diff --git a/hledger/test/ledger-compat/regress/AEDE9734.test b/hledger/test/ledger-compat/regress/AEDE9734.test new file mode 100644 index 000000000..3f0e7ade9 --- /dev/null +++ b/hledger/test/ledger-compat/regress/AEDE9734.test @@ -0,0 +1,13 @@ +2011-02-23 Rocket Fuel + Expenses:Travel $100000000.00 ; trip: Moon + Asset:NASA + +2011-02-23 Liquid Oxygen + Expenses:Travel $232233223.00 ; trip: Moon + Asset:NASA + +comment +test bal --group-by "tag('trip')" +Moon + $332233223.00 Expenses:Travel +end test diff --git a/hledger/test/ledger-compat/regress/AFAFB804.test b/hledger/test/ledger-compat/regress/AFAFB804.test new file mode 100644 index 000000000..49b265461 --- /dev/null +++ b/hledger/test/ledger-compat/regress/AFAFB804.test @@ -0,0 +1,58 @@ +; Test for: ledger should allow sorting by multiple criteria, like: +; -S date,payee + +2010-02-09 * Z + A $10 + B + +2010-02-09 * Y + B $10 + C + +2010-02-09 * X + C $10 + D + +2010-02-10 * Z + A $15 + B + +2010-02-10 * Y + B $15 + C + +2010-02-10 * X + C $15 + D + +comment +test reg -S date,payee +10-Feb-09 X C $10 $10 + D $-10 0 +10-Feb-09 Y B $10 $10 + C $-10 0 +10-Feb-09 Z A $10 $10 + B $-10 0 +10-Feb-10 X C $15 $15 + D $-15 0 +10-Feb-10 Y B $15 $15 + C $-15 0 +10-Feb-10 Z A $15 $15 + B $-15 0 +end test + +test reg -S payee,date +10-Feb-09 X C $10 $10 + D $-10 0 +10-Feb-10 X C $15 $15 + D $-15 0 +10-Feb-09 Y B $10 $10 + C $-10 0 +10-Feb-10 Y B $15 $15 + C $-15 0 +10-Feb-09 Z A $10 $10 + B $-10 0 +10-Feb-10 Z A $15 $15 + B $-15 0 +end test + diff --git a/hledger/test/ledger-compat/regress/B21BF389.py b/hledger/test/ledger-compat/regress/B21BF389.py new file mode 100644 index 000000000..a49c498c7 --- /dev/null +++ b/hledger/test/ledger-compat/regress/B21BF389.py @@ -0,0 +1,13 @@ +#!/usr/bin/env python +# -*- coding: utf-8 -*- + +from __future__ import print_function, unicode_literals + +import sys +import ledger + +for post in ledger.read_journal(__file__.replace(".py", "_py.test")).query("income"): + reference = post.tag("Reference") + if sys.version_info.major == 2: + reference = unicode(reference) + print(reference) diff --git a/hledger/test/ledger-compat/regress/B21BF389_py.test b/hledger/test/ledger-compat/regress/B21BF389_py.test new file mode 100644 index 000000000..a2a5ba724 --- /dev/null +++ b/hledger/test/ledger-compat/regress/B21BF389_py.test @@ -0,0 +1,9 @@ +2016/01/11 * Employer + Assets:Checking + Income:Salary € 1.500,00 + ; Reference: Christmas bonus + +comment +test python test/regress/B21BF389.py +Christmas bonus +end test diff --git a/hledger/test/ledger-compat/regress/B68FFB0D.test b/hledger/test/ledger-compat/regress/B68FFB0D.test new file mode 100644 index 000000000..8577dfeec --- /dev/null +++ b/hledger/test/ledger-compat/regress/B68FFB0D.test @@ -0,0 +1,14 @@ +D $1,000.00 + +2009/01/01 Sample + assets 134.123 FOO @ $8.88 + assets 100 BAR @ $8.88 + equity + +comment +test print +2009/01/01 Sample + assets 134.123 FOO @ $8.88 + assets 100 BAR @ $8.88 + equity +end test diff --git a/hledger/test/ledger-compat/regress/BBFA1759.test b/hledger/test/ledger-compat/regress/BBFA1759.test new file mode 100644 index 000000000..dcdafc195 --- /dev/null +++ b/hledger/test/ledger-compat/regress/BBFA1759.test @@ -0,0 +1,19 @@ + +comment +test period june 2008 +--- Period expression tokens --- +TOK_A_MONTH: Jun +TOK_INT: 2008 +END_REACHED: + +--- Before stabilization --- + range: in year 2008 month Jun + +--- After stabilization --- + range: in year 2008 month Jun + start: 08-Jun-01 + finish: 08-Jul-01 + +--- Sample dates in range (max. 20) --- + 1: 08-Jun-01 +end test diff --git a/hledger/test/ledger-compat/regress/BF3C1F82-2.test b/hledger/test/ledger-compat/regress/BF3C1F82-2.test new file mode 100644 index 000000000..86aa265e3 --- /dev/null +++ b/hledger/test/ledger-compat/regress/BF3C1F82-2.test @@ -0,0 +1,15 @@ +; Check that include directives are relative for "-f /dev/stdin" +include non-existent-ledger-file-BF3C1F82 + +comment +test -f - reg -> 1 +__ERROR__ +While parsing file "", line 2: +Error: File to include was not found: "$sourcepath/non-existent-ledger-file-BF3C1F82" +end test + +test -f /dev/stdin reg -> 1 +__ERROR__ +While parsing file "", line 2: +Error: File to include was not found: "$sourcepath/non-existent-ledger-file-BF3C1F82" +end test diff --git a/hledger/test/ledger-compat/regress/BF3C1F82.test b/hledger/test/ledger-compat/regress/BF3C1F82.test new file mode 100644 index 000000000..fd1e97974 --- /dev/null +++ b/hledger/test/ledger-compat/regress/BF3C1F82.test @@ -0,0 +1,22 @@ +; Check that error reporting works for "-f -" + +2012/02/30 * Test + a 1 + b + +comment +test -f - reg -> 1 +__ERROR__ +While parsing file "", line 3: +While parsing transaction: + +Error: Day of month is not valid for year +end test + +test -f /dev/stdin reg -> 1 +__ERROR__ +While parsing file "", line 3: +While parsing transaction: + +Error: Day of month is not valid for year +end test diff --git a/hledger/test/ledger-compat/regress/BFD3FBE1.test b/hledger/test/ledger-compat/regress/BFD3FBE1.test new file mode 100644 index 000000000..21e1d8c8b --- /dev/null +++ b/hledger/test/ledger-compat/regress/BFD3FBE1.test @@ -0,0 +1,17 @@ +2011-01-01 * Opening balance + Assets:Investment 100 "AAA" @ 16.58900489 EUR + Assets:Investments 5 "BBB" @ 24.79900855 EUR + Equity:Opening balance + +2011-02-10 * Reimbursement: Taxi / Subway / Bus / Train + Assets:A 1.59 GBP + Assets:B -1.80 EUR @ 0.884955752212389381 GBP + +comment +test reg -X EUR -H +11-Jan-01 Opening balance Assets:Investment 1658.90 EUR 1658.90 EUR + Assets:Investments 124.00 EUR 1782.90 EUR + Equity:Opening balance -1782.90 EUR 0 +11-Feb-10 Reimbursement: Taxi.. Assets:A 1.80 EUR 1.80 EUR + Assets:B -1.80 EUR 0 +end test diff --git a/hledger/test/ledger-compat/regress/C0212EAC.test b/hledger/test/ledger-compat/regress/C0212EAC.test new file mode 100644 index 000000000..472ad81e6 --- /dev/null +++ b/hledger/test/ledger-compat/regress/C0212EAC.test @@ -0,0 +1,31 @@ +2007-01-01 Opening balances + Assets:Cash 10.00 EUR + Equity:Opening balances + +2008-01-01 Buy 5.00 GBP + Assets:Cash 5.00 GBP @ 1.4 EUR + Assets:Checking + +2009-01-01 Sell 5.00 GBP for 7.50 EUR that I bought for 7.00 EUR + Assets:Cash -5.00 GBP {=1.4 EUR} @ 1.5 EUR + Assets:Checking 7.50 EUR + Income:Gain + +P 2009-02-01 00:00:00 GBP 1.5 EUR + +comment +test reg +07-Jan-01 Opening balances Assets:Cash 10.00 EUR 10.00 EUR + Equit:Opening balances -10.00 EUR 0 +08-Jan-01 Buy 5.00 GBP Assets:Cash 5.00 GBP 5.00 GBP + Assets:Checking -7.00 EUR -7.00 EUR + 5.00 GBP +09-Jan-01 Sell 5.00 GBP for 7.. Assets:Cash -5.00 GBP {=1.40 EUR} -7.00 EUR + 5.00 GBP + -5.00 GBP {=1.40 EUR} + Assets:Checking 7.50 EUR 0.50 EUR + 5.00 GBP + -5.00 GBP {=1.40 EUR} + Income:Gain -0.50 EUR 5.00 GBP + -5.00 GBP {=1.40 EUR} +end test diff --git a/hledger/test/ledger-compat/regress/C19E4E9B.test b/hledger/test/ledger-compat/regress/C19E4E9B.test new file mode 100644 index 000000000..ea87de95f --- /dev/null +++ b/hledger/test/ledger-compat/regress/C19E4E9B.test @@ -0,0 +1,19 @@ +2012-01-01=2012-01-02 * Buy AAA + A 1 AAA @ 1.00 EUR + B -1.00 EUR + +2012-02-01 * Buy AAA + A 1 AAA @ 2.00 EUR + B -2.00 EUR + +comment +test reg --format "%S: %D %P %t %T\n" +$FILE: 2012/01/01 Buy AAA 1 AAA 1 AAA +$FILE: 2012/01/01 Buy AAA -1.00 EUR 1 AAA +-1.00 EUR +$FILE: 2012/02/01 Buy AAA 1 AAA 2 AAA +-1.00 EUR +$FILE: 2012/02/01 Buy AAA -2.00 EUR 2 AAA +-3.00 EUR +end test + diff --git a/hledger/test/ledger-compat/regress/C523E23F.test b/hledger/test/ledger-compat/regress/C523E23F.test new file mode 100644 index 000000000..32f702127 --- /dev/null +++ b/hledger/test/ledger-compat/regress/C523E23F.test @@ -0,0 +1,20 @@ +D 1.000,00€ + +2009/03/16 * denn's + ; Kauf: Yogi-Tee + Aufwand:Einkauf:Lebensmittel 17,94€ + Aktiva:Bank:Girokonto + +2009/03/24 Ansparen + Aktiva:Bank:Sparkonto 800,00€ + Aktiva:Bank:Girokonto + +comment +test bal + -17,94€ Aktiva:Bank + -817,94€ Girokonto + 800,00€ Sparkonto + 17,94€ Aufwand:Einkauf:Lebensmittel +-------------------- + 0 +end test diff --git a/hledger/test/ledger-compat/regress/C927CFFE.test b/hledger/test/ledger-compat/regress/C927CFFE.test new file mode 100644 index 000000000..11f3fcbf1 --- /dev/null +++ b/hledger/test/ledger-compat/regress/C927CFFE.test @@ -0,0 +1,44 @@ + +2010/02/09 * Test 1 + A $10 + B + +2010/02/10 * Test 2 + B $10 + C + +2010/02/11 * Test 3 + C $10 + D + +comment +test reg +test -l "date>=[2010/02/10]" reg +10-Feb-10 Test 2 B $10 $10 + C $-10 0 +10-Feb-11 Test 3 C $10 $10 + D $-10 0 +end test + +test -l "date<=[2010/02/10]" reg +10-Feb-09 Test 1 A $10 $10 + B $-10 0 +10-Feb-10 Test 2 B $10 $10 + C $-10 0 +end test + +test -l "date==[2010/02/10]" reg +10-Feb-10 Test 2 B $10 $10 + C $-10 0 +end test + +test -l "date>[2010/02/10]" reg +10-Feb-11 Test 3 C $10 $10 + D $-10 0 +end test + +test -l "date<[2010/02/10]" reg +10-Feb-09 Test 1 A $10 $10 + B $-10 0 +end test + diff --git a/hledger/test/ledger-compat/regress/C9D593B3.test b/hledger/test/ledger-compat/regress/C9D593B3.test new file mode 100644 index 000000000..192686743 --- /dev/null +++ b/hledger/test/ledger-compat/regress/C9D593B3.test @@ -0,0 +1,24 @@ +2012-03-16 KFC + Expenses:Food $20 + Assets:Cash + +2012-03-16 KFC + Expenses:Food $20 + Assets:Cash + +2012-03-16 KFC + Expenses:Food $20 + Assets:Cash + +2012-03-16 KFC + Expenses:Food $20 + Assets:Cash + +2012-03-16 KFC + Expenses:Food $20 + Assets:Cash + +comment +test payees +KFC +end test diff --git a/hledger/test/ledger-compat/regress/CAE63F5C-a.test b/hledger/test/ledger-compat/regress/CAE63F5C-a.test new file mode 100644 index 000000000..63c2f1fef --- /dev/null +++ b/hledger/test/ledger-compat/regress/CAE63F5C-a.test @@ -0,0 +1,18 @@ +2011/03/01 test1 + a 4.00 € + b + +2011/03/02 test2 + a 4.00 € + b + +2011/03/03 test2 + a 4.00 € + b + +comment +test reg a +11-Mar-01 test1 a 4.00 € 4.00 € +11-Mar-02 test2 a 4.00 € 8.00 € +11-Mar-03 test2 a 4.00 € 12.00 € +end test diff --git a/hledger/test/ledger-compat/regress/CAE63F5C-b.test b/hledger/test/ledger-compat/regress/CAE63F5C-b.test new file mode 100644 index 000000000..c4f2ceddd --- /dev/null +++ b/hledger/test/ledger-compat/regress/CAE63F5C-b.test @@ -0,0 +1,15 @@ +2012/08/22 Payment + Accrued €208.00 {=$1.3109} @ $1.2799 + Expenses €4.16 {=$1.2798689} @ $1.2799 + Assets $-271.54 + Income:Currency Conversion $-6.45 + +comment +test bal -X $ + $272.67 Accrued + $-271.54 Assets + $5.32 Expenses + $-6.45 Income:Currency Conversion +-------------------- + 0 +end test diff --git a/hledger/test/ledger-compat/regress/CAE63F5C-c.test b/hledger/test/ledger-compat/regress/CAE63F5C-c.test new file mode 100644 index 000000000..8977c6d69 --- /dev/null +++ b/hledger/test/ledger-compat/regress/CAE63F5C-c.test @@ -0,0 +1,15 @@ +2012/08/22 Payment + Accrued €208.00 {=$1.3109} @ $1.2798689 + Expenses €4.16 {=$1.2798689} @ $1.2798689 + Assets $-271.54 + Income:Currency Conversion $-6.45 + +comment +test bal -X $ + $272.67 Accrued + $-271.54 Assets + $5.32 Expenses + $-6.45 Income:Currency Conversion +-------------------- + 0 +end test diff --git a/hledger/test/ledger-compat/regress/CEECC0B0.test b/hledger/test/ledger-compat/regress/CEECC0B0.test new file mode 100644 index 000000000..8f104e551 --- /dev/null +++ b/hledger/test/ledger-compat/regress/CEECC0B0.test @@ -0,0 +1,20 @@ +2012-01-01 * Opening Balances + Assets:Cash 100.00 EUR + Equity:Opening balances -100.00 EUR + +2012-01-02 * Buy AAA + Assets:Investments 1 AAA @ 10.00 EUR + Assets:Cash -10.00 EUR + +2012-01-03 * Sell AAA + Assets:Investments -1 AAA @ 10.00 EUR + Assets:Cash 10.00 EUR + + +comment +test equity +2012/01/03 Opening Balances + Assets:Cash 100.00 EUR + Equity:Opening balances +end test + diff --git a/hledger/test/ledger-compat/regress/CFE5D8AA.test b/hledger/test/ledger-compat/regress/CFE5D8AA.test new file mode 100644 index 000000000..5226010cc --- /dev/null +++ b/hledger/test/ledger-compat/regress/CFE5D8AA.test @@ -0,0 +1,21 @@ +~ monthly + assets:checking $1,000.00 + income:work:salary $-1,000.00 + +~ monthly + ; note + assets:checking $1,000.00 + income:work:salary $-1,000.00 + +~ monthly + assets:checking $1,000.00 + income:work:salary + +~ monthly + ; note + assets:checking $1,000.00 + income:work:salary + +comment +test reg +end test diff --git a/hledger/test/ledger-compat/regress/CMakeLists.txt b/hledger/test/ledger-compat/regress/CMakeLists.txt new file mode 100644 index 000000000..26f55e84d --- /dev/null +++ b/hledger/test/ledger-compat/regress/CMakeLists.txt @@ -0,0 +1 @@ +add_ledger_harness_tests(Regress) diff --git a/hledger/test/ledger-compat/regress/D060256A.test b/hledger/test/ledger-compat/regress/D060256A.test new file mode 100644 index 000000000..95edbad5d --- /dev/null +++ b/hledger/test/ledger-compat/regress/D060256A.test @@ -0,0 +1,15 @@ +~ Monthly + Expenses:Food $500.00 + Assets + +2009/11/01 Sample + Expenses:Food:Dining $20.00 + Assets + +comment +test budget --now=2009/11/01 --end=2009/11/30 + $-20.00 $-500.00 $480.00 4% Assets + $20.00 $500.00 $-480.00 4% Expenses:Food +------------ ------------ ------------ ----- + 0 0 0 0 +end test diff --git a/hledger/test/ledger-compat/regress/D2829FC4.test b/hledger/test/ledger-compat/regress/D2829FC4.test new file mode 100644 index 000000000..2db915680 --- /dev/null +++ b/hledger/test/ledger-compat/regress/D2829FC4.test @@ -0,0 +1,63 @@ +~ Monthly since 2010/01/01 + Expenses:Bills:Rent $873.00 + Expenses:Household $200.00 + Income:Salary -$2491.60 + Assets:Bank:Checking + +~ biweekly from 2010/02/23 + Expenses:Bills:Housecleaning $85.00 + Assets:Bank:Checking + +comment +test reg --forecast 'date<[2011]' --now=2010/06/20 +10-Jul-01 Forecast transaction Expenses:Bills:Rent $873.00 $873.00 +10-Jul-01 Forecast transaction Expenses:Household $200.00 $1073.00 +10-Jul-01 Forecast transaction Income:Salary $-2491.60 $-1418.60 +10-Jul-01 Forecast transaction Assets:Bank:Checking $1418.60 0 +10-Jul-04 Forecast transaction Ex:Bills:Housecleaning $85.00 $85.00 +10-Jul-04 Forecast transaction Assets:Bank:Checking $-85.00 0 +10-Aug-01 Forecast transaction Expenses:Bills:Rent $873.00 $873.00 +10-Aug-01 Forecast transaction Expenses:Household $200.00 $1073.00 +10-Aug-01 Forecast transaction Income:Salary $-2491.60 $-1418.60 +10-Aug-01 Forecast transaction Assets:Bank:Checking $1418.60 0 +10-Jul-18 Forecast transaction Ex:Bills:Housecleaning $85.00 $85.00 +10-Jul-18 Forecast transaction Assets:Bank:Checking $-85.00 0 +10-Aug-01 Forecast transaction Ex:Bills:Housecleaning $85.00 $85.00 +10-Aug-01 Forecast transaction Assets:Bank:Checking $-85.00 0 +10-Sep-01 Forecast transaction Expenses:Bills:Rent $873.00 $873.00 +10-Sep-01 Forecast transaction Expenses:Household $200.00 $1073.00 +10-Sep-01 Forecast transaction Income:Salary $-2491.60 $-1418.60 +10-Sep-01 Forecast transaction Assets:Bank:Checking $1418.60 0 +10-Aug-15 Forecast transaction Ex:Bills:Housecleaning $85.00 $85.00 +10-Aug-15 Forecast transaction Assets:Bank:Checking $-85.00 0 +10-Aug-29 Forecast transaction Ex:Bills:Housecleaning $85.00 $85.00 +10-Aug-29 Forecast transaction Assets:Bank:Checking $-85.00 0 +10-Sep-12 Forecast transaction Ex:Bills:Housecleaning $85.00 $85.00 +10-Sep-12 Forecast transaction Assets:Bank:Checking $-85.00 0 +10-Oct-01 Forecast transaction Expenses:Bills:Rent $873.00 $873.00 +10-Oct-01 Forecast transaction Expenses:Household $200.00 $1073.00 +10-Oct-01 Forecast transaction Income:Salary $-2491.60 $-1418.60 +10-Oct-01 Forecast transaction Assets:Bank:Checking $1418.60 0 +10-Sep-26 Forecast transaction Ex:Bills:Housecleaning $85.00 $85.00 +10-Sep-26 Forecast transaction Assets:Bank:Checking $-85.00 0 +10-Oct-10 Forecast transaction Ex:Bills:Housecleaning $85.00 $85.00 +10-Oct-10 Forecast transaction Assets:Bank:Checking $-85.00 0 +10-Nov-01 Forecast transaction Expenses:Bills:Rent $873.00 $873.00 +10-Nov-01 Forecast transaction Expenses:Household $200.00 $1073.00 +10-Nov-01 Forecast transaction Income:Salary $-2491.60 $-1418.60 +10-Nov-01 Forecast transaction Assets:Bank:Checking $1418.60 0 +10-Oct-24 Forecast transaction Ex:Bills:Housecleaning $85.00 $85.00 +10-Oct-24 Forecast transaction Assets:Bank:Checking $-85.00 0 +10-Nov-07 Forecast transaction Ex:Bills:Housecleaning $85.00 $85.00 +10-Nov-07 Forecast transaction Assets:Bank:Checking $-85.00 0 +10-Dec-01 Forecast transaction Expenses:Bills:Rent $873.00 $873.00 +10-Dec-01 Forecast transaction Expenses:Household $200.00 $1073.00 +10-Dec-01 Forecast transaction Income:Salary $-2491.60 $-1418.60 +10-Dec-01 Forecast transaction Assets:Bank:Checking $1418.60 0 +10-Nov-21 Forecast transaction Ex:Bills:Housecleaning $85.00 $85.00 +10-Nov-21 Forecast transaction Assets:Bank:Checking $-85.00 0 +10-Dec-05 Forecast transaction Ex:Bills:Housecleaning $85.00 $85.00 +10-Dec-05 Forecast transaction Assets:Bank:Checking $-85.00 0 +10-Dec-19 Forecast transaction Ex:Bills:Housecleaning $85.00 $85.00 +10-Dec-19 Forecast transaction Assets:Bank:Checking $-85.00 0 +end test diff --git a/hledger/test/ledger-compat/regress/D51BFF74.test b/hledger/test/ledger-compat/regress/D51BFF74.test new file mode 100644 index 000000000..133c37c7f --- /dev/null +++ b/hledger/test/ledger-compat/regress/D51BFF74.test @@ -0,0 +1,25 @@ +2012-03-16 KFC + Expenses:Food $-20 + Assets:Cash + +2012-03-16 KFC + Expenses:Food $- 20 + Assets:Cash + +2012-03-16 KFC + Expenses:Food -$20 + Assets:Cash + +2012-03-16 KFC + Expenses:Food - $20 + Assets:Cash + +comment +test reg -> 1 +__ERROR__ +While parsing file "$FILE", line 6: +While parsing posting: + Expenses:Food $- 20 + ^^^^^ +Error: No quantity specified for amount +end test diff --git a/hledger/test/ledger-compat/regress/D943AE0F.test b/hledger/test/ledger-compat/regress/D943AE0F.test new file mode 100644 index 000000000..e0bc846c0 --- /dev/null +++ b/hledger/test/ledger-compat/regress/D943AE0F.test @@ -0,0 +1,14 @@ +D 1000.00 EUR + +2008/04/15 * Paid expenses back from cie. + Expenses:Cie-Reimbursements 2000 CAD @ 1.10 EUR + Assets:Checking + +P 2008/04/20 00:00:00 CAD 1.20 EUR + +comment +test reg -V --now=2008/04/20 +08-Apr-15 Paid expenses back .. Exp:Cie-Reimbursements 2200.00 EUR 2200.00 EUR + Assets:Checking -2200.00 EUR 0 +08-Apr-20 Commodities revalued 200.00 EUR 200.00 EUR +end test diff --git a/hledger/test/ledger-compat/regress/D9C8EB08.test b/hledger/test/ledger-compat/regress/D9C8EB08.test new file mode 100644 index 000000000..df0746c12 --- /dev/null +++ b/hledger/test/ledger-compat/regress/D9C8EB08.test @@ -0,0 +1,17 @@ +; Test for: Using ! erroneously in a data file causes a segfault + +! Assets:Cash + +2008/01/01 January + Expenses:Books $10.00 + Assets:Cash + +!end + +comment +test bal -> 1 +__ERROR__ +While parsing file "$FILE", line 9: +Error: 'end' or 'end apply' found, but no enclosing 'apply' directive +end test + diff --git a/hledger/test/ledger-compat/regress/DB490507.test b/hledger/test/ledger-compat/regress/DB490507.test new file mode 100644 index 000000000..fa24d9f18 --- /dev/null +++ b/hledger/test/ledger-compat/regress/DB490507.test @@ -0,0 +1,26 @@ +2001/11/07=2001/11/04 * Autoroutes du Sud de la France + Dépense:Vacances:Voyage ; 14F Tlse-Montauban, 8F Montauban-Caussade, 8F Caussade-Montauban, 14F Montauban-Tlse + Actif:Courant:BnpCc -6,71 € + +2008/01/20 * La Poste + Equity + Actif:Courant:LaPosteLivretA 10,00 € + +2008/01/20 * La Poste + Revenu:Invest:Exonéré + Actif:Courant:LaPosteLivretA 25,24 € = 35,24 € + +comment +test print --decimal-comma --columns=999 +2001/11/07=2001/11/04 * Autoroutes du Sud de la France + Dépense:Vacances:Voyage ; 14F Tlse-Montauban, 8F Montauban-Caussade, 8F Caussade-Montauban, 14F Montauban-Tlse + Actif:Courant:BnpCc -6,71 € + +2008/01/20 * La Poste + Equity + Actif:Courant:LaPosteLivretA 10,00 € + +2008/01/20 * La Poste + Revenu:Invest:Exonéré + Actif:Courant:LaPosteLivretA 25,24 € = 35,24 € +end test diff --git a/hledger/test/ledger-compat/regress/DDB54BB8.test b/hledger/test/ledger-compat/regress/DDB54BB8.test new file mode 100644 index 000000000..ad434cc59 --- /dev/null +++ b/hledger/test/ledger-compat/regress/DDB54BB8.test @@ -0,0 +1,19 @@ +~ Monthly + Aufwand:Bargeld 0,30€ + Aktiva:Bank:Girokonto -0,40€ + +comment +test bal -> 1 +__ERROR__ +While parsing file "$FILE", line 3: +Unbalanced remainder is: + -0,10€ +Amount to balance against: + 0,30€ +While parsing periodic transaction: +> ~ Monthly +> Aufwand:Bargeld 0,30€ +> Aktiva:Bank:Girokonto -0,40€ +Error: Transaction does not balance +end test + diff --git a/hledger/test/ledger-compat/regress/DE17CCF1.test b/hledger/test/ledger-compat/regress/DE17CCF1.test new file mode 100644 index 000000000..bc4415f27 --- /dev/null +++ b/hledger/test/ledger-compat/regress/DE17CCF1.test @@ -0,0 +1,62 @@ + +--date-format %Y-%m-%d + +2014-06-30 Uncleared + U:U 10.00 EUR + ! U:P 10.00 EUR + * U:C 10.00 EUR + Equity -30.00 EUR + +2014-06-30 ! Pending + P:U 10.00 EUR + ! P:P 10.00 EUR + * P:C 10.00 EUR + Equity -30.00 EUR + +2014-06-30 * Cleared + C:C 10.00 EUR + ! C:P 10.00 EUR + * C:P 10.00 EUR + Equity -30.00 EUR + +comment +test reg u: --uncleared +2014-06-30 Uncleared U:U 10.00 EUR 10.00 EUR + U:P 10.00 EUR 20.00 EUR +end test + +test reg u: --pending +2014-06-30 Uncleared U:P 10.00 EUR 10.00 EUR +end test + +test reg u: --cleared +2014-06-30 Uncleared U:C 10.00 EUR 10.00 EUR +end test + +test reg p: --uncleared +2014-06-30 Pending P:U 10.00 EUR 10.00 EUR + P:P 10.00 EUR 20.00 EUR +end test + +test reg p: --pending +2014-06-30 Pending P:U 10.00 EUR 10.00 EUR + P:P 10.00 EUR 20.00 EUR +end test + +test reg p: --cleared +2014-06-30 Pending P:C 10.00 EUR 10.00 EUR +end test + +test reg c: --uncleared +2014-06-30 Cleared C:P 10.00 EUR 10.00 EUR +end test + +test reg c: --pending +2014-06-30 Cleared C:P 10.00 EUR 10.00 EUR +end test + +test reg c: --cleared +2014-06-30 Cleared C:C 10.00 EUR 10.00 EUR + C:P 10.00 EUR 20.00 EUR +end test + diff --git a/hledger/test/ledger-compat/regress/E2E479BC.test b/hledger/test/ledger-compat/regress/E2E479BC.test new file mode 100644 index 000000000..ec4902e94 --- /dev/null +++ b/hledger/test/ledger-compat/regress/E2E479BC.test @@ -0,0 +1,18 @@ +; Test for: ledger used to show multiple "Income:Unknown" in this +; case in the past, which it shouldn't. + +2009/01/01 Sample + Expenses:Alpha 10 A + Expenses:Beta 10 B + Expenses:Gamma 10 C + Income:Unknown + +comment +test print +2009/01/01 Sample + Expenses:Alpha 10 A + Expenses:Beta 10 B + Expenses:Gamma 10 C + Income:Unknown +end test + diff --git a/hledger/test/ledger-compat/regress/E4C9A8EA.test b/hledger/test/ledger-compat/regress/E4C9A8EA.test new file mode 100644 index 000000000..136bb5fba --- /dev/null +++ b/hledger/test/ledger-compat/regress/E4C9A8EA.test @@ -0,0 +1,23 @@ +2007/12/31 * Cost basis for: RED HAT INC RHT + Assets:Investments:RBC-Broker:Account-RSP 4 RHT + Equity:Opening-Balances:Cost -689.87 CAD + +2008/01/03=2007/12/28 * Sell -- RHT -- RED HAT INC CA TAUX DE CHANGE .96590 + Assets:Investments:RBC-Broker:Account-RSP -4.00 RHT @ 21.14 CAD + Expenses:Financial:Commissions 9.95 USD @ 0.96590 CAD + Assets:Investments:RBC-Broker:Account-RSP 72.06 CAD + Expenses:Financial:Fees + +comment +test reg +07-Dec-31 Cost basis for: RED.. As:In:RBC-:Account-RSP 4.00 RHT 4.00 RHT + Eq:Opening-Balanc:Cost -689.87 CAD -689.87 CAD + 4.00 RHT +08-Jan-03 Sell -- RHT -- RED .. As:In:RBC-:Account-RSP -4.00 RHT -689.87 CAD + Ex:Financi:Commissions 9.95 USD -689.87 CAD + 9.95 USD + As:In:RBC-:Account-RSP 72.06 CAD -617.81 CAD + 9.95 USD + Expense:Financial:Fees 2.89 CAD -614.92 CAD + 9.95 USD +end test diff --git a/hledger/test/ledger-compat/regress/E627C594.test b/hledger/test/ledger-compat/regress/E627C594.test new file mode 100644 index 000000000..04bff7246 --- /dev/null +++ b/hledger/test/ledger-compat/regress/E627C594.test @@ -0,0 +1,19 @@ +~ Monthly + Expenses:Food $500.00 + Assets + +2009/11/01 Sample + Expenses:Food:Dining $20.00 + Assets + +comment +test reg --forecast-while="d<[2010/03/01]" --now=2009/11/01 +09-Nov-01 Sample Expenses:Food:Dining $20.00 $20.00 + Assets $-20.00 0 +09-Dec-01 Forecast transaction Expenses:Food $500.00 $500.00 +09-Dec-01 Forecast transaction Assets $-500.00 0 +10-Jan-01 Forecast transaction Expenses:Food $500.00 $500.00 +10-Jan-01 Forecast transaction Assets $-500.00 0 +10-Feb-01 Forecast transaction Expenses:Food $500.00 $500.00 +10-Feb-01 Forecast transaction Assets $-500.00 0 +end test diff --git a/hledger/test/ledger-compat/regress/E9F130C5.test b/hledger/test/ledger-compat/regress/E9F130C5.test new file mode 100644 index 000000000..d9297d168 --- /dev/null +++ b/hledger/test/ledger-compat/regress/E9F130C5.test @@ -0,0 +1,29 @@ +2008/01/01 income + assets:bank:checking $1 + income:salary + +2008/06/01 gift + assets:bank:checking $1 + income:gifts + +2008/06/02 save + assets:bank:saving $1 + assets:bank:checking + +2008/06/03 * eat & shop + expenses:food $1 + expenses:supplies $1 + assets:cash + +2008/12/31 * pay off + liabilities:debts $1 + assets:bank:checking + +comment +test bal as + $-1 assets + $1 bank:saving + $-2 cash +-------------------- + $-1 +end test diff --git a/hledger/test/ledger-compat/regress/EA18D948.test b/hledger/test/ledger-compat/regress/EA18D948.test new file mode 100644 index 000000000..ea55cb6a1 --- /dev/null +++ b/hledger/test/ledger-compat/regress/EA18D948.test @@ -0,0 +1,15 @@ +2012-01-01 * Buy AAA + A 1 AAA @ 1.00 EUR + B -1.00 EUR + +2012-02-01 * Buy AAA + A 1 AAA @ 2.00 EUR + B -2.00 EUR + +comment +test reg A -V -A +12-Jan-01 Buy AAA A 1.00 EUR 1.00 EUR +12-Feb-01 Commodities revalued 1.00 EUR 0 +12-Feb-01 Buy AAA A 2.00 EUR 2.00 EUR +end test + diff --git a/hledger/test/ledger-compat/regress/F06D5554.test b/hledger/test/ledger-compat/regress/F06D5554.test new file mode 100644 index 000000000..543ccaefa --- /dev/null +++ b/hledger/test/ledger-compat/regress/F06D5554.test @@ -0,0 +1,553 @@ +2011/04/01 serveraxis.com + Expenses:Computer:Internet $15.00 + Expenses:Computer:Internet $1.10 + Liabilities:MasterCard + +2011/04/05 Pennsylvania toll booth + Expenses:Auto:Fees $13.00 + Expenses:Cash + +2011/04/05 iTunes + Expenses:Music $1.29 + Expenses:Taxes:Sales $0.09 + Liabilities:MasterCard $-1.38 + +2011/04/19 iTunes + Expenses:Computer:Software $4.99 + Expenses:Taxes:Sales $0.35 + Liabilities:MasterCard $-5.34 + +2011/04/24 iTunes + Expenses:Movies $1.99 + Expenses:Movies $2.99 + Expenses:Taxes:Sales $0.35 + Liabilities:MasterCard $-5.33 + +2011/04/29 iTunes + Expenses:Computer:Movies $0.99 + Expenses:Taxes:Sales $0.07 + Liabilities:MasterCard $-1.06 + +2011/05/01 serveraxis.com + Expenses:Computer:Internet $15.00 + Expenses:Computer:Internet $1.10 + Liabilities:MasterCard + +2011/05/18 iTunes + Expenses:Computer:Software $6.99 + Expenses:Taxes:Sales $0.49 + Liabilities:MasterCard $-7.48 + +2011/05/20 DynDNS.com + Expenses:Computer:Internet $15.00 + Liabilities:MasterCard + +2011/05/20 DynDNS.com + Expenses:Computer:Internet $15.00 + Liabilities:MasterCard + +2011/05/27 iTunes + Expenses:Movies $1.99 + Expenses:Movies $1.99 + Expenses:Movies $1.99 + Expenses:Taxes:Sales $0.42 + Liabilities:MasterCard $-6.39 + +2011/05/26 Valero + Expenses:Auto:Gas $26.79 + Liabilities:MasterCard + +2011/05/26 Starbucks + Expenses:Food $2.20 + Expenses:Taxes:Sales $0.15 + Liabilities:MasterCard $-2.35 + +2011/05/26 La Mex + Expenses:Food $17.70 + Expenses:Taxes:Sales $1.11 + Expenses:Tips $3.00 + Liabilities:MasterCard $-21.81 + +2011/05/27 Leaves N Beans + Expenses:Food:Dining $20.98 + Expenses:Taxes:Sales $1.63 + Expenses:Tips $2.00 + Liabilities:MasterCard $-24.61 + +2011/05/27 Wal*Mart + Expenses:Home:Supplies $7.97 + Expenses:Food:Grocery $3.25 + Expenses:Food:Grocery $3.18 + Expenses:Food:Grocery $3.18 + Expenses:Food:Grocery $2.98 + Expenses:Food:Grocery $1.98 + Expenses:Food:Grocery $3.98 + Expenses:Food:Grocery $3.58 + Expenses:Food:Grocery $3.58 + Expenses:Food:Grocery $1.58 + Expenses:Food:Grocery $1.88 + Expenses:Food:Grocery $2.50 + Expenses:Food:Grocery $1.26 + Expenses:Food:Grocery $2.62 + Expenses:Food:Grocery $3.48 + Expenses:Home:Supplies $1.37 + Expenses:Home:Supplies $2.92 + Expenses:Beauty $3.38 + Expenses:Beauty $0.97 + Expenses:Beauty $4.64 + Expenses:Beauty $1.97 + Expenses:Beauty $1.97 + Expenses:Beauty $5.98 + Expenses:Home:Supplies $9.98 + Expenses:Bedding $4.00 + Expenses:Bedding $4.00 + Expenses:Home:Supplies $2.88 + Expenses:Home:Supplies $2.88 + Expenses:Home:Supplies $2.88 + Expenses:Home:Supplies $2.88 + Expenses:Clothing $2.96 + Expenses:Supplies $0.84 + Expenses:Food:Grocery $1.38 + Expenses:Food:Grocery $1.38 + Expenses:Food:Grocery $2.32 + Expenses:Food:Grocery $2.00 + Expenses:Food:Grocery $2.98 + Expenses:Food:Grocery $3.00 + Expenses:Food:Grocery $2.14 + Expenses:Food:Grocery $2.14 + Expenses:Food:Grocery $2.50 + Expenses:Food:Grocery $2.50 + Expenses:Food:Grocery $3.48 + Expenses:Home:Supplies $1.17 + Expenses:Supplies $3.00 + Expenses:Bedding $34.88 + Expenses:Home $6.00 + Expenses:Home $6.00 + Expenses:Home:Supplies $3.97 + Expenses:Food:Grocery $0.78 + Expenses:Food:Grocery $0.78 + Expenses:Food:Grocery $0.78 + Expenses:Food:Grocery $0.78 + Expenses:Home $4.00 + Expenses:Home $4.00 + Expenses:Home $10.87 + Expenses:Home $4.00 + Expenses:Bedding $65.96 + Expenses:Taxes:Sales $16.89 + Expenses:Taxes:Sales $0.65 + Liabilities:MasterCard $-293.83 + +2011/05/27 Asia Grill + Expenses:Food:Dining $28.63 + Expenses:Tips $4.00 + Liabilities:MasterCard $-32.63 + +2011/05/28 Shell + Expenses:Auto:Gas $43.41 + Liabilities:MasterCard + +2011/05/28 Sears + Expenses:Home $1,728.96 + Expenses:Taxes:Sales $136.87 + Liabilities:MasterCard $-1,865.83 + +2011/05/28 Sears + Expenses:Home $99.61 + Expenses:Taxes:Sales $8.22 + Liabilities:MasterCard $-107.83 + +2011/05/28 Buffalo Wild Wings + Expenses:Food:Dining $22.98 + Expenses:Tips $2.35 + Expenses:Taxes:Sales $3.50 + Liabilities:MasterCard $-28.83 + +2011/05/28 Cold Stone Creamery + Expenses:Food:Dining $5.73 + Expenses:Tips $0.50 + Liabilities:MasterCard $-6.23 + +2011/05/29 Hy Vee + Expenses:Supplies $2.00 + Expenses:Supplies $7.99 + Expenses:Supplies $7.99 + Expenses:Food:Grocery $157.64 + Expenses:Taxes:Sales $5.74 + Liabilities:MasterCard $-181.36 + +2011/05/30 Allied movers, Fidel & Manny + Expenses:Tips $97.00 + Expenses:Cash + +2011/05/30 Starbucks + Expenses:Food:Dining $6.90 + Expenses:Taxes:Sales $0.71 + Liabilities:MasterCard $-7.61 + +2011/05/31 Wal*Mart + Expenses:Home $108.13 + Expenses:Taxes:Sales $8.65 + Liabilities:MasterCard $-116.78 + +comment +test reg -p "apr 2011" Expenses +11-Apr-01 serveraxis.com Expe:Computer:Internet $15.00 $15.00 + Expe:Computer:Internet $1.10 $16.10 +11-Apr-05 Pennsylvania toll b.. Expenses:Auto:Fees $13.00 $29.10 + Expenses:Cash $-13.00 $16.10 +11-Apr-05 iTunes Expenses:Music $1.29 $17.39 + Expenses:Taxes:Sales $0.09 $17.48 +11-Apr-19 iTunes Expe:Computer:Software $4.99 $22.47 + Expenses:Taxes:Sales $0.35 $22.82 +11-Apr-24 iTunes Expenses:Movies $1.99 $24.81 + Expenses:Movies $2.99 $27.80 + Expenses:Taxes:Sales $0.35 $28.15 +11-Apr-29 iTunes Expens:Computer:Movies $0.99 $29.14 + Expenses:Taxes:Sales $0.07 $29.21 +end test + +test reg -p "apr 2011" Expenses --monthly +11-Apr-01 - 11-Apr-30 Expenses:Auto:Fees $13.00 $13.00 + Expenses:Cash $-13.00 0 + Expe:Computer:Internet $16.10 $16.10 + Expens:Computer:Movies $0.99 $17.09 + Expe:Computer:Software $4.99 $22.08 + Expenses:Movies $4.98 $27.06 + Expenses:Music $1.29 $28.35 + Expenses:Taxes:Sales $0.86 $29.21 +end test + +test reg -p "apr 2011" Expenses --monthly --exact +11-Apr-01 - 11-Apr-29 Expenses:Auto:Fees $13.00 $13.00 + Expenses:Cash $-13.00 0 + Expe:Computer:Internet $16.10 $16.10 + Expens:Computer:Movies $0.99 $17.09 + Expe:Computer:Software $4.99 $22.08 + Expenses:Movies $4.98 $27.06 + Expenses:Music $1.29 $28.35 + Expenses:Taxes:Sales $0.86 $29.21 +end test + +test reg -p "apr 2011" Expenses --weekly +11-Apr-01 - 11-Apr-02 Expe:Computer:Internet $16.10 $16.10 +11-Apr-03 - 11-Apr-09 Expenses:Auto:Fees $13.00 $29.10 + Expenses:Cash $-13.00 $16.10 + Expenses:Music $1.29 $17.39 + Expenses:Taxes:Sales $0.09 $17.48 +11-Apr-17 - 11-Apr-23 Expe:Computer:Software $4.99 $22.47 + Expenses:Taxes:Sales $0.35 $22.82 +11-Apr-24 - 11-Apr-30 Expens:Computer:Movies $0.99 $23.81 + Expenses:Movies $4.98 $28.79 + Expenses:Taxes:Sales $0.42 $29.21 +end test + +test reg -p "apr 2011" Expenses --weekly --exact +11-Apr-01 - 11-Apr-01 Expe:Computer:Internet $16.10 $16.10 +11-Apr-05 - 11-Apr-05 Expenses:Auto:Fees $13.00 $29.10 + Expenses:Cash $-13.00 $16.10 + Expenses:Music $1.29 $17.39 + Expenses:Taxes:Sales $0.09 $17.48 +11-Apr-19 - 11-Apr-19 Expe:Computer:Software $4.99 $22.47 + Expenses:Taxes:Sales $0.35 $22.82 +11-Apr-24 - 11-Apr-29 Expens:Computer:Movies $0.99 $23.81 + Expenses:Movies $4.98 $28.79 + Expenses:Taxes:Sales $0.42 $29.21 +end test + +test reg -p "apr 2011" Expenses --weekly --empty +11-Apr-01 - 11-Apr-02 Expe:Computer:Internet $16.10 $16.10 +11-Apr-03 - 11-Apr-09 Expenses:Auto:Fees $13.00 $29.10 + Expenses:Cash $-13.00 $16.10 + Expenses:Music $1.29 $17.39 + Expenses:Taxes:Sales $0.09 $17.48 +11-Apr-10 - 11-Apr-16 0 $17.48 +11-Apr-17 - 11-Apr-23 Expe:Computer:Software $4.99 $22.47 + Expenses:Taxes:Sales $0.35 $22.82 +11-Apr-24 - 11-Apr-30 Expens:Computer:Movies $0.99 $23.81 + Expenses:Movies $4.98 $28.79 + Expenses:Taxes:Sales $0.42 $29.21 +end test + +test reg -p "apr 2011" Expenses --weekly --empty --exact +11-Apr-01 - 11-Apr-01 Expe:Computer:Internet $16.10 $16.10 +11-Apr-05 - 11-Apr-05 Expenses:Auto:Fees $13.00 $29.10 + Expenses:Cash $-13.00 $16.10 + Expenses:Music $1.29 $17.39 + Expenses:Taxes:Sales $0.09 $17.48 +11-Apr-16 - 11-Apr-16 0 $17.48 +11-Apr-19 - 11-Apr-19 Expe:Computer:Software $4.99 $22.47 + Expenses:Taxes:Sales $0.35 $22.82 +11-Apr-24 - 11-Apr-29 Expens:Computer:Movies $0.99 $23.81 + Expenses:Movies $4.98 $28.79 + Expenses:Taxes:Sales $0.42 $29.21 +end test + +test reg -p "may 2011" +11-May-01 serveraxis.com Expe:Computer:Internet $15.00 $15.00 + Expe:Computer:Internet $1.10 $16.10 + Liabilities:MasterCard $-16.10 0 +11-May-18 iTunes Expe:Computer:Software $6.99 $6.99 + Expenses:Taxes:Sales $0.49 $7.48 + Liabilities:MasterCard $-7.48 0 +11-May-20 DynDNS.com Expe:Computer:Internet $15.00 $15.00 + Liabilities:MasterCard $-15.00 0 +11-May-20 DynDNS.com Expe:Computer:Internet $15.00 $15.00 + Liabilities:MasterCard $-15.00 0 +11-May-27 iTunes Expenses:Movies $1.99 $1.99 + Expenses:Movies $1.99 $3.98 + Expenses:Movies $1.99 $5.97 + Expenses:Taxes:Sales $0.42 $6.39 + Liabilities:MasterCard $-6.39 0 +11-May-26 Valero Expenses:Auto:Gas $26.79 $26.79 + Liabilities:MasterCard $-26.79 0 +11-May-26 Starbucks Expenses:Food $2.20 $2.20 + Expenses:Taxes:Sales $0.15 $2.35 + Liabilities:MasterCard $-2.35 0 +11-May-26 La Mex Expenses:Food $17.70 $17.70 + Expenses:Taxes:Sales $1.11 $18.81 + Expenses:Tips $3.00 $21.81 + Liabilities:MasterCard $-21.81 0 +11-May-27 Leaves N Beans Expenses:Food:Dining $20.98 $20.98 + Expenses:Taxes:Sales $1.63 $22.61 + Expenses:Tips $2.00 $24.61 + Liabilities:MasterCard $-24.61 0 +11-May-27 Wal*Mart Expenses:Home:Supplies $7.97 $7.97 + Expenses:Food:Grocery $3.25 $11.22 + Expenses:Food:Grocery $3.18 $14.40 + Expenses:Food:Grocery $3.18 $17.58 + Expenses:Food:Grocery $2.98 $20.56 + Expenses:Food:Grocery $1.98 $22.54 + Expenses:Food:Grocery $3.98 $26.52 + Expenses:Food:Grocery $3.58 $30.10 + Expenses:Food:Grocery $3.58 $33.68 + Expenses:Food:Grocery $1.58 $35.26 + Expenses:Food:Grocery $1.88 $37.14 + Expenses:Food:Grocery $2.50 $39.64 + Expenses:Food:Grocery $1.26 $40.90 + Expenses:Food:Grocery $2.62 $43.52 + Expenses:Food:Grocery $3.48 $47.00 + Expenses:Home:Supplies $1.37 $48.37 + Expenses:Home:Supplies $2.92 $51.29 + Expenses:Beauty $3.38 $54.67 + Expenses:Beauty $0.97 $55.64 + Expenses:Beauty $4.64 $60.28 + Expenses:Beauty $1.97 $62.25 + Expenses:Beauty $1.97 $64.22 + Expenses:Beauty $5.98 $70.20 + Expenses:Home:Supplies $9.98 $80.18 + Expenses:Bedding $4.00 $84.18 + Expenses:Bedding $4.00 $88.18 + Expenses:Home:Supplies $2.88 $91.06 + Expenses:Home:Supplies $2.88 $93.94 + Expenses:Home:Supplies $2.88 $96.82 + Expenses:Home:Supplies $2.88 $99.70 + Expenses:Clothing $2.96 $102.66 + Expenses:Supplies $0.84 $103.50 + Expenses:Food:Grocery $1.38 $104.88 + Expenses:Food:Grocery $1.38 $106.26 + Expenses:Food:Grocery $2.32 $108.58 + Expenses:Food:Grocery $2.00 $110.58 + Expenses:Food:Grocery $2.98 $113.56 + Expenses:Food:Grocery $3.00 $116.56 + Expenses:Food:Grocery $2.14 $118.70 + Expenses:Food:Grocery $2.14 $120.84 + Expenses:Food:Grocery $2.50 $123.34 + Expenses:Food:Grocery $2.50 $125.84 + Expenses:Food:Grocery $3.48 $129.32 + Expenses:Home:Supplies $1.17 $130.49 + Expenses:Supplies $3.00 $133.49 + Expenses:Bedding $34.88 $168.37 + Expenses:Home $6.00 $174.37 + Expenses:Home $6.00 $180.37 + Expenses:Home:Supplies $3.97 $184.34 + Expenses:Food:Grocery $0.78 $185.12 + Expenses:Food:Grocery $0.78 $185.90 + Expenses:Food:Grocery $0.78 $186.68 + Expenses:Food:Grocery $0.78 $187.46 + Expenses:Home $4.00 $191.46 + Expenses:Home $4.00 $195.46 + Expenses:Home $10.87 $206.33 + Expenses:Home $4.00 $210.33 + Expenses:Bedding $65.96 $276.29 + Expenses:Taxes:Sales $16.89 $293.18 + Expenses:Taxes:Sales $0.65 $293.83 + Liabilities:MasterCard $-293.83 0 +11-May-27 Asia Grill Expenses:Food:Dining $28.63 $28.63 + Expenses:Tips $4.00 $32.63 + Liabilities:MasterCard $-32.63 0 +11-May-28 Shell Expenses:Auto:Gas $43.41 $43.41 + Liabilities:MasterCard $-43.41 0 +11-May-28 Sears Expenses:Home $1,728.96 $1,728.96 + Expenses:Taxes:Sales $136.87 $1,865.83 + Liabilities:MasterCard $-1,865.83 0 +11-May-28 Sears Expenses:Home $99.61 $99.61 + Expenses:Taxes:Sales $8.22 $107.83 + Liabilities:MasterCard $-107.83 0 +11-May-28 Buffalo Wild Wings Expenses:Food:Dining $22.98 $22.98 + Expenses:Tips $2.35 $25.33 + Expenses:Taxes:Sales $3.50 $28.83 + Liabilities:MasterCard $-28.83 0 +11-May-28 Cold Stone Creamery Expenses:Food:Dining $5.73 $5.73 + Expenses:Tips $0.50 $6.23 + Liabilities:MasterCard $-6.23 0 +11-May-29 Hy Vee Expenses:Supplies $2.00 $2.00 + Expenses:Supplies $7.99 $9.99 + Expenses:Supplies $7.99 $17.98 + Expenses:Food:Grocery $157.64 $175.62 + Expenses:Taxes:Sales $5.74 $181.36 + Liabilities:MasterCard $-181.36 0 +11-May-30 Allied movers, Fide.. Expenses:Tips $97.00 $97.00 + Expenses:Cash $-97.00 0 +11-May-30 Starbucks Expenses:Food:Dining $6.90 $6.90 + Expenses:Taxes:Sales $0.71 $7.61 + Liabilities:MasterCard $-7.61 0 +11-May-31 Wal*Mart Expenses:Home $108.13 $108.13 + Expenses:Taxes:Sales $8.65 $116.78 + Liabilities:MasterCard $-116.78 0 +end test + +test reg -p "may 2011" --monthly +11-May-01 - 11-May-31 Expenses:Auto:Gas $70.20 $70.20 + Expenses:Beauty $18.91 $89.11 + Expenses:Bedding $108.84 $197.95 + Expenses:Cash $-97.00 $100.95 + Expenses:Clothing $2.96 $103.91 + Expe:Computer:Internet $46.10 $150.01 + Expe:Computer:Software $6.99 $157.00 + Expenses:Food $19.90 $176.90 + Expenses:Food:Dining $85.22 $262.12 + Expenses:Food:Grocery $225.61 $487.73 + Expenses:Home $1,971.57 $2,459.30 + Expenses:Home:Supplies $38.90 $2,498.20 + Expenses:Movies $5.97 $2,504.17 + Expenses:Supplies $21.82 $2,525.99 + Expenses:Taxes:Sales $185.03 $2,711.02 + Expenses:Tips $108.85 $2,819.87 + Liabilities:MasterCard $-2,819.87 0 +end test + +test reg -p "may 2011" --weekly +11-May-01 - 11-May-07 Expe:Computer:Internet $16.10 $16.10 + Liabilities:MasterCard $-16.10 0 +11-May-15 - 11-May-21 Expe:Computer:Internet $30.00 $30.00 + Expe:Computer:Software $6.99 $36.99 + Expenses:Taxes:Sales $0.49 $37.48 + Liabilities:MasterCard $-37.48 0 +11-May-22 - 11-May-28 Expenses:Auto:Gas $70.20 $70.20 + Expenses:Beauty $18.91 $89.11 + Expenses:Bedding $108.84 $197.95 + Expenses:Clothing $2.96 $200.91 + Expenses:Food $19.90 $220.81 + Expenses:Food:Dining $78.32 $299.13 + Expenses:Food:Grocery $67.97 $367.10 + Expenses:Home $1,863.44 $2,230.54 + Expenses:Home:Supplies $38.90 $2,269.44 + Expenses:Movies $5.97 $2,275.41 + Expenses:Supplies $3.84 $2,279.25 + Expenses:Taxes:Sales $169.44 $2,448.69 + Expenses:Tips $11.85 $2,460.54 + Liabilities:MasterCard $-2,460.54 0 +11-May-29 - 11-May-31 Expenses:Cash $-97.00 $-97.00 + Expenses:Food:Dining $6.90 $-90.10 + Expenses:Food:Grocery $157.64 $67.54 + Expenses:Home $108.13 $175.67 + Expenses:Supplies $17.98 $193.65 + Expenses:Taxes:Sales $15.10 $208.75 + Expenses:Tips $97.00 $305.75 + Liabilities:MasterCard $-305.75 0 +end test + +test reg -p "may 2011" --weekly --exact +11-May-01 - 11-May-01 Expe:Computer:Internet $16.10 $16.10 + Liabilities:MasterCard $-16.10 0 +11-May-18 - 11-May-20 Expe:Computer:Internet $30.00 $30.00 + Expe:Computer:Software $6.99 $36.99 + Expenses:Taxes:Sales $0.49 $37.48 + Liabilities:MasterCard $-37.48 0 +11-May-26 - 11-May-28 Expenses:Auto:Gas $70.20 $70.20 + Expenses:Beauty $18.91 $89.11 + Expenses:Bedding $108.84 $197.95 + Expenses:Clothing $2.96 $200.91 + Expenses:Food $19.90 $220.81 + Expenses:Food:Dining $78.32 $299.13 + Expenses:Food:Grocery $67.97 $367.10 + Expenses:Home $1,863.44 $2,230.54 + Expenses:Home:Supplies $38.90 $2,269.44 + Expenses:Movies $5.97 $2,275.41 + Expenses:Supplies $3.84 $2,279.25 + Expenses:Taxes:Sales $169.44 $2,448.69 + Expenses:Tips $11.85 $2,460.54 + Liabilities:MasterCard $-2,460.54 0 +11-May-29 - 11-May-31 Expenses:Cash $-97.00 $-97.00 + Expenses:Food:Dining $6.90 $-90.10 + Expenses:Food:Grocery $157.64 $67.54 + Expenses:Home $108.13 $175.67 + Expenses:Supplies $17.98 $193.65 + Expenses:Taxes:Sales $15.10 $208.75 + Expenses:Tips $97.00 $305.75 + Liabilities:MasterCard $-305.75 0 +end test + +test reg -p "may 2011" --weekly --empty +11-May-01 - 11-May-07 Expe:Computer:Internet $16.10 $16.10 + Liabilities:MasterCard $-16.10 0 +11-May-08 - 11-May-14 0 0 +11-May-15 - 11-May-21 Expe:Computer:Internet $30.00 $30.00 + Expe:Computer:Software $6.99 $36.99 + Expenses:Taxes:Sales $0.49 $37.48 + Liabilities:MasterCard $-37.48 0 +11-May-22 - 11-May-28 Expenses:Auto:Gas $70.20 $70.20 + Expenses:Beauty $18.91 $89.11 + Expenses:Bedding $108.84 $197.95 + Expenses:Clothing $2.96 $200.91 + Expenses:Food $19.90 $220.81 + Expenses:Food:Dining $78.32 $299.13 + Expenses:Food:Grocery $67.97 $367.10 + Expenses:Home $1,863.44 $2,230.54 + Expenses:Home:Supplies $38.90 $2,269.44 + Expenses:Movies $5.97 $2,275.41 + Expenses:Supplies $3.84 $2,279.25 + Expenses:Taxes:Sales $169.44 $2,448.69 + Expenses:Tips $11.85 $2,460.54 + Liabilities:MasterCard $-2,460.54 0 +11-May-29 - 11-May-31 Expenses:Cash $-97.00 $-97.00 + Expenses:Food:Dining $6.90 $-90.10 + Expenses:Food:Grocery $157.64 $67.54 + Expenses:Home $108.13 $175.67 + Expenses:Supplies $17.98 $193.65 + Expenses:Taxes:Sales $15.10 $208.75 + Expenses:Tips $97.00 $305.75 + Liabilities:MasterCard $-305.75 0 +end test + +test reg -p "may 2011" --weekly --empty --exact +11-May-01 - 11-May-01 Expe:Computer:Internet $16.10 $16.10 + Liabilities:MasterCard $-16.10 0 +11-May-14 - 11-May-14 0 0 +11-May-18 - 11-May-20 Expe:Computer:Internet $30.00 $30.00 + Expe:Computer:Software $6.99 $36.99 + Expenses:Taxes:Sales $0.49 $37.48 + Liabilities:MasterCard $-37.48 0 +11-May-26 - 11-May-28 Expenses:Auto:Gas $70.20 $70.20 + Expenses:Beauty $18.91 $89.11 + Expenses:Bedding $108.84 $197.95 + Expenses:Clothing $2.96 $200.91 + Expenses:Food $19.90 $220.81 + Expenses:Food:Dining $78.32 $299.13 + Expenses:Food:Grocery $67.97 $367.10 + Expenses:Home $1,863.44 $2,230.54 + Expenses:Home:Supplies $38.90 $2,269.44 + Expenses:Movies $5.97 $2,275.41 + Expenses:Supplies $3.84 $2,279.25 + Expenses:Taxes:Sales $169.44 $2,448.69 + Expenses:Tips $11.85 $2,460.54 + Liabilities:MasterCard $-2,460.54 0 +11-May-29 - 11-May-31 Expenses:Cash $-97.00 $-97.00 + Expenses:Food:Dining $6.90 $-90.10 + Expenses:Food:Grocery $157.64 $67.54 + Expenses:Home $108.13 $175.67 + Expenses:Supplies $17.98 $193.65 + Expenses:Taxes:Sales $15.10 $208.75 + Expenses:Tips $97.00 $305.75 + Liabilities:MasterCard $-305.75 0 +end test diff --git a/hledger/test/ledger-compat/regress/F524E251.test b/hledger/test/ledger-compat/regress/F524E251.test new file mode 100644 index 000000000..1e632c54f --- /dev/null +++ b/hledger/test/ledger-compat/regress/F524E251.test @@ -0,0 +1,38 @@ +; Test for: ledger -f doc/sample.dat -n reg' shows $0.00 on first post + += /^Expenses:Books/ + (Liabilities:Taxes) -0.10 + +~ Monthly + Assets:Bank:Checking $500.00 + Income:Salary + +2004/05/01 * Checking balance + Assets:Bank:Checking $1,000.00 + Equity:Opening Balances + +2004/05/01 * Investment balance + Assets:Brokerage 50 AAPL @ $30.00 + Equity:Opening Balances + +2004/05/14 * Pay day + Assets:Bank:Checking $500.00 + Income:Salary + +2004/05/27 Book Store + Expenses:Books $20.00 + Liabilities:MasterCard + +2004/05/27 (100) Credit card company + Liabilities:MasterCard $20.00 + Assets:Bank:Checking + +comment +test -n reg +04-May-01 Investment balance $-1,500.00 + 50 AAPL $-1,500.00 + 50 AAPL +04-May-27 Book Store $-2.00 $-1,502.00 + 50 AAPL +end test + diff --git a/hledger/test/ledger-compat/regress/F559EC12.test b/hledger/test/ledger-compat/regress/F559EC12.test new file mode 100644 index 000000000..79b853b64 --- /dev/null +++ b/hledger/test/ledger-compat/regress/F559EC12.test @@ -0,0 +1,42 @@ +comment +test format "%-12(scrub(amount))" +--- Context is first posting of the following transaction --- +2004/05/27 Book Store + ; This note applies to all postings. :SecondTag: + Expenses:Books 20 BOOK @ $10 + ; Metadata: Some Value + ; Typed:: $100 + $200 + ; :ExampleTag: + ; Here follows a note describing the posting. + 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 " +end test + +test format "%12(scrub(amount))" +--- Context is first posting of the following transaction --- +2004/05/27 Book Store + ; This note applies to all postings. :SecondTag: + Expenses:Books 20 BOOK @ $10 + ; Metadata: Some Value + ; Typed:: $100 + $200 + ; :ExampleTag: + ; Here follows a note describing the posting. + 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" +end test diff --git a/hledger/test/ledger-compat/regress/FCE11C8D.test b/hledger/test/ledger-compat/regress/FCE11C8D.test new file mode 100644 index 000000000..42b861a7e --- /dev/null +++ b/hledger/test/ledger-compat/regress/FCE11C8D.test @@ -0,0 +1,8 @@ +2012-03-17 Payee + Expenses:Food $20 + Assets:Cash + +comment +test reg --monthly --invert exp +12-Mar-01 - 12-Mar-31 Expenses:Food $-20 $-20 +end test diff --git a/hledger/test/ledger-compat/regress/FDFBA165.test b/hledger/test/ledger-compat/regress/FDFBA165.test new file mode 100644 index 000000000..329937326 --- /dev/null +++ b/hledger/test/ledger-compat/regress/FDFBA165.test @@ -0,0 +1,24 @@ +; Test for: automated transactions didn't show up in the balance report + += Income:Clients: + (Liabilities:Taxes:VAT) ((1,00 / 1,19) * 0,19) + +2009/07/27 * Invoice + Assets:Bank:Checking €1.190,00 + Income:Clients:ACME_Inc + +comment +test --decimal-comma bal + €1.190,00 Assets:Bank:Checking + €-1.190,00 Income:Clients:ACME_Inc + €-190,00 Liabilities:Taxes:VAT +-------------------- + €-190,00 +end test + +test --decimal-comma reg +09-Jul-27 Invoice Assets:Bank:Checking €1.190,00 €1.190,00 + Incom:Clients:ACME_Inc €-1.190,00 0 + (Liabilitie:Taxes:VAT) €-190,00 €-190,00 +end test + diff --git a/hledger/test/ledger-compat/regress/GH520.test b/hledger/test/ledger-compat/regress/GH520.test new file mode 100644 index 000000000..d7a30b160 --- /dev/null +++ b/hledger/test/ledger-compat/regress/GH520.test @@ -0,0 +1,34 @@ +2009-01-01 * Jan 09 + A 100.00 EUR + B + +comment +test reg --format '%(trim(""))\n' + + +end test + +test reg --format '%(trim("a"))\n' +a +a +end test + +test reg --format '%(trim(" a"))\n' +a +a +end test + +test reg --format '%(trim("a "))\n' +a +a +end test + +test reg --format '%(trim(" a "))\n' +a +a +end test + +test reg --format '%(trim(" aa "))\n' +aa +aa +end test diff --git a/hledger/test/ledger-compat/regress/commodity_equivalency.test b/hledger/test/ledger-compat/regress/commodity_equivalency.test new file mode 100644 index 000000000..784bb2b43 --- /dev/null +++ b/hledger/test/ledger-compat/regress/commodity_equivalency.test @@ -0,0 +1,14 @@ +C 1.00000000 BTC = 100000000 sat + +2022/10/01 Sell + Bank $20000 + Wallet -1 BTC + +comment +test bal + $20000 Bank + -1.00000000 BTC Wallet +-------------------- + $20000 + -1.00000000 BTC +end test diff --git a/hledger/test/ledger-compat/regress/commodity_equivalency_2.test b/hledger/test/ledger-compat/regress/commodity_equivalency_2.test new file mode 100644 index 000000000..726927e79 --- /dev/null +++ b/hledger/test/ledger-compat/regress/commodity_equivalency_2.test @@ -0,0 +1,14 @@ +C 1.00000000 BTC = 100000000 sat + +2022/10/01 Sell + Wallet -1 BTC + Bank $20000 + +comment +test bal + $20000 Bank + -1.00000000 BTC Wallet +-------------------- + $20000 + -1.00000000 BTC +end test diff --git a/hledger/test/ledger-compat/regress/equity-unround.test b/hledger/test/ledger-compat/regress/equity-unround.test new file mode 100644 index 000000000..2da238ef0 --- /dev/null +++ b/hledger/test/ledger-compat/regress/equity-unround.test @@ -0,0 +1,31 @@ +commodity EUR + note Euro + format 1,000.00 EUR + +2022/05/04 * Test 1 + Assets:Foo 1.0001 EUR + Income + +2022/05/04 * Test 2 + Assets:Bar 0.0002 EUR + Income + +2022/05/04 * Test 3 + Assets:Baz 3 EUR + Income + +comment +test equity ^Assets: --unround +2022/05/04 Opening Balances + Assets:Bar 0.0002 EUR + Assets:Baz 3.00 EUR + Assets:Foo 1.0001 EUR + Equity:Opening Balances -4.0003 EUR +end test + +test reg --equity ^Assets: --unround +22-May-04 Opening Balances Assets:Bar 0.0002 EUR 0.0002 EUR + Assets:Baz 3.00 EUR 3.0002 EUR + Assets:Foo 1.0001 EUR 4.0003 EUR + Equit:Opening Balances -4.0003 EUR 0 +end test diff --git a/hledger/test/ledger-compat/regress/error-in-include.dat b/hledger/test/ledger-compat/regress/error-in-include.dat new file mode 100644 index 000000000..9f654a423 --- /dev/null +++ b/hledger/test/ledger-compat/regress/error-in-include.dat @@ -0,0 +1,5 @@ + +2014-05-13 * Does not balance + A $10.00 + B -$11.00 + diff --git a/hledger/test/ledger-compat/regress/error-in-include.test b/hledger/test/ledger-compat/regress/error-in-include.test new file mode 100644 index 000000000..37b21198e --- /dev/null +++ b/hledger/test/ledger-compat/regress/error-in-include.test @@ -0,0 +1,18 @@ + +!include error-in-include.dat + +comment +test bal -> 1 +__ERROR__ +In file included from "$FILE", line 2: +While parsing file "$sourcepath/test/regress/error-in-include.dat", line 4: +While balancing transaction from "$sourcepath/test/regress/error-in-include.dat", lines 2-4: +> 2014-05-13 * Does not balance +> A $10.00 +> B -$11.00 +Unbalanced remainder is: + $-1.00 +Amount to balance against: + $10.00 +Error: Transaction does not balance +end test diff --git a/hledger/test/ledger-compat/regress/fix-missing-trans-in-last-budget-period.test b/hledger/test/ledger-compat/regress/fix-missing-trans-in-last-budget-period.test new file mode 100644 index 000000000..b2fb73b0b --- /dev/null +++ b/hledger/test/ledger-compat/regress/fix-missing-trans-in-last-budget-period.test @@ -0,0 +1,80 @@ += ~ ^A + [Balance] 1 + [Budget:$account] -1 + +~ Monthly from 2014/01 to 2014/12/31 + [Budget:A] 100.00 USD + [Balance] + +~ Monthly from 2014/01 to 2014/12/31 + [Budget:Z] 100.00 USD + [Balance] + +2014/10/01 toto0 + [Budget:A:B] 0.01 USD + [Balance] + +2014/11/01 toto1 + A:B 51.00 USD + Cash + +2014/11/02 toto2 + A:B 52.00 USD + Cash + +2014/11/03 toto3 + A:B 53.00 USD + Cash + +2014/11/04 toto4 + A:B 54.00 USD + Cash + +2014/12/08 toto5 + A:B 55.00 USD + Cash + +2014/12/09 toto6 + A:B 56.00 USD + Cash + +2014/12/10 toto7 + A:B 57.00 USD + Cash + +2014/12/11 toto8 + A:B 58.00 USD + Cash + +2014/12/12 toto9 + A:B 59.00 USD + Cash + +2014/12/12 toto9 + C 59.00 USD + Cash + +2015/01/12 toto10 + A:B 59.00 USD + Cash + +comment +test reg --budget -b 2014/10 -e 2015/02 --columns 80 --date-format "%Y-%m-%d" reg ^Bu +2014-10-01 Budget transaction [Budget:A] -100.00 USD -100.00 USD +2014-10-01 Budget transaction [Budget:Z] -100.00 USD -200.00 USD +2014-10-01 toto0 [Budget:A] 0.01 USD -199.99 USD +2014-11-01 Budget transaction [Budget:A] -100.00 USD -299.99 USD +2014-11-01 Budget transaction [Budget:Z] -100.00 USD -399.99 USD +2014-11-01 toto1 [Budget:A] -51.00 USD -450.99 USD +2014-11-02 toto2 [Budget:A] -52.00 USD -502.99 USD +2014-11-03 toto3 [Budget:A] -53.00 USD -555.99 USD +2014-11-04 toto4 [Budget:A] -54.00 USD -609.99 USD +2014-12-01 Budget transaction [Budget:A] -100.00 USD -709.99 USD +2014-12-01 Budget transaction [Budget:Z] -100.00 USD -809.99 USD +2014-12-08 toto5 [Budget:A] -55.00 USD -864.99 USD +2014-12-09 toto6 [Budget:A] -56.00 USD -920.99 USD +2014-12-10 toto7 [Budget:A] -57.00 USD -977.99 USD +2014-12-11 toto8 [Budget:A] -58.00 USD -1035.99 USD +2014-12-12 toto9 [Budget:A] -59.00 USD -1094.99 USD +2015-01-12 toto10 [Budget:A] -59.00 USD -1153.99 USD +end test diff --git a/hledger/test/ledger-compat/regress/market-group-by.test b/hledger/test/ledger-compat/regress/market-group-by.test new file mode 100644 index 000000000..90b48f44e --- /dev/null +++ b/hledger/test/ledger-compat/regress/market-group-by.test @@ -0,0 +1,27 @@ +D 1000.00 EUR + +2008/04/15 * Paid expenses back from cie. + Expenses:Cie-Reimbursements 2000 CAD @ 1.10 EUR + Assets:Checking + +2008/04/15 * Paid expenses back from cie. + Expenses:Cie-Reimbursements 2000 USD @ 1.10 EUR + Assets:Checking + +P 2008/04/20 00:00:00 CAD 1.20 EUR +P 2008/04/20 00:00:00 USD 1.20 EUR + +comment +test reg -V --group-by commodity +CAD +08-Apr-15 Paid expenses back .. Exp:Cie-Reimbursements 2200.00 EUR 2200.00 EUR +08-Apr-20 Commodities revalued 200.00 EUR 2400.00 EUR + +EUR +08-Apr-15 Paid expenses back .. Assets:Checking -2200.00 EUR -2200.00 EUR +08-Apr-15 Paid expenses back .. Assets:Checking -2200.00 EUR -4400.00 EUR + +USD +08-Apr-15 Paid expenses back .. Exp:Cie-Reimbursements 2200.00 EUR 2200.00 EUR +08-Apr-20 Commodities revalued 200.00 EUR 2400.00 EUR +end test diff --git a/hledger/test/ledger-compat/regress/total-1.test b/hledger/test/ledger-compat/regress/total-1.test new file mode 100644 index 000000000..512fe99dd --- /dev/null +++ b/hledger/test/ledger-compat/regress/total-1.test @@ -0,0 +1,29 @@ +; Test that calling total does not affect future calls to that function via a +; stale cache entry for the totalled account, because of a change to that same +; account + +2017-10-01 * Opening Balance + Assets:Current Account $1000.00 + Equity:Opening Balances + +2017-10-02 * Savings + Assets:Savings $100.00 + Assets:Current Account + +assert account("Assets:Current Account").total == $900.00 + +2017-10-03 * Savings + Assets:Savings $100.00 + Assets:Current Account + +assert account("Assets:Current Account").total == $800.00 + +comment +test bal + $1000.00 Assets + $800.00 Current Account + $200.00 Savings + $-1000.00 Equity:Opening Balances +-------------------- + 0 +end test diff --git a/hledger/test/ledger-compat/regress/total-2.test b/hledger/test/ledger-compat/regress/total-2.test new file mode 100644 index 000000000..a52136ce7 --- /dev/null +++ b/hledger/test/ledger-compat/regress/total-2.test @@ -0,0 +1,31 @@ +; Test that calling total does not affect future calls to that function via a +; stale cache entry for the totalled account, because of a change to an +; descendant (Assets:Current:Unallocated) of that account (Assets:Current) + +2017-10-01 * Opening entry + Assets:Current:Unallocated $2000.00 + Equity:Opening Balances + +2017-10-02 * Initial savings + Assets:Current:Savings $1000.00 + Assets:Current:Unallocated + +assert account("Assets:Current").total == $2000.00 + +2017-10-03 * Balance + Assets:Current:Unallocated $1.00 + Equity:Adjustments + +assert account("Assets:Current").total == $2001.00 + +comment +test bal + $2001.00 Assets:Current + $1000.00 Savings + $1001.00 Unallocated + $-2001.00 Equity + $-1.00 Adjustments + $-2000.00 Opening Balances +-------------------- + 0 +end test diff --git a/hledger/test/ledger-compat/regress/xact_code.dat b/hledger/test/ledger-compat/regress/xact_code.dat new file mode 100644 index 000000000..60956a238 --- /dev/null +++ b/hledger/test/ledger-compat/regress/xact_code.dat @@ -0,0 +1,3 @@ +2012-11-10 (C0-d3) Payee + Assets:Checking € -12,45 + Expenses:Expenditure diff --git a/hledger/test/ledger-compat/regress/xact_code.py b/hledger/test/ledger-compat/regress/xact_code.py new file mode 100644 index 000000000..a697e1564 --- /dev/null +++ b/hledger/test/ledger-compat/regress/xact_code.py @@ -0,0 +1,6 @@ +from __future__ import print_function + +import ledger + +for post in ledger.read_journal('test/regress/xact_code.dat').query('expenses'): + print(post.xact.code) diff --git a/hledger/test/ledger-compat/regress/xact_code_py.test b/hledger/test/ledger-compat/regress/xact_code_py.test new file mode 100644 index 000000000..e1974b7f5 --- /dev/null +++ b/hledger/test/ledger-compat/regress/xact_code_py.test @@ -0,0 +1,4 @@ +comment +test python test/regress/xact_code.py +C0-d3 +end test