Mercurial > genshi > genshi-test
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) |