Source

hh-web-tags / tests.lisp

Full commit
;; Copyright (c) 2011 Phil Hargett

;; Permission is hereby granted, free of charge, to any person obtaining a copy
;; of this software and associated documentation files (the "Software"), to deal
;; in the Software without restriction, including without limitation the rights
;; to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
;; copies of the Software, and to permit persons to whom the Software is
;; furnished to do so, subject to the following conditions:

;; The above copyright notice and this permission notice shall be included in
;; all copies or substantial portions of the Software.

;; THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
;; IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
;; FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
;; AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
;; LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
;; OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
;; THE SOFTWARE.


(defpackage :hh-web-tags-tests
  (:use :cl :asdf :lisp-unit :hh-web-tags))

(in-package :hh-web-tags-tests)

;; start fresh--remove any tests that no longer exist
(remove-all-tests)

;;----------------------------------------
;; Templates

;; Note that we're using really ugly template file names because
;; we don't ever want them to be used in a real application--they
;; are just for test

(deftemplates :tag-library-packages ( "hh-web-tags" )
  :template-packages ( "hh-web-tags")
  :templates ((test-page1 "test-page1.lisp")
	      (test-html1 "test-html1.lisp"))
  :template-folder "testtemplates")

;;----------------------------------------
;; Tests

(define-test template-tests
  (assert-true (string= (test-page1) "<!DOCTYPE html PUBLIC \"-//W3C//DTD HTML 4.01//EN\">
<html xmlns=\"http://www.w3.org/1999/xhtml\">
<head>
</head>
<body>
hello
</body>
</html>
")))

(define-test html-tests
  (assert-true (string= (test-html1) "
<p>hello
</p>")))

;;----------------------------------------
;; Run
(run-tests)