[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals/phps-mode 37dda7a 34/96: Added another failing test for
From: |
Christian Johansson |
Subject: |
[elpa] externals/phps-mode 37dda7a 34/96: Added another failing test for parser |
Date: |
Fri, 29 Oct 2021 11:14:41 -0400 (EDT) |
branch: externals/phps-mode
commit 37dda7a92ecd90ffaa8661dc881e59245e560e7a
Author: Christian Johansson <christian@cvj.se>
Commit: Christian Johansson <christian@cvj.se>
Added another failing test for parser
---
test/phps-mode-test-parser.el | 32 +++++++++++++++++++++++++++-----
1 file changed, 27 insertions(+), 5 deletions(-)
diff --git a/test/phps-mode-test-parser.el b/test/phps-mode-test-parser.el
index fa0bab3..d5baa5e 100644
--- a/test/phps-mode-test-parser.el
+++ b/test/phps-mode-test-parser.el
@@ -187,12 +187,34 @@
'(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 this test pass
+ (phps-mode-test-parser--buffer-contents
+ "<?php\nnamespace myNamespace;\nclass MyClass\n{\n private $var =
'abc';\n public function myFunction($arg) {\n $arg = 2;\n
return $arg;\n }\n}\n"
+ "Simple function defintion and property inside class inside non-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
- ;; "<?php\n\nnamespace myNamespaceA {\n $var = 123;\n class myClassA
{\n private $var2 = 123;\n function myFunctionA($var3) {\n
$var4 = 123;\n if ($var) {\n echo 'Miss';\n
}\n if ($var2) {\n echo 'Miss';\n }\n
if ($var3) {\n echo 'Hit';\n }\n
if ($var4) {\n echo 'Hit';\n }\n }\n\n
function myFun [...]
- ;; "Object oriented PHP with bracket namespace"
- ;; (lambda()
- ;; (phps-mode-parser-parse)))
+ (phps-mode-test-parser--buffer-contents
+ "<?php\n\nnamespace myNamespaceA {\n $var = 123;\n class myClassA {\n
private $var2 = 123;\n function myFunctionA($var3) {\n
$var4 = 123;\n if ($var) {\n echo 'Miss';\n
}\n if ($var2) {\n echo 'Miss';\n }\n
if ($var3) {\n echo 'Hit';\n }\n if
($var4) {\n echo 'Hit';\n }\n }\n\n
function myFuncti [...]
+ "Object oriented PHP with bracket namespace"
+ (lambda()
+ (phps-mode-parser-parse)))
(message "\n-- Ran tests for parser boundaries. --"))
- [elpa] externals/phps-mode 42c4e0e 48/96: Work on automatically generating terminals, non-terminals and start from YACC grammar, (continued)
- [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
- [elpa] externals/phps-mode 65152f4 36/96: Added TODO item, Christian Johansson, 2021/10/29
- [elpa] externals/phps-mode add17a7 24/96: T_COMMENT and T_DOC_COMMENT are excluded from parser, Christian Johansson, 2021/10/29
- [elpa] externals/phps-mode f46b98f 25/96: More work on integrating parser, Christian Johansson, 2021/10/29
- [elpa] externals/phps-mode 6b3a298 29/96: More work on parsers lex-analyzer refactor, Christian Johansson, 2021/10/29
- [elpa] externals/phps-mode 45508e1 32/96: Reverted integration of parser into other files due to immaturity, Christian Johansson, 2021/10/29
- [elpa] externals/phps-mode 37dda7a 34/96: Added another failing test for parser,
Christian Johansson <=
- [elpa] externals/phps-mode 339e39b 37/96: Started on YACC grammar parser generator, Christian Johansson, 2021/10/29
- [elpa] externals/phps-mode 244a62b 39/96: Parser generator now can parse PHP YACC productions, Christian Johansson, 2021/10/29
- [elpa] externals/phps-mode a449b5b 42/96: Improved formatting of generated productions, Christian Johansson, 2021/10/29
- [elpa] externals/phps-mode e3d973d 43/96: Improved support for semi-colon in grammar delimiter, Christian Johansson, 2021/10/29
- [elpa] externals/phps-mode 962e7c8 52/96: Context-sensitive precedence attribute is automatically parsed from YACC, Christian Johansson, 2021/10/29
- [elpa] externals/phps-mode b94cbbf 58/96: Set GB collection in automation, Christian Johansson, 2021/10/29
- [elpa] externals/phps-mode bb4858b 61/96: Defined lex-analyzer reset function for parser, Christian Johansson, 2021/10/29
- [elpa] externals/phps-mode 22f0a47 62/96: Parser generator passing byte-compilation, Christian Johansson, 2021/10/29
- [elpa] externals/phps-mode 751bece 50/96: Removed terminals, non-terminals and start from automation grammar, Christian Johansson, 2021/10/29
- [elpa] externals/phps-mode 4dbd9a2 54/96: Automatically parsing of global declaration from YACC, Christian Johansson, 2021/10/29