Log message for revision 124417: - reverted r122056 and merged test improvements from 2.13 branch (see https://mail.zope.org/pipermail/zope-dev/2011-November/043733.html)
Changed: U Zope/trunk/doc/CHANGES.rst UU Zope/trunk/src/Products/Five/browser/tests/pages.py A Zope/trunk/src/Products/Five/browser/tests/skin.py A Zope/trunk/src/Products/Five/browser/tests/skin.txt A Zope/trunk/src/Products/Five/browser/tests/skin.zcml A Zope/trunk/src/Products/Five/browser/tests/test_skin.py U Zope/trunk/src/Zope2/App/traversing.zcml -=- Modified: Zope/trunk/doc/CHANGES.rst =================================================================== --- Zope/trunk/doc/CHANGES.rst 2012-02-16 10:33:21 UTC (rev 124416) +++ Zope/trunk/doc/CHANGES.rst 2012-02-16 10:57:43 UTC (rev 124417) @@ -136,15 +136,6 @@ `lib/python` and `Products` from the default. You can continue to manually add these back. -- Removed the rarely used support for the `++skin++` traverser. You can enable - it in your own applications by defining:: - - <adapter - name="skin" - for="* zope.publisher.interfaces.IRequest" - provides="zope.traversing.interfaces.ITraversable" - factory="zope.traversing.namespace.skin" /> - - Five.browser: Marked `processInputs` and `setPageEncoding` as deprecated. `processInputs` was replaced by the `postProcessInputs` request method and the charset negotiation done by `setPageEncoding` was never fully supported. Modified: Zope/trunk/src/Products/Five/browser/tests/pages.py =================================================================== --- Zope/trunk/src/Products/Five/browser/tests/pages.py 2012-02-16 10:33:21 UTC (rev 124416) +++ Zope/trunk/src/Products/Five/browser/tests/pages.py 2012-02-16 10:57:43 UTC (rev 124417) @@ -18,45 +18,59 @@ from Products.Five.browser.pagetemplatefile import ViewPageTemplateFile from OFS.SimpleItem import SimpleItem + class SimpleView(BrowserView): + """More docstring. Please Zope""" def eagle(self): """Docstring""" return u"The eagle has landed" + def eagle2(self): + """Docstring""" + return u"The eagle has landed:\n%s" % self.context.absolute_url() + def mouse(self): """Docstring""" return u"The mouse has been eaten by the eagle" + class FancyView(BrowserView): + """Fancy, fancy stuff""" def view(self): return u"Fancy, fancy" + class CallView(BrowserView): def __call__(self): return u"I was __call__()'ed" + class PermissionView(BrowserView, SimpleItem): - + def __call__(self): return u"I was __call__()'ed" + class CallTemplate(BrowserView): __call__ = ViewPageTemplateFile('falcon.pt') + class CallableNoDocstring: def __call__(self): return u"No docstring" + def function_no_docstring(self): return u"No docstring" + class NoDocstringView(BrowserView): def method(self): @@ -66,7 +80,9 @@ object = CallableNoDocstring() + class NewStyleClass(object): + """ This is a testclass to verify that new style classes work in browser:page Property changes on: Zope/trunk/src/Products/Five/browser/tests/pages.py ___________________________________________________________________ Deleted: svn:keywords - Id Copied: Zope/trunk/src/Products/Five/browser/tests/skin.py (from rev 124416, Zope/branches/2.13/src/Products/Five/browser/tests/skin.py) =================================================================== --- Zope/trunk/src/Products/Five/browser/tests/skin.py (rev 0) +++ Zope/trunk/src/Products/Five/browser/tests/skin.py 2012-02-16 10:57:43 UTC (rev 124417) @@ -0,0 +1,20 @@ +############################################################################## +# +# Copyright (c) 2006 Zope Foundation and Contributors. +# All Rights Reserved. +# +# This software is subject to the provisions of the Zope Public License, +# Version 2.1 (ZPL). A copy of the ZPL should accompany this distribution. +# THIS SOFTWARE IS PROVIDED "AS IS" AND ANY AND ALL EXPRESS OR IMPLIED +# WARRANTIES ARE DISCLAIMED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +# WARRANTIES OF TITLE, MERCHANTABILITY, AGAINST INFRINGEMENT, AND FITNESS +# FOR A PARTICULAR PURPOSE. +# +############################################################################## +"""Test skins +""" + +from zope.publisher.interfaces.browser import IDefaultBrowserLayer + +class ITestSkin(IDefaultBrowserLayer): + pass Property changes on: Zope/trunk/src/Products/Five/browser/tests/skin.py ___________________________________________________________________ Added: svn:eol-style + native Copied: Zope/trunk/src/Products/Five/browser/tests/skin.txt (from rev 124416, Zope/branches/2.13/src/Products/Five/browser/tests/skin.txt) =================================================================== --- Zope/trunk/src/Products/Five/browser/tests/skin.txt (rev 0) +++ Zope/trunk/src/Products/Five/browser/tests/skin.txt 2012-02-16 10:57:43 UTC (rev 124417) @@ -0,0 +1,56 @@ +Test layer and skin support +=========================== + +Let's register a test layer and test skin: + + >>> import Products.Five.browser.tests + >>> from Zope2.App import zcml + >>> zcml.load_config("configure.zcml", Products.Five) + >>> zcml.load_config("skin.zcml", package=Products.Five.browser.tests) + +Let's add a test object that we'll access the test page from: + + >>> from Products.Five.tests.testing.simplecontent import manage_addSimpleContent + >>> manage_addSimpleContent(self.folder, 'testoid', 'Testoid') + +The view was registered on a different layer than 'default', that's +why we can't access it straight away: + + >>> print http(r""" + ... GET /test_folder_1_/testoid/eagle.html HTTP/1.1 + ... """) + HTTP/1.1 404 Not Found + ... + +It works when we explicitly use the skin that includes that layer: + + >>> print http(r""" + ... GET /++skin++TestSkin/test_folder_1_/testoid/eagle.html HTTP/1.1 + ... """) + HTTP/1.1 200 OK + ... + The eagle has landed: + http://localhost/++skin++TestSkin/test_folder_1_/testoid + +Or when we make that skin the default skin: + + >>> zcml.load_string(''' + ... <browser:defaultSkin + ... xmlns:browser="http://namespaces.zope.org/browser" + ... name="TestSkin" /> + ... ''') + + >>> print http(r""" + ... GET /test_folder_1_/testoid/eagle.html HTTP/1.1 + ... """) + HTTP/1.1 200 OK + ... + The eagle has landed: + http://localhost/test_folder_1_/testoid + + +Clean up +-------- + + >>> from zope.component.testing import tearDown + >>> tearDown() Copied: Zope/trunk/src/Products/Five/browser/tests/skin.zcml (from rev 124416, Zope/branches/2.13/src/Products/Five/browser/tests/skin.zcml) =================================================================== --- Zope/trunk/src/Products/Five/browser/tests/skin.zcml (rev 0) +++ Zope/trunk/src/Products/Five/browser/tests/skin.zcml 2012-02-16 10:57:43 UTC (rev 124417) @@ -0,0 +1,23 @@ +<configure xmlns="http://namespaces.zope.org/zope" + xmlns:meta="http://namespaces.zope.org/meta" + xmlns:browser="http://namespaces.zope.org/browser"> + + <!-- make the zope2.Public permission work --> + <meta:redefinePermission from="zope2.Public" to="zope.Public" /> + + <interface + interface=".skin.ITestSkin" + type="zope.publisher.interfaces.browser.IBrowserSkinType" + name="TestSkin" + /> + + <browser:page + for="Products.Five.tests.testing.simplecontent.ISimpleContent" + class=".pages.SimpleView" + attribute="eagle2" + name="eagle.html" + permission="zope2.Public" + layer=".skin.ITestSkin" + /> + +</configure> Copied: Zope/trunk/src/Products/Five/browser/tests/test_skin.py (from rev 124416, Zope/branches/2.13/src/Products/Five/browser/tests/test_skin.py) =================================================================== --- Zope/trunk/src/Products/Five/browser/tests/test_skin.py (rev 0) +++ Zope/trunk/src/Products/Five/browser/tests/test_skin.py 2012-02-16 10:57:43 UTC (rev 124417) @@ -0,0 +1,20 @@ +############################################################################## +# +# Copyright (c) 2005 Zope Foundation and Contributors. +# All Rights Reserved. +# +# This software is subject to the provisions of the Zope Public License, +# Version 2.1 (ZPL). A copy of the ZPL should accompany this distribution. +# THIS SOFTWARE IS PROVIDED "AS IS" AND ANY AND ALL EXPRESS OR IMPLIED +# WARRANTIES ARE DISCLAIMED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +# WARRANTIES OF TITLE, MERCHANTABILITY, AGAINST INFRINGEMENT, AND FITNESS +# FOR A PARTICULAR PURPOSE. +# +############################################################################## +"""Test browser pages +""" + +def test_suite(): + from Testing.ZopeTestCase import FunctionalDocFileSuite + return FunctionalDocFileSuite('skin.txt', + package='Products.Five.browser.tests') Property changes on: Zope/trunk/src/Products/Five/browser/tests/test_skin.py ___________________________________________________________________ Added: svn:eol-style + native Modified: Zope/trunk/src/Zope2/App/traversing.zcml =================================================================== --- Zope/trunk/src/Zope2/App/traversing.zcml 2012-02-16 10:33:21 UTC (rev 124416) +++ Zope/trunk/src/Zope2/App/traversing.zcml 2012-02-16 10:57:43 UTC (rev 124417) @@ -38,6 +38,13 @@ /> <adapter + name="skin" + for="* zope.publisher.interfaces.IRequest" + provides="zope.traversing.interfaces.ITraversable" + factory="zope.traversing.namespace.skin" + /> + + <adapter name="resource" for="* zope.publisher.interfaces.IRequest" provides="zope.traversing.interfaces.ITraversable" _______________________________________________ Zope-Checkins maillist - Zope-Checkins@zope.org https://mail.zope.org/mailman/listinfo/zope-checkins