branch: externals/phps-mode commit bd08a00c85de0d2c439ee094f3cdd5b1a1ab7b92 Author: Christian Johansson <christ...@cvj.se> Commit: Christian Johansson <christ...@cvj.se>
Added unit test for COALESCING EQUAL token --- README.md | 2 +- phps-mode-test-lexer.el | 8 +++++++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 58be432..72ae7d6 100644 --- a/README.md +++ b/README.md @@ -10,9 +10,9 @@ This mode does not require PHP installed on computer because it has a elisp base * GPLv3 license (100%) * Flycheck support (PHP Mess Detector, PHP Code Sniffer) (100%) +* Lexer based on official PHP re2c lexer (100%) * Syntax coloring based on lexer tokens (100%) * PSR-1 and PSR-2 indentation based on lexer tokens (100%) -* Lexer based on official PHP re2c lexer (100%) * Imenu support (100%) * Incremental lexer and syntax coloring after buffer changes (75%) * Incremental indentation and imenu calculation after buffer changes (50%) diff --git a/phps-mode-test-lexer.el b/phps-mode-test-lexer.el index aef31e5..61b5e2d 100644 --- a/phps-mode-test-lexer.el +++ b/phps-mode-test-lexer.el @@ -161,7 +161,13 @@ (should (equal (phps-mode-lexer-get-tokens) '((T_OPEN_TAG 1 . 7) (T_STRING 7 . 18) ("(" 18 . 19) (T_VARIABLE 19 . 24) ("," 24 . 25) (T_VARIABLE 26 . 31) (")" 31 . 32))))) - ;; TODO Add test for ??= token + (phps-mode-test-with-buffer + "<?php\n$username = $_GET['user'] ?? 'nobody';\n$username ??= $_GET['user'] : 'nobody2';\n" + "Coalescing operator and coalescing assignment" + ;; (message "Tokens: %s" (phps-mode-lexer-get-tokens)) + (should (equal (phps-mode-lexer-get-tokens) + '((T_OPEN_TAG 1 . 7) (T_VARIABLE 7 . 16) ("=" 17 . 18) (T_VARIABLE 19 . 24) ("[" 24 . 25) (T_CONSTANT_ENCAPSED_STRING 25 . 31) ("]" 31 . 32) (T_COALESCE 33 . 35) (T_CONSTANT_ENCAPSED_STRING 36 . 44) (";" 44 . 45) (T_VARIABLE 46 . 55) (T_COALESCE_EQUAL 56 . 59) (T_VARIABLE 60 . 65) ("[" 65 . 66) (T_CONSTANT_ENCAPSED_STRING 66 . 72) ("]" 72 . 73) (":" 74 . 75) (T_CONSTANT_ENCAPSED_STRING 76 . 85) (";" 85 . 86))))) + ;; TODO Add test for long as var offset ;; (phps-mode-test-with-buffer