[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals/phps-mode 2c3239a 187/405: Adding new failing tests for
From: |
Stefan Monnier |
Subject: |
[elpa] externals/phps-mode 2c3239a 187/405: Adding new failing tests for indentation |
Date: |
Sat, 13 Jul 2019 10:00:10 -0400 (EDT) |
branch: externals/phps-mode
commit 2c3239aefbdcf144b70536c89449ee2ea5306a09
Author: Christian Johansson <address@hidden>
Commit: Christian Johansson <address@hidden>
Adding new failing tests for indentation
---
phps-mode-functions.el | 3 ---
phps-mode-lexer.el | 12 ++++++++++--
phps-mode-test-functions.el | 14 +++++++++++++-
3 files changed, 23 insertions(+), 6 deletions(-)
diff --git a/phps-mode-functions.el b/phps-mode-functions.el
index 0583e55..2693b4e 100644
--- a/phps-mode-functions.el
+++ b/phps-mode-functions.el
@@ -345,7 +345,6 @@
(when phps-mode-functions-verbose
(message "Process line ending. nesting: %s-%s,
line-number: %s-%s, indent: %s.%s, token: %s" nesting-start nesting-end
token-start-line-number token-end-line-number column-level-start tuning-level
token))
-
;; (message "new line %s or last token at %s, %s %s.%s
(%s - %s) = %s %s %s %s %s [%s %s] %s %s %s" token-start-line-number token
next-token column-level tuning-level nesting-start nesting-end
round-bracket-level square-bracket-level curly-bracket-level
alternative-control-structure-level inline-control-structure-level
first-token-is-nesting-decrease first-token-is-nesting-increase in-assignment
in-assignment-level in-class-declaration-level)
;; Put indent-level to hash-table
@@ -458,8 +457,6 @@
phps-mode-idle-interval)
;; (message "Enqueued incremental lexer")
- ;; Reset line indents
- (setq phps-mode-functions-lines-indent nil)
(run-with-idle-timer phps-mode-idle-interval nil
#'phps-mode-lexer-run-incremental))
;; When point of change is not set or when start of new changes precedes
old change - update the point
diff --git a/phps-mode-lexer.el b/phps-mode-lexer.el
index 8eb1905..f13d8d0 100644
--- a/phps-mode-lexer.el
+++ b/phps-mode-lexer.el
@@ -1256,16 +1256,24 @@ ANY_CHAR'
))
-;; TODO Need to store lexer state and stack at each changing point of buffer
to be able to rewind lexer
(defun phps-mode-lexer-setup (start end)
"Just prepare other lexers for lexing region START to END."
;; (message "phps-mode-lexer-setup %s %s" start end)
(when (and (eq start 1)
end)
(delete-all-overlays)
- (when (boundp 'phps-mode-lexer-buffer-changes--start)
+
+ ;; Rest buffer changes flag
+ (when (and (boundp 'phps-mode-lexer-buffer-changes--start)
+ phps-mode-lexer-buffer-changes--start)
(setq phps-mode-lexer-buffer-changes--start nil))
+ ;; Reset line indents
+ (when (and (boundp 'phps-mode-functions-lines-indent)
+ phps-mode-functions-lines-indent)
+ (setq phps-mode-functions-lines-indent nil))
+
+
(setq phps-mode-lexer-states nil)
(phps-mode-lexer-BEGIN phps-mode-lexer-ST_INITIAL)))
diff --git a/phps-mode-test-functions.el b/phps-mode-test-functions.el
index 2ccd757..fa7439a 100644
--- a/phps-mode-test-functions.el
+++ b/phps-mode-test-functions.el
@@ -198,10 +198,22 @@
(phps-mode-test-with-buffer
"<?php\nif (true) {\n if ($configuration::load(\n
self::getParameter(self::PARAMETER_CONFIGURATION_INTERNAL_FILENAME),\n
self::getParameter(self::PARAMETER_CONFIGURATION_EXTERNAL_FILENAME),\n
self::getParameter(self::PARAMETER_STRUCTURE_INTERNAL_FILENAME),\n
self::getParameter(self::PARAMETER_STRUCTURE_EXTERNAL_FILENAME)\n )) {\n
echo 'was here';\n }\n}\n"
- "If expression spanning multiple lines 2"
+ "If expression spanning multiple lines 3"
;; (message "Tokens: %s" phps-mode-lexer-tokens)
(should (equal '((1 (0 0)) (2 (0 0)) (3 (1 0)) (4 (2 0)) (5 (2 0)) (6 (2
0)) (7 (2 0)) (8 (1 0)) (9 (2 0)) (10 (1 0)) (11 (0 0)))
(phps-mode-test-functions--hash-to-list
(phps-mode-functions-get-lines-indent)))))
+ (phps-mode-test-with-buffer
+ "<?php\nif (myFunction(\n true)\n) {\n echo 'was here';\n}\n"
+ "If expression spanning multiple lines 4"
+ ;; (message "Tokens: %s" phps-mode-lexer-tokens)
+ (should (equal '((1 (0 0)) (2 (0 0)) (3 (1 0)) (4 (0 0)) (5 (1 0)) (6 (0
0))) (phps-mode-test-functions--hash-to-list
(phps-mode-functions-get-lines-indent)))))
+
+ (phps-mode-test-with-buffer
+ "<?php\nif (true) {\n if (myFunction(\n true)\n ) {\n
echo 'was here';\n }\n}\n"
+ "Nested if expression spanning multiple lines 5"
+ ;; (message "Tokens: %s" phps-mode-lexer-tokens)
+ (should (equal '((1 (0 0)) (2 (0 0)) (3 (1 0)) (4 (2 0)) (5 (1 0)) (6 (2
0)) (7 (1 0)) (8 (0 0))) (phps-mode-test-functions--hash-to-list
(phps-mode-functions-get-lines-indent)))))
+
)
- [elpa] externals/phps-mode 95ac15a 245/405: Imenu index now handles class extends and implements, (continued)
- [elpa] externals/phps-mode 95ac15a 245/405: Imenu index now handles class extends and implements, Stefan Monnier, 2019/07/13
- [elpa] externals/phps-mode 67233ef 213/405: Fixed indent algorithm for multi-line strings, Stefan Monnier, 2019/07/13
- [elpa] externals/phps-mode 36a4b64 222/405: Added lost test for token-less lines again, Stefan Monnier, 2019/07/13
- [elpa] externals/phps-mode 70f2d46 242/405: Fixed lexer issue with multiple expressions inside double-quoted string, Stefan Monnier, 2019/07/13
- [elpa] externals/phps-mode 0286660 224/405: Indentation passes new tests for concatenated strings, Stefan Monnier, 2019/07/13
- [elpa] externals/phps-mode f05d40a 230/405: Tests for lexer passes again after close_tag modification, Stefan Monnier, 2019/07/13
- [elpa] externals/phps-mode 1bc5713 227/405: New tests for concatenation passes, Stefan Monnier, 2019/07/13
- [elpa] externals/phps-mode c71a97d 178/405: Started on refactored indentation calculation, Stefan Monnier, 2019/07/13
- [elpa] externals/phps-mode 8bb3918 249/405: Clean-up of unit test logging, Stefan Monnier, 2019/07/13
- [elpa] externals/phps-mode 9201d1c 246/405: Imenu index now handles functions with optional arguments, Stefan Monnier, 2019/07/13
- [elpa] externals/phps-mode 2c3239a 187/405: Adding new failing tests for indentation,
Stefan Monnier <=
- [elpa] externals/phps-mode d9a0119 183/405: Optimized indentation code by removing unused variables, Stefan Monnier, 2019/07/13
- [elpa] externals/phps-mode a0cbcd1 186/405: More work on indentation of multi-line IF-expressions, Stefan Monnier, 2019/07/13
- [elpa] externals/phps-mode d7c5f67 190/405: More work on nesting-stack, Stefan Monnier, 2019/07/13
- [elpa] externals/phps-mode 253839f 170/405: Added indentation unit tests for concatenated strings outside assignments, Stefan Monnier, 2019/07/13
- [elpa] externals/phps-mode e38794b0 197/405: More conceptual work on algorithm for inline control structures, Stefan Monnier, 2019/07/13
- [elpa] externals/phps-mode 9db28d9 185/405: Added verbose flag for unit tests, Stefan Monnier, 2019/07/13
- [elpa] externals/phps-mode 2a1ed52 196/405: Optimized algorithm for indentation, Stefan Monnier, 2019/07/13
- [elpa] externals/phps-mode a30c3f6 177/405: More work on indentation tests, Stefan Monnier, 2019/07/13
- [elpa] externals/phps-mode e8a8d41 204/405: Merged remote changes, Stefan Monnier, 2019/07/13
- [elpa] externals/phps-mode faa4e00 201/405: Started on conceptually describing algorithm for multi-line assignment indentation, Stefan Monnier, 2019/07/13