[CMF-checkins] CVS: CMF/CMFDefault/tests -
test_Document.py:1.25.18.2 test_utils.py:1.7.4.2
Tres Seaver
tseaver@zope.com
05 Feb 2003 13:15:27 -0500
On Mon, 2003-02-03 at 13:32, Yvo Schubbe wrote:
> Update of /cvs-repository/CMF/CMFDefault/tests
> In directory cvs.zope.org:/tmp/cvs-serv11061/CMFDefault/tests
>
> Modified Files:
> Tag: yuppie-collector041-branch
> test_Document.py test_utils.py
> Log Message:
> third step:
> - added tests for xhtml content
Note that you also, in fact, removed a real test: the PUT method
arranges to extract metadata headers, which your new version skips
checking. I'm not super happy with this, as I think that the feature is
an important one, and is unrelated to your bodyfinder fixes.
Note that I *do* think we should fix bodyfinder to deal with the XML
prologue elements; I am just objecting to losing the test of the
existing feature.
> - modified tests for bodyfinder
> - made new tests pass
>
> === CMF/CMFDefault/tests/test_Document.py 1.25.18.1 => 1.25.18.2 ===
> --- CMF/CMFDefault/tests/test_Document.py:1.25.18.1 Sun Feb 2 17:09:28 2003
> +++ CMF/CMFDefault/tests/test_Document.py Mon Feb 3 13:32:14 2003
> @@ -22,6 +22,7 @@
> from Products.CMFCore.tests.base.content import STX_NO_HEADERS_BUT_COLON
> from Products.CMFCore.tests.base.content import SIMPLE_STRUCTUREDTEXT
> from Products.CMFCore.tests.base.content import SIMPLE_HTML
> +from Products.CMFCore.tests.base.content import SIMPLE_XHTML
>
> from Products.CMFDefault.Document import Document
>
> @@ -39,30 +40,25 @@
> self.assertEqual( d.text_format, 'structured-text' )
> self.assertEqual( d._stx_level, 1 )
>
> - def test_BasicHtmlPUT(self):
> - self.REQUEST['BODY'] = BASIC_HTML
> + def test_editBasicHTML(self):
> d = self.d
> - d.PUT(self.REQUEST, self.RESPONSE)
> + d.edit('html', BASIC_HTML)
> + self.failUnless( hasattr(d, 'cooked_text') )
> self.assertEqual( d.Format(), 'text/html' )
> - self.assertEqual( d.title, 'Title in tag' )
> self.assertEqual( d.text.find('</body>'), -1 )
> - self.assertEqual( d.Description(), 'Describe me' )
> - self.assertEqual( len(d.Contributors()), 3 )
> - self.assertEqual( d.Contributors()[-1], 'Benotz, Larry J (larry@benotz.stuff)' )
> + self.assertEqual( d.cooked_text, '\n <h1>Not a lot here</h1>\n ' )
>
> # Since the format is html, the STX level operands should
> # have no effect.
> ct = d.CookedBody(stx_level=3, setlevel=1)
> self.assertEqual( d._stx_level, 1 )
>
> - subj = list(d.Subject())
> - self.assertEqual( len(subj), 4 )
> - subj.sort()
> - self.assertEqual( subj, [ 'content management'
> - , 'framework'
> - , 'unit tests'
> - , 'zope'
> - ] )
> + def test_editSimpleXHTML(self):
> + d = self.d
> + d.edit('html', SIMPLE_XHTML)
> + self.failUnless( hasattr(d, 'cooked_text') )
> + self.assertEqual( d.Format(), 'text/html' )
> + self.assertEqual( d.cooked_text, '\n <h1>Not a lot here</h1>\n ')
>
> def test_UpperedHtml(self):
> self.REQUEST['BODY'] = BASIC_HTML.upper()
> @@ -93,16 +89,6 @@
> self.assertEqual( d.Format(), 'text/html' )
> self.assertEqual( d.Description(), 'Describe me' )
>
> - def test_EditStripHTMLToBody(self):
> - # bodyfind should strip away everything but the contents of the body
> - # tag.
> - self.REQUEST['BODY'] = BASIC_HTML
> - d = self.d
> - d.PUT(self.REQUEST, self.RESPONSE)
> - self.failUnless( hasattr(d, 'cooked_text') )
> - self.assertEqual( d.Format(), 'text/html' )
> - self.assertEquals(d.cooked_text, '\n <h1>Not a lot here</h1>\n ')
> -
> def test_EditPlainDocumentWithEmbeddedHTML(self):
> d = self.d
> d.edit('structured-text', FAUX_HTML_LEADING_TEXT)
> @@ -371,6 +357,40 @@
> RequestTest.setUp(self)
> self.d = Document('foo')
>
> + def test_PUTBasicHTML(self):
> + self.REQUEST['BODY'] = BASIC_HTML
> + d = self.d
> + r = d.PUT(self.REQUEST, self.RESPONSE)
> + self.failUnless( hasattr(d, 'cooked_text') )
> + self.assertEqual( d.Format(), 'text/html' )
> + self.assertEqual( d.title, 'Title in tag' )
> + self.assertEqual( d.text.find('</body>'), -1 )
> + self.assertEqual( d.Description(), 'Describe me' )
> + self.assertEqual( len(d.Contributors()), 3 )
> + self.assertEqual( d.Contributors()[-1],
> + 'Benotz, Larry J (larry@benotz.stuff)' )
> + self.assertEqual( d.cooked_text, '\n <h1>Not a lot here</h1>\n ' )
> + self.assertEqual( r.status, 204 )
> +
> + subj = list(d.Subject())
> + self.assertEqual( len(subj), 4 )
> + subj.sort()
> + self.assertEqual( subj, [ 'content management'
> + , 'framework'
> + , 'unit tests'
> + , 'zope'
> + ] )
> +
> + def test_PUTSimpleXHTML(self):
> + self.REQUEST['BODY'] = SIMPLE_XHTML
> + d = self.d
> + r = d.PUT(self.REQUEST, self.RESPONSE)
> + self.failUnless( hasattr(d, 'cooked_text') )
> + self.assertEqual( d.Format(), 'text/html' )
> + self.assertEqual( d.Description(), 'Describe me' )
> + self.assertEqual( d.cooked_text, '\n <h1>Not a lot here</h1>\n ' )
> + self.assertEqual( r.status, 204 )
> +
> def test_PutStructuredTextWithHTML(self):
>
> self.REQUEST['BODY'] = STX_WITH_HTML
> @@ -392,14 +412,6 @@
> html = '%s\n\n \n %s' % (DOCTYPE, BASIC_HTML)
> self.REQUEST['BODY'] = html
>
> - r = self.d.PUT(self.REQUEST, self.RESPONSE)
> - self.assertEqual( self.d.Format(), 'text/html' )
> - self.assertEqual( self.d.Description(), 'Describe me' )
> - self.assertEqual( r.status, 204 )
> -
> - def test_PutHtml(self):
> -
> - self.REQUEST['BODY'] = BASIC_HTML
> r = self.d.PUT(self.REQUEST, self.RESPONSE)
> self.assertEqual( self.d.Format(), 'text/html' )
> self.assertEqual( self.d.Description(), 'Describe me' )
>
>
> === CMF/CMFDefault/tests/test_utils.py 1.7.4.1 => 1.7.4.2 ===
> --- CMF/CMFDefault/tests/test_utils.py:1.7.4.1 Sun Feb 2 17:09:28 2003
> +++ CMF/CMFDefault/tests/test_utils.py Mon Feb 3 13:32:14 2003
> @@ -4,6 +4,7 @@
> from Products.CMFCore.tests.base.content import FAUX_HTML_LEADING_TEXT
> from Products.CMFCore.tests.base.content import SIMPLE_HTML
> from Products.CMFCore.tests.base.content import SIMPLE_STRUCTUREDTEXT
> +from Products.CMFCore.tests.base.content import SIMPLE_XHTML
> from Products.CMFCore.tests.base.content import STX_WITH_HTML
>
> from Products.CMFDefault.utils import parseHeadersBody, tuplize, comma_split
> @@ -69,17 +70,21 @@
>
> def test_bodyfinder(self):
> self.assertEqual( bodyfinder(FAUX_HTML_LEADING_TEXT),
> - FAUX_HTML_LEADING_TEXT )
> + '\n <h1>Not a lot here</h1>\n ' )
> self.assertEqual( bodyfinder(SIMPLE_HTML),
> '\n <h1>Not a lot here</h1>\n ' )
> self.assertEqual( bodyfinder(SIMPLE_STRUCTUREDTEXT),
> SIMPLE_STRUCTUREDTEXT )
> - self.assertEqual( bodyfinder(STX_WITH_HTML), STX_WITH_HTML )
> + self.assertEqual( bodyfinder(SIMPLE_XHTML),
> + '\n <h1>Not a lot here</h1>\n ' )
> + self.assertEqual( bodyfinder(STX_WITH_HTML),
> + '<p>Hello world, I am Bruce.</p>' )
>
> def test_html_headcheck(self):
> self.assertEqual( html_headcheck(FAUX_HTML_LEADING_TEXT), 0 )
> self.assertEqual( html_headcheck(SIMPLE_HTML), 1 )
> self.assertEqual( html_headcheck(SIMPLE_STRUCTUREDTEXT), 0 )
> + self.assertEqual( html_headcheck(SIMPLE_XHTML), 1 )
> self.assertEqual( html_headcheck(STX_WITH_HTML), 0 )
>
>
>
>
> _______________________________________________
> CMF-checkins mailing list
> CMF-checkins@zope.org
> http://mail.zope.org/mailman/listinfo/cmf-checkins
--
===============================================================
Tres Seaver tseaver@zope.com
Zope Corporation "Zope Dealers" http://www.zope.com