r14537 - gnucash/branches/register-rewrite/src/app-utils/test - Add some expression parser tests.

Chris Shoemaker chris at cvs.gnucash.org
Mon Jul 17 22:29:50 EDT 2006


Author: chris
Date: 2006-07-17 22:29:49 -0400 (Mon, 17 Jul 2006)
New Revision: 14537
Trac: http://svn.gnucash.org/trac/changeset/14537

Modified:
   gnucash/branches/register-rewrite/src/app-utils/test/test-exp-parser.c
Log:
   Add some expression parser tests.


Modified: gnucash/branches/register-rewrite/src/app-utils/test/test-exp-parser.c
===================================================================
--- gnucash/branches/register-rewrite/src/app-utils/test/test-exp-parser.c	2006-07-18 02:25:35 UTC (rev 14536)
+++ gnucash/branches/register-rewrite/src/app-utils/test/test-exp-parser.c	2006-07-18 02:29:49 UTC (rev 14537)
@@ -62,7 +62,7 @@
 {
   gboolean succeeded;
   gnc_numeric result;
-  char *error_loc;
+  char *error_loc = NULL;
 
   result = gnc_numeric_error( -1 );
   printf("Running test \"%s\" [%s] = ", node->test_name, node->exp);
@@ -140,6 +140,18 @@
   add_fail_test ("bad expression", "  ((((5 + 23)/   ", 17);
   add_fail_test ("divide by zero", "  4 / (1 - 1)", -1);
 
+  /* FIXME: what's the correct error code here? */
+  add_fail_test ("bad expression", ")1", 0);
+  add_fail_test ("bad expression", "1\"%", 0);
+  add_fail_test ("bad expression", "1%\"", 0);
+  add_fail_test ("bad expression", "1(", 0);
+  add_fail_test ("bad expression", "1)", 0);
+  add_fail_test ("bad expression", "=1", 0);
+  add_fail_test ("bad expression", "1 / asdf", 0);
+  
+  add_pass_test ("1 + asdf", "1 + asdf", gnc_numeric_create(1, 1));
+  add_pass_test ("1 * asdf", "1 * asdf", gnc_numeric_zero());
+
   add_pass_test ("zero", "0", gnc_numeric_zero ());
   add_pass_test ("zero with whitespace", "\n\t   0  ", gnc_numeric_zero ());
   add_pass_test ("1 + 2", NULL, gnc_numeric_create (3, 1));



More information about the gnucash-changes mailing list