Author: jvloothuis
Date: Sun Dec 9 14:44:47 2007
New Revision: 49569
Added:
kukit/kss.zope/trunk/kss/zope/tests/test_kssview.py
- copied, changed from r49568,
kukit/kss.zope/trunk/kss/core/tests/test_kssview.py
kukit/kss.zope/trunk/kss/zope/view.txt
- copied, changed from r49568, kukit/kss.zope/trunk/kss/core/kssview.txt
Log:
Ported the KSS view (events system) test to kss.zope
Copied: kukit/kss.zope/trunk/kss/zope/tests/test_kssview.py (from r49568,
kukit/kss.zope/trunk/kss/core/tests/test_kssview.py)
==============================================================================
--- kukit/kss.zope/trunk/kss/core/tests/test_kssview.py (original)
+++ kukit/kss.zope/trunk/kss/zope/tests/test_kssview.py Sun Dec 9 14:44:47 2007
@@ -18,39 +18,29 @@
import unittest
-from kss.core.interfaces import IKSSView, IKSSCommands
-from kss.core.plugins.core.interfaces import IKSSCoreCommands
-from kss.core.plugins.core.commands import KSSCoreCommands
-from kss.core.pluginregistry.interfaces import IAction, ICommandSet
-from kss.core.pluginregistry.action import Action
-from kss.core.pluginregistry.plugin import registerPlugin
-from kss.core.pluginregistry.commandset import CommandSet
-from kss.core.tests.commandinspector import CommandInspectorView
-
-import zope.component.event
from zope.testing import doctest, cleanup
-from zope.publisher.interfaces.browser import IBrowserRequest
from zope.app.component.hooks import setHooks
+# Import zope.component.event for side effects
+import zope.component.event
+flakes = zope.component.event # Do this for pyflakes
+from zope import component
+
+from kss.zope.interfaces import IKSSPluginRegistry
+from kss.zope.registry import GlobalPluginRegistry
def setUpAjaxView(test=None):
+ cleanup.CleanUp().setUp()
setHooks()
- zope.component.provideAdapter(CommandInspectorView,
- adapts=(IKSSCommands, IBrowserRequest))
- registerPlugin(Action, IAction, 'replaceInnerHTML', None,
- 'selector', 'html', [], None)
- zope.component.provideAdapter(KSSCoreCommands,
- adapts=(IKSSView,),
- provides=IKSSCoreCommands)
- registerPlugin(CommandSet, ICommandSet, 'core', IKSSCoreCommands)
+ component.provideUtility(GlobalPluginRegistry(), IKSSPluginRegistry)
def tearDownAjaxView(test=None):
- cleanup.cleanUp()
+ cleanup.CleanUp().tearDown()
def test_suite():
return unittest.TestSuite([
- doctest.DocTestSuite('kss.core.kssview'),
- doctest.DocFileSuite('kssview.txt',
- package='kss.core',
+ doctest.DocTestSuite('kss.zope.view'),
+ doctest.DocFileSuite('view.txt',
+ package='kss.zope',
setUp=setUpAjaxView,
tearDown=tearDownAjaxView),
])
Copied: kukit/kss.zope/trunk/kss/zope/view.txt (from r49568,
kukit/kss.zope/trunk/kss/core/kssview.txt)
==============================================================================
--- kukit/kss.zope/trunk/kss/core/kssview.txt (original)
+++ kukit/kss.zope/trunk/kss/zope/view.txt Sun Dec 9 14:44:47 2007
@@ -14,7 +14,7 @@
this by creating an example. The following will setup our enviroment
and show that normal operation works.
- >>> from kss.core import KSSView
+ >>> from kss.zope import KSSView
>>> from zope import component
>>> from zope.lifecycleevent import ObjectModifiedEvent
>>> from zope.lifecycleevent.interfaces import IObjectModifiedEvent
@@ -27,7 +27,7 @@
>>> request = TestRequest()
>>> request.RESPONSE = HTTPResponse()
-Now we will write our custom.
+Now we will write our KSS view.
>>> class SampleView(KSSView):
... def setTitle(self, title):
@@ -44,24 +44,27 @@
Let's set a title:
- >>> view.setTitle("some title")
- []
+ >>> output = view.setTitle("some title")
+ >>> print view.commands
+ <BLANKLINE>
Now that we have shown that this will not generate any KSS commands
we will register a handler. This handler will catch the object event
and add some KSS commands.
- >>> @component.adapter(None, SampleView, IObjectModifiedEvent)
+ >>> from zope.interface import Interface
+ >>> @component.adapter(Interface, Interface, IObjectModifiedEvent)
... def stuff_happend(object, view, event):
- ... view.getCommandSet('core').replaceInnerHTML(
+ ... view.commands.core.replaceInnerHTML(
... 'div.class', object.title)
>>> component.provideHandler(stuff_happend)
When we call the renderer now it should have some more data in it.
-(html parameters are marshalled as CDATA, so we check for that too)
>>> view = SampleView(myfolder, request)
>>> setSite(view)
- >>> view.setTitle(u"some title")[0]['params']['html']
- u'<![CDATA[some title]]>'
+ >>> xml_output = view.setTitle(u"some title")
+ >>> print view.commands
+ replaceInnerHTML(css('div.class'), html='some title')
+
_______________________________________________
Kukit-checkins mailing list
[email protected]
http://codespeak.net/mailman/listinfo/kukit-checkins