diff options
| author | Lars Magne Ingebrigtsen | 2016-03-20 12:55:36 +0100 |
|---|---|---|
| committer | Lars Magne Ingebrigtsen | 2016-03-20 12:55:36 +0100 |
| commit | 4f9c775700d250d8626ce679a1fdd6da58a9fa11 (patch) | |
| tree | 7f430f41584f5e5a003897a558e95a9eb23e5f0b | |
| parent | c688c44ddfda28ac94dec2ad57c5ca3ed263ff1d (diff) | |
| download | emacs-4f9c775700d250d8626ce679a1fdd6da58a9fa11.tar.gz emacs-4f9c775700d250d8626ce679a1fdd6da58a9fa11.zip | |
Add a test harness for shr HTML rendering and one test
| -rw-r--r-- | test/data/shr/div-p.html | 1 | ||||
| -rw-r--r-- | test/data/shr/div-p.txt | 3 | ||||
| -rw-r--r-- | test/lisp/net/shr-tests.el | 46 |
3 files changed, 50 insertions, 0 deletions
diff --git a/test/data/shr/div-p.html b/test/data/shr/div-p.html new file mode 100644 index 00000000000..810b2f75e3c --- /dev/null +++ b/test/data/shr/div-p.html | |||
| @@ -0,0 +1 @@ | |||
| <div>foo</div><p>Bar | |||
diff --git a/test/data/shr/div-p.txt b/test/data/shr/div-p.txt new file mode 100644 index 00000000000..859d731da89 --- /dev/null +++ b/test/data/shr/div-p.txt | |||
| @@ -0,0 +1,3 @@ | |||
| 1 | foo | ||
| 2 | |||
| 3 | Bar | ||
diff --git a/test/lisp/net/shr-tests.el b/test/lisp/net/shr-tests.el new file mode 100644 index 00000000000..60788174d9c --- /dev/null +++ b/test/lisp/net/shr-tests.el | |||
| @@ -0,0 +1,46 @@ | |||
| 1 | ;;; network-stream-tests.el --- tests for network processes -*- lexical-binding: t; -*- | ||
| 2 | |||
| 3 | ;; Copyright (C) 2016 Free Software Foundation, Inc. | ||
| 4 | |||
| 5 | ;; Author: Lars Ingebrigtsen <larsi@gnus.org> | ||
| 6 | |||
| 7 | ;; This file is part of GNU Emacs. | ||
| 8 | |||
| 9 | ;; GNU Emacs is free software: you can redistribute it and/or modify | ||
| 10 | ;; it under the terms of the GNU General Public License as published by | ||
| 11 | ;; the Free Software Foundation, either version 3 of the License, or | ||
| 12 | ;; (at your option) any later version. | ||
| 13 | |||
| 14 | ;; GNU Emacs is distributed in the hope that it will be useful, | ||
| 15 | ;; but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 16 | ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 17 | ;; GNU General Public License for more details. | ||
| 18 | |||
| 19 | ;; You should have received a copy of the GNU General Public License | ||
| 20 | ;; along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. | ||
| 21 | |||
| 22 | ;;; Commentary: | ||
| 23 | |||
| 24 | ;;; Code: | ||
| 25 | |||
| 26 | (defun shr-test (name) | ||
| 27 | (with-temp-buffer | ||
| 28 | (insert-file-contents (format "data/shr/%s.html" name)) | ||
| 29 | (let ((dom (libxml-parse-html-region (point-min) (point-max)))) | ||
| 30 | (erase-buffer) | ||
| 31 | (shr-insert-document dom) | ||
| 32 | (cons (buffer-substring-no-properties (point-min) (point-max)) | ||
| 33 | (with-temp-buffer | ||
| 34 | (insert-file-contents (format "data/shr/%s.txt" name)) | ||
| 35 | (buffer-string)))))) | ||
| 36 | |||
| 37 | (ert-deftest rendering () | ||
| 38 | (skip-unless (fboundp 'libxml-parse-html-region)) | ||
| 39 | (dolist (file (directory-files "data/shr" nil "\\.html\\'")) | ||
| 40 | (let ((result (shr-test (replace-regexp-in-string | ||
| 41 | "\\.html\\'" "" file)))) | ||
| 42 | (should (equal (car result) (cdr result)))))) | ||
| 43 | |||
| 44 | (require 'shr) | ||
| 45 | |||
| 46 | ;;; shr-stream-tests.el ends here | ||