aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJoão Távora2019-01-22 14:36:54 +0000
committerJoão Távora2019-01-22 16:41:01 +0000
commit6ca4626c9fe33f78df685b4df7aca88abb272118 (patch)
treeb849b9c60cea405653caed954f19d4400f9e818a
parent9eaf5e052a802a7b0560f983f2bb786e13ce2488 (diff)
downloademacs-6ca4626c9fe33f78df685b4df7aca88abb272118.tar.gz
emacs-6ca4626c9fe33f78df685b4df7aca88abb272118.zip
Remove tests of electric-pair-mode and CC-based modes
The behaviour previously observed in cc-mode-based-modes (and every other major-mode) when electric-pair-mode or electric-layout-mode is turned on may no longer be observed: this because CC-mode goes around the generic implementation of electric-pair-mode. An alternative is to bind every delimiter key like '{', '}', etc to 'self-insert-command, like most major modes already do, at the cost of losing c-auto-newline functionality (which was incompatible anyway before the recent changes of bug#33794). * test/lisp/electric-tests.el (electric-pair-test-for): No longer set it. (define-electric-pair-test): Use js-mode instead of c++ mode, which broke recently. (whitespace-chomping-2): Add failing C++ test explicitly. (electric-layout-int-main-kernel-style): Use plainer-c-mode. (electric-layout-int-main-allman-style): Deleted. (electric-modes-int-main-allman-style): Renamed from electric-layout-int-main-allman-style.
-rw-r--r--test/lisp/electric-tests.el33
1 files changed, 13 insertions, 20 deletions
diff --git a/test/lisp/electric-tests.el b/test/lisp/electric-tests.el
index 5a4b20ed04e..0b076e4be01 100644
--- a/test/lisp/electric-tests.el
+++ b/test/lisp/electric-tests.el
@@ -157,7 +157,7 @@ The buffer's contents should %s:
157 expected-string 157 expected-string
158 expected-point 158 expected-point
159 bindings 159 bindings
160 (modes '(quote (ruby-mode c++-mode))) 160 (modes '(quote (ruby-mode js-mode)))
161 (test-in-comments t) 161 (test-in-comments t)
162 (test-in-strings t) 162 (test-in-strings t)
163 (test-in-code t) 163 (test-in-code t)
@@ -391,10 +391,16 @@ baz\"\""
391 :bindings '((electric-pair-skip-whitespace . chomp)) 391 :bindings '((electric-pair-skip-whitespace . chomp))
392 :test-in-comments nil) 392 :test-in-comments nil)
393 393
394 394(define-electric-pair-test whitespace-chomping-2
395;; A test failure introduced by some changes in CC mode. Hopefully CC 395 " ( \n\t\t\n ) " "--)------" :expected-string " () " :expected-point 4
396;; mode will sort this out eventually, using some new e-p-m machinery. 396 :bindings '((electric-pair-skip-whitespace . chomp))
397;; See 397 :modes '(c++-mode)
398 :test-in-comments nil)
399;; A test failure introduced by:
400;;
401;; bb591f139f: Enhance CC Mode's fontification, etc., of unterminated strings.
402;;
403;; Hopefully CC mode will sort this out eventually. See
398;; https://lists.gnu.org/archive/html/emacs-devel/2018-06/msg00535.html 404;; https://lists.gnu.org/archive/html/emacs-devel/2018-06/msg00535.html
399(setf 405(setf
400 (ert-test-expected-result-type 406 (ert-test-expected-result-type
@@ -817,7 +823,7 @@ baz\"\""
817 823
818(ert-deftest electric-layout-int-main-kernel-style () 824(ert-deftest electric-layout-int-main-kernel-style ()
819 (ert-with-test-buffer () 825 (ert-with-test-buffer ()
820 (c-mode) 826 (plainer-c-mode)
821 (electric-layout-local-mode 1) 827 (electric-layout-local-mode 1)
822 (electric-pair-local-mode 1) 828 (electric-pair-local-mode 1)
823 (electric-indent-local-mode 1) 829 (electric-indent-local-mode 1)
@@ -828,19 +834,6 @@ baz\"\""
828 (call-interactively (key-binding `[,last-command-event]))) 834 (call-interactively (key-binding `[,last-command-event])))
829 (should (equal (buffer-string) "int main () {\n \n}")))) 835 (should (equal (buffer-string) "int main () {\n \n}"))))
830 836
831(ert-deftest electric-layout-int-main-allman-style ()
832 (ert-with-test-buffer ()
833 (c-mode)
834 (electric-layout-local-mode 1)
835 (electric-pair-local-mode 1)
836 (electric-indent-local-mode 1)
837 (setq-local electric-layout-rules
838 '((?\{ . (before after-stay after))))
839 (insert "int main () ")
840 (let ((last-command-event ?\{))
841 (call-interactively (key-binding `[,last-command-event])))
842 (should (equal (buffer-string) "int main ()\n{\n \n}"))))
843
844(define-derived-mode plainer-c-mode c-mode "pC" 837(define-derived-mode plainer-c-mode c-mode "pC"
845 "A plainer/saner C-mode with no internal electric machinery." 838 "A plainer/saner C-mode with no internal electric machinery."
846 (c-toggle-electric-state -1) 839 (c-toggle-electric-state -1)
@@ -850,7 +843,7 @@ baz\"\""
850 (dolist (key '(?\" ?\' ?\{ ?\} ?\( ?\) ?\[ ?\])) 843 (dolist (key '(?\" ?\' ?\{ ?\} ?\( ?\) ?\[ ?\]))
851 (local-set-key (vector key) 'self-insert-command))) 844 (local-set-key (vector key) 'self-insert-command)))
852 845
853(ert-deftest electric-modes-in-c-mode-with-self-insert-command () 846(ert-deftest electric-modes-int-main-allman-style ()
854 (ert-with-test-buffer () 847 (ert-with-test-buffer ()
855 (plainer-c-mode) 848 (plainer-c-mode)
856 (electric-layout-local-mode 1) 849 (electric-layout-local-mode 1)