comparison genshi/tests/core.py @ 902:09cc3627654c experimental-inline

Sync `experimental/inline` branch with [source:trunk@1126].
author cmlenz
date Fri, 23 Apr 2010 21:08:26 +0000
parents 1837f39efd6f
children
comparison
equal deleted inserted replaced
830:de82830f8816 902:09cc3627654c
1 # -*- coding: utf-8 -*- 1 # -*- coding: utf-8 -*-
2 # 2 #
3 # Copyright (C) 2006 Edgewall Software 3 # Copyright (C) 2006-2009 Edgewall Software
4 # All rights reserved. 4 # All rights reserved.
5 # 5 #
6 # This software is licensed as described in the file COPYING, which 6 # This software is licensed as described in the file COPYING, which
7 # you should have received as part of this distribution. The terms 7 # you should have received as part of this distribution. The terms
8 # are also available at http://genshi.edgewall.org/wiki/License. 8 # are also available at http://genshi.edgewall.org/wiki/License.
55 xml = XML('<li>Foo</li>') 55 xml = XML('<li>Foo</li>')
56 buf = StringIO() 56 buf = StringIO()
57 pickle.dump(xml, buf, 2) 57 pickle.dump(xml, buf, 2)
58 buf.seek(0) 58 buf.seek(0)
59 xml = pickle.load(buf) 59 xml = pickle.load(buf)
60 self.assertEquals('<li>Foo</li>', xml.render()) 60 self.assertEquals('<li>Foo</li>', xml.render(encoding=None))
61 61
62 62
63 class MarkupTestCase(unittest.TestCase): 63 class MarkupTestCase(unittest.TestCase):
64 64
65 def test_new_with_encoding(self): 65 def test_new_with_encoding(self):
173 buf.seek(0) 173 buf.seek(0)
174 unpickled = pickle.load(buf) 174 unpickled = pickle.load(buf)
175 self.assertEquals("Attrs([('attr1', 'foo'), ('attr2', 'bar')])", 175 self.assertEquals("Attrs([('attr1', 'foo'), ('attr2', 'bar')])",
176 repr(unpickled)) 176 repr(unpickled))
177 177
178 def test_non_ascii(self):
179 attrs_tuple = Attrs([("attr1", u"föö"), ("attr2", u"bär")]).totuple()
180 self.assertEqual(u'fööbär', attrs_tuple[1])
181
178 182
179 class NamespaceTestCase(unittest.TestCase): 183 class NamespaceTestCase(unittest.TestCase):
180 184
181 def test_pickle(self): 185 def test_repr(self):
186 self.assertEqual("Namespace('http://www.example.org/namespace')",
187 repr(Namespace('http://www.example.org/namespace')))
188
189 def test_repr_eval(self):
182 ns = Namespace('http://www.example.org/namespace') 190 ns = Namespace('http://www.example.org/namespace')
191 self.assertEqual(eval(repr(ns)), ns)
192
193 def test_repr_eval_non_ascii(self):
194 ns = Namespace(u'http://www.example.org/nämespäcé')
195 self.assertEqual(eval(repr(ns)), ns)
196
197 def test_pickle(self):
198 ns = Namespace('http://www.example.org/namespace')
183 buf = StringIO() 199 buf = StringIO()
184 pickle.dump(ns, buf, 2) 200 pickle.dump(ns, buf, 2)
185 buf.seek(0) 201 buf.seek(0)
186 unpickled = pickle.load(buf) 202 unpickled = pickle.load(buf)
187 self.assertEquals('<Namespace "http://www.example.org/namespace">', 203 self.assertEquals("Namespace('http://www.example.org/namespace')",
188 repr(unpickled)) 204 repr(unpickled))
189 self.assertEquals('http://www.example.org/namespace', unpickled.uri) 205 self.assertEquals('http://www.example.org/namespace', unpickled.uri)
190 206
191 207
192 class QNameTestCase(unittest.TestCase): 208 class QNameTestCase(unittest.TestCase):
201 self.assertEquals('http://www.example.org/namespace', 217 self.assertEquals('http://www.example.org/namespace',
202 unpickled.namespace) 218 unpickled.namespace)
203 self.assertEquals('elem', unpickled.localname) 219 self.assertEquals('elem', unpickled.localname)
204 220
205 def test_repr(self): 221 def test_repr(self):
206 self.assertEqual("QName(u'elem')", repr(QName('elem'))) 222 self.assertEqual("QName('elem')", repr(QName('elem')))
207 self.assertEqual("QName(u'http://www.example.org/namespace}elem')", 223 self.assertEqual("QName('http://www.example.org/namespace}elem')",
208 repr(QName('http://www.example.org/namespace}elem'))) 224 repr(QName('http://www.example.org/namespace}elem')))
225
226 def test_repr_eval(self):
227 qn = QName('elem')
228 self.assertEqual(eval(repr(qn)), qn)
229
230 def test_repr_eval_non_ascii(self):
231 qn = QName(u'élem')
232 self.assertEqual(eval(repr(qn)), qn)
209 233
210 def test_leading_curly_brace(self): 234 def test_leading_curly_brace(self):
211 qname = QName('{http://www.example.org/namespace}elem') 235 qname = QName('{http://www.example.org/namespace}elem')
212 self.assertEquals('http://www.example.org/namespace', qname.namespace) 236 self.assertEquals('http://www.example.org/namespace', qname.namespace)
213 self.assertEquals('elem', qname.localname) 237 self.assertEquals('elem', qname.localname)
Copyright (C) 2012-2017 Edgewall Software