[CMF-checkins] CVS: CMF/CMFDefault/tests - test_Document.py:1.19.2.1
Tres Seaver
tseaver@zope.com
Mon, 17 Dec 2001 13:22:28 -0500
Update of /cvs-repository/CMF/CMFDefault/tests
In directory cvs.zope.org:/tmp/cvs-serv6880/CMFDefault/tests
Modified Files:
Tag: CMF-1_2-branch
test_Document.py
Log Message:
- Ensure that Documents constructed with initial STX get cooked
(Tracker #435).
- Refactor unit test for Document to use 'assertEqual', et aliae.
=== CMF/CMFDefault/tests/test_Document.py 1.19 => 1.19.2.1 ===
-from utils import fakeRequest, fakeResponse
+from Products.CMFDefault.tests.utils import fakeRequest, fakeResponse
from Products.CMFDefault.Document import Document
#"
DOCTYPE = '''<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">'''
@@ -129,72 +129,70 @@
def test_Empty(self):
d = Document('foo', text_format='structured-text')
- assert d.title == ''
- assert d.description == ''
- assert d.text == ''
- assert d.text_format == 'structured-text'
- assert d._stx_level == 1
+ self.assertEqual( d.title, '' )
+ self.assertEqual( d.description, '' )
+ self.assertEqual( d.text, '' )
+ self.assertEqual( d.text_format, 'structured-text' )
+ self.assertEqual( d._stx_level, 1 )
def test_BasicHtmlPUT(self):
REQUEST = fakeRequest()
REQUEST['BODY'] = BASIC_HTML
d = Document('foo')
d.PUT(REQUEST, RESPONSE=fakeResponse())
- assert d.Format() == 'text/html'
- assert d.title == 'Title in tag'
- assert string.find(d.text, '</body>') == -1
- assert d.Description() == 'Describe me'
- assert len(d.Contributors()) == 3
- assert d.Contributors()[-1] == 'Benotz, Larry J (larry@benotz.stuff)'
+ self.assertEqual( d.Format(), 'text/html' )
+ self.assertEqual( d.title, 'Title in tag' )
+ self.assertEqual( string.find(d.text, '</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)' )
# Since the format is html, the STX level operands should
# have no effect.
ct = d.CookedBody(stx_level=3, setlevel=1)
- assert d._stx_level == 1
+ self.assertEqual( d._stx_level, 1 )
subj = list(d.Subject())
- assert len(subj) == 4
+ self.assertEqual( len(subj), 4 )
subj.sort()
- assert subj == [
- 'content management',
- 'framework',
- 'unit tests',
- 'zope'
- ]
+ self.assertEqual( subj, [ 'content management'
+ , 'framework'
+ , 'unit tests'
+ , 'zope'
+ ] )
def test_UpperedHtml(self):
REQUEST=fakeRequest()
REQUEST['BODY'] = string.upper(BASIC_HTML)
d = Document('foo')
d.PUT(REQUEST, RESPONSE=fakeResponse())
- assert d.Format() == 'text/html'
- assert d.title == 'TITLE IN TAG'
- assert string.find(d.text, '</BODY') == -1
- assert d.Description() == 'DESCRIBE ME'
- assert len(d.Contributors()) == 3
+ self.assertEqual( d.Format(), 'text/html' )
+ self.assertEqual( d.title, 'TITLE IN TAG' )
+ self.assertEqual( string.find(d.text, '</BODY'), -1 )
+ self.assertEqual( d.Description(), 'DESCRIBE ME' )
+ self.assertEqual( len(d.Contributors()), 3 )
def test_EntityInTitle(self):
REQUEST=fakeRequest()
REQUEST['BODY'] = ENTITY_IN_TITLE
d = Document('foo')
d.PUT(REQUEST, RESPONSE=fakeResponse())
- assert d.title == '&Auuml;rger', "Title '%s' being lost" % (
- d.title )
+ self.assertEqual( d.title, '&Auuml;rger' )
def test_HtmlWithDoctype(self):
REQUEST=fakeRequest()
d = Document('foo')
REQUEST['BODY'] = '%s\n%s' % (DOCTYPE, BASIC_HTML)
d.PUT(REQUEST, RESPONSE=fakeResponse())
- assert d.Description() == 'Describe me'
+ self.assertEqual( d.Description(), 'Describe me' )
def test_HtmlWithoutNewlines(self):
REQUEST=fakeRequest()
d = Document('foo')
REQUEST['BODY'] = string.join(string.split(BASIC_HTML, '\n'), '')
d.PUT(REQUEST, RESPONSE=fakeResponse())
- assert d.Format() == 'text/html'
- assert d.Description() == 'Describe me'
+ self.assertEqual( d.Format(), 'text/html' )
+ self.assertEqual( d.Description(), 'Describe me' )
def test_BigHtml(self):
REQUEST = fakeRequest()
@@ -206,7 +204,7 @@
REQUEST['BODY'] = HTML_TEMPLATE % {'title': 'big document',
'body': body}
d.PUT(REQUEST, RESPONSE=fakeResponse())
- assert d.CookedBody() == body
+ self.assertEqual( d.CookedBody(), body )
def test_BigHtml_via_upload(self):
d = Document('foo')
@@ -219,90 +217,95 @@
from StringIO import StringIO
file = StringIO( html )
d.edit(text_format='html', text='', file=file)
- assert d.CookedBody() == body
+ self.assertEqual( d.CookedBody(), body )
def test_EditStructuredTextWithHTML(self):
d = Document('foo')
d.edit(text_format='structured-text', text=STX_WITH_HTML)
- assert d.Format() == 'text/plain', "%s != %s" % (
- d.Format(), 'text/plain')
+ self.assertEqual( d.Format(), 'text/plain' )
def test_StructuredText(self):
REQUEST=fakeRequest()
REQUEST['BODY'] = BASIC_STRUCTUREDTEXT
d = Document('foo')
d.PUT(REQUEST, RESPONSE=fakeResponse())
- assert hasattr(d, 'cooked_text')
- assert d.Format() == 'text/plain'
- assert d.Title() == 'My Document'
- assert d.Description() == 'A document by me'
- assert len(d.Contributors()) == 3
- assert string.find(d.cooked_text, '<p>') >= 0
- assert string.find(d.CookedBody(), '<h1') >= 0
+ self.failUnless( hasattr(d, 'cooked_text') )
+ self.assertEqual( d.Format(), 'text/plain' )
+ self.assertEqual( d.Title(), 'My Document' )
+ self.assertEqual( d.Description(), 'A document by me' )
+ self.assertEqual( len(d.Contributors()), 3 )
+ self.failUnless( string.find(d.cooked_text, '<p>') >= 0 )
+ self.failUnless( string.find(d.CookedBody(), '<h1') >= 0 )
# Make sure extra HTML is NOT found
- assert string.find(d.cooked_text, '<title>') == -1, d.cooked_text
- assert string.find(d.cooked_text, '<body>') == -1, d.cooked_text
+ self.failUnless( string.find(d.cooked_text, '<title>') < 0 )
+ self.failUnless( string.find(d.cooked_text, '<body>') < 0 )
# test subject/keyword headers
subj = list(d.Subject())
- assert len(subj) == 4
+ self.assertEqual( len(subj), 4 )
subj.sort()
- assert subj == [
- 'content management',
- 'framework',
- 'unit tests',
- 'zope'
- ]
+ self.assertEqual( subj, [ 'content management'
+ , 'framework'
+ , 'unit tests'
+ , 'zope'
+ ] )
def test_STX_Levels(self):
d = Document('foo')
d.edit(text_format='structured-text', text=BASIC_STRUCTUREDTEXT)
- assert d._stx_level == 1
+ self.assertEqual( d._stx_level, 1 )
ct = d.CookedBody()
- assert string.find(d.CookedBody(), '<h1') >= 0
- assert d._stx_level == 1
+ self.failUnless( string.find(d.CookedBody(), '<h1') >= 0 )
+ self.assertEqual( d._stx_level, 1 )
ct = d.CookedBody(stx_level=2)
- assert not (string.find(ct, '<h1') >= 0)
- assert string.find(ct, '<h2') >= 0
- assert d._stx_level == 1
+ self.failIf( (string.find(ct, '<h1') >= 0) )
+ self.failUnless( string.find(ct, '<h2') >= 0 )
+ self.assertEqual( d._stx_level, 1 )
ct = d.CookedBody(stx_level=2, setlevel=1)
- assert not (string.find(ct, '<h1') >= 0)
- assert string.find(ct, '<h2') >= 0
- assert d._stx_level == 2
+ self.failIf( (string.find(ct, '<h1') >= 0) )
+ self.failUnless( string.find(ct, '<h2') >= 0 )
+ self.assertEqual( d._stx_level, 2 )
ct = d.CookedBody()
- assert d._stx_level == 2
- assert not (string.find(d.CookedBody(), '<h1') >= 0)
- assert string.find(d.CookedBody(), '<h2') >= 0
+ self.assertEqual( d._stx_level, 2 )
+ self.failIf( (string.find(d.CookedBody(), '<h1') >= 0) )
+ self.failUnless( string.find(d.CookedBody(), '<h2') >= 0 )
def test_Init(self):
REQUEST=fakeRequest()
REQUEST['BODY']=BASIC_STRUCTUREDTEXT
d = Document('foo')
d.PUT(REQUEST, RESPONSE=fakeResponse())
- assert d.Format() == 'text/plain'
- assert d.Title() == 'My Document'
- assert d.Description() == 'A document by me'
- assert len(d.Contributors()) == 3
- assert string.find(d.cooked_text, '<p>') >= 0
+ self.assertEqual( d.Format(), 'text/plain' )
+ self.assertEqual( d.Title(), 'My Document' )
+ self.assertEqual( d.Description(), 'A document by me' )
+ self.assertEqual( len(d.Contributors()), 3 )
+ self.failUnless( string.find(d.cooked_text, '<p>') >= 0 )
d = Document('foo', text='')
REQUEST['BODY']=BASIC_HTML
d.PUT(REQUEST, RESPONSE=fakeResponse())
- assert d.Format() == 'text/html'
- assert d.Title() == 'Title in tag'
- assert len(d.Contributors()) == 3
+ self.assertEqual( d.Format(), 'text/html' )
+ self.assertEqual( d.Title(), 'Title in tag' )
+ self.assertEqual( len(d.Contributors()), 3 )
d = Document('foo', text_format='structured-text', title='Foodoc')
- assert d.text == ''
- assert d.title == 'Foodoc'
- assert d.Format() == 'text/plain'
+ self.assertEqual( d.text, '' )
+ self.failIf( d.CookedBody() )
+ self.assertEqual( d.title, 'Foodoc' )
+ self.assertEqual( d.Format(), 'text/plain' )
+
+ # Tracker issue 435: initial text is not cooked.
+ d = Document('foo', text_format='structured-text', text=STX_NO_HEADERS)
+ self.assertEqual( d.EditableBody(), STX_NO_HEADERS )
+ self.failUnless( d.CookedBody() )
+ self.assertEqual( d.Format(), 'text/plain' )
def test_STX_NoHeaders( self ):
REQUEST=fakeRequest()
@@ -312,21 +315,21 @@
, description="Look, Ma, no headers!"
, subject=( "plain", "STX" )
)
- assert d.Format() == 'text/html'
- assert d.Title() == 'Plain STX'
- assert d.Description() == 'Look, Ma, no headers!'
- assert len( d.Subject() ) == 2
- assert 'plain' in d.Subject()
- assert 'STX' in d.Subject()
+ self.assertEqual( d.Format(), 'text/html' )
+ self.assertEqual( d.Title(), 'Plain STX' )
+ self.assertEqual( d.Description(), 'Look, Ma, no headers!' )
+ self.assertEqual( len( d.Subject() ), 2 )
+ self.failUnless( 'plain' in d.Subject() )
+ self.failUnless( 'STX' in d.Subject() )
d.PUT(REQUEST, RESPONSE=fakeResponse())
- assert d.Format() == 'text/plain'
- assert d.Title() == 'Plain STX'
- assert d.Description() == 'Look, Ma, no headers!'
- assert len( d.Subject() ) == 2
- assert 'plain' in d.Subject()
- assert 'STX' in d.Subject()
+ self.assertEqual( d.Format(), 'text/plain' )
+ self.assertEqual( d.Title(), 'Plain STX' )
+ self.assertEqual( d.Description(), 'Look, Ma, no headers!' )
+ self.assertEqual( len( d.Subject() ), 2 )
+ self.failUnless( 'plain' in d.Subject() )
+ self.failUnless( 'STX' in d.Subject() )
def test_STX_NoHeaders_but_colon( self ):
d = Document('foo')
@@ -390,14 +393,14 @@
get_headers.append( ( 'title', match.group(1) ) )
get_lines = get_lines[1:]
- assert get_lines == simple_lines
+ self.assertEqual( get_lines, simple_lines )
- assert get_headers
- assert simple_headers
- assert len( get_headers ) >= len( simple_headers )
+ self.failUnless( get_headers )
+ self.failUnless( simple_headers )
+ self.failUnless( len( get_headers ) >= len( simple_headers ) )
for header in simple_headers:
- assert header in get_headers, [header, get_headers]
+ self.failUnless( header in get_headers )
def testSTX( self ):
REQUEST=fakeRequest()
@@ -419,10 +422,10 @@
get_headers.append( get_lines[0] )
get_lines = get_lines[1:]
- assert get_lines == simple_lines
+ self.assertEqual( get_lines, simple_lines )
for header in simple_headers:
- assert header in get_headers, [header, get_headers]
+ self.failUnless( header in get_headers )
class TestDocumentPUT(unittest.TestCase):
def setUp(self):
@@ -446,9 +449,8 @@
self._request.body = STX_WITH_HTML
r = d.PUT(self._request, self._response)
- assert d.Format() == 'text/plain', "%s != %s" % (
- d.Format(), 'text/plain')
- assert r.status == 204
+ self.assertEqual( d.Format(), 'text/plain' )
+ self.assertEqual( r.status, 204 )
def test_PutStructuredText(self):
d = Document('foo')
@@ -456,28 +458,25 @@
self._request.body = BASIC_STRUCTUREDTEXT
r = d.PUT(self._request, self._response)
- assert d.Format() == 'text/plain', '%s != %s' % (
- d.Format(), 'text/plain')
- assert r.status == 204
+ self.assertEqual( d.Format(), 'text/plain' )
+ self.assertEqual( r.status, 204 )
def test_PutHtmlWithDoctype(self):
d = Document('foo')
html = '%s\n\n \n %s' % (DOCTYPE, BASIC_HTML)
self._request.body = html
r = d.PUT(self._request, self._response)
- assert d.Format() == 'text/html', "%s != %s" % (
- d.Format(), 'text/html')
- assert d.Description() == 'Describe me'
- assert r.status == 204
+ self.assertEqual( d.Format(), 'text/html' )
+ self.assertEqual( d.Description(), 'Describe me' )
+ self.assertEqual( r.status, 204 )
def test_PutHtml(self):
d = Document('foo')
self._request.body = BASIC_HTML
r = d.PUT(self._request, self._response)
- assert d.Format() == 'text/html', "%s != %s" % (
- d.Format(), 'text/html')
- assert d.Description() == 'Describe me'
- assert r.status == 204
+ self.assertEqual( d.Format(), 'text/html' )
+ self.assertEqual( d.Description(), 'Describe me' )
+ self.assertEqual( r.status, 204 )
def test_suite():