- Created tests/emacs-edit-tests.lisp with FiveAM tests - Added to opencortex.asd test suite Violation fixed: I previously added tests to org but didn't run them.
44 lines
1.5 KiB
Common Lisp
44 lines
1.5 KiB
Common Lisp
(defpackage :opencortex-emacs-edit-tests
|
|
(:use :cl :fiveam :opencortex)
|
|
(:export #:emacs-edit-suite))
|
|
|
|
(in-package :opencortex-emacs-edit-tests)
|
|
|
|
(def-suite emacs-edit-suite
|
|
:description "Tests for Emacs Edit skill.")
|
|
|
|
(in-suite emacs-edit-suite)
|
|
|
|
(test id-generation
|
|
(let ((id1 (emacs-edit-generate-id))
|
|
(id2 (emacs-edit-generate-id)))
|
|
(is (plusp (length id1)))
|
|
(is (not (string= id1 id2)) ;; Likely unique
|
|
(is (= 8 (length id1)))))
|
|
|
|
(test id-format
|
|
(let ((formatted (emacs-edit-id-format "abc12345")))
|
|
(is (search "id:" formatted))))
|
|
|
|
(test property-setter
|
|
(let ((ast (list :type :headline
|
|
:properties (list :ID "id:test123" :TITLE "Test")
|
|
:contents nil)))
|
|
(emacs-edit-set-property ast "id:test123" :STATUS "ACTIVE")
|
|
(is (string= (getf (getf ast :properties) :STATUS) "ACTIVE"))))
|
|
|
|
(test todo-setter
|
|
(let ((ast (list :type :headline
|
|
:properties (list :ID "id:todo001" :TITLE "Task")
|
|
:contents nil)))
|
|
(emacs-edit-set-todo ast "id:todo001" "DONE")
|
|
(is (string= (getf (getf ast :properties) :TODO) "DONE"))))
|
|
|
|
(test find-headline-by-id
|
|
(let ((ast (list :type :document
|
|
:contents (list (list :type :headline
|
|
:properties (list :ID "id:findme" :TITLE "Found")
|
|
:contents nil)))))
|
|
(let ((found (emacs-edit-find-headline-by-id ast "id:findme")))
|
|
(is (not (null found)))
|
|
(is (string= (getf (getf found :properties) :ID) "id:findme")))) |