summaryrefslogtreecommitdiff
path: root/test/utils.py
diff options
context:
space:
mode:
authorroot <devnull@localhost>2006-04-26 10:48:09 +0000
committerroot <devnull@localhost>2006-04-26 10:48:09 +0000
commit8b1e1c104bdff504b3e775b450432e6462b8d09b (patch)
tree0367359f6a18f318741f387d82dc3dcfd8139950 /test/utils.py
downloadlogilab-common-8b1e1c104bdff504b3e775b450432e6462b8d09b.tar.gz
forget the past.
forget the past.
Diffstat (limited to 'test/utils.py')
-rw-r--r--test/utils.py70
1 files changed, 70 insertions, 0 deletions
diff --git a/test/utils.py b/test/utils.py
new file mode 100644
index 0000000..b654b2f
--- /dev/null
+++ b/test/utils.py
@@ -0,0 +1,70 @@
+'''unit tests utilities for ureports
+'''
+
+__revision__ = "$Id: utils.py,v 1.3 2005-05-27 12:27:08 syt Exp $"
+
+from cStringIO import StringIO
+from logilab.common.ureports.nodes import *
+
+class WriterTC:
+ def _test_output(self, test_id, layout, msg=None):
+ buffer = StringIO()
+ self.writer.format(layout, buffer)
+ got = buffer.getvalue()
+ expected = getattr(self, test_id)
+ try:
+ self.assertLinesEquals(got, expected)
+ except:
+ print '**** got for %s' % test_id
+ print got
+ print '**** while expected'
+ print expected
+ print '****'
+ raise
+
+ def test_section(self):
+ layout = Section('Section title',
+ 'Section\'s description.\nBlabla bla')
+ self._test_output('section_base', layout)
+ layout.append(Section('Subsection', 'Sub section description'))
+ self._test_output('section_nested', layout)
+
+ def test_verbatim(self):
+ layout = VerbatimText('blablabla')
+ self._test_output('verbatim_base', layout)
+
+
+ def test_list(self):
+ layout = List(children=('item1', 'item2', 'item3', 'item4'))
+ self._test_output('list_base', layout)
+
+ def test_nested_list(self):
+ layout = List(children=(Paragraph(("blabla", List(children=('1', "2", "3")))),
+ "an other point"))
+ self._test_output('nested_list', layout)
+
+
+ def test_table(self):
+ layout = Table(cols=2, children=('head1', 'head2', 'cell1', 'cell2'))
+ self._test_output('table_base', layout)
+
+ def test_field_table(self):
+ table = Table(cols=2, klass='field', id='mytable')
+ for field, value in (('f1', 'v1'), ('f22', 'v22'), ('f333', 'v333')):
+ table.append(Text(field))
+ table.append(Text(value))
+ self._test_output('field_table', table)
+
+ def test_advanced_table(self):
+ table = Table(cols=2, klass='whatever', id='mytable', rheaders=1)
+ for field, value in (('field', 'value') ,('f1', 'v1'), ('f22', 'v22'), ('f333', 'v333')):
+ table.append(Text(field))
+ table.append(Text(value))
+ table.append(Link('http://www.perdu.com', 'toi perdu ?'))
+ table.append(Text(''))
+ self._test_output('advanced_table', table)
+
+
+## def test_image(self):
+## layout = Verbatim('blablabla')
+## self._test_output('verbatim_base', layout)