[Checkins] SVN: zope.documenttemplate/trunk/ Simpler, faster implementation of dt_var.newline_to_br(), with tests.
Paul Winkler
slinkp at gmail.com
Tue Nov 18 15:28:19 EST 2008
Log message for revision 93100:
Simpler, faster implementation of dt_var.newline_to_br(), with tests.
Changed:
U zope.documenttemplate/trunk/CHANGES.txt
U zope.documenttemplate/trunk/src/zope/documenttemplate/dt_var.py
U zope.documenttemplate/trunk/src/zope/documenttemplate/tests/testdt_var.py
-=-
Modified: zope.documenttemplate/trunk/CHANGES.txt
===================================================================
--- zope.documenttemplate/trunk/CHANGES.txt 2008-11-18 20:27:52 UTC (rev 93099)
+++ zope.documenttemplate/trunk/CHANGES.txt 2008-11-18 20:28:18 UTC (rev 93100)
@@ -5,8 +5,10 @@
3.4.3 (Unreleased)
------------------
-- ...
+- Simpler, faster implementation of dt_var.newline_to_br().
+ (It still uses HTML 4 style <br> tags rather than XHTML style.)
+
3.4.2 (2008/10/10)
------------------
Modified: zope.documenttemplate/trunk/src/zope/documenttemplate/dt_var.py
===================================================================
--- zope.documenttemplate/trunk/src/zope/documenttemplate/dt_var.py 2008-11-18 20:27:52 UTC (rev 93099)
+++ zope.documenttemplate/trunk/src/zope/documenttemplate/dt_var.py 2008-11-18 20:28:18 UTC (rev 93100)
@@ -306,10 +306,8 @@
def newline_to_br(v, name='(Unknown name)', md={}):
v = str(v)
- if v.find('\r') >= 0:
- v = ''.join(v.split('\r'))
- if v.find('\n') >= 0:
- v = '<br>\n'.join(v.split('\n'))
+ v = v.replace('\r', '')
+ v = v.replace('\n', '<br>\n')
return v
Modified: zope.documenttemplate/trunk/src/zope/documenttemplate/tests/testdt_var.py
===================================================================
--- zope.documenttemplate/trunk/src/zope/documenttemplate/tests/testdt_var.py 2008-11-18 20:27:52 UTC (rev 93099)
+++ zope.documenttemplate/trunk/src/zope/documenttemplate/tests/testdt_var.py 2008-11-18 20:28:18 UTC (rev 93100)
@@ -149,6 +149,17 @@
korean=u'\uc548\ub155, \uc138\uc0c1!'),
expected)
+
+ def testNewlineToBr(self):
+ from zope.documenttemplate import dt_var
+ text = '\none\ntwo\n\nthree\n\n'
+ expected = '<br>\none<br>\ntwo<br>\n<br>\nthree<br>\n<br>\n'
+ self.assertEqual(dt_var.newline_to_br(text), expected)
+
+ dos = text.replace('\n', '\r\n')
+ self.assertEqual(dt_var.newline_to_br(dos), expected)
+
+
def test_suite():
suite = unittest.TestSuite()
suite.addTest(unittest.makeSuite(TestDT_Var))
More information about the Checkins
mailing list