#! /bin/sh

#------------------------------------------------------------
# cmldecls
#------------------------------------------------------------


if echo "1; 1;; ;; %< %< abc ;;;; >% >% \"abc;;" | cmldecls > /dev/null; then
    echo "TEST FAILED: unclosed quote not detected"
else
    echo "TEST PASSED - unclosed quote not detected"
fi

if echo "1; 1;; ;; %< %< abc ;;;; >% >% \`abc;;" | cmldecls > /dev/null; then
    echo "TEST FAILED: unclosed term not detected"
else
    echo "TEST PASSED - unclosed term detected"
fi

if echo "1; 1;; 2;; 1" | cmldecls > /dev/null; then
    echo "TEST FAILED: unfinished command not detected"
else
    echo "TEST PASSED - unfinished command detected"
fi

if test `echo "1; 1;; 2;;" | cmldecls` -eq 2; then
    echo "TEST PASSED - simple code passsed"
else
    echo "TEST FAILED: simple code did not pass"
fi


#------------------------------------------------------------
# cmldecls
#------------------------------------------------------------

if echo "1; 1;; ;; (* (* abc ;;;; *) *) \"abc;;" | smldecls > /dev/null; then
    echo "TEST FAILED: unclosed string not detected"
else
    echo "TEST PASSED - unclosed string detected"
fi

if echo "1; 1;; ;; (* (* abc ;;;; *) *) \`abc;;" | smldecls > /dev/null; then
    echo "TEST FAILED: unclosed quote not detected"
else
    echo "TEST PASSED - unclosed quote detected"
fi

if echo "1; 1;; 2;; 1" | smldecls > /dev/null; then
    echo "TEST FAILED: unfinished command not detected"
else
    echo "TEST PASSED - unfinshed command detected"
fi

if test `echo "(1; [2; 3]); (* 1;; *) { 1; }; 2;;" | smldecls` -eq 3; then
    echo "TEST PASSED - simple code passed"
else
    echo "TEST FAILED: simple code did not pass"
fi

if echo "(1; [2; 3]); (* 1;; { 1; }; 2;;" | smldecls > /dev/null; then
    echo "TEST FAILED: unfinished comment not detected"
else
    echo "TEST PASSED - unfinished comment detected"
fi


