[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[nongnu] elpa/d-mode daf5e05 149/346: Add basic fontification test
From: |
ELPA Syncer |
Subject: |
[nongnu] elpa/d-mode daf5e05 149/346: Add basic fontification test |
Date: |
Sun, 29 Aug 2021 11:00:20 -0400 (EDT) |
branch: elpa/d-mode
commit daf5e055115902b3ef79919fba22134689b83bde
Author: Vladimir Panteleev <git@thecybershadow.net>
Commit: Vladimir Panteleev <git@thecybershadow.net>
Add basic fontification test
---
d-mode-test.el | 20 ++++++++++++++++++++
tests/fonts.d | 6 ++++++
tests/fonts.d.html | 6 ++++++
3 files changed, 32 insertions(+)
diff --git a/d-mode-test.el b/d-mode-test.el
index c7da07b..58ee5f4 100644
--- a/d-mode-test.el
+++ b/d-mode-test.el
@@ -54,6 +54,8 @@
(require 'd-mode nil t)
+(require 'htmlfontify)
+
(defconst d-test-teststyle
'((c-tab-always-indent . t)
(c-basic-offset . 2)
@@ -256,6 +258,23 @@ If the resulting indentation ends up being different,
raise an error."
"Got:
\n--------------------\n%s\n--------------------\n")
orig (buffer-string))))))
+(defun d-test-fontification ()
+ "Test fontification the current file.
+
+Compares fontification against a test file (same file name, with
+a '.html' suffix). If the result ends up being different from
+the reference file, raise an error."
+ (let* ((hfy-optimizations '(body-text-only merge-adjacent-tags))
+ (actual (with-current-buffer (htmlfontify-buffer nil "test.d")
(buffer-string)))
+ (expected (with-temp-buffer
+ (insert-file-contents (concat filename ".html"))
+ (buffer-string))))
+ (unless (equal actual expected)
+ (error (concat "Test case has been fontified differently.\n"
+
"Expected:\n--------------------\n%s\n--------------------\n"
+ "Got:
\n--------------------\n%s\n--------------------\n")
+ expected actual))))
+
(defmacro d-test-deftest (name filename expected-result)
"Define a d-mode test using the given FILENAME.
@@ -267,6 +286,7 @@ is expected to succeed, and nil otherwise."
;; Run the tests
(d-test-deftest imenu "tests/imenu.d" t)
+(d-test-deftest fonts "tests/fonts.d" t)
(d-test-deftest i0021 "tests/I0021.d" t)
(d-test-deftest i0026 "tests/I0026.d" t)
(d-test-deftest i0035 "tests/I0035.d" (version< "24.4" emacs-version))
diff --git a/tests/fonts.d b/tests/fonts.d
new file mode 100644
index 0000000..3c4ce87
--- /dev/null
+++ b/tests/fonts.d
@@ -0,0 +1,6 @@
+// #run: (d-test-fontification)
+
+void main()
+{
+ assert(true);
+}
diff --git a/tests/fonts.d.html b/tests/fonts.d.html
new file mode 100644
index 0000000..8096111
--- /dev/null
+++ b/tests/fonts.d.html
@@ -0,0 +1,6 @@
+<span class="comment-delimiter">// </span><span class="comment">#run:
(d-test-fontification)
+</span>
+<span class="type">void</span> <span class="function-name">main</span>()
+{
+ <span class="keyword">assert</span>(<span class="constant">true</span>);
+}
- [nongnu] elpa/d-mode c881155 126/346: .travis.yml: Switch to a different PPA in order to test on Emacs 25, (continued)
- [nongnu] elpa/d-mode c881155 126/346: .travis.yml: Switch to a different PPA in order to test on Emacs 25, ELPA Syncer, 2021/08/29
- [nongnu] elpa/d-mode eb92e64 127/346: .travis.yml: Switch to emacs-travis.mk, ELPA Syncer, 2021/08/29
- [nongnu] elpa/d-mode fef0def 128/346: tests: Add basic imenu test, ELPA Syncer, 2021/08/29
- [nongnu] elpa/d-mode c6e2c9a 129/346: Convert d-imenu-method-name-pattern to rx expression, ELPA Syncer, 2021/08/29
- [nongnu] elpa/d-mode 2fd4691 133/346: tests: Disable #35 indentation test on Emacs 24.3, ELPA Syncer, 2021/08/29
- [nongnu] elpa/d-mode 671ee7c 135/346: tests: Tweak version condition for #35 test, ELPA Syncer, 2021/08/29
- [nongnu] elpa/d-mode d219e0e 139/346: README: Update Coveralls badge, ELPA Syncer, 2021/08/29
- [nongnu] elpa/d-mode 53eac10 140/346: tests: Test paren-less calls as well in test for issue #26, ELPA Syncer, 2021/08/29
- [nongnu] elpa/d-mode 5547400 142/346: Update package version, and link to script to do it automatically, ELPA Syncer, 2021/08/29
- [nongnu] elpa/d-mode 5dbec4a 146/346: Convert backquote-in-backtick-string regexp to rx, ELPA Syncer, 2021/08/29
- [nongnu] elpa/d-mode daf5e05 149/346: Add basic fontification test,
ELPA Syncer <=
- [nongnu] elpa/d-mode 8318eef 151/346: tests: Work around 24.3 oddity to fix fontification tests, ELPA Syncer, 2021/08/29
- [nongnu] elpa/d-mode 0f3bf01 150/346: tests: Use an older variable name to fix pre-25.1 fontification tests, ELPA Syncer, 2021/08/29
- [nongnu] elpa/d-mode 6db43b2 153/346: tests: Add additional tests for #30, ELPA Syncer, 2021/08/29
- [nongnu] elpa/d-mode c9e0b97 154/346: tests: Improve imenu test machinery, ELPA Syncer, 2021/08/29
- [nongnu] elpa/d-mode e26260c 156/346: Fix imenu for functions with multiple tail qualifiers, ELPA Syncer, 2021/08/29
- [nongnu] elpa/d-mode fda6318 165/346: Fix imenu for structs/classes with protection specifiers, ELPA Syncer, 2021/08/29
- [nongnu] elpa/d-mode d7f46a2 166/346: Add aliases to imenu, ELPA Syncer, 2021/08/29
- [nongnu] elpa/d-mode 98af62e 167/346: tests: Add test for #26 variant with compile- and run-time argument lists, ELPA Syncer, 2021/08/29
- [nongnu] elpa/d-mode a97c92c 168/346: d-mode: Remove 'bit' from keyword list., ELPA Syncer, 2021/08/29
- [nongnu] elpa/d-mode 398f185 171/346: Merge pull request #85 from MartinNowak/fix49, ELPA Syncer, 2021/08/29