queries: treat amt:<0 like amt:<+0 as a convenience

This commit is contained in:
Simon Michael 2014-04-16 10:46:54 -07:00
parent dd1f58b785
commit f0167013ce

View File

@ -291,7 +291,8 @@ parseAmountQueryTerm s' =
'>':'-':s -> (Gt, negate $ readDef err s)
'=':'-':s -> (Eq, negate $ readDef err s)
'-':s -> (Eq, negate $ readDef err s)
'<':s -> (AbsLt, readDef err s)
'<':s -> let n = readDef err s in case n of 0 -> (Lt, 0)
_ -> (AbsLt, n)
'>':s -> (AbsGt, readDef err s)
'=':s -> (AbsEq, readDef err s)
s -> (AbsEq, readDef err s)
@ -301,7 +302,7 @@ parseAmountQueryTerm s' =
tests_parseAmountQueryTerm = [
"parseAmountQueryTerm" ~: do
let s `gives` r = parseAmountQueryTerm s `is` r
"<0" `gives` (AbsLt,0) -- would be always false
"<0" `gives` (Lt,0) -- special case, AbsLt 0 would be always false
">10000.10" `gives` (AbsGt,10000.1)
"=0.23" `gives` (AbsEq,0.23)
"0.23" `gives` (AbsEq,0.23)