emacs-elpa-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[elpa] externals/parser-generator 80cf73d 019/434: Passing tests for val


From: ELPA Syncer
Subject: [elpa] externals/parser-generator 80cf73d 019/434: Passing tests for valid-grammar syntax
Date: Mon, 29 Nov 2021 15:58:59 -0500 (EST)

branch: externals/parser-generator
commit 80cf73d3b6ea32e78eaf426cfad7de9d39efae5d
Author: Christian Johansson <christian@cvj.se>
Commit: Christian Johansson <christian@cvj.se>

    Passing tests for valid-grammar syntax
---
 parser.el           |  1 +
 test/parser-test.el | 99 ++++++++++++++++++++++++++++++++++-------------------
 2 files changed, 65 insertions(+), 35 deletions(-)

diff --git a/parser.el b/parser.el
index 987ead7..074b0c4 100644
--- a/parser.el
+++ b/parser.el
@@ -234,6 +234,7 @@
                      (listp (car (cdr production)))
                      (symbolp (car (cdr production)))
                      (stringp (car (cdr production))))))
+      (message "RHS is invalid")
       (setq is-valid nil))
 
     ;; Validate right-hand-side (RHS) of production
diff --git a/test/parser-test.el b/test/parser-test.el
index ed7f1dd..7544cc8 100644
--- a/test/parser-test.el
+++ b/test/parser-test.el
@@ -201,25 +201,41 @@
   "Test function `parser--valid-grammar-p'."
   (message "Starting tests for (parser--valid-grammar-p)")
 
-  (should
-   (equal
+  (should (equal
+    t
+    (parser--valid-grammar-p '((A B C) ("a" "b" "c") ((A "a")) A))))
+
+  (should (equal
     nil
-    (parser--valid-grammar-p 'B)))
+    (parser--valid-grammar-p '((A B C) ("a" "b" "c") ((A "a")) (A)))))
 
-  (should
-   (equal
+  (should (equal
+    nil
+    (parser--valid-grammar-p '((A B C) (("a" "b") "c") ((A "a")) A))))
+
+  (should (equal
+    nil
+    (parser--valid-grammar-p '(((A B) C) ("a" "b" "c") ((A "a")) A))))
+
+  (should (equal
+    nil
+    (parser--valid-grammar-p '(((A B) C) ("a" "b" "c") ((A)) A))))
+
+  (should (equal
     nil
     (parser--valid-grammar-p "A")))
 
-  (should
-   (equal
+  (should (equal
     nil
     (parser--valid-grammar-p '(A B C))))
 
-  (should
-   (equal
-    t
-    (parser--valid-grammar-p '((A B C) (a b c) ((A ab a)(B b)(C c)) A))))
+  (should (equal
+    nil
+    (parser--valid-grammar-p '((A B)))))
+
+  (should (equal
+    nil
+    (parser--valid-grammar-p '((A B C) (a (b c) "c") (A ("a" "b") (a b)) (B b) 
(C "c")))))
 
   (message "Passed tests for (parser--valid-grammar-p)"))
 
@@ -227,35 +243,29 @@
   "Test function `parser--valid-look-ahead-number-p'."
   (message "Starting tests for (parser--valid-look-ahead-number-p)")
 
-  (should
-   (equal
-    nil
-    (parser--valid-look-ahead-number-p 'A)))
+  (should (equal
+           nil
+           (parser--valid-look-ahead-number-p 'A)))
 
-  (should
-   (equal
-   nil
-   (parser--valid-look-ahead-number-p "A")))
+  (should (equal
+           nil
+           (parser--valid-look-ahead-number-p "A")))
 
-  (should
-   (equal
-    nil
-     (parser--valid-look-ahead-number-p -2)))
+  (should (equal
+           nil
+           (parser--valid-look-ahead-number-p -2)))
 
-  (should
-   (equal
-    nil
-     (parser--valid-look-ahead-number-p 3.3)))
+  (should (equal
+           nil
+           (parser--valid-look-ahead-number-p 3.3)))
 
-  (should
-   (equal
-    t
-    (parser--valid-look-ahead-number-p 2)))
+  (should (equal
+           t
+           (parser--valid-look-ahead-number-p 2)))
 
-  (should
-   (equal
-    t
-     (parser--valid-look-ahead-number-p 1)))
+  (should (equal
+           t
+           (parser--valid-look-ahead-number-p 1)))
 
   (message "Passed tests for (parser--valid-look-ahead-number-p)"))
 
@@ -265,9 +275,28 @@
 
   (message "Passed tests for (parser--valid-sentential-form-p)"))
 
+(defun parser-test--valid-production-p ()
+  "Test `parser--valid-production-p'."
+  (message "Starting tests  for (parser--valid-production-p)")
+
+  (should (equal
+           t
+           (parser--valid-production-p '(A a))))
+
+  (should (equal
+           nil
+           (parser--valid-production-p "A")))
+
+  (should (equal
+           nil
+           (parser--valid-production-p '((A a)))))
+
+  (message "Passed tests  for (parser--valid-production-p)"))
+
 (defun parser-test ()
   "Run test."
   (parser-test--valid-look-ahead-number-p)
+  (parser-test--valid-production-p)
   (parser-test--valid-grammar-p)
   (parser-test--distinct)
   (parser-test--valid-sentential-form-p)



reply via email to

[Prev in Thread] Current Thread [Next in Thread]