]> code.delx.au - gnu-emacs/blobdiff - lisp/url/url-future.el
lisp/progmodes/js.el: Silence byte-compiler warning.
[gnu-emacs] / lisp / url / url-future.el
index ac85a3cec4714f55a0efc4fb2aac064726f7cf62..35a78cf0c050c6b98197e324f9695d7b25bb1b06 100644 (file)
@@ -1,6 +1,6 @@
 ;;; url-future.el --- general futures facility for url.el
 
-;; Copyright (C) 2011  Free Software Foundation, Inc.
+;; Copyright (C) 2011-2013 Free Software Foundation, Inc.
 
 ;; Author: Teodor Zlatanov <tzz@lifelogs.com>
 ;; Keywords: data
 ;; So, to get the value:
 ;; (when (url-future-completed-p future) (url-future-value future))
 
-;; See the ERT tests and the code for futher details.
+;; See `url-future-tests' and the code below for further details.
 
 ;;; Code:
 
-(eval-when-compile (require 'cl))
-(eval-when-compile (require 'ert))
+(eval-when-compile (require 'cl-lib))
 
-(defstruct url-future callback errorback status value)
+(cl-defstruct url-future callback errorback status value)
 
 (defmacro url-future-done-p (url-future)
   `(url-future-status ,url-future))
       (signal 'error 'url-future-already-done)
     (url-future-finish url-future 'cancel)))
 
-(ert-deftest url-future-test ()
-  (let* (saver
-        (text "running future")
-         (good (make-url-future :value (lambda () (format text))
-                                :callback (lambda (f) (set 'saver f))))
-         (bad (make-url-future :value (lambda () (/ 1 0))
-                               :errorback (lambda (&rest d) (set 'saver d))))
-         (tocancel (make-url-future :value (lambda () (/ 1 0))
-                                    :callback (lambda (f) (set 'saver f))
-                                    :errorback (lambda (&rest d)
-                                                 (set 'saver d)))))
-    (should (equal good (url-future-call good)))
-    (should (equal good saver))
-    (should (equal text (url-future-value good)))
-    (should (url-future-completed-p good))
-    (should-error (url-future-call good))
-    (setq saver nil)
-    (should (equal bad (url-future-call bad)))
-    (should-error (url-future-call bad))
-    (should (equal saver (list bad '(arith-error))))
-    (should (url-future-errored-p bad))
-    (setq saver nil)
-    (should (equal (url-future-cancel tocancel) tocancel))
-    (should-error (url-future-call tocancel))
-    (should (null saver))
-    (should (url-future-cancelled-p tocancel))))
-
 (provide 'url-future)
 ;;; url-future.el ends here