diff options
Diffstat (limited to 'tests/test-testutil-gloss--load-wiktionary-fixture.el')
| -rw-r--r-- | tests/test-testutil-gloss--load-wiktionary-fixture.el | 37 |
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 |
