;;;; -*- 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")))