extend a test
[calc.git] / calc.c
diff --git a/calc.c b/calc.c
index 826c58f49ffa83ee80605552510380624e1ba24e..690b118785e6eb8a8ce88de5625ba52842384472 100644 (file)
--- a/calc.c
+++ b/calc.c
@@ -216,7 +216,7 @@ int main (int argc, char *argv[])
             }
             element_t *element = parser (line[i], NULL, -9);
             if (element == ERROR_OP) {
-                VERBOSE (WARNING, fprintf (stdout, "error while parsing: '%s'\n", line[i]); fflush (stdout));
+                VERBOSE (WARNING, fprintf (stdout, "error while parsing: '%s'\n", line[i]));
                 ret = 1;
             } else if (element != NULL) {
                 VERBOSE (INFO, print_element (element, 0));
@@ -367,6 +367,15 @@ int main (int argc, char *argv[])
 // test: echo -e 'print (1)' | calc.exe -v 3 | grep -q Print
 // test: echo -e 'si\t\t (pi / 2)' | calc.exe | grep -q '=> 1'
 // test: echo -e '1 + 1;\nans + 1' | calc.exe | grep -qv 2
+// test: echo -e 'mem (3)\nsto (4, pi)' | calc.exe | grep -q "invalid index"
+// test: echo -e 'sto (2, 3)\nmem (2)\ndisp' | calc.exe | grep -q 'storage: 0 3$'
+// test: echo -e 'disp' | calc.exe | grep -q "storage: 0 0 0 0 0 0 0 0 0 0"
+// test: echo -e 'sto (3, 10)\ndisp' | calc.exe | grep -q "storage: 0 0 10 0 0 0 0 0 0 0"
+// test: echo -e 'rcl (3)\ndisp' | calc.exe | grep -q "storage: 0 0 0 0 0 0 0 0 0 0"
+// test: echo -e 'inc (2)\ndisp' | calc.exe | grep -q "storage: 0 1 0 0 0 0 0 0 0 0"
+// test: echo -e 'dec (2)\ndisp' | calc.exe | grep -q "storage: 0 -1 0 0 0 0 0 0 0 0"
+// test: echo -e 'sto (3, pi)\nclr\ndisp' | calc.exe | grep -q "storage: 0 0 0 0 0 0 0 0 0 0"
+// test: echo -e 'mem (3)\nclr' | calc.exe -v 3 | grep -q Clear
 
 // Gauss sequence
 // test: echo -e '{sto (1, 0), sto (10, 0), while (inc (10) < 100, {sto (1, rcl (1) + rcl (10)), print (rcl (1))})};' | calc.exe | grep -q '=> 5050'