diff options
Diffstat (limited to 'parser')
| -rw-r--r-- | parser/parser.fnl | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/parser/parser.fnl b/parser/parser.fnl index 3a4d563..afb1ae2 100644 --- a/parser/parser.fnl +++ b/parser/parser.fnl @@ -159,10 +159,10 @@ (anywhere (* (peg.C pegs.number) (maybe " ") - (* (peg.C (+ (peg.P "гр") "кг" - (if extra-metrics - (table.unpack extra-metrics) - ""))) + (* (peg.C + (if extra-metrics + (+ (peg.P "гр") "кг" (table.unpack extra-metrics)) + (+ (peg.P "гр") "кг"))) (+ (pnot pegs.letter) -1)))))] (let [result (peg:match text)] (if result @@ -172,6 +172,8 @@ nil)) (fn test-guess-weight [] + (assert (= nil (guess-weight "за 1"))) + (assert (= 357 (guess-weight "за 1 шт 357 гр"))) (assert (= 1 (guess-weight "1гр"))) (assert (= 150 (guess-weight "150 гр"))) (assert (= 1000 (guess-weight "1кг"))) |
