Improve Python triple-quote pairing tests for electric-pair-mode

These tests were once passing incorrectly, i.e. the auto-pairing
functionality they purport to guard wasn't really working.  Added a
new test in hopes that regressions can be spotted in the future for
the now-working functionality of Python triple-quote auto-pairing via
electric-pair-mode.

bug#49518

* test/lisp/progmodes/python-tests.el
(python-triple-double-quote-pairing): Rename from
python-triple-quote-pairing.
(python-triple-single-quote-pairing): New test.
This commit is contained in:
João Távora 2021-09-20 11:55:41 +01:00
parent b0c34e3c20
commit bf3276240e

View file

@ -5282,7 +5282,7 @@ urlpatterns = patterns('',
(should (= (current-indentation) 23))))
(or eim (electric-indent-mode -1)))))
(ert-deftest python-triple-quote-pairing ()
(ert-deftest python-triple-double-quote-pairing ()
(let ((epm electric-pair-mode))
(unwind-protect
(progn
@ -5309,6 +5309,33 @@ urlpatterns = patterns('',
"\"\n\"\"\"\n"))))
(or epm (electric-pair-mode -1)))))
(ert-deftest python-triple-single-quote-pairing ()
(let ((epm electric-pair-mode))
(unwind-protect
(progn
(python-tests-with-temp-buffer
"''\n"
(or epm (electric-pair-mode 1))
(goto-char (1- (point-max)))
(python-tests-self-insert ?')
(should (string= (buffer-string)
"''''''\n"))
(should (= (point) 4)))
(python-tests-with-temp-buffer
"\n"
(python-tests-self-insert (list ?' ?' ?'))
(should (string= (buffer-string)
"''''''\n"))
(should (= (point) 4)))
(python-tests-with-temp-buffer
"'\n''\n"
(goto-char (1- (point-max)))
(python-tests-self-insert ?')
(should (= (point) (1- (point-max))))
(should (string= (buffer-string)
"'\n'''\n"))))
(or epm (electric-pair-mode -1)))))
;;; Hideshow support