Commit 81416b68 authored by Ulf Jasper's avatar Ulf Jasper
Browse files

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.
parent 88652fd5
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.
2011-07-26 Ulf Jasper <ulf.jasper@web.de> 2011-07-26 Ulf Jasper <ulf.jasper@web.de>
* automated/icalendar-tests.el (icalendar-tests--compare-strings): * automated/icalendar-tests.el (icalendar-tests--compare-strings):
......
...@@ -3,12 +3,7 @@ ...@@ -3,12 +3,7 @@
;; Copyright (C) 2003-2011 Free Software Foundation, Inc. ;; Copyright (C) 2003-2011 Free Software Foundation, Inc.
;; Author: Ulf Jasper <ulf.jasper@web.de> ;; Author: Ulf Jasper <ulf.jasper@web.de>
;; Filename: newsticker-testsuite.el
;; URL: http://www.nongnu.org/newsticker
;; Keywords: News, RSS, Atom ;; Keywords: News, RSS, Atom
;; Time-stamp: "14. Juni 2008, 12:09:39 (ulf)"
;; ======================================================================
;; This file is part of GNU Emacs. ;; This file is part of GNU Emacs.
...@@ -25,42 +20,26 @@ ...@@ -25,42 +20,26 @@
;; You should have received a copy of the GNU General Public License ;; You should have received a copy of the GNU General Public License
;; along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. ;; along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
;; ======================================================================
;;; Commentary: ;;; Commentary:
;;; Code: ;;; Code:
(require 'cl) ; assert (require 'ert)
(require 'newsticker)
;; ======================================================================
;; Entry point
;; ======================================================================
(defun newsticker--testsuite ()
"Unit test for newsticker.
Subtests signal errors if something goes wrong."
(interactive)
(newsticker--test--guid)
(newsticker--test--cache-contains)
(newsticker--test--decode-iso8601-date)
(newsticker--test--decode-rfc822-date)
(newsticker--test--group-manage-orphan-feeds)
(message "All tests passed successfully."))
;; ====================================================================== ;; ======================================================================
;; Tests for newsticker-backend ;; Tests for newsticker-backend
;; ====================================================================== ;; ======================================================================
(defun newsticker--test--guid () (ert-deftest newsticker--guid ()
"Test `newsticker-guid-*'. "Test for `newsticker--guid-*'.
Signals an error if something goes wrong." Signals an error if something goes wrong."
(assert (string= "blah" (newsticker--guid-to-string "blah"))) (should (string= "blah" (newsticker--guid-to-string "blah")))
(assert (string= "myguid" (newsticker--guid '("title1" "description1" "link1" (should (string= "myguid" (newsticker--guid '("title1" "description1" "link1"
nil 'new 42 nil nil nil 'new 42 nil nil
((guid () "myguid"))))))) ((guid () "myguid")))))))
(defun newsticker--test--cache-contains () (ert-deftest newsticker--cache-contains ()
"Test `newsticker--test--cache-contains'. "Test for `newsticker--cache-contains'."
Signals an error if something goes wrong."
(let ((newsticker--cache '((feed1 (let ((newsticker--cache '((feed1
("title1" "description1" "link1" nil 'new 42 ("title1" "description1" "link1" nil 'new 42
nil nil ((guid () "myguid"))))))) nil nil ((guid () "myguid")))))))
...@@ -68,78 +47,68 @@ Signals an error if something goes wrong." ...@@ -68,78 +47,68 @@ Signals an error if something goes wrong."
(assoc 'guid (newsticker--extra '("title1" "description1" (assoc 'guid (newsticker--extra '("title1" "description1"
"link1" nil 'new 42 nil nil "link1" nil 'new 42 nil nil
((guid "myguid")))))) ((guid "myguid"))))))
(assert (newsticker--cache-contains newsticker--cache 'feed1 "WRONGTITLE" (should (newsticker--cache-contains newsticker--cache 'feed1 "WRONGTITLE"
"description1" "link1" 'new "myguid")) "description1" "link1" 'new "myguid"))
(assert (not (newsticker--cache-contains newsticker--cache 'feed1 "title1" (should (not (newsticker--cache-contains newsticker--cache 'feed1 "title1"
"description1" "link1" 'new "description1" "link1" 'new
"WRONG GUID"))) "WRONG GUID")))
(assert (newsticker--cache-contains newsticker--cache 'feed1 "title1" (should (newsticker--cache-contains newsticker--cache 'feed1 "title1"
"description1" "link1" 'new "myguid"))) "description1" "link1" 'new "myguid")))
(let ((newsticker--cache '((feed1 (let ((newsticker--cache '((feed1
("title1" "description1" "link1" nil 'new 42 ("title1" "description1" "link1" nil 'new 42
nil nil ((guid () "myguid1"))) nil nil ((guid () "myguid1")))
("title1" "description1" "link1" nil 'new 42 ("title1" "description1" "link1" nil 'new 42
nil nil ((guid () "myguid2"))))))) nil nil ((guid () "myguid2")))))))
(assert (not (newsticker--cache-contains newsticker--cache 'feed1 "title1" (should (not (newsticker--cache-contains newsticker--cache 'feed1 "title1"
"description1" "link1" 'new "description1" "link1" 'new
"myguid"))) "myguid")))
(assert (string= "myguid1" (should (string= "myguid1"
(newsticker--guid (newsticker--cache-contains (newsticker--guid (newsticker--cache-contains
newsticker--cache 'feed1 "title1" newsticker--cache 'feed1 "title1"
"description1" "link1" 'new "description1" "link1" 'new
"myguid1")))) "myguid1"))))
(assert (string= "myguid2" (should (string= "myguid2"
(newsticker--guid (newsticker--cache-contains (newsticker--guid (newsticker--cache-contains
newsticker--cache 'feed1 "title1" newsticker--cache 'feed1 "title1"
"description1" "link1" 'new "description1" "link1" 'new
"myguid2")))))) "myguid2"))))))
(defun newsticker--do-test--decode-iso8601-date (input expected) (defun newsticker-tests--decode-iso8601-date (input expected)
"Actually test `newsticker--decode-iso8601-date'. "Actually test `newsticker--decode-iso8601-date'.
Signals an error if iso8601-encoded INPUT does not match EXPECTED." Apply to INPUT and compare with EXPECTED."
(let ((result (format-time-string "%Y-%m-%dT%H:%M:%S" (let ((result (format-time-string "%Y-%m-%dT%H:%M:%S"
(newsticker--decode-iso8601-date input) (newsticker--decode-iso8601-date input)
t))) t)))
(assert (string= result expected) (should (string= result expected))))
nil "Error decoding '%s': found '%s' but expected '%s'."
input result expected)))
(defun newsticker--test--decode-iso8601-date () (ert-deftest newsticker--decode-iso8601-date ()
"Test `newsticker--decode-iso8601-date'." "Test `newsticker--decode-iso8601-date'."
(newsticker--decode-iso8601-date "2004-09-17T05:09:49+00:00") (newsticker-tests--decode-iso8601-date "2004"
(newsticker--decode-iso8601-date "2004-09-17T05:09+00:00") "2004-01-01T00:00:00")
(newsticker--decode-iso8601-date "2004-09-17T05:09:49") (newsticker-tests--decode-iso8601-date "2004-09"
(newsticker--decode-iso8601-date "2004-09-17T05:09") "2004-09-01T00:00:00")
(newsticker--decode-iso8601-date "2004-09-17") (newsticker-tests--decode-iso8601-date "2004-09-17"
(newsticker--decode-iso8601-date "2004-09") "2004-09-17T00:00:00")
(newsticker--do-test--decode-iso8601-date "2004" (newsticker-tests--decode-iso8601-date "2004-09-17T05:09"
"2004-01-01T00:00:00") "2004-09-17T05:09:00")
(newsticker--do-test--decode-iso8601-date "2004-09" (newsticker-tests--decode-iso8601-date "2004-09-17T05:09:49"
"2004-09-01T00:00:00") "2004-09-17T05:09:49")
(newsticker--do-test--decode-iso8601-date "2004-09-17" (newsticker-tests--decode-iso8601-date "2004-09-17T05:09:49.123"
"2004-09-17T00:00:00") "2004-09-17T05:09:49")
(newsticker--do-test--decode-iso8601-date "2004-09-17T05:09" (newsticker-tests--decode-iso8601-date "2004-09-17T05:09+01:00"
"2004-09-17T05:09:00") "2004-09-17T04:09:00")
(newsticker--do-test--decode-iso8601-date "2004-09-17T05:09:49" (newsticker-tests--decode-iso8601-date "2004-09-17T05:09-02:00"
"2004-09-17T05:09:49") "2004-09-17T07:09:00"))
(newsticker--do-test--decode-iso8601-date "2004-09-17T05:09:49.123"
"2004-09-17T05:09:49")
(newsticker--do-test--decode-iso8601-date "2004-09-17T05:09+01:00"
"2004-09-17T04:09:00")
(newsticker--do-test--decode-iso8601-date "2004-09-17T05:09-02:00"
"2004-09-17T07:09:00"))
(defun newsticker--do-test--decode-rfc822-date (input expected) (defun newsticker--do-test--decode-rfc822-date (input expected)
"Actually test `newsticker--decode-rfc822-date'. "Actually test `newsticker--decode-rfc822-date'.
Signals an error if rfc822-encoded INPUT does not match EXPECTED." Apply to INPUT and compare with EXPECTED."
(let ((result (format-time-string "%Y-%m-%dT%H:%M:%S" (let ((result (format-time-string "%Y-%m-%dT%H:%M:%S"
(newsticker--decode-rfc822-date input) (newsticker--decode-rfc822-date input)
t))) t)))
(assert (string= result expected) (should (string= result expected))))
nil "Error decoding '%s': found '%s' but expected '%s'."
input result expected)))
(defun newsticker--test--decode-rfc822-date () (ert-deftest newsticker--decode-rfc822-date ()
"Test `newsticker--decode-rfc822-date'." "Test `newsticker--decode-rfc822-date'."
(newsticker--do-test--decode-rfc822-date "Mon, 10 Mar 2008 19:27:52 +0100" (newsticker--do-test--decode-rfc822-date "Mon, 10 Mar 2008 19:27:52 +0100"
"2008-03-10T18:27:52") "2008-03-10T18:27:52")
...@@ -164,16 +133,16 @@ Signals an error if rfc822-encoded INPUT does not match EXPECTED." ...@@ -164,16 +133,16 @@ Signals an error if rfc822-encoded INPUT does not match EXPECTED."
;; ====================================================================== ;; ======================================================================
;; Tests for newsticker-treeview ;; Tests for newsticker-treeview
;; ====================================================================== ;; ======================================================================
(defun newsticker--test--group-manage-orphan-feeds () (ert-deftest newsticker--group-manage-orphan-feeds ()
"Test `newsticker--group-manage-orphan-feeds'. "Test `newsticker--group-manage-orphan-feeds'.
Signals an error if something goes wrong." Signals an error if something goes wrong."
(let ((newsticker-groups '("Feeds")) (let ((newsticker-groups '("Feeds"))
(newsticker-url-list-defaults nil) (newsticker-url-list-defaults nil)
(newsticker-url-list '(("feed1") ("feed2") ("feed3")))) (newsticker-url-list '(("feed1") ("feed2") ("feed3"))))
(newsticker--group-manage-orphan-feeds) (newsticker--group-manage-orphan-feeds)
(assert (equal '("Feeds" "feed3" "feed2" "feed1") (should (equal '("Feeds" "feed3" "feed2" "feed1")
newsticker-groups)))) newsticker-groups))))
(provide 'newsticker-testsuite) (provide 'newsticker-tests)
;;; newsticker-testsuite.el ends here ;;; newsticker-tests.el ends here
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment