aboutsummaryrefslogtreecommitdiffstats
path: root/test
diff options
context:
space:
mode:
authorUlf Jasper2011-09-27 20:52:00 +0200
committerUlf Jasper2011-09-27 20:52:00 +0200
commit81416b68d8a3f5759806ecdef7eb06779686bc5c (patch)
tree12ed95c9f5fef07599f04b7f60b8970aab2dec09 /test
parent88652fd58c34b494ef5e7139e317e0d8b0980200 (diff)
downloademacs-81416b68d8a3f5759806ecdef7eb06779686bc5c.tar.gz
emacs-81416b68d8a3f5759806ecdef7eb06779686bc5c.zip
Move test/newsticker-testsuite.el to automated/newsticker-tests.el
2011-09-27 Ulf Jasper <ulf.jasper@web.de> * automated/newsticker-tests.el: Move newsticker-testsuite.el to automated/newsticker-tests.el. Convert to ERT.
Diffstat (limited to 'test')
-rw-r--r--test/ChangeLog5
-rw-r--r--test/automated/newsticker-tests.el (renamed from test/newsticker-testsuite.el)113
2 files changed, 46 insertions, 72 deletions
diff --git a/test/ChangeLog b/test/ChangeLog
index 11b3d9b5e2d..6ab148358d9 100644
--- a/test/ChangeLog
+++ b/test/ChangeLog
@@ -1,3 +1,8 @@
12011-09-27 Ulf Jasper <ulf.jasper@web.de>
2
3 * automated/newsticker-tests.el: Move newsticker-testsuite.el
4 to automated/newsticker-tests.el. Convert to ERT.
5
12011-07-26 Ulf Jasper <ulf.jasper@web.de> 62011-07-26 Ulf Jasper <ulf.jasper@web.de>
2 7
3 * automated/icalendar-tests.el (icalendar-tests--compare-strings): 8 * automated/icalendar-tests.el (icalendar-tests--compare-strings):
diff --git a/test/newsticker-testsuite.el b/test/automated/newsticker-tests.el
index 99e40a7ef15..76f4345da55 100644
--- a/test/newsticker-testsuite.el
+++ b/test/automated/newsticker-tests.el
@@ -3,12 +3,7 @@
3;; Copyright (C) 2003-2011 Free Software Foundation, Inc. 3;; Copyright (C) 2003-2011 Free Software Foundation, Inc.
4 4
5;; Author: Ulf Jasper <ulf.jasper@web.de> 5;; Author: Ulf Jasper <ulf.jasper@web.de>
6;; Filename: newsticker-testsuite.el
7;; URL: http://www.nongnu.org/newsticker
8;; Keywords: News, RSS, Atom 6;; Keywords: News, RSS, Atom
9;; Time-stamp: "14. Juni 2008, 12:09:39 (ulf)"
10
11;; ======================================================================
12 7
13;; This file is part of GNU Emacs. 8;; This file is part of GNU Emacs.
14 9
@@ -25,42 +20,26 @@
25;; You should have received a copy of the GNU General Public License 20;; You should have received a copy of the GNU General Public License
26;; along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. 21;; along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
27 22
28;; ======================================================================
29
30;;; Commentary: 23;;; Commentary:
31 24
32;;; Code: 25;;; Code:
33 26
34(require 'cl) ; assert 27(require 'ert)
35 28(require 'newsticker)
36;; ======================================================================
37;; Entry point
38;; ======================================================================
39(defun newsticker--testsuite ()
40 "Unit test for newsticker.
41Subtests signal errors if something goes wrong."
42 (interactive)
43 (newsticker--test--guid)
44 (newsticker--test--cache-contains)
45 (newsticker--test--decode-iso8601-date)
46 (newsticker--test--decode-rfc822-date)
47 (newsticker--test--group-manage-orphan-feeds)
48 (message "All tests passed successfully."))
49 29
50;; ====================================================================== 30;; ======================================================================
51;; Tests for newsticker-backend 31;; Tests for newsticker-backend
52;; ====================================================================== 32;; ======================================================================
53(defun newsticker--test--guid () 33(ert-deftest newsticker--guid ()
54 "Test `newsticker-guid-*'. 34 "Test for `newsticker--guid-*'.
55Signals an error if something goes wrong." 35Signals an error if something goes wrong."
56 (assert (string= "blah" (newsticker--guid-to-string "blah"))) 36 (should (string= "blah" (newsticker--guid-to-string "blah")))
57 (assert (string= "myguid" (newsticker--guid '("title1" "description1" "link1" 37 (should (string= "myguid" (newsticker--guid '("title1" "description1" "link1"
58 nil 'new 42 nil nil 38 nil 'new 42 nil nil
59 ((guid () "myguid"))))))) 39 ((guid () "myguid")))))))
60 40
61(defun newsticker--test--cache-contains () 41(ert-deftest newsticker--cache-contains ()
62 "Test `newsticker--test--cache-contains'. 42 "Test for `newsticker--cache-contains'."
63Signals an error if something goes wrong."
64 (let ((newsticker--cache '((feed1 43 (let ((newsticker--cache '((feed1
65 ("title1" "description1" "link1" nil 'new 42 44 ("title1" "description1" "link1" nil 'new 42
66 nil nil ((guid () "myguid"))))))) 45 nil nil ((guid () "myguid")))))))
@@ -68,78 +47,68 @@ Signals an error if something goes wrong."
68 (assoc 'guid (newsticker--extra '("title1" "description1" 47 (assoc 'guid (newsticker--extra '("title1" "description1"
69 "link1" nil 'new 42 nil nil 48 "link1" nil 'new 42 nil nil
70 ((guid "myguid")))))) 49 ((guid "myguid"))))))
71 (assert (newsticker--cache-contains newsticker--cache 'feed1 "WRONGTITLE" 50 (should (newsticker--cache-contains newsticker--cache 'feed1 "WRONGTITLE"
72 "description1" "link1" 'new "myguid")) 51 "description1" "link1" 'new "myguid"))
73 (assert (not (newsticker--cache-contains newsticker--cache 'feed1 "title1" 52 (should (not (newsticker--cache-contains newsticker--cache 'feed1 "title1"
74 "description1" "link1" 'new 53 "description1" "link1" 'new
75 "WRONG GUID"))) 54 "WRONG GUID")))
76 (assert (newsticker--cache-contains newsticker--cache 'feed1 "title1" 55 (should (newsticker--cache-contains newsticker--cache 'feed1 "title1"
77 "description1" "link1" 'new "myguid"))) 56 "description1" "link1" 'new "myguid")))
78 (let ((newsticker--cache '((feed1 57 (let ((newsticker--cache '((feed1
79 ("title1" "description1" "link1" nil 'new 42 58 ("title1" "description1" "link1" nil 'new 42
80 nil nil ((guid () "myguid1"))) 59 nil nil ((guid () "myguid1")))
81 ("title1" "description1" "link1" nil 'new 42 60 ("title1" "description1" "link1" nil 'new 42
82 nil nil ((guid () "myguid2"))))))) 61 nil nil ((guid () "myguid2")))))))
83 (assert (not (newsticker--cache-contains newsticker--cache 'feed1 "title1" 62 (should (not (newsticker--cache-contains newsticker--cache 'feed1 "title1"
84 "description1" "link1" 'new 63 "description1" "link1" 'new
85 "myguid"))) 64 "myguid")))
86 (assert (string= "myguid1" 65 (should (string= "myguid1"
87 (newsticker--guid (newsticker--cache-contains 66 (newsticker--guid (newsticker--cache-contains
88 newsticker--cache 'feed1 "title1" 67 newsticker--cache 'feed1 "title1"
89 "description1" "link1" 'new 68 "description1" "link1" 'new
90 "myguid1")))) 69 "myguid1"))))
91 (assert (string= "myguid2" 70 (should (string= "myguid2"
92 (newsticker--guid (newsticker--cache-contains 71 (newsticker--guid (newsticker--cache-contains
93 newsticker--cache 'feed1 "title1" 72 newsticker--cache 'feed1 "title1"
94 "description1" "link1" 'new 73 "description1" "link1" 'new
95 "myguid2")))))) 74 "myguid2"))))))
96 75
97(defun newsticker--do-test--decode-iso8601-date (input expected) 76(defun newsticker-tests--decode-iso8601-date (input expected)
98 "Actually test `newsticker--decode-iso8601-date'. 77 "Actually test `newsticker--decode-iso8601-date'.
99Signals an error if iso8601-encoded INPUT does not match EXPECTED." 78Apply to INPUT and compare with EXPECTED."
100 (let ((result (format-time-string "%Y-%m-%dT%H:%M:%S" 79 (let ((result (format-time-string "%Y-%m-%dT%H:%M:%S"
101 (newsticker--decode-iso8601-date input) 80 (newsticker--decode-iso8601-date input)
102 t))) 81 t)))
103 (assert (string= result expected) 82 (should (string= result expected))))
104 nil "Error decoding '%s': found '%s' but expected '%s'."
105 input result expected)))
106 83
107(defun newsticker--test--decode-iso8601-date () 84(ert-deftest newsticker--decode-iso8601-date ()
108 "Test `newsticker--decode-iso8601-date'." 85 "Test `newsticker--decode-iso8601-date'."
109 (newsticker--decode-iso8601-date "2004-09-17T05:09:49+00:00") 86 (newsticker-tests--decode-iso8601-date "2004"
110 (newsticker--decode-iso8601-date "2004-09-17T05:09+00:00") 87 "2004-01-01T00:00:00")
111 (newsticker--decode-iso8601-date "2004-09-17T05:09:49") 88 (newsticker-tests--decode-iso8601-date "2004-09"
112 (newsticker--decode-iso8601-date "2004-09-17T05:09") 89 "2004-09-01T00:00:00")
113 (newsticker--decode-iso8601-date "2004-09-17") 90 (newsticker-tests--decode-iso8601-date "2004-09-17"
114 (newsticker--decode-iso8601-date "2004-09") 91 "2004-09-17T00:00:00")
115 (newsticker--do-test--decode-iso8601-date "2004" 92 (newsticker-tests--decode-iso8601-date "2004-09-17T05:09"
116 "2004-01-01T00:00:00") 93 "2004-09-17T05:09:00")
117 (newsticker--do-test--decode-iso8601-date "2004-09" 94 (newsticker-tests--decode-iso8601-date "2004-09-17T05:09:49"
118 "2004-09-01T00:00:00") 95 "2004-09-17T05:09:49")
119 (newsticker--do-test--decode-iso8601-date "2004-09-17" 96 (newsticker-tests--decode-iso8601-date "2004-09-17T05:09:49.123"
120 "2004-09-17T00:00:00") 97 "2004-09-17T05:09:49")
121 (newsticker--do-test--decode-iso8601-date "2004-09-17T05:09" 98 (newsticker-tests--decode-iso8601-date "2004-09-17T05:09+01:00"
122 "2004-09-17T05:09:00") 99 "2004-09-17T04:09:00")
123 (newsticker--do-test--decode-iso8601-date "2004-09-17T05:09:49" 100 (newsticker-tests--decode-iso8601-date "2004-09-17T05:09-02:00"
124 "2004-09-17T05:09:49") 101 "2004-09-17T07:09:00"))
125 (newsticker--do-test--decode-iso8601-date "2004-09-17T05:09:49.123"
126 "2004-09-17T05:09:49")
127 (newsticker--do-test--decode-iso8601-date "2004-09-17T05:09+01:00"
128 "2004-09-17T04:09:00")
129 (newsticker--do-test--decode-iso8601-date "2004-09-17T05:09-02:00"
130 "2004-09-17T07:09:00"))
131 102
132(defun newsticker--do-test--decode-rfc822-date (input expected) 103(defun newsticker--do-test--decode-rfc822-date (input expected)
133 "Actually test `newsticker--decode-rfc822-date'. 104 "Actually test `newsticker--decode-rfc822-date'.
134Signals an error if rfc822-encoded INPUT does not match EXPECTED." 105Apply to INPUT and compare with EXPECTED."
135 (let ((result (format-time-string "%Y-%m-%dT%H:%M:%S" 106 (let ((result (format-time-string "%Y-%m-%dT%H:%M:%S"
136 (newsticker--decode-rfc822-date input) 107 (newsticker--decode-rfc822-date input)
137 t))) 108 t)))
138 (assert (string= result expected) 109 (should (string= result expected))))
139 nil "Error decoding '%s': found '%s' but expected '%s'."
140 input result expected)))
141 110
142(defun newsticker--test--decode-rfc822-date () 111(ert-deftest newsticker--decode-rfc822-date ()
143 "Test `newsticker--decode-rfc822-date'." 112 "Test `newsticker--decode-rfc822-date'."
144 (newsticker--do-test--decode-rfc822-date "Mon, 10 Mar 2008 19:27:52 +0100" 113 (newsticker--do-test--decode-rfc822-date "Mon, 10 Mar 2008 19:27:52 +0100"
145 "2008-03-10T18:27:52") 114 "2008-03-10T18:27:52")
@@ -164,16 +133,16 @@ Signals an error if rfc822-encoded INPUT does not match EXPECTED."
164;; ====================================================================== 133;; ======================================================================
165;; Tests for newsticker-treeview 134;; Tests for newsticker-treeview
166;; ====================================================================== 135;; ======================================================================
167(defun newsticker--test--group-manage-orphan-feeds () 136(ert-deftest newsticker--group-manage-orphan-feeds ()
168 "Test `newsticker--group-manage-orphan-feeds'. 137 "Test `newsticker--group-manage-orphan-feeds'.
169Signals an error if something goes wrong." 138Signals an error if something goes wrong."
170 (let ((newsticker-groups '("Feeds")) 139 (let ((newsticker-groups '("Feeds"))
171 (newsticker-url-list-defaults nil) 140 (newsticker-url-list-defaults nil)
172 (newsticker-url-list '(("feed1") ("feed2") ("feed3")))) 141 (newsticker-url-list '(("feed1") ("feed2") ("feed3"))))
173 (newsticker--group-manage-orphan-feeds) 142 (newsticker--group-manage-orphan-feeds)
174 (assert (equal '("Feeds" "feed3" "feed2" "feed1") 143 (should (equal '("Feeds" "feed3" "feed2" "feed1")
175 newsticker-groups)))) 144 newsticker-groups))))
176 145
177(provide 'newsticker-testsuite) 146(provide 'newsticker-tests)
178 147
179;;; newsticker-testsuite.el ends here 148;;; newsticker-tests.el ends here