From 518fb8205ae251e10d642fc8816f0a6720e3b440 Mon Sep 17 00:00:00 2001 From: Ekaitz Zarraga Date: Sat, 10 Aug 2024 16:04:45 +0200 Subject: Make some project structure --- tests/parse.scm | 44 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100644 tests/parse.scm (limited to 'tests/parse.scm') diff --git a/tests/parse.scm b/tests/parse.scm new file mode 100644 index 0000000..c4670e0 --- /dev/null +++ b/tests/parse.scm @@ -0,0 +1,44 @@ +(import (chibi) + (chibi test) + (chibi parse) + (cook debug) + (cook parse-internals)) + +(test "Amount with unit" + (list 'amount "10" "l") (cook->list (parse amount "10%l"))) +(test "Amount without unit" + (list 'amount "10" #f) (cook->list (parse amount "10"))) + +;(define (test x y) +; (display "Testing: ") +; (display x) +; (display " == ") +; (display (cook->list y)) +; (newline)) + +;(test 'NEWLINE (parse nl "\n\r\r\n")) +;(test 'WHITESPACE (parse whitespace " \t aaaa aaa ")) +;(test 'COMMENT (parse comment "-- aasf ljalsfkjalsfdjalsfd\n")) +; +;(test 'BLOCK-COMMENT ;; TODO: Check greediness +; (parse comment "[- aasfjal sfkjalsfdjalsfd\nashfajsdf\nsdfasf-]")) +; +;(test 'WORD (parse word "hola. adios")) +;(test 'UNIT (parse unit "l")) +;(test 'QUANTITY (parse quantity "10")) +;(test 'WORD-COMPONENT (parse-fully component "word{}")) +;(test 'WORD-COMPONENT (parse-fully component "word{9%head}")) +;(test 'WORD-COMPONENT (parse-fully component "word")) +;(test 'MULTI-WORD-COMPONENT (parse-fully component "un multi word{}")) +;(test 'MULTI-WORD-COMPONENT (parse-fully component "un multi word{10}")) +;(test 'MULTI-WORD-COMPONENT (parse-fully component "un multi word{10%l}")) +;(test 'MULTI-WORD-COMPONENT (parse-fully component "un multi word{80%mm}")) +;(test 'NO-NAME-TIMER (parse-fully timer "~{}")) +;(test 'MULTI-WORD-TIMER (parse-fully timer "~un multi word{10}")) +;(test 'MULTI-WORD-TIMER (parse-fully timer "~un multi word{10%l}")) +;(test 'MULTI-WORD-TIMER (parse-fully timer "~un multi word{80%mm}")) +;(test 'NO-NAME-TIMER (parse-fully timer "~{12%min}")) +;(test 'INGREDIENT (parse-fully ingredient "@potato{12%kg}")) +;(test 'STEP (parse-fully step "un poco de texto seguido de ~un multi word{10}")) +;(test 'RECIPE (parse recipe "this is a recipe with @coconut{1}\nAnd takes ~{2%min}\n")) +;(test 'RECIPE (parse recipe ">> some: metadata\nthis is a recipe with @coconut{1}\nAnd takes ~{2%min}\n")) -- cgit v1.2.3