[KSS-checkins] r53442 - in kukit/kss.demo/trunk/kss/demo: . browser jscoverage jscoverage/browser
gotcha at codespeak.net
gotcha at codespeak.net
Sun Apr 6 14:31:33 CEST 2008
Author: gotcha
Date: Sun Apr 6 14:31:31 2008
New Revision: 53442
Added:
kukit/kss.demo/trunk/kss/demo/jscoverage/ (props changed)
kukit/kss.demo/trunk/kss/demo/jscoverage/IGNORE.txt
kukit/kss.demo/trunk/kss/demo/jscoverage/__init__.py
kukit/kss.demo/trunk/kss/demo/jscoverage/browser/
kukit/kss.demo/trunk/kss/demo/jscoverage/browser/__init__.py
kukit/kss.demo/trunk/kss/demo/jscoverage/browser/backToIndex.html
kukit/kss.demo/trunk/kss/demo/jscoverage/browser/configure.zcml
kukit/kss.demo/trunk/kss/demo/jscoverage/browser/coverage.py
kukit/kss.demo/trunk/kss/demo/jscoverage/browser/interfaces.py
kukit/kss.demo/trunk/kss/demo/jscoverage/browser/kss_demo_suite_jscoverage.pt
kukit/kss.demo/trunk/kss/demo/jscoverage/browser/setJscoverage.html
kukit/kss.demo/trunk/kss/demo/jscoverage/browser/unsetJscoverage.html
kukit/kss.demo/trunk/kss/demo/jscoverage/configure.zcml
Modified:
kukit/kss.demo/trunk/kss/demo/browser/header_macros.pt
kukit/kss.demo/trunk/kss/demo/browser/kss_demo_index.pt
kukit/kss.demo/trunk/kss/demo/configure.zcml
Log:
add jscoverage support
Modified: kukit/kss.demo/trunk/kss/demo/browser/header_macros.pt
==============================================================================
--- kukit/kss.demo/trunk/kss/demo/browser/header_macros.pt (original)
+++ kukit/kss.demo/trunk/kss/demo/browser/header_macros.pt Sun Apr 6 14:31:31 2008
@@ -49,14 +49,23 @@
<metal:header define-macro="kukit_resource">
- <tal:block define="kss_devel_mode nocall:here/@@kss_devel_mode | nothing">
+ <tal:block define="kss_devel_mode nocall:here/@@kss_devel_mode | nothing;
+ isJscoverage nocall:here/@@kss_jscoverage/isJscoverage | nothing;
+ ">
+
+ <script tal:condition="isJscoverage"
+ type="text/javascript"
+ tal:attributes="src
+ string:${context/@@absolute_url}/++resource++kukit-jscoverage.js;"
+ src="++resource++kukit-jscoverage.js">
+ </script>
- <script tal:condition="python: not kss_devel_mode or kss_devel_mode.isoff()" type="text/javascript"
+ <script tal:condition="python:not kss_devel_mode or (not isJscoverage and kss_devel_mode.isoff())" type="text/javascript"
tal:attributes="src string:${context/@@absolute_url}/++resource++kukit.js;"
src="++resource++kukit.js">
</script>
- <script tal:condition="python: kss_devel_mode and kss_devel_mode.ison()" type="text/javascript"
+ <script tal:condition="python:kss_devel_mode and (not isJscoverage and kss_devel_mode.ison())" type="text/javascript"
tal:attributes="src string:${context/@@absolute_url}/++resource++kukit-devel.js;"
src="++resource++kukit-devel.js">
</script>
Modified: kukit/kss.demo/trunk/kss/demo/browser/kss_demo_index.pt
==============================================================================
--- kukit/kss.demo/trunk/kss/demo/browser/kss_demo_index.pt (original)
+++ kukit/kss.demo/trunk/kss/demo/browser/kss_demo_index.pt Sun Apr 6 14:31:31 2008
@@ -1,5 +1,6 @@
<html>
<head>
+ <title>KSS demos and tests</title>
<link rel="stylesheet" type="text/css"
tal:attributes="href string:${context/@@absolute_url}/@@kss_devel_mode/ui_css"/>
</head>
@@ -16,6 +17,19 @@
</form>
</li>
</ul>
+ <h2>Coverage</h2>
+ <ul style="background-color:#E0E0C0;">
+ <li>Link to Zelenium object (instrumented):
+ <form tal:attributes="action
+ string:${context/@@absolute_url}/zuite_jscoverage.html">
+ <input type="text" name="path" value="zuite" />
+ <input type="submit" name="submit" value="Run all Selenium tests" />
+ </form>
+ </li>
+ <li>
+ <a href="index.html" onclick='window.open("++resource++jsc/jscoverage.html");'>Coverage report</a>
+ </li>
+ </ul>
<p class="help">
Zelenium object link must be an absolute path from the domain root,
or a relative path from the demo SimpleContent's parent.
Modified: kukit/kss.demo/trunk/kss/demo/configure.zcml
==============================================================================
--- kukit/kss.demo/trunk/kss/demo/configure.zcml (original)
+++ kukit/kss.demo/trunk/kss/demo/configure.zcml Sun Apr 6 14:31:31 2008
@@ -7,7 +7,7 @@
>
<include package="kss.core"/>
-
+
<!-- Things to do only on Zope2 -->
<configure zcml:condition="have compat_five">
@@ -93,4 +93,6 @@
permission="zope.Public"
/>
+ <include package=".jscoverage"/>
+
</configure>
Added: kukit/kss.demo/trunk/kss/demo/jscoverage/IGNORE.txt
==============================================================================
--- (empty file)
+++ kukit/kss.demo/trunk/kss/demo/jscoverage/IGNORE.txt Sun Apr 6 14:31:31 2008
@@ -0,0 +1,10 @@
+# You can check svn:ignore by issuing:
+#
+# svn propget svn:ignore .
+#
+# You can update your working dir by issuing:
+#
+# svn propset svn:ignore -F IGNORE.txt .
+#
+js
+
Added: kukit/kss.demo/trunk/kss/demo/jscoverage/__init__.py
==============================================================================
--- (empty file)
+++ kukit/kss.demo/trunk/kss/demo/jscoverage/__init__.py Sun Apr 6 14:31:31 2008
@@ -0,0 +1 @@
+#package
Added: kukit/kss.demo/trunk/kss/demo/jscoverage/browser/__init__.py
==============================================================================
--- (empty file)
+++ kukit/kss.demo/trunk/kss/demo/jscoverage/browser/__init__.py Sun Apr 6 14:31:31 2008
@@ -0,0 +1 @@
+#package
Added: kukit/kss.demo/trunk/kss/demo/jscoverage/browser/backToIndex.html
==============================================================================
--- (empty file)
+++ kukit/kss.demo/trunk/kss/demo/jscoverage/browser/backToIndex.html Sun Apr 6 14:31:31 2008
@@ -0,0 +1,23 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>basic_commands</title>
+</head>
+<body>
+<table cellpadding="1" cellspacing="1" border="1">
+<thead>
+<tr><td rowspan="1" colspan="3">Back to index</td></tr>
+</thead><tbody>
+<tr>
+ <td>open</td>
+ <td>index.html</td>
+ <td></td>
+</tr>
+<tr>
+ <td>assertTextPresent</td>
+ <td>KSS demos</td>
+ <td></td>
+</tr>
+</tbody></table>
+</body>
+</html>
Added: kukit/kss.demo/trunk/kss/demo/jscoverage/browser/configure.zcml
==============================================================================
--- (empty file)
+++ kukit/kss.demo/trunk/kss/demo/jscoverage/browser/configure.zcml Sun Apr 6 14:31:31 2008
@@ -0,0 +1,49 @@
+<configure xmlns="http://namespaces.zope.org/zope"
+ xmlns:browser="http://namespaces.zope.org/browser"
+ i18n_domain="kss"
+ >
+
+ <browser:page
+ for="kss.demo.interfaces.ISimpleContent"
+ name="zuite_jscoverage.html"
+ class=".coverage.JscoverageView"
+ attribute="getZuite"
+ permission="zope.View"
+ />
+
+ <browser:page
+ for="kss.demo.interfaces.ISimpleContent"
+ template="kss_demo_suite_jscoverage.pt"
+ name="suite_jscoverage.html"
+ permission="zope.View"
+ />
+
+ <browser:page
+ for="*"
+ class=".coverage.JscoverageView"
+ name="kss_jscoverage"
+ permission="zope.Public"
+ allowed_interface=".interfaces.IJscoverageView" />
+
+ <browser:page
+ for="kss.demo.interfaces.ISimpleContent"
+ template="setJscoverage.html"
+ name="setJscoverage.html"
+ permission="zope.View"
+ />
+
+ <browser:page
+ for="kss.demo.interfaces.ISimpleContent"
+ template="unsetJscoverage.html"
+ name="unsetJscoverage.html"
+ permission="zope.View"
+ />
+
+ <browser:page
+ for="kss.demo.interfaces.ISimpleContent"
+ template="backToIndex.html"
+ name="backToIndex.html"
+ permission="zope.View"
+ />
+
+</configure>
Added: kukit/kss.demo/trunk/kss/demo/jscoverage/browser/coverage.py
==============================================================================
--- (empty file)
+++ kukit/kss.demo/trunk/kss/demo/jscoverage/browser/coverage.py Sun Apr 6 14:31:31 2008
@@ -0,0 +1,57 @@
+
+try:
+ from Products.Five import BrowserView
+ BrowserView
+except ImportError:
+ from zope.publisher.browser import BrowserView
+
+from zope.publisher.interfaces import NotFound
+
+COOKIE_JSCMODE = '__kss_jscoverage'
+
+class JscoverageView(BrowserView):
+
+ # Zope3 requires the implementation of
+ # IBrowserPublisher, in order for the methods
+ # to be traversable.
+ #
+ # An alternative would be:
+ # <browser:pages class="...">
+ # <page name="..." attribute="..." />
+ # <page name="..." attribute="..." />
+ # </browser:pages>
+
+ def publishTraverse(self, request, name):
+ try:
+ return getattr(self, name)
+ except AttributeError:
+ raise NotFound(self.context, name, request)
+
+ def browserDefault(self, request):
+ # make ui the default method
+ return self, ('isJscoverage', )
+
+ # --
+ # Methods for jscoverage mode
+ # --
+
+ def setJscoverage(self):
+ 'Sets jscoverage mode cookie'
+ self.request.response.setCookie(COOKIE_JSCMODE, '1', path='/')
+ return '<html><body>jscoverage cookie on</body></html>'
+
+ def unsetJscoverage(self):
+ 'Unsets jscoverage mode cookie'
+ self.request.response.expireCookie(COOKIE_JSCMODE, path='/')
+ return '<html><body>jscoverage cookie off</body></html>'
+
+ def isJscoverage(self):
+ 'Queries jscoverage mode cookie'
+ return bool(COOKIE_JSCMODE in self.request.cookies)
+
+ def getZuite(self, path):
+ """Redirects to the Zuite page, Zuite object is found from path."""
+ zuite = self.context.aq_inner.aq_parent.restrictedTraverse(path)
+ html = "%s/core/TestRunner.html?test=%s/suite_jscoverage.html" % (zuite.absolute_url(), self.context.absolute_url())
+ return self.request.response.redirect(html)
+
Added: kukit/kss.demo/trunk/kss/demo/jscoverage/browser/interfaces.py
==============================================================================
--- (empty file)
+++ kukit/kss.demo/trunk/kss/demo/jscoverage/browser/interfaces.py Sun Apr 6 14:31:31 2008
@@ -0,0 +1,14 @@
+
+from zope.publisher.interfaces.browser import IBrowserPublisher
+
+class IJscoverageView(IBrowserPublisher):
+
+ def setJscoverage():
+ 'Sets jscoverage mode cookie'
+
+ def unsetJscoverage():
+ 'Unsets jscoverage mode cookie'
+
+ def isJscoverage():
+ 'Queries jscoverage mode cookie'
+
Added: kukit/kss.demo/trunk/kss/demo/jscoverage/browser/kss_demo_suite_jscoverage.pt
==============================================================================
--- (empty file)
+++ kukit/kss.demo/trunk/kss/demo/jscoverage/browser/kss_demo_suite_jscoverage.pt Sun Apr 6 14:31:31 2008
@@ -0,0 +1,42 @@
+<html>
+ <body>
+ <table id="suiteTable"
+ cellpadding="1"
+ cellspacing="1"
+ border="1"
+ class="selenium">
+ <tbody tal:define="selenium_tests context/@@kss_demo_registry/getSeleniumTests">
+ <tr><td><b>Test Suite</b></td></tr>
+ <tr>
+ <td>
+ <h4>
+ <a href="setJscoverage.html">Jscoverage mode</a>
+ </h4>
+ </td>
+ </tr>
+ <tal:groups repeat="selenium_test selenium_tests">
+ <tr>
+ <td><a href="test.html"
+ tal:content="selenium_test/title"
+ tal:attributes="href selenium_test/href"
+ >Title</a></td>
+ </tr>
+ </tal:groups>
+ <tr>
+ <td>
+ <h4>
+ <a href="unsetJscoverage.html">Development mode</a>
+ </h4>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <h4>
+ <a href="backToIndex.html">Back to all demos</a>
+ </h4>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+ </body>
+</html>
Added: kukit/kss.demo/trunk/kss/demo/jscoverage/browser/setJscoverage.html
==============================================================================
--- (empty file)
+++ kukit/kss.demo/trunk/kss/demo/jscoverage/browser/setJscoverage.html Sun Apr 6 14:31:31 2008
@@ -0,0 +1,23 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>basic_commands</title>
+</head>
+<body>
+<table cellpadding="1" cellspacing="1" border="1">
+<thead>
+<tr><td rowspan="1" colspan="3">setJscoverage</td></tr>
+</thead><tbody>
+<tr>
+ <td>open</td>
+ <td>demo/@@kss_jscoverage/setJscoverage</td>
+ <td></td>
+</tr>
+<tr>
+ <td>assertTextPresent</td>
+ <td>jscoverage cookie on</td>
+ <td></td>
+</tr>
+</tbody></table>
+</body>
+</html>
Added: kukit/kss.demo/trunk/kss/demo/jscoverage/browser/unsetJscoverage.html
==============================================================================
--- (empty file)
+++ kukit/kss.demo/trunk/kss/demo/jscoverage/browser/unsetJscoverage.html Sun Apr 6 14:31:31 2008
@@ -0,0 +1,23 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>basic_commands</title>
+</head>
+<body>
+<table cellpadding="1" cellspacing="1" border="1">
+<thead>
+<tr><td rowspan="1" colspan="3">unsetJscoverage</td></tr>
+</thead><tbody>
+<tr>
+ <td>open</td>
+ <td>demo/@@kss_jscoverage/unsetJscoverage</td>
+ <td></td>
+</tr>
+<tr>
+ <td>assertTextPresent</td>
+ <td>jscoverage cookie off</td>
+ <td></td>
+</tr>
+</tbody></table>
+</body>
+</html>
Added: kukit/kss.demo/trunk/kss/demo/jscoverage/configure.zcml
==============================================================================
--- (empty file)
+++ kukit/kss.demo/trunk/kss/demo/jscoverage/configure.zcml Sun Apr 6 14:31:31 2008
@@ -0,0 +1,52 @@
+<configure xmlns="http://namespaces.zope.org/zope"
+ xmlns:browser="http://namespaces.zope.org/browser"
+ i18n_domain="kss"
+ >
+
+ <include package=".browser" />
+
+ <!-- Instrumented Development version
+
+ Generated by
+
+ parts/coverage/bin/jscoverage src/kss.core/kss/core/kukit/kukit/ src/kss.demo/kss/demo/jscoverage/js
+
+ -->
+
+ <browser:concatresource
+ files=" js/kukit.js
+ js/utils.js
+ js/errors.js
+ js/oper.js
+ js/tokenizer.js
+ js/providerreg.js
+ js/resourcedata.js
+ js/kssparser.js
+ js/eventreg.js
+ js/actionreg.js
+ js/dom.js
+ js/commandreg.js
+ js/serveraction.js
+ js/requestmanager.js
+ js/commandprocessor.js
+ js/selectorreg.js
+ js/forms.js
+ js/plugin.js"
+ name="kukit-jscoverage.js"
+ compress_level="devel"
+ caching="memory"
+ lmt_check_period="0"
+ />
+
+ <browser:resourceDirectory
+ name="jsc"
+ directory="js"
+ />
+
+ <utility
+ provides="concatresource.interfaces.IConcatResourceAddon"
+ name="kukit-jscoverage.js"
+ component="kss.core.pluginregistry.registry.kssConcatResourceAddon"
+ />
+
+</configure>
More information about the Kukit-checkins
mailing list