I just added a new module to Emacs, "faceup". The main purpose of this
module is for regression testing of font-lock keywords. It is designed
to work with the built-in ERT regression test system. It has been
available on GitHub and on Melpa for a couple of years. The motivation
for including it in Emacs is to modernize the tests for the built-in
"Faceup" is a semi-human readable markup language, that looks like the
«k:this» is a keyword
Common font-lock keywords use a short form, "k" in this case represent
`font-lock-keyword-face'. Other faces, or plain face attributes, use a
more verbose format.
The idea is that test suites for various modes can use this markup
format to save a source file, with highlighting. The regression test
can later compare this with the current highlighting.
The system scales well. In some of my projects I've applied it to
files thousands of lines long.
Of course, the Faceup markup language can be used for other purposes
as well. One example that comes to mind is that it should be possible
to used it as the storage format for a rich-text mode.
The following are concrete examples where this package has been used
for regression testing:
In addition, for various major modes, I've collected "typical"
non-trivial source files:
See bug#16063 and bug#28311 for more information.
-- Anders Lindgren