[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. --"))
- [elpa] externals/phps-mode 8120895 03/96: Fixed parser generation and automatically cleans bytecode when generating parser, (continued)
- [elpa] externals/phps-mode 8120895 03/96: Fixed parser generation and automatically cleans bytecode when generating parser, Christian Johansson, 2021/10/29
- [elpa] externals/phps-mode 3421b6a 01/96: Improved parser generator location, Christian Johansson, 2021/10/29
- [elpa] externals/phps-mode 60344ea 02/96: Improved recovery in automation by dumping generated data, Christian Johansson, 2021/10/29
- [elpa] externals/phps-mode f4c9f8b 04/96: Added generated parser, Christian Johansson, 2021/10/29
- [elpa] externals/phps-mode d2872f7 05/96: Started on parser test, Christian Johansson, 2021/10/29
- [elpa] externals/phps-mode 7a0eecd 07/96: First test passing for parser, Christian Johansson, 2021/10/29
- [elpa] externals/phps-mode 2189d31 11/96: Fixes for lexer in parser to handle T_CLOSE_TAG, Christian Johansson, 2021/10/29
- [elpa] externals/phps-mode 50ed917 12/96: Using non-parser mode for lexer, Christian Johansson, 2021/10/29
- [elpa] externals/phps-mode c15fa0c 10/96: Using parser-mode for lexer, Christian Johansson, 2021/10/29
- [elpa] externals/phps-mode ab56c99 13/96: More work on debugging parser-lexer, Christian Johansson, 2021/10/29
- [elpa] externals/phps-mode 1dd3bd3 06/96: More working on trying to get parser test working,
Christian Johansson <=
- [elpa] externals/phps-mode 3f5c008 09/96: Optimization for lexer to only need to execute once per index, Christian Johansson, 2021/10/29
- [elpa] externals/phps-mode 2b167f3 08/96: Fixes for parsing start and end, Christian Johansson, 2021/10/29
- [elpa] externals/phps-mode 376e690 15/96: Verified parse, Christian Johansson, 2021/10/29
- [elpa] externals/phps-mode 2a9fb96 16/96: Added more tests for parser, Christian Johansson, 2021/10/29
- [elpa] externals/phps-mode 5c7c6f4 14/96: Parser passes basic lexing test, Christian Johansson, 2021/10/29
- [elpa] externals/phps-mode 569505e 17/96: Added parser header and fixed byte-compilation for parser, Christian Johansson, 2021/10/29
- [elpa] externals/phps-mode 0d1843f 20/96: Started on parser integration, Christian Johansson, 2021/10/29
- [elpa] externals/phps-mode b714471 21/96: Added parse function in lex-analyzer and a test for it, Christian Johansson, 2021/10/29
- [elpa] externals/phps-mode 50a014a 18/96: Using same lexer buffer for parser as the lex-analyzer is using, Christian Johansson, 2021/10/29
- [elpa] externals/phps-mode fb9905f 19/96: Added basic translation test, Christian Johansson, 2021/10/29