;;; noise-sse-test.el --- Tests for SSE client -*- lexical-binding: t; -*- ;;; Commentary: ;; Tests for noise-sse.el SSE event parsing and connection management. ;;; Code: (require 'ert) (require 'noise-sse) (ert-deftest noise-sse--parse-event-basic () "Parse a basic SSE event with data field." (let ((event "data: {\"type\":\"message\",\"content\":\"hello\"}\n\n")) (let ((result (noise-sse--parse-event event))) (should (hash-table-p result)) (should (equal (gethash "type" result) "message")) (should (equal (gethash "content" result) "hello"))))) (ert-deftest noise-sse--parse-event-multiline () "Parse SSE event with multiline data." (let ((event "data: {\"type\":\"message\",\ndata: \"content\":\"hello\"}\n\n")) (let ((result (noise-sse--parse-event event))) (should (hash-table-p result)) (should (equal (gethash "type" result) "message"))))) (ert-deftest noise-sse--parse-event-empty () "Parse empty SSE event returns nil." (let ((event "\n\n")) (should (null (noise-sse--parse-event event))))) (provide 'noise-sse-test) ;;; noise-sse-test.el ends here