[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])))
- [Emacs-diffs] branch scratch/fix-33794-extend-electric-layout-mode created (now 1173d50), João Távora, 2018/12/23
- [Emacs-diffs] scratch/fix-33794-extend-electric-layout-mode 6deb668 2/6: Rework electric-layout-post-self-insert-function (bug#33794), João Távora, 2018/12/23
- [Emacs-diffs] scratch/fix-33794-extend-electric-layout-mode cb1b4a8 1/6: Extend electric-layout-mode to handle more complex layouts, João Távora, 2018/12/23
- [Emacs-diffs] scratch/fix-33794-extend-electric-layout-mode e02256c 3/6: Minor cleanup in new electric-layout-mode after Stefan's feedback, João Távora, 2018/12/23
- [Emacs-diffs] scratch/fix-33794-extend-electric-layout-mode e4ef7a2 4/6: Handle entries of multiple symbols in electric-layout-rules, João Távora, 2018/12/23
- [Emacs-diffs] scratch/fix-33794-extend-electric-layout-mode fae3e7c 5/6: Test electric.el in plainer c-mode without c-electric-{brace, paren},
João Távora <=
- [Emacs-diffs] scratch/fix-33794-extend-electric-layout-mode 1173d50 6/6: Slightly more powerful electric-layout-rules, João Távora, 2018/12/23