branch: externals/websocket
commit 341ec2b9d6782c61d32256bd29fe6c751ed7690f
Author: Andrew Hyatt <ahy...@gmail.com>
Commit: Andrew Hyatt <ahy...@gmail.com>

    Replace obsolete flet macro.
---
 websocket-test.el | 159 ++++++++++++++++++++++++++++++------------------------
 1 file changed, 88 insertions(+), 71 deletions(-)

diff --git a/websocket-test.el b/websocket-test.el
index 761cf3061e..a5ea4c59a2 100644
--- a/websocket-test.el
+++ b/websocket-test.el
@@ -224,8 +224,8 @@
                               "Connection: Upgrade\r\n"
                               "Sec-WebSocket-Key: key\r\n"
                               "Sec-WebSocket-Version: 13\r\n")))
-    (flet ((url-cookie-generate-header-lines
-            (host localpart secure) ""))
+    (cl-letf (((symbol-function 'url-cookie-generate-header-lines)
+               (lambda (host localpart secure) "")))
       (should (equal (concat base-headers "\r\n")
                      (websocket-create-headers "ws://www.example.com/path"
                                                "key" nil nil nil)))
@@ -244,12 +244,12 @@
                (concat base-headers "Foo: bar\r\nBaz: boo\r\n\r\n")
                (websocket-create-headers "ws://www.example.com/path"
                                          "key" nil nil '(("Foo" . "bar") 
("Baz" . "boo"))))))
-    (flet ((url-cookie-generate-header-lines
-            (host localpart secure)
-            (should (equal host "www.example.com:123"))
-            (should (equal localpart "/path"))
-            (should secure)
-            "Cookie: foo=bar\r\n"))
+    (cl-letf (((symbol-function 'url-cookie-generate-header-lines)
+               (lambda (host localpart secure)
+                 (should (equal host "www.example.com:123"))
+                 (should (equal localpart "/path"))
+                 (should secure)
+                 "Cookie: foo=bar\r\n")))
       (should (equal (websocket-create-headers "wss://www.example.com:123/path"
                                                "key" nil nil nil)
                      (concat
@@ -265,20 +265,20 @@
       (websocket-create-headers "ws://www.example.com:123/path" "key" nil nil 
nil)))))
 
 (ert-deftest websocket-process-headers ()
-  (flet ((url-cookie-handle-set-cookie
-          (text)
-          (should (equal text "foo=bar;"))
-          ;; test that we have set the implicit buffer variable needed
-          ;; by url-cookie-handle-set-cookie
-          (should (equal url-current-object
-                         (url-generic-parse-url "ws://example.com/path")))))
+  (cl-flet ((url-cookie-handle-set-cookie
+             (text)
+             (should (equal text "foo=bar;"))
+             ;; test that we have set the implicit buffer variable needed
+             ;; by url-cookie-handle-set-cookie
+             (should (equal url-current-object
+                            (url-generic-parse-url "ws://example.com/path")))))
     (websocket-process-headers "ws://example.com/path"
                                (concat
                                 "HTTP/1.1 101 Switching Protocols\r\n"
                                 "Upgrade: websocket\r\n"
                                 "Connection: Upgrade\r\n"
                                 "Set-Cookie: foo=bar;\r\n\r\n")))
-  (flet ((url-cookie-handle-set-cookie (text) (should nil)))
+  (cl-flet ((url-cookie-handle-set-cookie (text) (should nil)))
     (websocket-process-headers "ws://example.com/path"
                                "HTTP/1.1 101 Switching Protocols\r\n")))
 
@@ -303,7 +303,8 @@
                    (make-websocket-frame :opcode opcode :payload "hello")))
                  processed))))
     (setq sent nil)
-    (flet ((websocket-send (websocket content) (setq sent content)))
+    (cl-letf (((symbol-function 'websocket-send)
+               (lambda (websocket content) (setq sent content))))
       (should (equal
                (make-websocket-frame :opcode 'pong :payload "data" :completep 
t)
                (progn
@@ -311,7 +312,8 @@
                                                    (make-websocket-frame 
:opcode 'ping
                                                                          
:payload "data")))
                  sent))))
