diff --git a/websocket-test.el b/websocket-test.el index 04f14df..c965033 100644 --- a/websocket-test.el +++ b/websocket-test.el @@ -400,6 +400,13 @@ (should-not on-open-calledp) (should websocket-closed-calledp)))))) +(ert-deftest websocket-send-text () + (flet ((websocket-send (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)) diff --git a/websocket.el b/websocket.el index 2de93ec..95a7eba 100644 --- a/websocket.el +++ b/websocket.el @@ -480,8 +480,12 @@ has connection termination." (defun websocket-send-text (websocket text) "To the WEBSOCKET, send TEXT as a complete frame." - (websocket-send websocket (make-websocket-frame :opcode 'text :payload text - :completep t))) + (websocket-send + websocket + (make-websocket-frame :opcode 'text + :payload (encode-coding-string + text 'raw-text) + :completep t))) (defun websocket-check (frame) "Check FRAME for correctness, returning true if correct."