diff options
| author | Noam Postavsky | 2019-04-21 22:44:50 -0400 |
|---|---|---|
| committer | Noam Postavsky | 2019-05-09 06:42:40 -0400 |
| commit | 7dab3ee7ab54b3c2e7bc24170376054786c01d6f (patch) | |
| tree | 73b562aa6b3588215949f1ed4773e58b21d18dfd /test | |
| parent | e4cde42657f8f91f795e6b7041dc50b896dc468d (diff) | |
| download | emacs-7dab3ee7ab54b3c2e7bc24170376054786c01d6f.tar.gz emacs-7dab3ee7ab54b3c2e7bc24170376054786c01d6f.zip | |
Recognize single quote attribute values in nxml and sgml (Bug#35381)
* lisp/textmodes/sgml-mode.el (sgml-specials): Add single quote.
(sgml-syntax-propertize-rules): Handle single quote.
* test/lisp/nxml/nxml-mode-tests.el (nxml-mode-font-lock-quotes): New
test.
* test/lisp/textmodes/sgml-mode-tests.el
(sgml-delete-tag-bug-8203-should-not-delete-apostrophe): Now passes.
Diffstat (limited to 'test')
| -rw-r--r-- | test/lisp/nxml/nxml-mode-tests.el | 20 | ||||
| -rw-r--r-- | test/lisp/textmodes/sgml-mode-tests.el | 1 |
2 files changed, 20 insertions, 1 deletions
diff --git a/test/lisp/nxml/nxml-mode-tests.el b/test/lisp/nxml/nxml-mode-tests.el index 57a731ad182..92744be619d 100644 --- a/test/lisp/nxml/nxml-mode-tests.el +++ b/test/lisp/nxml/nxml-mode-tests.el | |||
| @@ -58,5 +58,25 @@ | |||
| 58 | (nxml-balanced-close-start-tag-inline) | 58 | (nxml-balanced-close-start-tag-inline) |
| 59 | (should (equal (buffer-string) "<a><b c=\"\"></b></a>")))) | 59 | (should (equal (buffer-string) "<a><b c=\"\"></b></a>")))) |
| 60 | 60 | ||
| 61 | (ert-deftest nxml-mode-font-lock-quotes () | ||
| 62 | (with-temp-buffer | ||
| 63 | (nxml-mode) | ||
| 64 | (insert "<x a=\"dquote attr\" b='squote attr'>\"dquote text\"'squote text'</x>") | ||
| 65 | (font-lock-ensure) | ||
| 66 | (let ((squote-txt-pos (search-backward "squote text")) | ||
| 67 | (dquote-txt-pos (search-backward "dquote text")) | ||
| 68 | (squote-att-pos (search-backward "squote attr")) | ||
| 69 | (dquote-att-pos (search-backward "dquote attr"))) | ||
| 70 | ;; Just make sure that each quote uses the same face for quoted | ||
| 71 | ;; attribute values, and a different face for quoted text | ||
| 72 | ;; outside tags. Don't test `font-lock-string-face' vs | ||
| 73 | ;; `nxml-attribute-value' here. | ||
| 74 | (should (equal (get-text-property squote-att-pos 'face) | ||
| 75 | (get-text-property dquote-att-pos 'face))) | ||
| 76 | (should (equal (get-text-property squote-txt-pos 'face) | ||
| 77 | (get-text-property dquote-txt-pos 'face))) | ||
| 78 | (should-not (equal (get-text-property squote-txt-pos 'face) | ||
| 79 | (get-text-property dquote-att-pos 'face)))))) | ||
| 80 | |||
| 61 | (provide 'nxml-mode-tests) | 81 | (provide 'nxml-mode-tests) |
| 62 | ;;; nxml-mode-tests.el ends here | 82 | ;;; nxml-mode-tests.el ends here |
diff --git a/test/lisp/textmodes/sgml-mode-tests.el b/test/lisp/textmodes/sgml-mode-tests.el index 20b5e27ff5d..7318a667b36 100644 --- a/test/lisp/textmodes/sgml-mode-tests.el +++ b/test/lisp/textmodes/sgml-mode-tests.el | |||
| @@ -125,7 +125,6 @@ The point is set to the beginning of the buffer." | |||
| 125 | (should (string= content (buffer-string)))))) | 125 | (should (string= content (buffer-string)))))) |
| 126 | 126 | ||
| 127 | (ert-deftest sgml-delete-tag-bug-8203-should-not-delete-apostrophe () | 127 | (ert-deftest sgml-delete-tag-bug-8203-should-not-delete-apostrophe () |
| 128 | :expected-result :failed | ||
| 129 | (sgml-with-content | 128 | (sgml-with-content |
| 130 | "<title>Winter is comin'</title>" | 129 | "<title>Winter is comin'</title>" |
| 131 | (sgml-delete-tag 1) | 130 | (sgml-delete-tag 1) |