aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLars Magne Ingebrigtsen2016-03-20 12:55:36 +0100
committerLars Magne Ingebrigtsen2016-03-20 12:55:36 +0100
commit4f9c775700d250d8626ce679a1fdd6da58a9fa11 (patch)
tree7f430f41584f5e5a003897a558e95a9eb23e5f0b
parentc688c44ddfda28ac94dec2ad57c5ca3ed263ff1d (diff)
downloademacs-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.html1
-rw-r--r--test/data/shr/div-p.txt3
-rw-r--r--test/lisp/net/shr-tests.el46
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 @@
1foo
2
3Bar
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