[Checkins] SVN: z3ext.layout/trunk/ tests updated
Nikolay Kim
fafhrd at datacom.kz
Wed May 14 04:03:48 EDT 2008
Log message for revision 86719:
tests updated
Changed:
U z3ext.layout/trunk/CHANGES.txt
U z3ext.layout/trunk/src/z3ext/layout/configure.zcml
U z3ext.layout/trunk/src/z3ext/layout/interfaces.py
D z3ext.layout/trunk/src/z3ext/layout/layoutpage.pt
A z3ext.layout/trunk/src/z3ext/layout/layoutportal.pt
U z3ext.layout/trunk/src/z3ext/layout/pagelet.py
U z3ext.layout/trunk/src/z3ext/layout/pagelet.txt
U z3ext.layout/trunk/src/z3ext/layout/tests.py
-=-
Modified: z3ext.layout/trunk/CHANGES.txt
===================================================================
--- z3ext.layout/trunk/CHANGES.txt 2008-05-14 04:50:34 UTC (rev 86718)
+++ z3ext.layout/trunk/CHANGES.txt 2008-05-14 08:03:46 UTC (rev 86719)
@@ -2,6 +2,14 @@
CHANGES
=======
+1.4.2 (2008-05-14)
+------------------
+
+- Remove unused interfaces
+
+- Tests updated
+
+
1.4.1 (2008-04-23)
------------------
Modified: z3ext.layout/trunk/src/z3ext/layout/configure.zcml
===================================================================
--- z3ext.layout/trunk/src/z3ext/layout/configure.zcml 2008-05-14 04:50:34 UTC (rev 86718)
+++ z3ext.layout/trunk/src/z3ext/layout/configure.zcml 2008-05-14 08:03:46 UTC (rev 86719)
@@ -38,7 +38,7 @@
title="Portal layout (z3ext.layout)"
description="Default portal layout, registered for IDefaultBrowserLayer"
for="zope.app.component.interfaces.ISite"
- template="layoutpage.pt" />
+ template="layoutportal.pt" />
<!-- Registering documentation with API doc -->
<configure
Modified: z3ext.layout/trunk/src/z3ext/layout/interfaces.py
===================================================================
--- z3ext.layout/trunk/src/z3ext/layout/interfaces.py 2008-05-14 04:50:34 UTC (rev 86718)
+++ z3ext.layout/trunk/src/z3ext/layout/interfaces.py 2008-05-14 08:03:46 UTC (rev 86719)
@@ -19,10 +19,6 @@
from zope.publisher.interfaces.browser import IBrowserPage
-class ILayoutLayer(interface.Interface):
- """ A layer that contains all registration of this package. """
-
-
class IPagelet(IBrowserPage):
""" pagelet """
Deleted: z3ext.layout/trunk/src/z3ext/layout/layoutpage.pt
===================================================================
--- z3ext.layout/trunk/src/z3ext/layout/layoutpage.pt 2008-05-14 04:50:34 UTC (rev 86718)
+++ z3ext.layout/trunk/src/z3ext/layout/layoutpage.pt 2008-05-14 08:03:46 UTC (rev 86719)
@@ -1,14 +0,0 @@
-<metal:block metal:use-macro="context/@@standard_macros/page">
- <div id="z3ext-portal" metal:fill-slot="columns">
- <tal:block tal:content="structure provider:statusMessage" />
- <tal:block tal:content="structure view/render" />
- </div>
- <div id="z3ext-portal" metal:fill-slot="workspace">
- <tal:block tal:content="structure provider:statusMessage" />
- <tal:block tal:content="structure view/render" />
- </div>
- <div id="z3ext-portal" metal:fill-slot="body">
- <tal:block tal:content="structure provider:statusMessage" />
- <tal:block tal:content="structure view/render" />
- </div>
-</metal:block>
Copied: z3ext.layout/trunk/src/z3ext/layout/layoutportal.pt (from rev 86718, z3ext.layout/trunk/src/z3ext/layout/layoutpage.pt)
===================================================================
--- z3ext.layout/trunk/src/z3ext/layout/layoutportal.pt (rev 0)
+++ z3ext.layout/trunk/src/z3ext/layout/layoutportal.pt 2008-05-14 08:03:46 UTC (rev 86719)
@@ -0,0 +1,14 @@
+<metal:block metal:use-macro="context/@@standard_macros/page">
+ <div id="z3ext-portal" metal:fill-slot="columns">
+ <tal:block tal:content="structure provider:statusMessage" />
+ <tal:block tal:content="structure view/render" />
+ </div>
+ <div id="z3ext-portal" metal:fill-slot="workspace">
+ <tal:block tal:content="structure provider:statusMessage" />
+ <tal:block tal:content="structure view/render" />
+ </div>
+ <div id="z3ext-portal" metal:fill-slot="body">
+ <tal:block tal:content="structure provider:statusMessage" />
+ <tal:block tal:content="structure view/render" />
+ </div>
+</metal:block>
Modified: z3ext.layout/trunk/src/z3ext/layout/pagelet.py
===================================================================
--- z3ext.layout/trunk/src/z3ext/layout/pagelet.py 2008-05-14 04:50:34 UTC (rev 86718)
+++ z3ext.layout/trunk/src/z3ext/layout/pagelet.py 2008-05-14 08:03:46 UTC (rev 86719)
@@ -1,6 +1,6 @@
##############################################################################
#
-# Copyright (c) 2007 Zope Corporation and Contributors.
+# Copyright (c) 2008 Zope Corporation and Contributors.
# All Rights Reserved.
#
# This software is subject to the provisions of the Zope Public License,
Modified: z3ext.layout/trunk/src/z3ext/layout/pagelet.txt
===================================================================
--- z3ext.layout/trunk/src/z3ext/layout/pagelet.txt 2008-05-14 04:50:34 UTC (rev 86718)
+++ z3ext.layout/trunk/src/z3ext/layout/pagelet.txt 2008-05-14 08:03:46 UTC (rev 86719)
@@ -5,7 +5,7 @@
Show how we can use the pagelet directive. Register the meta configuration for
the directive.
- >>> import os, sys, tempfile
+ >>> import os, tempfile
>>> from zope import interface, component
>>> from zope.configuration import xmlconfig
>>> import z3ext.layout
@@ -17,19 +17,13 @@
>>> class MyPagelet(BrowserPagelet):
... """Custom pagelet"""
-Make them available under the fake package ``custom``:
-
- >>> sys.modules['custom'] = type(
- ... 'Module', (),
- ... {'MyPagelet': MyPagelet})()
-
Register a pagelet within the directive with minimal attributes:
>>> context = xmlconfig.string("""
... <configure xmlns:z3ext="http://namespaces.zope.org/z3ext">
... <z3ext:pagelet
... name="index.html"
- ... class="custom.MyPagelet"
+ ... class="z3ext.layout.TESTS.MyPagelet"
... permission="zope.Public"
... />
... </configure>
@@ -37,15 +31,14 @@
Let's get the pagelet
- >>> import zope.component
>>> from zope.publisher.browser import TestRequest
- >>> pagelet = zope.component.queryMultiAdapter((object(), TestRequest()),
+ >>> pagelet = component.queryMultiAdapter((object(), TestRequest()),
... name='index.html')
and check them:
>>> pagelet
- <z3ext.layout.zcml.PageletClass from <class 'MyPagelet'> ...>
+ <z3ext.layout.zcml.PageletClass from <class 'z3ext.layout.TESTS.MyPagelet'> ...>
>>> pagelet.context
<object object at ...>
@@ -65,20 +58,12 @@
>>> class Content(object):
... zope.interface.implements(IContent)
-register the new classes in the custom module...
-
- >>> sys.modules['custom'].IContent = IContent
- >>> sys.modules['custom'].Content = Content
- >>> sys.modules['custom'].SecondPagelet = SecondPagelet
-
-and use them in the directive:
-
>>> context = xmlconfig.string("""
... <configure xmlns:z3ext="http://namespaces.zope.org/z3ext">
... <z3ext:pagelet
... name="custom.html"
- ... class="custom.SecondPagelet"
- ... for="custom.IContent"
+ ... class="z3ext.layout.TESTS.SecondPagelet"
+ ... for="z3ext.layout.TESTS.IContent"
... permission="zope.Public"
... label="my Label" />
... </configure>
@@ -93,7 +78,7 @@
and check them:
>>> pagelet
- <z3ext.layout.zcml.PageletClass from <class 'SecondPagelet'> ...>
+ <z3ext.layout.zcml.PageletClass from <class 'z3ext.layout.TESTS.SecondPagelet'> ...>
>>> pagelet.label
u'my Label'
@@ -103,36 +88,29 @@
>>> class NewPagelet(BrowserPagelet):
... """New pagelet"""
- >>> sys.modules['custom'] = type(
- ... 'Module', (),
- ... {'NewPagelet': NewPagelet})()
-
Now register the pagelet within a interface.
>>> class INewPagelet(interface.Interface):
... """New pagelet interface."""
- >>> sys.modules['custom'] = type(
- ... 'Module', (),
- ... {'INewPagelet': INewPagelet, 'NewPagelet': NewPagelet})()
>>> context = xmlconfig.string("""
... <configure xmlns:z3ext="http://namespaces.zope.org/z3ext">
... <z3ext:pagelet
... name="new.html"
- ... class="custom.NewPagelet"
+ ... class="z3ext.layout.TESTS.NewPagelet"
... permission="zope.Public"
- ... provides="custom.INewPagelet" />
+ ... provides="z3ext.layout.TESTS.INewPagelet" />
... </configure>
... """, context)
And if we get the pagelet, we can see that the object provides the new
pagelet interface:
- >>> pagelet = zope.component.queryMultiAdapter((object(), TestRequest()),
+ >>> pagelet = component.queryMultiAdapter((object(), TestRequest()),
... name='new.html')
>>> pagelet
- <z3ext.layout.zcml.PageletClass from <class 'NewPagelet'> ...>
+ <z3ext.layout.zcml.PageletClass from <class 'z3ext.layout.TESTS.NewPagelet'> ...>
>>> INewPagelet.providedBy(pagelet)
True
@@ -147,7 +125,7 @@
... </configure>
... """, context)
- >>> pagelet = zope.component.queryMultiAdapter((object(), TestRequest()),
+ >>> pagelet = component.queryMultiAdapter((object(), TestRequest()),
... name='noclass.html')
>>> pagelet
<z3ext.layout.zcml.PageletClass from None ...>
@@ -181,7 +159,7 @@
... </configure>
... """%template, context)
- >>> pagelet = zope.component.queryMultiAdapter((object(), TestRequest()),
+ >>> pagelet = component.queryMultiAdapter((object(), TestRequest()),
... name='template.html')
>>> pagelet
<z3ext.layout.zcml.PageletClass from None ...>
@@ -198,7 +176,7 @@
We should use page template as template for pagelet or we should
provide IPageTemplate adapter for pagelet
- >>> pagelet = zope.component.queryMultiAdapter((object(), TestRequest()),
+ >>> pagelet = component.queryMultiAdapter((object(), TestRequest()),
... name='noclass.html')
>>> pagelet.render()
Traceback (most recent call last):
@@ -213,10 +191,33 @@
>>> component.getSiteManager().registerAdapter(
... getPT, (pagelet.__class__, interface.Interface), IPageTemplate, '')
- >>> print pagelet.render()
+ >>> print pagelet()
<div>My pagelet</div>
<BLANKLINE>
-Now we need to clean up the custom module.
+We can redirect during pagelet rendering, in this case render method
+doesn't call.
- >>> del sys.modules['custom']
+ >>> pagelet = component.queryMultiAdapter((object(), TestRequest()),
+ ... name='noclass.html')
+ >>> pagelet.redirect('/')
+ >>> pagelet.isRedirected
+ True
+ >>> pagelet()
+ u''
+
+We can get default pagelet view for content. First register default view
+
+ >>> from zope.component.interfaces import IDefaultViewName
+ >>> component.getSiteManager().registerAdapter(
+ ... 'index.html', (interface.Interface, interface.Interface),
+ ... IDefaultViewName)
+
+ >>> view = component.getMultiAdapter(
+ ... (object(), TestRequest()), z3ext.layout.interfaces.IPagelet)
+
+ >>> view
+ <z3ext.layout.zcml.PageletClass from <class 'z3ext.layout.TESTS.MyPagelet'> ...>
+
+ >>> view.__name__
+ u'index.html'
\ No newline at end of file
Modified: z3ext.layout/trunk/src/z3ext/layout/tests.py
===================================================================
--- z3ext.layout/trunk/src/z3ext/layout/tests.py 2008-05-14 04:50:34 UTC (rev 86718)
+++ z3ext.layout/trunk/src/z3ext/layout/tests.py 2008-05-14 08:03:46 UTC (rev 86719)
@@ -16,11 +16,14 @@
$Id$
"""
import unittest, doctest
-from zope import interface
+from zope import interface, component
from zope.testing.doctestunit import DocFileSuite
from zope.app.testing import setup
from zope.app.container.sample import SampleContainer
+from z3ext.layout import pagelet
+
+
class IFolder1(interface.Interface):
pass
@@ -44,10 +47,13 @@
root = setup.placefulSetUp(site=True)
root.__name__ = 'root'
test.globs['root'] = root
+ component.provideAdapter(pagelet.queryPagelet)
+ setup.setUpTestAsModule(test, 'z3ext.layout.TESTS')
def tearDown(test):
setup.placefulTearDown()
+ setup.tearDownTestAsModule(test)
def test_suite():
@@ -59,6 +65,7 @@
),
doctest.DocFileSuite(
'pagelet.txt',
+ setUp=setUp, tearDown=tearDown,
optionflags=doctest.NORMALIZE_WHITESPACE|doctest.ELLIPSIS,
),
))
More information about the Checkins
mailing list