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

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

[elpa] externals/phps-mode 1dd3bd3 06/96: More working on trying to get


From: Christian Johansson
Subject: [elpa] externals/phps-mode 1dd3bd3 06/96: More working on trying to get parser test working
Date: Fri, 29 Oct 2021 11:14:27 -0400 (EDT)

branch: externals/phps-mode
commit 1dd3bd3dbfba0a6d37627acd1579d450010d6900
Author: Christian Johansson <christian@cvj.se>
Commit: Christian Johansson <christian@cvj.se>

    More working on trying to get parser test working
---
 phps-mode-parser.el           |  2 +-
 test/phps-mode-test-parser.el | 53 +++++++++++++++++++++++++++++++++++++------
 2 files changed, 47 insertions(+), 8 deletions(-)

diff --git a/phps-mode-parser.el b/phps-mode-parser.el
index bc5befb..f059b10 100644
--- a/phps-mode-parser.el
+++ b/phps-mode-parser.el
@@ -62,7 +62,7 @@
 
 (defconst
   phps-mode-parser-lex-analyzer--function
-  (lambda (index) (save-current-buffer (set-buffer "*phps-mode-lex-analyzer*") 
(if (= (point) index) nil (goto-char index)) (phps-mode-lexer--re2c) (if 
(boundp 'phps-mode-lexer--generated-new-tokens) (progn (car (nreverse 
phps-mode-lexer--generated-new-tokens))))))
+  (lambda (index) (save-current-buffer (set-buffer "*phps-mode-lex-analyzer*") 
(if (= (point) index) nil (goto-char index)) (message "Index: %S" index) 
(phps-mode-lexer--re2c) (if (boundp 'phps-mode-lexer--generated-new-tokens) 
(let ((first (car (nreverse phps-mode-lexer--generated-new-tokens)))) (when (or 
(equal (car first) 'T_OPEN_TAG) (equal (car first) 
'T_OPEN_TAG_WITH_ECHO))(message "Skipping token: %S.. Going to %S" first (cdr 
(cdr first)))(goto-char (cdr (cdr first)))(setq phps-mo [...]
   "The lex-analyzer function.")
 
 (defconst
diff --git a/test/phps-mode-test-parser.el b/test/phps-mode-test-parser.el
index 28fa141..f3ce29a 100644
--- a/test/phps-mode-test-parser.el
+++ b/test/phps-mode-test-parser.el
@@ -25,19 +25,58 @@
 
 ;;; Code:
 
+(require 'ert)
+(require 'phps-mode)
+(require 'phps-mode-lexer)
 (require 'phps-mode-parser)
 
+(defun phps-mode-test-parser--buffer-contentes (buffer-contents name logic)
+  (generate-new-buffer "*phps-mode-lex-analyzer*")
+  (with-current-buffer "*phps-mode-lex-analyzer*"
+    (kill-region (point-min) (point-max))
+    (insert buffer-contents)
+    (message "Testing buffer '%S' with buffer-contents:\n%S\n" name 
(buffer-substring-no-properties (point-min) (point-max)))
+
+    ;; Reset lexer
+    (setq
+     phps-mode-lexer--generated-tokens
+     nil)
+    (setq
+     phps-mode-lexer--state
+     'ST_INITIAL)
+    (setq
+     phps-mode-lexer--states
+     nil)
+    (setq
+     phps-mode-lexer--state-stack
+     nil)
+    (setq
+     phps-mode-lexer--heredoc-label
+     nil)
+    (setq
+     phps-mode-lexer--heredoc-label-stack
+     nil)
+    (setq
+     phps-mode-lexer--nest-location-stack
+     nil)
+
+    (funcall logic)
+
+    (message "Passed %s" name)))
+
 (defun phps-mode-test-parser()
   "Run test for lexer."
   (message "-- Running all tests for parser... --\n")
 
-  (with-temp-buffer
-    (insert "<?php echo 'hello';")
-    (should
-     (equal
-      nil
-      (phps-mode-parser-parse))))
-  (message "Passed basic echo test")
+  (phps-mode-test-parser--buffer-contentes
+   "<?php echo 'hello';"
+   "Basic echo test"
+   (lambda()
+     (message "was here")
+     (should
+      (equal
+       t
+       (phps-mode-parser-parse)))))
 
   (message "\n-- Ran all tests for parser. --"))
 



reply via email to

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