mirror of
https://github.com/simonmichael/hledger.git
synced 2024-11-10 05:39:31 +03:00
;test:import: test case for match groups (#2158)
Add a test which captures the issue of overlapping scope described in GitHub issue #2158. Signed-off-by: Jonathan Dowland <jon@dow.land>
This commit is contained in:
parent
7e06e0caeb
commit
8f514ac16d
@ -1531,4 +1531,20 @@ tests_RulesReader = testGroup "RulesReader" [
|
||||
|
||||
]
|
||||
|
||||
-- testing match groups (#2158)
|
||||
,testGroup "hledgerFieldValue" $
|
||||
let rules = mkrules $ defrules
|
||||
{ rcsvfieldindexes=[ ("date",1), ("description",2) ]
|
||||
, rassignments=[ ("account2","equity"), ("amount1","1") ]
|
||||
-- ConditionalBlocks here are in reverse order: mkrules reverses the list
|
||||
, rconditionalblocks=[ CB { cbMatchers=[FieldMatcher None "%description" (toRegex' "PREFIX (.*) - (.*)")]
|
||||
, cbAssignments=[("account1","account:\\1:\\2")] }
|
||||
, CB { cbMatchers=[FieldMatcher None "%description" (toRegex' "PREFIX (.*)")]
|
||||
, cbAssignments=[("account1","account:\\1"), ("comment1","\\1")] }
|
||||
]
|
||||
}
|
||||
record = ["2019-02-01","PREFIX Text 1 - Text 2"]
|
||||
in [ testCase "scoped match groups forwards" $ hledgerFieldValue rules record "account1" @?= (Just "account:Text 1:Text 2")
|
||||
, testCase "scoped match groups backwards" $ hledgerFieldValue rules record "comment1" @?= (Just "Text 1 - Text 2")
|
||||
]
|
||||
]
|
||||
|
Loading…
Reference in New Issue
Block a user