-    (flet ((delete-process (conn) (setq deleted t)))
+    (cl-letf (((symbol-function 'delete-process)
+               (lambda (conn) (setq deleted t))))
       (should (progn
                 (funcall
                  (websocket-process-frame websocket
@@ -362,8 +364,9 @@
                        (websocket-encode-frame
                         (make-websocket-frame :opcode 'text
                                               :payload long-string) t)))))))
-  (flet ((websocket-genbytes (n) (substring websocket-test-masked-hello 2 6)))
-      (should (equal websocket-test-masked-hello
+  (cl-letf (((symbol-function 'websocket-genbytes)
+             (lambda (n) (substring websocket-test-masked-hello 2 6))))
+    (should (equal websocket-test-masked-hello
                      (websocket-encode-frame
                       (make-websocket-frame :opcode 'text :payload "Hello"
                                             :completep t) t))))
@@ -413,10 +416,13 @@
 (ert-deftest websocket-close ()
   (let ((sent-frames)
         (processes-deleted))
-    (flet ((websocket-send (websocket frame) (push frame sent-frames))
-           (websocket-openp (websocket) t)
-           (kill-buffer (buffer))
-           (delete-process (proc) (add-to-list 'processes-deleted proc)))
+    (cl-letf (((symbol-function 'websocket-send)
+               (lambda (websocket frame) (push frame sent-frames)))
+              ((symbol-function 'websocket-openp)
+               (lambda (websocket) t))
+              ((symbol-function 'kill-buffer) (lambda (buffer) t))
+              ((symbol-function 'delete-process)
+               (lambda (proc) (add-to-list 'processes-deleted proc))))
       (websocket-close (websocket-inner-create
                         :conn "fake-conn"
                         :url t
@@ -446,12 +452,13 @@
           (concat
            (websocket-encode-frame frame1 t)
            (websocket-encode-frame frame2 t))))
-    (flet ((websocket-process-frame
-            (websocket frame)
-            (lexical-let ((frame frame))
-              (lambda () (push frame processed-frames))))
-           (websocket-verify-headers (websocket output) t)
-           (websocket-close (websocket)))
+    (cl-letf (((symbol-function 'websocket-process-frame)
+               (lambda (websocket frame)
+                 (lexical-let ((frame frame))
+                   (lambda () (push frame processed-frames)))))
+              ((symbol-function 'websocket-verify-headers)
+               (lambda (websocket output) t))
+              ((symbol-function 'websocket-close) (lambda (websocket) t)))
       (websocket-outer-filter fake-ws "HTTP/1.1 101 Switching Protocols\r\n")
       (websocket-outer-filter fake-ws "Sec-")
       (should (eq (websocket-ready-state fake-ws) 'connecting))
@@ -465,7 +472,7 @@
       (websocket-outer-filter fake-ws (substring websocket-frames 2))
       (should (equal (list frame2 frame1) processed-frames))
       (should-not (websocket-inflight-input fake-ws)))
-    (flet ((websocket-close (websocket)))
+    (cl-letf (((symbol-function 'websocket-close) (lambda (websocket) t)))
       (let ((on-error-called))
         (setf (websocket-ready-state fake-ws) 'connecting)
         (setf (websocket-on-open fake-ws) (lambda (ws &rest _) t))
@@ -484,9 +491,12 @@
                    :conn t :url t :accept-string t
                    :on-open (lambda (websocket)
                               (setq on-open-calledp t)))))
-    (flet ((websocket-verify-response-code (output) t)
-           (websocket-verify-headers (websocket output) (error "Bad headers!"))
-           (websocket-close (websocket) (setq websocket-closed-calledp t)))
+    (cl-letf (((symbol-function 'websocket-verify-response-code)
+               (lambda (output) t))
+              ((symbol-function 'websocket-verify-headers)
+               (lambda (websocket output) (error "Bad headers!")))
+              ((symbol-function 'websocket-close)
+               (lambda (websocket) (setq websocket-closed-calledp t))))
       (condition-case err
           (progn (websocket-outer-filter fake-ws "HTTP/1.1 101\r\n\r\n")
                  (error "Should have thrown an error!"))
@@ -502,7 +512,7 @@
                    :conn t :url t :accept-string "17hG/VoPPd14L9xPSI7LtEr7PQc="
                    :on-open (lambda (websocket)
                               (setq on-open-calledp t)))))
-    (flet ((websocket-close (websocket)))
+    (cl-letf (((symbol-function 'websocket-close) (lambda (websocket) t)))
       (websocket-outer-filter fake-ws "HTTP/1.1 101 Web Socket Protocol 
Handsh")
       (websocket-outer-filter fake-ws "ake\r\nConnection: Upgrade\r\n")
       (websocket-outer-filter fake-ws "Upgrade: websocket\r\n")
@@ -510,17 +520,18 @@
       (websocket-outer-filter fake-ws "Sec-WebSocket-Accept: 
17hG/VoPPd14L9xPSI7LtEr7PQc=\r\n\r\n"))))
 
 (ert-deftest websocket-send-text ()
-  (flet ((websocket-send (ws frame)
-                         (should (equal
-                                  (websocket-frame-payload frame)
-                                  "\344\275\240\345\245\275"))))
+  (cl-letf (((symbol-function 'websocket-send)
+             (lambda (ws frame)
+               (should (equal
+                        (websocket-frame-payload frame)
+                        "\344\275\240\345\245\275")))))
     (websocket-send-text nil "你好")))
 
 (ert-deftest websocket-send ()
   (let ((ws (websocket-inner-create :conn t :url t :accept-string t)))
-    (flet ((websocket-ensure-connected (websocket))
-           (websocket-openp (websocket) t)
-           (process-send-string (conn string)))
+    (cl-letf (((symbol-function 'websocket-ensure-connected) (lambda  
(websocket) t))
+              ((symbol-function 'websocket-openp) (lambda (websocket) t))
+              ((symbol-function 'process-send-string) (lambda (conn string) 
t)))
       ;; Just make sure there is no error.
       (websocket-send ws (make-websocket-frame :opcode 'ping
                                                        :completep t)))
@@ -602,11 +613,12 @@
         (closed)
         (response)
         (processed))
-    (flet ((process-send-string (p text) (setq response text))
-           (websocket-close (ws) (setq closed t))
-           (process-get (process sym) ws))
+    (cl-letf (((symbol-function 'process-send-string) (lambda (p text) (setq 
response text)))
+              ((symbol-function 'websocket-close) (lambda (ws) (setq closed 
t)))
+              ((symbol-function 'process-get) (lambda (process sym) ws)))
      ;; Bad request, in two parts
-     (flet ((websocket-verify-client-headers (text) nil))
+      (cl-letf (((symbol-function 'websocket-verify-client-headers)
+                 (lambda (text) nil)))
        (websocket-server-filter nil "HTTP/1.0 GET /foo \r\n")
        (should-not closed)
        (websocket-server-filter nil "\r\n")
@@ -616,13 +628,16 @@
      (setq closed nil
            response nil)
      (setf (websocket-inflight-input ws) nil)
-     (flet ((websocket-verify-client-headers (text) t)
-            (websocket-get-server-response (ws protocols extensions)
-                                           "response")
-            (websocket-process-input-on-open-ws (ws text)
-                                                (setq processed t)
-                                                (should
-                                                 (equal text 
websocket-test-hello))))
+     (cl-letf (((symbol-function 'websocket-verify-client-headers)
+                (lambda (text) t))
+               ((symbol-function 'websocket-get-server-response)
+                (lambda (ws protocols extensions)
+                  "response"))
+               ((symbol-function 'websocket-process-input-on-open-ws)
+                (lambda (ws text)
+                  (setq processed t)
+                  (should
+                   (equal text websocket-test-hello)))))
        (websocket-server-filter nil
                                 (concat "\r\n\r\n" websocket-test-hello))
        (should (equal (websocket-ready-state ws) 'open))
@@ -672,14 +687,16 @@
                                        :ready-state 'closed)))
         (deleted-processes)
         (closed-websockets))
-    (flet ((delete-process (conn) (add-to-list 'deleted-processes conn))
-           (websocket-close (ws)
-                            ;; we always remove on closing in the
-                            ;; actual code.
-                            (setq websocket-server-websockets
-                                  (remove ws websocket-server-websockets))
-                            (should-not (eq (websocket-ready-state ws) 
'closed))
-                            (add-to-list 'closed-websockets ws)))
+    (cl-letf (((symbol-function 'delete-process)
+               (lambda (conn) (add-to-list 'deleted-processes conn)))
+              ((symbol-function 'websocket-close)
+               (lambda (ws)
+                 ;; we always remove on closing in the
+                 ;; actual code.
+                 (setq websocket-server-websockets
+                       (remove ws websocket-server-websockets))
+                 (should-not (eq (websocket-ready-state ws) 'closed))
+                 (add-to-list 'closed-websockets ws))))
       (websocket-server-close 'b))
     (should (equal deleted-processes '(b)))
     (should (eq 1 (length closed-websockets)))
@@ -688,16 +705,16 @@
     (should (eq 'conn-a (websocket-conn (car websocket-server-websockets))))))
 
 (ert-deftest websocket-default-error-handler ()
-  (flet ((try-error
-          (callback-type err expected-message)
-          (flet ((display-warning
-                  (type message &optional level buffer-name)
-                  (should (eq type 'websocket))
-                  (should (eq level :error))
-                  (should (string= message expected-message))))
-            (websocket-default-error-handler nil
-                                             callback-type
-                                             err))))
+  (cl-letf (((symbol-function 'try-error)
+             (lambda (callback-type err expected-message)
+               (cl-flet ((display-warning
+                          (type message &optional level buffer-name)
+                          (should (eq type 'websocket))
+                          (should (eq level :error))
+                          (should (string= message expected-message))))
+                 (websocket-default-error-handler nil
+                                                  callback-type
+                                                  err)))))
     (try-error
      'on-message
      '(end-of-buffer)

Reply via email to