Rename "message" to "frame" and write tests using ert
parent
1de0721ec6
commit
4b78f9c3ed
@ -1,27 +1,59 @@
|
||||
#!/bin/sh
|
||||
":"; exec emacs -Q --script "$0" -- "$@"
|
||||
":"; exec emacs -Q -batch -l ert -l "$0" -f ert-run-tests-batch-and-exit
|
||||
|
||||
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
;;;;;;;;;;;;;;;;;;;;;; SETUP ;;;;;;;;;;;;;;;;;;;;;;;
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
|
||||
(setq cwd default-directory)
|
||||
|
||||
(defun stomp-message-buffer (test-file)
|
||||
"Create a buffer with a stomp message in it for testing purposes"
|
||||
(defun stomp-frame-buffer (test-file)
|
||||
"Create a buffer with a stomp frame in it for testing purposes"
|
||||
(find-file (format "%s/testdata/%s" cwd test-file)))
|
||||
|
||||
(defun simple-message-buffer ()
|
||||
(defun simple-frame-buffer ()
|
||||
"Simple buffer to be used for testing"
|
||||
(stomp-message-buffer "stomp_message.txt"))
|
||||
(stomp-frame-buffer "stomp_frame.txt"))
|
||||
|
||||
(defun carriage-return-message-buffer ()
|
||||
(defun carriage-return-frame-buffer ()
|
||||
"Simple buffer with carriage returns"
|
||||
(stomp-message-buffer "stomp_message_cr.txt"))
|
||||
(stomp-frame-buffer "stomp_frame_cr.txt"))
|
||||
|
||||
(load (format "%sstomp.el" default-directory) nil t)
|
||||
(defun multiple-frame-buffer ()
|
||||
"Buffer with multiple frames"
|
||||
(stomp-frame-buffer "multiple_frames.txt"))
|
||||
|
||||
;; Simple test for basic buffer
|
||||
(setq recieved (stomp-read-message (simple-message-buffer)))
|
||||
(pp (alist-get 'command recieved))
|
||||
|
||||
;; Test for buffer containing carriage returns
|
||||
(pp (stomp-read-message (carriage-return-message-buffer)))
|
||||
(load (format "%sstomp.el" default-directory) nil t)
|
||||
|
||||
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
;;;;;;;;;;;;;;; START UNIT TESTS ;;;;;;;;;;;;;;;;;;;
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
|
||||
(ert-deftest can-read-simple-frame ()
|
||||
"Can read a simple message with headers and content"
|
||||
(setq recieved (stomp-read-frame (simple-frame-buffer)))
|
||||
|
||||
(should (equal (alist-get 'command recieved) "BLA"))
|
||||
(should (equal (alist-get 'headers recieved)
|
||||
'(("ok" . "bye")
|
||||
("some-header" . "value"))))
|
||||
(should (equal (alist-get 'content recieved) "content\n")))
|
||||
|
||||
(ert-deftest can-read-carriage-return-frame ()
|
||||
"Can read a simple frame with headers and content, containing carriage returns"
|
||||
(setq recieved (stomp-read-frame (carriage-return-frame-buffer)))
|
||||
|
||||
(should (equal (alist-get 'command recieved) "BLA"))
|
||||
(should (equal (alist-get 'headers recieved)
|
||||
'(("ok" . "bye")
|
||||
("some-header" . "value"))))
|
||||
(should (equal (alist-get 'content recieved) "content\n")))
|
||||
|
||||
(ert-deftest can-delete-one-frame ()
|
||||
"Can delete the topmost frame in a buffer"
|
||||
(let ((buffer (multiple-frame-buffer)))
|
||||
(stomp-delete-frame buffer)
|
||||
(with-current-buffer buffer
|
||||
(should (equal (buffer-string) "BLA\nsome-header:value\nok:bye\n\ncontent\n\u0000\n")))))
|
||||
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Loading…
Reference in New Issue