[Zope-Checkins] CVS: Zope/lib/python/DocumentTemplate/tests - testDTMLUnicode.py:1.2.2.1 testustr.py:1.2.2.1
   
    Casey Duncan
     
    casey@zope.com
       
    Wed, 27 Mar 2002 15:51:09 -0500
    
    
  
Update of /cvs-repository/Zope/lib/python/DocumentTemplate/tests
In directory cvs.zope.org:/tmp/cvs-serv22094/lib/python/DocumentTemplate/tests
Added Files:
      Tag: casey-death_to_index_html-branch
	testDTMLUnicode.py testustr.py 
Log Message:
Updating branch to head for testing
=== Added File Zope/lib/python/DocumentTemplate/tests/testDTMLUnicode.py ===
##############################################################################
#
# Copyright (c) 2001 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
# 
##############################################################################
"""Document Template Tests
"""
__rcs_id__='$Id: testDTMLUnicode.py,v 1.2.2.1 2002/03/27 20:51:08 caseman Exp $'
__version__='$Revision: 1.2.2.1 $'[11:-2]
import sys, os
import unittest
from DocumentTemplate.DT_HTML import HTML, String
from ExtensionClass import Base
class force_str:
    # A class whose string representation is not always a plain string:
    def __init__(self,s):
        self.s = s
    def __str__(self):
        return self.s
class DTMLUnicodeTests (unittest.TestCase):
    doc_class = HTML
    def testAA(self):
        html=self.doc_class('<dtml-var a><dtml-var b>')
        expected = 'helloworld'
        res = html(a='hello',b='world')
        assert res == expected, `res`
    def testUU(self):
        html=self.doc_class('<dtml-var a><dtml-var b>')
        expected = u'helloworld'
        res = html(a=u'hello',b=u'world')
        assert res == expected, `res`
    def testAU(self):
        html=self.doc_class('<dtml-var a><dtml-var b>')
        expected = u'helloworld'
        res = html(a='hello',b=u'world')
        assert res == expected, `res`
    def testAB(self):
        html=self.doc_class('<dtml-var a><dtml-var b>')
        expected = 'hello\xc8'
        res = html(a='hello',b=chr(200))
        assert res == expected, `res`
    def testUB(self):
        html=self.doc_class('<dtml-var a><dtml-var b>')
        expected = u'hello\xc8'
        res = html(a=u'hello',b=chr(200))
        assert res == expected, `res`
    def testUB2(self):
        html=self.doc_class('<dtml-var a><dtml-var b>')
        expected = u'\u07d0\xc8'
        res = html(a=unichr(2000),b=chr(200))
        assert res == expected, `res`
    def testUnicodeStr(self):
        html=self.doc_class('<dtml-var a><dtml-var b>')
        expected = u'\u07d0\xc8'
        res = html(a=force_str(unichr(2000)),b=chr(200))
        assert res == expected, `res`
    def testUqB(self):
        html=self.doc_class('<dtml-var a html_quote><dtml-var b>')
        expected = u'he>llo\xc8'
        res = html(a=u'he>llo',b=chr(200))
        assert res == expected, `res`
def test_suite():
    suite = unittest.TestSuite()
    suite.addTest( unittest.makeSuite( DTMLUnicodeTests ) )
    return suite
def main():
    unittest.TextTestRunner().run(test_suite())
if __name__ == '__main__':
    main()
=== Added File Zope/lib/python/DocumentTemplate/tests/testustr.py ===
##############################################################################
#
# Copyright (c) 2001 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
# 
##############################################################################
"""Document Template Tests
"""
__rcs_id__='$Id: testustr.py,v 1.2.2.1 2002/03/27 20:51:08 caseman Exp $'
__version__='$Revision: 1.2.2.1 $'[11:-2]
import sys, os
import unittest
from DocumentTemplate.ustr import ustr
from ExtensionClass import Base
class force_str:
    # A class whose string representation is not always a plain string:
    def __init__(self,s):
        self.s = s
    def __str__(self):
        return self.s
class UnicodeTests (unittest.TestCase):
    def testPlain(self):
        a = ustr('hello')
        assert a=='hello', `a`
        a = ustr(force_str('hello'))
        assert a=='hello', `a`
        a = ustr(chr(200))
        assert a==chr(200), `a`
        a = ustr(force_str(chr(200)))
        assert a==chr(200), `a`
        a = ustr(22)
        assert a=='22', `a`
        a = ustr([1,2,3])
        assert a=='[1, 2, 3]', `a`
    def testUnicode(self):
        a = ustr(u'hello')
        assert a=='hello', `a`
        a = ustr(force_str(u'hello'))
        assert a=='hello', `a`
        a = ustr(unichr(200))
        assert a==unichr(200), `a`
        a = ustr(force_str(unichr(200)))
        assert a==unichr(200), `a`
    def testExceptions(self):
        a = ustr(ValueError(unichr(200)))
        assert a==unichr(200), `a`
def test_suite():
    suite = unittest.TestSuite()
    suite.addTest( unittest.makeSuite( UnicodeTests ) )
    return suite
def main():
    unittest.TextTestRunner().run(test_suite())
if __name__ == '__main__':
    main()