aboutsummaryrefslogtreecommitdiff
path: root/tests/test-testutil-gloss--load-wiktionary-fixture.el
diff options
context:
space:
mode:
Diffstat (limited to 'tests/test-testutil-gloss--load-wiktionary-fixture.el')
-rw-r--r--tests/test-testutil-gloss--load-wiktionary-fixture.el37
1 files changed, 37 insertions, 0 deletions
diff --git a/tests/test-testutil-gloss--load-wiktionary-fixture.el b/tests/test-testutil-gloss--load-wiktionary-fixture.el
new file mode 100644
index 0000000..daf24af
--- /dev/null
+++ b/tests/test-testutil-gloss--load-wiktionary-fixture.el
@@ -0,0 +1,37 @@
+;;; test-testutil-gloss--load-wiktionary-fixture.el --- Tests for fixture loader -*- lexical-binding: t -*-
+
+;; SPDX-License-Identifier: GPL-3.0-or-later
+
+;;; Commentary:
+;; Tests for `gloss-test--load-wiktionary-fixture' covering
+;; Normal/Boundary/Error cases.
+
+;;; Code:
+
+(require 'ert)
+(require 'testutil-gloss)
+
+(ert-deftest test-testutil-gloss-load-wiktionary-fixture-existing-returns-string ()
+ "Normal: an existing fixture loads as a non-empty JSON string."
+ (let ((body (gloss-test--load-wiktionary-fixture "anaphora")))
+ (should (stringp body))
+ (should (> (length body) 0))
+ (should (string-prefix-p "{" body))))
+
+(ert-deftest test-testutil-gloss-load-wiktionary-fixture-smallest-fixture-loads ()
+ "Boundary: the 404 error-body fixture (smallest) loads as a string."
+ (let ((body (gloss-test--load-wiktionary-fixture "404")))
+ (should (stringp body))
+ (should (> (length body) 0))
+ (should (string-match-p "404" body))))
+
+(ert-deftest test-testutil-gloss-load-wiktionary-fixture-missing-raises-error ()
+ "Error: a missing fixture signals `error' with the path in the message."
+ (let* ((name "does-not-exist-xyzzy")
+ (err (should-error (gloss-test--load-wiktionary-fixture name)
+ :type 'error)))
+ (should (string-match-p (format "wiktionary-%s\\.json" name)
+ (error-message-string err)))))
+
+(provide 'test-testutil-gloss--load-wiktionary-fixture)
+;;; test-testutil-gloss--load-wiktionary-fixture.el ends here