[CMF-checkins] CVS: CMF/CMFDefault/tests - test_Document.py:1.21.8.2 test_NewsItem.py:1.4.32.1
Chris Withers
chrisw@nipltd.com
Fri, 15 Feb 2002 14:33:28 -0500
Update of /cvs-repository/CMF/CMFDefault/tests
In directory cvs.zope.org:/tmp/cvs-serv8056/CMFDefault/tests
Modified Files:
Tag: ChrisW-refactor_tests-branch
test_Document.py test_NewsItem.py
Log Message:
Done Document,NewsItem
=== CMF/CMFDefault/tests/test_Document.py 1.21.8.1 => 1.21.8.2 ===
RequestTest
-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">'''
+from Products.CMFCore.tests.base.content import \
+ DOCTYPE, HTML_TEMPLATE, BASIC_HTML, ENTITY_IN_TITLE, BASIC_STRUCTUREDTEXT, \
+ STX_WITH_HTML, STX_NO_HEADERS, STX_NO_HEADERS_BUT_COLON, \
+ SIMPLE_STRUCTUREDTEXT, SIMPLE_HTML
-HTML_TEMPLATE = '''\
-<html><head>
- <title>%(title)s</title>
-</head>
-<body bgcolor="#efe843">%(body)s</body>
-</html>
-'''
-
-BASIC_HTML = '''\
-<html>
- <head>
- <title>Title in tag</title>
- <meta name="description" content="Describe me">
- <meta name="contributors" content="foo@bar.com; baz@bam.net;
- Benotz, Larry J (larry@benotz.stuff)">
- <meta name="title" content="Title in meta">
- <meta name="subject" content="content management">
- <meta name="keywords" content="unit tests, framework; ,zope ">
- </head>
- <body bgcolor="#ffffff">
- <h1>Not a lot here</h1>
- </body>
-</html>
-'''
-
-SIMPLE_HTML = '''\
-<html>
- <head>
- <title>Title in tag</title>
- <meta name="description" content="Describe me">
- <meta name="contributors" content="foo@bar.com; baz@bam.net;
- Benotz, Larry J (larry@benotz.stuff)">
- <meta name="title" content="Title in meta">
- <meta name="subject" content="content management">
- </head>
- <body bgcolor="#ffffff">
- <h1>Not a lot here</h1>
- </body>
-</html>
-'''
-
-ENTITY_IN_TITLE = '''\
-<html>
- <head>
- <title>&Auuml;rger</title>
- </head>
- <bOdY>
- <h2>Not a lot here either</h2>
- </bodY>
-</html>
-'''
-
-BASIC_STRUCTUREDTEXT = '''\
-Title: My Document
-Description: A document by me
-Contributors: foo@bar.com; baz@bam.net; no@yes.maybe
-Subject: content management, zope
-Keywords: unit tests; , framework
-
-This is the header
-
- Body body body body body
- body body body.
-
- o A list item
-
- o And another thing...
-'''
-
-SIMPLE_STRUCTUREDTEXT = '''\
-Title: My Document
-Description: A document by me
-Contributors: foo@bar.com; baz@bam.net; no@yes.maybe
-Subject: content management, zope
-
-This is the header
-
- Body body body body body
- body body body.
-
- o A list item
-
- o And another thing...
-'''
-
-STX_WITH_HTML = """\
-Sometimes people do interesting things
-
- Sometimes people do interesting things like have examples
- of HTML inside their structured text document. We should
- be detecting that this is indeed a structured text document
- and **NOT** an HTML document::
-
- <html>
- <head><title>Hello World</title></head>
- <body><p>Hello world, I am Bruce.</p></body>
- </html>
-
- All in favor say pi!
-"""
-
-STX_NO_HEADERS = """\
-Title Phrase
-
- This is a "plain" STX file, with no headers. Saving with
- it shouldn't overwrite any metadata.
-"""
-
-STX_NO_HEADERS_BUT_COLON = """\
-Plain STX: No magic!
-
- This is a "plain" STX file, with no headers. Saving with
- it shouldn't overwrite any metadata.
-"""
+from Products.CMFDefault.Document import Document
class DocumentTests(RequestTest):
@@ -349,12 +237,12 @@
class TestFTPGet( RequestTest ):
def testHTML( self ):
- self.REQUEST['BODY']=SIMPLE_HTML
+ self.REQUEST['BODY']=BASIC_HTML
d = Document( 'foo' )
d.PUT(self.REQUEST, self.RESPONSE)
rnlinesplit = compile( r'\r?\n?' )
- simple_lines = rnlinesplit.split( SIMPLE_HTML )
+ simple_lines = rnlinesplit.split( BASIC_HTML )
get_lines = rnlinesplit.split( d.manage_FTPget() )
# strip off headers
=== CMF/CMFDefault/tests/test_NewsItem.py 1.4 => 1.4.32.1 ===
-from utils import fakeRequest, fakeResponse
+from unittest import makeSuite, main
+
from Products.CMFDefault.NewsItem import NewsItem
-#"
-DOCTYPE = '''<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">'''
-BASIC_HTML = '''\
-<html>
- <head>
- <title>Title in tag</title>
- <meta name="description" content="Describe me">
- <meta name="contributors" content="foo@bar.com; baz@bam.net">
- </head>
- <body bgcolor="#ffffff">
- <h1>Not a lot here</h1>
- </body>
-</html>
-'''
-
-ENTITY_IN_TITLE = '''\
-<html>
- <head>
- <title>&Auuml;rger</title>
- </head>
- <bOdY>
- <h2>Not a lot here either</h2>
- </bodY>
-</html>
-'''
-
-BASIC_STRUCTUREDTEXT = '''\
-Title: My NewsItem
-Description: A news item by me
-Contributors: foo@bar.com; baz@bam.net; no@yes.maybe
-
-This is the header and it supercedes the title
-
- Body body body body body
- body body body.
-
- o What does this do
-
- o if it happens to you?
-'''
+from Products.CMFCore.tests.base.testcase import \
+ RequestTest
-class NewsItemTests(unittest.TestCase):
+from Products.CMFCore.tests.base.content import \
+ DOCTYPE, BASIC_HTML, ENTITY_IN_TITLE, BASIC_STRUCTUREDTEXT
- def setUp( self ):
- get_transaction().begin()
+class NewsItemTests(RequestTest):
- def tearDown( self ):
- get_transaction().abort()
+ def setUp(self):
+ RequestTest.setUp(self)
+ self.d = NewsItem('foo')
def test_Empty(self):
d = NewsItem('foo', text_format='structured-text')
@@ -59,91 +22,80 @@
assert d.text_format == 'structured-text'
def test_BasicHtml(self):
- REQUEST = fakeRequest()
- REQUEST['BODY']=BASIC_HTML
- d = NewsItem('foo')
- d.PUT(REQUEST, RESPONSE=fakeResponse())
+ self.REQUEST['BODY']=BASIC_HTML
+ d = self.d
+ d.PUT(self.REQUEST, self.RESPONSE)
assert d.Format() == 'text/html', d.Format()
assert d.title == 'Title in tag'
- assert string.find(d.text, '</body>') == -1
+ self.assertEqual(d.text.find('</body>'),-1)
assert d.Description() == 'Describe me'
- assert len(d.Contributors()) == 2
+ self.assertEqual(len(d.Contributors()),3)
def test_UpperedHtml(self):
- REQUEST = fakeRequest()
- REQUEST['BODY'] = string.upper(BASIC_HTML)
- d = NewsItem('foo')
- d.PUT(REQUEST, RESPONSE=fakeResponse())
+ self.REQUEST['BODY'] = BASIC_HTML.upper()
+ d = self.d
+ d.PUT(self.REQUEST, self.RESPONSE)
assert d.Format() == 'text/html'
assert d.title == 'TITLE IN TAG'
- assert string.find(d.text, '</BODY') == -1
+ self.assertEqual( d.text.find('</BODY'),-1)
assert d.Description() == 'DESCRIBE ME'
- assert len(d.Contributors()) == 2
+ assert len(d.Contributors()) == 3
def test_EntityInTitle(self):
- REQUEST = fakeRequest()
- REQUEST['BODY'] = ENTITY_IN_TITLE
- d = NewsItem('foo')
- d.PUT(REQUEST, RESPONSE=fakeResponse())
+ self.REQUEST['BODY'] = ENTITY_IN_TITLE
+ d = self.d
+ d.PUT(self.REQUEST, self.RESPONSE)
assert d.title == '&Auuml;rger', "Title '%s' being lost" % (
d.title )
def test_HtmlWithDoctype(self):
- REQUEST = fakeRequest()
- d = NewsItem('foo')
- REQUEST['BODY'] = '%s\n%s' % (DOCTYPE, BASIC_HTML)
- d.PUT(REQUEST, RESPONSE=fakeResponse())
+ d = self.d
+ self.REQUEST['BODY'] = '%s\n%s' % (DOCTYPE, BASIC_HTML)
+ d.PUT(self.REQUEST, self.RESPONSE)
assert d.Description() == 'Describe me'
def test_HtmlWithoutNewlines(self):
- REQUEST = fakeRequest()
- d = NewsItem('foo')
- REQUEST['BODY'] = string.join(string.split(BASIC_HTML, '\n'), '')
- d.PUT(REQUEST, RESPONSE=fakeResponse())
+ d = self.d
+ self.REQUEST['BODY'] = ''.join(BASIC_HTML.split('\n'))
+ d.PUT(self.REQUEST, self.RESPONSE)
assert d.Format() == 'text/html'
assert d.Description() == 'Describe me'
def test_StructuredText(self):
- REQUEST = fakeRequest()
- REQUEST['BODY'] = BASIC_STRUCTUREDTEXT
- d = NewsItem('foo')
- d.PUT(REQUEST, RESPONSE=fakeResponse())
+ self.REQUEST['BODY'] = BASIC_STRUCTUREDTEXT
+ d = self.d
+ d.PUT(self.REQUEST, self.RESPONSE)
assert d.Format() == 'text/plain'
- assert d.Title() == 'My NewsItem'
- assert d.Description() == 'A news item by me'
+ self.assertEqual(d.Title(),'My Document')
+ self.assertEqual(d.Description(),'A document by me')
assert len(d.Contributors()) == 3
- assert string.find(d.cooked_text, '<p>') >= 0
+ self.failUnless(d.cooked_text.find('<p>') >= 0)
def test_Init(self):
- REQUEST = fakeRequest()
- REQUEST['BODY'] = BASIC_STRUCTUREDTEXT
+ self.REQUEST['BODY'] = BASIC_STRUCTUREDTEXT
d = NewsItem('foo', text='')
- d.PUT(REQUEST, RESPONSE=fakeResponse())
+ d.PUT(self.REQUEST, self.RESPONSE)
assert d.Format() == 'text/plain'
- assert d.Title() == 'My NewsItem', d.Title()
- assert d.Description() == 'A news item by me'
+ self.assertEqual(d.Title(),'My Document')
+ self.assertEqual(d.Description(),'A document by me')
assert len(d.Contributors()) == 3
- assert string.find(d.cooked_text, '<p>') >= 0
+ self.failUnless(d.cooked_text.find('<p>') >= 0)
d = NewsItem('foo', text='')
- REQUEST['BODY'] = BASIC_HTML
- d.PUT(REQUEST, RESPONSE=fakeResponse())
+ self.REQUEST['BODY'] = BASIC_HTML
+ d.PUT(self.REQUEST, self.RESPONSE)
assert d.Format() == 'text/html'
assert d.Title() == 'Title in tag'
- assert len(d.Contributors()) == 2
+ assert len(d.Contributors()) == 3
d = NewsItem('foo', text_format='structured-text', title='Foodoc')
assert d.text == ''
assert d.title == 'Foodoc'
assert d.Format() == 'text/plain'
-
-
def test_suite():
- return unittest.makeSuite(NewsItemTests)
-
-def main():
- unittest.TextTestRunner().run(test_suite())
+ return makeSuite(NewsItemTests)
-if __name__=='__main__': main()
+if __name__=='__main__':
+ main(defaultTest='test_suite')