[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals/phps-mode 9acda54 33/96: Added more passing tests for p
From: |
Christian Johansson |
Subject: |
[elpa] externals/phps-mode 9acda54 33/96: Added more passing tests for parser |
Date: |
Fri, 29 Oct 2021 11:14:41 -0400 (EDT) |
branch: externals/phps-mode
commit 9acda544ed958ab3e7baeb2efed77bd970917428
Author: Christian Johansson <christian@cvj.se>
Commit: Christian Johansson <christian@cvj.se>
Added more passing tests for parser
---
test/phps-mode-test-parser.el | 70 ++++++++++++++++++++++++++++++++++++++-----
1 file changed, 62 insertions(+), 8 deletions(-)
diff --git a/test/phps-mode-test-parser.el b/test/phps-mode-test-parser.el
index e761a4f..fa0bab3 100644
--- a/test/phps-mode-test-parser.el
+++ b/test/phps-mode-test-parser.el
@@ -55,7 +55,7 @@
(lambda()
(let ((parse (phps-mode-parser-parse)))
- (message "Left-to-right with left-most derivation in reverse: %S" parse)
+ (message "Left-to-right with left-most derivation:\n%S\n" parse)
(dolist (production-number (reverse parse))
(let ((production
(phps-mode-parser--get-grammar-production-by-number
@@ -108,7 +108,7 @@
"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)
+ (message "Left-to-right with left-most derivation:\n%S\n" parse)
(dolist (production-number (reverse parse))
(let ((production
(phps-mode-parser--get-grammar-production-by-number
@@ -125,13 +125,67 @@
parse)))))
(phps-mode-test-parser--buffer-contents
- "<?php echo 'hello'; ?>"
- "Basic translation test of echo with open tag and close tag"
+ "<?php\nfunction myFunction($arg) { $arg = 2; return $arg; }"
+ "Simple function defintion"
(lambda()
- (should
- (equal
- '(nil ("echo" "'hello'" ";"))
- (phps-mode-parser-translate)))))
+ (let ((parse (phps-mode-parser-parse)))
+ (message "Left-to-right with left-most derivation:\n%S\n" 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 427 431 428 176 178 428 247 241 238 120 236 266 429 137 502 492
498 461 411 345 156 138 136 502 492 498 342 481 151 138 136 429 175 98 105 79)
+ parse)))))
+
+ (phps-mode-test-parser--buffer-contents
+ "<?php\nnamespace myNamespace;\nfunction myFunction($arg) {\n $arg =
2;\n return $arg;\n}\n"
+ "Simple function defintion inside un-bracketed namespace"
+ (lambda()
+ (let ((parse (phps-mode-parser-parse)))
+ (message "Left-to-right with left-most derivation:\n%S\n" 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 77 81 107 79 427 431 428 176 178 428 247 241 238 120 236 266 429
137 502 492 498 461 411 345 156 138 136 502 492 498 342 481 151 138 136 429 175
98 105 79)
+ parse)))))
+
+ (phps-mode-test-parser--buffer-contents
+ "<?php\nnamespace myNamespace {\n function myFunction($arg) {\n
$arg = 2;\n return $arg;\n }\n}\n"
+ "Simple function defintion inside bracketed namespace"
+ (lambda()
+ (let ((parse (phps-mode-parser-parse)))
+ (message "Left-to-right with left-most derivation:\n%S\n" 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 77 81 108 79 137 427 431 428 176 178 428 247 241 238 120 236 266
429 137 502 492 498 461 411 345 156 138 136 502 492 498 342 481 151 138 136 429
175 98 139 136 142 102 79)
+ parse)))))
;; TODO Make following test work
;; (phps-mode-test-parser--buffer-contents
- [elpa] externals/phps-mode 569505e 17/96: Added parser header and fixed byte-compilation for parser, (continued)
- [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
- [elpa] externals/phps-mode c62ec64 27/96: Started refactor of parsers lex-analyzer, Christian Johansson, 2021/10/29
- [elpa] externals/phps-mode 9acda54 33/96: Added more passing tests for parser,
Christian Johansson <=
- [elpa] externals/phps-mode c470e37 38/96: More work on grammar parser generator, Christian Johansson, 2021/10/29
- [elpa] externals/phps-mode 6b9c1a4 40/96: More pasing of grammar, Christian Johansson, 2021/10/29
- [elpa] externals/phps-mode 3fa1b13 41/96: Translation of productions now working, Christian Johansson, 2021/10/29
- [elpa] externals/phps-mode b0ad204 44/96: Improved YACC grammar parser for productions, Christian Johansson, 2021/10/29
- [elpa] externals/phps-mode 3824d7d 46/96: More work on automatically parsing YACC grammar, Christian Johansson, 2021/10/29
- [elpa] externals/phps-mode 42c4e0e 48/96: Work on automatically generating terminals, non-terminals and start from YACC grammar, Christian Johansson, 2021/10/29
- [elpa] externals/phps-mode f56ba64 49/96: Terminals, non-terminals and start is automatically generated from YACC, Christian Johansson, 2021/10/29
- [elpa] externals/phps-mode 7323416 31/96: Added failing test for parser, Christian Johansson, 2021/10/29
- [elpa] externals/phps-mode 7c66145 30/96: Refactor of parsers lex-analyzer complete, Christian Johansson, 2021/10/29
- [elpa] externals/phps-mode 0e89b6e 35/96: Fixed bug in automation grammar, Christian Johansson, 2021/10/29