summaryrefslogtreecommitdiff
path: root/parser/parser.fnl
diff options
context:
space:
mode:
Diffstat (limited to 'parser/parser.fnl')
-rw-r--r--parser/parser.fnl10
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кг")))