diff options
Diffstat (limited to 'test/lisp/emacs-lisp/package-tests.el')
-rw-r--r-- | test/lisp/emacs-lisp/package-tests.el | 61 |
1 files changed, 61 insertions, 0 deletions
diff --git a/test/lisp/emacs-lisp/package-tests.el b/test/lisp/emacs-lisp/package-tests.el index a81506d626b..b0da54a3015 100644 --- a/test/lisp/emacs-lisp/package-tests.el +++ b/test/lisp/emacs-lisp/package-tests.el @@ -857,6 +857,67 @@ If the rest succeed, just ignore the unsupported one." (insert "7") (should-error (package--verify-package-size pkg-desc))))) +(ert-deftest package-test-parse-valid-until-from-buffer () + (with-temp-buffer + (insert ";; Valid-Until: 2020-05-01T15:43:35.000Z\n(foo bar baz)") + (should (equal (package--parse-valid-until-from-buffer "foo") + '(24236 17319))))) + +(ert-deftest package-test-parse-last-updated-from-buffer () + (with-temp-buffer + (insert ";; Last-Updated: 2020-05-01T15:43:35.000Z\n(foo bar baz)") + (should (equal (package--parse-last-updated-from-buffer "foo") + '(24236 17319))))) + +(defun package-tests--parse-last-updated (timestamp) + (with-temp-buffer + (insert timestamp) + (package--parse-last-updated-from-buffer "test"))) + +(ert-deftest package-test-archive-verify-timestamp () + (let ((a (package-tests--parse-last-updated + ";; Last-Updated: 2020-05-01T15:43:35.000Z\n")) + (b (package-tests--parse-last-updated + ";; Last-Updated: 2020-06-01T15:43:35.000Z\n")) + (c (package-tests--parse-last-updated + ";; Last-Updated: 2020-07-01T15:43:35.000Z\n"))) + (should (package--archive-verify-timestamp b nil "foo")) + (should (package--archive-verify-timestamp b a "foo")) + (should (package--archive-verify-timestamp c a "foo")) + (should (package--archive-verify-timestamp c b "foo")) + ;; Signal error. + (should-error (package--archive-verify-timestamp a b "foo") + :type 'bad-timestamp) + (should-error (package--archive-verify-timestamp a c "foo") + :type 'bad-timestamp) + (should-error (package--archive-verify-timestamp b c "foo") + :type 'bad-timestamp) + (should-error (package--archive-verify-timestamp nil a "foo") + :type 'bad-timestamp))) + +(ert-deftest package-test-check-archive-timestamp () + (let ((package-user-dir package-test-data-dir)) + (with-temp-buffer + (insert ";; Last-Updated: 2020-01-01T00:00:00.000Z\n") + (package--check-archive-timestamp "older") + (package--check-archive-timestamp "missing") + (should-error (package--check-archive-timestamp "newer") + :type 'bad-timestamp)))) + +(ert-deftest package-test-check-archive-timestamp/not-expired () + (let ((package-user-dir package-test-data-dir)) + (with-temp-buffer + (insert ";; Last-Updated: 2020-01-01T00:00:00.000Z\n" + ";; Valid-Until: 2999-01-02T00:00:00.000Z\n") + (should-not (package--check-archive-timestamp "older"))))) + +(ert-deftest package-test-check-archive-timestamp/expired () + (let ((package-user-dir package-test-data-dir)) + (with-temp-buffer + (insert ";; Last-Updated: 2020-01-01T00:00:00.000Z\n" + ";; Valid-Until: 2020-01-02T00:00:00.000Z\n") + (should-error (package--check-archive-timestamp "older"))))) + ;;; Tests for package-x features. |