[claw-cvs] r41 - trunk/main/claw-core/tests
achiumenti at common-lisp.net
achiumenti at common-lisp.net
Tue Apr 15 17:49:17 UTC 2008
Author: achiumenti
Date: Tue Apr 15 13:49:16 2008
New Revision: 41
Added:
trunk/main/claw-core/tests/some-page.lisp
Log:
writing tests for manual
Added: trunk/main/claw-core/tests/some-page.lisp
==============================================================================
--- (empty file)
+++ trunk/main/claw-core/tests/some-page.lisp Tue Apr 15 13:49:16 2008
@@ -0,0 +1,58 @@
+;;; -*- Mode: LISP; Syntax: COMMON-LISP; Package: CL-USER; Base: 10 -*-
+;;; $Header: tests/test1.lisp $
+
+;;; Copyright (c) 2008, Andrea Chiumenti. All rights reserved.
+
+;;; Redistribution and use in source and binary forms, with or without
+;;; modification, are permitted provided that the following conditions
+;;; are met:
+
+;;; * Redistributions of source code must retain the above copyright
+;;; notice, this list of conditions and the following disclaimer.
+
+;;; * Redistributions in binary form must reproduce the above
+;;; copyright notice, this list of conditions and the following
+;;; disclaimer in the documentation and/or other materials
+;;; provided with the distribution.
+
+;;; THIS SOFTWARE IS PROVIDED BY THE AUTHOR 'AS IS' AND ANY EXPRESSED
+;;; OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+;;; WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+;;; ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
+;;; DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+;;; DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
+;;; GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+;;; INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+;;; WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+;;; NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+;;; SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+(in-package :claw-tests)
+
+(defcomponent inspector () ())
+
+(defmethod wcomponent-parameters ((inspector inspector))
+ (list :id :required :ref-id :required))
+
+(defmethod wcomponent-template ((inspector inspector))
+ (div> :static-id (htcomponent-client-id inspector)
+ (htcomponent-body inspector)))
+
+(defmethod htcomponent-instance-initscript ((inspector inspector))
+ (format nil "document.getElementById\('~a').onclick =
+ function \() {alert\(document.getElementById\('~a').innerHTML);};"
+ (htcomponent-client-id inspector)
+ (wcomponent-parameter-value inspector :ref-id)))
+
+(defclass some-page (page) ())
+
+(defmethod page-content ((some-page some-page))
+ (let ((hidden-component-id (generate-id "hiddenComp"))
+ (rnd-value (prin1-to-string (random 10000))))
+ (site-template> :title "this is the page title"
+ :class "foo"
+ (p>
+ (div> :static-id hidden-component-id :style "display: none;" rnd-value)
+ (inspector> :id "inspector" :ref-id hidden-component-id "Show value")))))
+
+(lisplet-register-page-location *test-lisplet* 'some-page "some-page.html")
More information about the Claw-cvs
mailing list