[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals/phps-mode 2a9fb96 16/96: Added more tests for parser
From: |
Christian Johansson |
Subject: |
[elpa] externals/phps-mode 2a9fb96 16/96: Added more tests for parser |
Date: |
Fri, 29 Oct 2021 11:14:33 -0400 (EDT) |
branch: externals/phps-mode
commit 2a9fb965c75eeccd5211a97010f1647cf42b3dac
Author: Christian Johansson <christian@cvj.se>
Commit: Christian Johansson <christian@cvj.se>
Added more tests for parser
---
test/phps-mode-test-parser.el | 46 +++++++++++++++++++++++++++++++++++++++++--
1 file changed, 44 insertions(+), 2 deletions(-)
diff --git a/test/phps-mode-test-parser.el b/test/phps-mode-test-parser.el
index 0f55e56..7db67aa 100644
--- a/test/phps-mode-test-parser.el
+++ b/test/phps-mode-test-parser.el
@@ -67,9 +67,9 @@
(message "Passed %s" name)))
-(defun phps-mode-test-parser()
+(defun phps-mode-test-parser-boundaries ()
"Run test for lexer."
- (message "-- Running all tests for parser... --\n")
+ (message "-- Running tests for parser boundaries... --\n")
(phps-mode-test-parser--buffer-contents
"<?php echo 'hello';"
@@ -111,6 +111,48 @@
'(80 459 466 411 333 332 154 102 79)
(phps-mode-parser-parse)))))
+ (phps-mode-test-parser--buffer-contents
+ "<?php\necho 'blaha'\necho 'here';"
+ "Basic echo test 4 with invalid code"
+ (lambda()
+ (should-error
+ (phps-mode-parser-parse))))
+
+ (phps-mode-test-parser--buffer-contents
+ "<?php\necho 'blaha'"
+ "Basic echo test 5 with invalid code"
+ (lambda()
+ (should-error
+ (phps-mode-parser-parse))))
+
+ (phps-mode-test-parser--buffer-contents
+ "<? echo '<!DOCTYPE html>'; ?><html><head><?php echo 'My Title';
?><body></html>"
+ "Advanced echo test with 2 echo sections"
+ (lambda()
+ (let ((parse (phps-mode-parser-parse)))
+ (message "Left-to-right with left-most derivation in reverse: %S" parse)
+ (dolist (production-number (reverse parse))
+ (let ((production
+ (phps-mode-parser--get-grammar-production-by-number
+ production-number)))
+ (message
+ "%d: %S -> %S"
+ production-number
+ (car (car production))
+ (car (car (cdr production))))))
+ (message "\n")
+ (should
+ (equal
+ '(80 459 466 411 333 332 154 102 79 155 102 79 459 466 411 333 332
154 102 79 155 102 79)
+ parse)))))
+
+ (message "\n-- Ran tests for parser boundaries. --"))
+
+(defun phps-mode-test-parser ()
+ "Run test for lexer."
+ (message "-- Running all tests for parser... --\n")
+
+ (phps-mode-test-parser-boundaries)
(message "\n-- Ran all tests for parser. --"))
- [elpa] externals/phps-mode d2872f7 05/96: Started on parser test, (continued)
- [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, 2021/10/29
- [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 <=
- [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
- [elpa] externals/phps-mode ec18c1e 22/96: Using parser to be able to implement incremental parser, Christian Johansson, 2021/10/29
- [elpa] externals/phps-mode 1ee3094 28/96: More refactoring of the parsers lex-analyzer, Christian Johansson, 2021/10/29
- [elpa] externals/phps-mode 2ceb6e5 23/96: Added potential support for incremental parsing, Christian Johansson, 2021/10/29
- [elpa] externals/phps-mode e59d30e 26/96: Improvements in lex-analyzer for parser, Christian Johansson, 2021/10/29