emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] scratch/fix-33794-extend-electric-layout-mode fae3e7c 5/6:


From: João Távora
Subject: [Emacs-diffs] scratch/fix-33794-extend-electric-layout-mode fae3e7c 5/6: Test electric.el in plainer c-mode without c-electric-{brace, paren}
Date: Sun, 23 Dec 2018 17:51:12 -0500 (EST)

branch: scratch/fix-33794-extend-electric-layout-mode
commit fae3e7c0d8119455a186b31fde54472d5dbcf6b1
Author: João Távora <address@hidden>
Commit: João Távora <address@hidden>

    Test electric.el in plainer c-mode without c-electric-{brace,paren}
    
    If cc-mode ever drops/changes its usage of c-electric-{brace,paren}
    test that electric pairing, layout and indentation based on
    electric.el keep working.
    
    * test/lisp/electric-tests.el
    (electric-layout-int-main-kernel-style)
    (electric-layout-int-main-allman-style): Change order of after and
    after-stay.
    (plainer-c-mode): New test mode.
    (electric-modes-in-c-mode-with-self-insert-command): New test.
---
 test/lisp/electric-tests.el | 23 +++++++++++++++++++++--
 1 file changed, 21 insertions(+), 2 deletions(-)

diff --git a/test/lisp/electric-tests.el b/test/lisp/electric-tests.el
index b798a3f..af27fab 100644
--- a/test/lisp/electric-tests.el
+++ b/test/lisp/electric-tests.el
@@ -823,7 +823,7 @@ baz\"\""
       (electric-pair-local-mode 1)
       (electric-indent-local-mode 1)
       (setq-local electric-layout-rules
-              '((?\{ . (after after-stay))))
+              '((?\{ . (after-stay after))))
       (insert "int main () ")
       (let ((last-command-event ?\{))
         (call-interactively (key-binding `[,last-command-event])))
@@ -837,7 +837,26 @@ baz\"\""
       (electric-pair-local-mode 1)
       (electric-indent-local-mode 1)
       (setq-local electric-layout-rules
-              '((?\{ . (before after after-stay))))
+              '((?\{ . (before after-stay after))))
+      (insert "int main () ")
+      (let ((last-command-event ?\{))
+        (call-interactively (key-binding `[,last-command-event])))
+      (should (equal (buffer-string) "int main ()\n{\n  \n}")))))
+
+(define-derived-mode plainer-c-mode c-mode "pC"
+  "A plainer C-mode")
+
+(ert-deftest electric-modes-in-c-mode-with-self-insert-command ()
+  (save-electric-modes
+    (ert-with-test-buffer ()
+      (plainer-c-mode)
+      (electric-layout-local-mode 1)
+      (electric-pair-local-mode 1)
+      (electric-indent-local-mode 1)
+      (dolist (key '(?\" ?\' ?\{ ?\} ?\( ?\) ?\[ ?\]))
+        (local-set-key (vector key) 'self-insert-command))
+      (setq-local electric-layout-rules
+              '((?\{ . (before after-stay after))))
       (insert "int main () ")
       (let ((last-command-event ?\{))
         (call-interactively (key-binding `[,last-command-event])))



reply via email to

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