X-Git-Url: http://git.kpe.io/?a=blobdiff_plain;ds=sidebyside;f=tests.lisp;fp=tests.lisp;h=0ab814f6a579b350d61bdcc046bc47619ae72ddb;hb=628dda3f26ad183880fea5871c37b9cfa33b425a;hp=0000000000000000000000000000000000000000;hpb=0c0d797b5e6c5afa9050b8021ea4729f4ab68aca;p=wol.git diff --git a/tests.lisp b/tests.lisp new file mode 100644 index 0000000..0ab814f --- /dev/null +++ b/tests.lisp @@ -0,0 +1,48 @@ +;;;; -*- Mode: LISP; Syntax: ANSI-Common-Lisp; Base: 10 -*- +;;;; ************************************************************************* +;;;; FILE IDENTIFICATION +;;;; +;;;; Id: $Id: tests.lisp,v 1.1 2003/08/09 21:42:24 kevin Exp $ +;;;; Purpose: Self Test suite for WOL +;;;; +;;;; ************************************************************************* + +(in-package #:cl-user) +(defpackage #:wol-tests + (:use #:xlunit #:cl #:wol #:puri) + (:export #:do-tests)) +(in-package #:wol-tests) + +(import '(wol::req-recode-uri-sans-session-id wol::request-uri + wol::request-decoded-uri-path)) + +;; Helper test fixture + +(defclass test-url (test-case) + ((req :accessor req))) + +(defmethod set-up ((self test-url)) + (let ((uri (parse-uri "/~abcdefg~/index.html"))) + (setf (req self) (make-instance 'wol::http-request + :raw-uri uri + :uri uri)))) + +(def-test-method test-returned-session ((self test-url) :run nil) + (assert-equal "abcdefg" (req-recode-uri-sans-session-id (req self)))) + +(def-test-method test-recomputed-uri ((self test-url) :run nil) + (req-recode-uri-sans-session-id (req self)) + (assert-equal (render-uri (request-uri (req self)) nil) + "/index.html")) + +(def-test-method test-decoded-uri ((self test-url) :run nil) + (req-recode-uri-sans-session-id (req self)) + (assert-equal (request-decoded-uri-path (req self)) + "/index.html")) + + +(textui-test-run (get-suite test-url)) + +(defun do-tests () + (or (was-successful (run (get-suite test-url))) + (error "Failed tests")))