emacs-elpa-diffs
[Top][All Lists]
Advanced

[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



reply via email to

[Prev in Thread] Current Thread [Next in Thread]