[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals/phps-mode 07ed24d 376/405: Added states test as well
From: |
Stefan Monnier |
Subject: |
[elpa] externals/phps-mode 07ed24d 376/405: Added states test as well |
Date: |
Sat, 13 Jul 2019 10:00:54 -0400 (EDT) |
branch: externals/phps-mode
commit 07ed24db2865cfce71483a796beadbe1b5341a96
Author: Christian Johansson <address@hidden>
Commit: Christian Johansson <address@hidden>
Added states test as well
---
phps-mode-lexer.el | 6 +++++-
phps-mode-test-functions.el | 15 +++++++++++++++
2 files changed, 20 insertions(+), 1 deletion(-)
diff --git a/phps-mode-lexer.el b/phps-mode-lexer.el
index 0028845..6b6a7e3 100644
--- a/phps-mode-lexer.el
+++ b/phps-mode-lexer.el
@@ -1590,9 +1590,13 @@
(phps-mode-lexer-re2c-execute)))
(defun phps-mode-lexer-get-tokens ()
- "Get tokens."
+ "Get lexer tokens."
phps-mode-lexer-tokens)
+(defun phps-mode-lexer-get-states ()
+ "Get lexer states."
+ phps-mode-lexer-states)
+
(defun phps-mode-lexer--get-next-unescaped (character)
"Find where next un-escaped CHARACTER comes, if none is found return nil."
;; (message "phps-mode-lexer--get-next-unescaped(%s)" character)
diff --git a/phps-mode-test-functions.el b/phps-mode-test-functions.el
index 485de97..cdcdb49 100644
--- a/phps-mode-test-functions.el
+++ b/phps-mode-test-functions.el
@@ -37,6 +37,7 @@
(autoload 'phps-mode-functions-get-moved-lines-indent "phps-mode-functions")
(autoload 'phps-mode-test-hash-to-list "phps-mode-test")
(autoload 'phps-mode-lexer-get-tokens "phps-mode-lexer")
+(autoload 'phps-mode-lexer-get-states "phps-mode-lexer")
(autoload 'should "ert")
(defun phps-mode-test-functions-move-lines-indent ()
@@ -892,6 +893,7 @@
)
;; TODO Add functionality for (delete-backward-char) as well
+;; TODO Test states as well
(defun phps-mode-test-functions-whitespace-modifications ()
"Test white-space modifications functions."
@@ -899,13 +901,26 @@
"<?php\n$var = 'abc';\n\n$var2 = '123';\n"
"Add newline between two assignments and inspect moved tokens and states"
;; (message "Tokens %s" (phps-mode-lexer-get-tokens))
+ ;; (message "States: %s" (phps-mode-lexer-get-states))
+
+ ;; Initial state
(should (equal (phps-mode-lexer-get-tokens)
'((T_OPEN_TAG 1 . 7) (T_VARIABLE 7 . 11) ("=" 12 . 13)
(T_CONSTANT_ENCAPSED_STRING 14 . 19) (";" 19 . 20) (T_VARIABLE 22 . 27) ("=" 28
. 29) (T_CONSTANT_ENCAPSED_STRING 30 . 35) (";" 35 . 36))))
+ (should (equal (phps-mode-lexer-get-states)
+ '((35 36 1 (1 1 1 1 1)) (30 35 1 (1 1 1 1 1)) (28 29 1 (1 1
1 1 1)) (22 27 1 (1 1 1 1 1)) (19 20 1 (1 1 1 1 1)) (14 19 1 (1 1 1 1 1)) (12
13 1 (1 1 1 1 1)) (7 11 1 (1 1 1 1 1)) (1 7 1 (1 1 1 1 1)))))
+
+ ;; Change
(goto-char 21)
(newline nil nil)
+
+ ;; Final state
;; (message "Tokens %s" (phps-mode-lexer-get-tokens))
+ ;; (message "States: %s" (phps-mode-lexer-get-states))
(should (equal (phps-mode-lexer-get-tokens)
'((T_OPEN_TAG 1 . 7) (T_VARIABLE 7 . 11) ("=" 12 . 13)
(T_CONSTANT_ENCAPSED_STRING 14 . 19) (";" 19 . 20) (T_VARIABLE 23 . 28) ("=" 29
. 30) (T_CONSTANT_ENCAPSED_STRING 31 . 36) (";" 36 . 37))))
+ (should (equal (phps-mode-lexer-get-states)
+ '((36 37 1 (1 1 1 1 1)) (31 36 1 (1 1 1 1 1)) (29 30 1 (1 1 1 1
1)) (23 28 1 (1 1 1 1 1)) (19 20 1 (1 1 1 1 1)) (14 19 1 (1 1 1 1 1)) (12 13 1
(1 1 1 1 1)) (7 11 1 (1 1 1 1 1)) (1 7 1 (1 1 1 1 1)))))
+
)
(phps-mode-test-with-buffer
- [elpa] externals/phps-mode 71858d1 374/405: Removed side-effect of END_PARSE token being added to tokens after processing buffer, (continued)
- [elpa] externals/phps-mode 71858d1 374/405: Removed side-effect of END_PARSE token being added to tokens after processing buffer, Stefan Monnier, 2019/07/13
- [elpa] externals/phps-mode 228b657 380/405: Updated README with license logo and Travis CI build status, Stefan Monnier, 2019/07/13
- [elpa] externals/phps-mode 6308e3e 366/405: Removed debug notice, Stefan Monnier, 2019/07/13
- [elpa] externals/phps-mode bd90dc9 370/405: Removed debug output, Stefan Monnier, 2019/07/13
- [elpa] externals/phps-mode 38bd348 361/405: More work on advice, Stefan Monnier, 2019/07/13
- [elpa] externals/phps-mode 2efd7d7 367/405: Started on function to move line-indent index, Stefan Monnier, 2019/07/13
- [elpa] externals/phps-mode 5bc592a 368/405: More work on moving indent indexes, Stefan Monnier, 2019/07/13
- [elpa] externals/phps-mode bc1f50f 365/405: Fixed byte-compilation in functions unit-test, Stefan Monnier, 2019/07/13
- [elpa] externals/phps-mode 654ef5f 377/405: Added another state test for newline, Stefan Monnier, 2019/07/13
- [elpa] externals/phps-mode fe80a3a 369/405: Passes test for moving line-indents down, Stefan Monnier, 2019/07/13
- [elpa] externals/phps-mode 07ed24d 376/405: Added states test as well,
Stefan Monnier <=
- [elpa] externals/phps-mode 92e53e8 363/405: Passes test for pressing newline before white-spaces just moves meta-data, Stefan Monnier, 2019/07/13
- [elpa] externals/phps-mode f2ff34a 378/405: Added TODO items for making changes inside tokens and not triggered a full re-lexing, Stefan Monnier, 2019/07/13
- [elpa] externals/phps-mode d416443 371/405: Added more test for moving line-indent index, Stefan Monnier, 2019/07/13
- [elpa] externals/phps-mode 22f75ba 362/405: Advice is running again in unit test, Stefan Monnier, 2019/07/13
- [elpa] externals/phps-mode 4592bce 385/405: Only running newline heuristic when rest of line is whitespace, Stefan Monnier, 2019/07/13
- [elpa] externals/phps-mode a14d5b2 399/405: Mode map is now loaded, Stefan Monnier, 2019/07/13
- [elpa] externals/phps-mode ff474c9 392/405: Work on invalid imenu, Stefan Monnier, 2019/07/13
- [elpa] externals/phps-mode defa128 393/405: Passes unit test for imenu new structure, Stefan Monnier, 2019/07/13
- [elpa] externals/phps-mode a48386a 386/405: Do not allow failures on emacs snapshot, Stefan Monnier, 2019/07/13
- [elpa] externals/phps-mode 3f20bd2 394/405: Updated tests and structure of hierarchical imenu, Stefan Monnier, 2019/07/13