[Zope3-checkins] CVS: Products3/demo/messageboard/step4/browser/tests - __init__.py:1.1 test_widgets.py:1.1
Stephan Richter
srichter@cosmos.phy.tufts.edu
Tue, 10 Jun 2003 17:47:53 -0400
Update of /cvs-repository/Products3/demo/messageboard/step4/browser/tests
In directory cvs.zope.org:/tmp/cvs-serv19712/step4/browser/tests
Added Files:
__init__.py test_widgets.py
Log Message:
This is step 4 of the message board recipes, which deals with security.
=== Added File Products3/demo/messageboard/step4/browser/tests/__init__.py ===
# Package Maker
=== Added File Products3/demo/messageboard/step4/browser/tests/test_widgets.py ===
##############################################################################
#
# Copyright (c) 2003 Zope Corporation and Contributors.
# All Rights Reserved.
#
# This software is subject to the provisions of the Zope Public License,
# Version 2.0 (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.
#
##############################################################################
"""HTMLSourceWidget Tests
$Id: test_widgets.py,v 1.1 2003/06/10 21:47:52 srichter Exp $
"""
import unittest
from zope.app.browser.form.tests.test_textareawidget import \
TextAreaWidgetTest
from zopeproducts.messageboard.browser.widgets import HTMLSourceWidget
from zopeproducts.messageboard.fields import HTML
class HTMLSourceWidgetTest(TextAreaWidgetTest):
_FieldFactory = HTML
_WidgetFactory = HTMLSourceWidget
def test_AllowedTagsConvert(self):
widget = self._widget
widget.context.allowed_tags=('h1','pre')
self.assertEqual(u'<h1>Blah</h1>',
widget._convert(u'<h1>Blah</h1>'))
self.assertEqual(u'<pre>Blah</pre>',
widget._convert(u'<pre>Blah</pre>') )
self.assertEqual(u'<h1><pre>Blah</pre></h1>',
widget._convert(u'<h1><pre>Blah</pre></h1>'))
self.assertEqual(u'<h1 attr=".">Blah</h1>',
widget._convert(u'<h1 attr=".">Blah</h1>'))
self.assertEqual(u'Blah',
widget._convert(u'<h2>Blah</h2>'))
self.assertEqual(u'<pre>Blah</pre>',
widget._convert(u'<h2><pre>Blah</pre></h2>'))
self.assertEqual(u'Blah',
widget._convert(u'<h2 a="b">Blah</h2>'))
def test_ForbiddenTagsConvert(self):
widget = self._widget
widget.context.forbidden_tags=('h2','pre')
self.assertEqual(u'<h1>Blah</h1>',
widget._convert(u'<h1>Blah</h1>'))
self.assertEqual(u'<h1 a="b">Blah</h1>',
widget._convert(u'<h1 a="b">Blah</h1>'))
self.assertEqual(u'Blah',
widget._convert(u'<h2>Blah</h2>'))
self.assertEqual(u'Blah',
widget._convert(u'<pre>Blah</pre>'))
self.assertEqual(u'Blah',
widget._convert(u'<h2><pre>Blah</pre></h2>'))
self.assertEqual(u'Blah',
widget._convert(u'<h2><pre>Blah</pre></h2>'))
self.assertEqual(u'<h1>Blah</h1>',
widget._convert(u'<h1><pre>Blah</pre></h1>'))
def test_suite():
return unittest.TestSuite((
unittest.makeSuite(HTMLSourceWidgetTest),
))
if __name__ == '__main__':
unittest.main()