4 new revisions:
Revision: e5b10521d8da
Author: Janne Härkönen <[email protected]>
Date: Fri Feb 17 02:01:51 2012
Log: add preformatted doc, regen test data
http://code.google.com/p/robotframework/source/detail?r=e5b10521d8da
Revision: 16927d6c08f8
Author: Janne Härkönen <[email protected]>
Date: Fri Feb 17 02:05:59 2012
Log: libdoc: handle singular | in doc correctly
http://code.google.com/p/robotframework/source/detail?r=16927d6c08f8
Revision: 395e63559611
Author: Janne Härkönen <[email protected]>
Date: Fri Feb 17 02:06:47 2012
Log: htmlformatter: add class to hr, single | extends pre block
http://code.google.com/p/robotframework/source/detail?r=395e63559611
Revision: 25c606e64c46
Author: Janne Härkönen <[email protected]>
Date: Fri Feb 17 02:07:49 2012
Log: log/report + libdoc styles: use new classes provided by
htmlformatter
http://code.google.com/p/robotframework/source/detail?r=25c606e64c46
==============================================================================
Revision: e5b10521d8da
Author: Janne Härkönen <[email protected]>
Date: Fri Feb 17 02:01:51 2012
Log: add preformatted doc, regen test data
http://code.google.com/p/robotframework/source/detail?r=e5b10521d8da
Modified:
/src/robot/webcontent/testdata/data.js
/src/robot/webcontent/testdata/dir.suite/__init__.txt
=======================================
--- /src/robot/webcontent/testdata/data.js Wed Feb 15 02:48:45 2012
+++ /src/robot/webcontent/testdata/data.js Fri Feb 17 02:01:51 2012
@@ -1,10 +1,10 @@
window.output = {};
-window.output["suite"] =
[1,2,3,4,[5,6,7,8,9,10,11,12],[0,0,155],[[13,14,15,0,[],[1,57,22],[],[[16,0,1,0,[17,18,19],[1,73,5],[[0,20,0,21,22,[1,75,1],[],[[76,2,23]]],[0,24,0,25,26,[1,77,1],[],[[77,2,27]]]]]],[],[1,1,1,1]],[28,29,30,0,[],[1,80,12],[],[[31,0,1,0,[17,18,19],[1,85,6],[[0,32,0,33,34,[1,87,1],[],[[88,2,35]]],[0,24,0,25,36,[1,89,1],[],[[90,2,37]]]]]],[],[1,1,1,1]],[38,39,40,41,[42,43,44,12],[0,93,60,45],[],[[46,0,1,0,[42,47,48,18,19,49],[0,102,6,50],[[1,24,0,25,51,[1,103,1],[],[[104,2,51]]],[0,24,0,25,52,[1,105,1],[],[[106,2,52]]],[2,24,0,25,53,[1,107,1],[],[[107,2,53]]]]],[54,0,1,0,[55,42,48,18,19,49],[0,109,12,56],[[1,24,0,25,51,[1,111,1],[],[[112,2,51]]],[0,24,0,25,57,[1,113,1],[],[[113,2,58]]],[0,24,0,25,59,[1,114,1],[],[[115,2,60]]],[0,61,0,62,59,[0,116,2],[],[[118,4,60]]],[2,24,0,25,53,[1,119,2],[],[[120,2,53]]]]],[63,0,1,0,[42,48,18,19,49,64],[0,122,6,50],[[1,24,0,25,51,[1,124,1],[],[[124,2,51]]],[0,24,0,25,65,[1,125,1],[],[[126,2,65]]],[2,24,0,25,53,[1,127,1],[],[[128,2,53]]]]],[66,0,0,67,[42,48,18,19,68,69,49],[0,130,20,50],[[1,24,0,25,70,[1,131,1],[],[[132,2,70]]],[0,24,0,25,71,[1,133,1],[],[[134,2,71]]],[0,72,0,0,0,[1,135,2],[[0,24,0,25,73,[1,136,1],[],[[136,2,73]]]],[]],[3,74,0,0,0,[1,138,10],[[4,75,0,0,0,[1,138,3],[[0,24,0,25,76,[1,139,1],[],[[140,2,77]]]],[]],[4,78,0,0,0,[1,141,2],[[0,24,0,25,76,[1,141,1],[],[[142,2,79]]]],[]],[4,80,0,0,0,[1,143,2],[[0,24,0,25,76,[1,144,1],[],[[145,2,81]]]],[]],[4,82,0,0,0,[1,146,2],[[0,24,0,25,76,[1,146,1],[],[[147,2,83]]]],[]]],[]],[2,24,0,25,84,[1,149,1],[],[[149,2,84]]]]]],[[1,24,0,25,85,[1,100,1],[],[[101,2,85]]],[2,61,0,62,0,[0,152,1],[],[[152,4,86]]]],[4,0,3,0]]],[],[[1,24,0,25,87,[1,55,1],[],[[56,2,87]]]],[6,2,5,2]];
+window.output["suite"] =
[1,2,3,4,[5,6,7,8,9,10,11,12],[0,0,149],[[13,14,15,0,[],[1,56,22],[],[[16,0,1,0,[17,18,19],[1,72,5],[[0,20,0,21,22,[1,74,1],[],[[75,2,23]]],[0,24,0,25,26,[1,76,1],[],[[76,2,27]]]]]],[],[1,1,1,1]],[28,29,30,0,[],[1,79,10],[],[[31,0,1,0,[17,18,19],[1,84,5],[[0,32,0,33,34,[1,85,1],[],[[86,2,35]]],[0,24,0,25,36,[1,87,1],[],[[88,2,37]]]]]],[],[1,1,1,1]],[38,39,40,41,[42,43,44,12],[0,90,57,45],[],[[46,0,1,0,[42,47,48,18,19,49],[0,99,6,50],[[1,24,0,25,51,[1,100,1],[],[[101,2,51]]],[0,24,0,25,52,[1,102,1],[],[[102,2,52]]],[2,24,0,25,53,[1,103,1],[],[[104,2,53]]]]],[54,0,1,0,[55,42,48,18,19,49],[0,106,11,56],[[1,24,0,25,51,[1,107,1],[],[[108,2,51]]],[0,24,0,25,57,[1,109,1],[],[[109,2,58]]],[0,24,0,25,59,[1,110,1],[],[[111,2,60]]],[0,61,0,62,59,[0,112,2],[],[[114,4,60]]],[2,24,0,25,53,[1,115,1],[],[[116,2,53]]]]],[63,0,1,0,[42,48,18,19,49,64],[0,118,6,50],[[1,24,0,25,51,[1,119,2],[],[[120,2,51]]],[0,24,0,25,65,[1,121,1],[],[[122,2,65]]],[2,24,0,25,53,[1,123,1],[],[[123,2,53]]]]],[66,0,0,67,[42,48,18,19,68,69,49],[0,125,19,50],[[1,24,0,25,70,[1,127,1],[],[[127,2,70]]],[0,24,0,25,71,[1,128,1],[],[[129,2,71]]],[0,72,0,0,0,[1,130,2],[[0,24,0,25,73,[1,131,1],[],[[131,2,73]]]],[]],[3,74,0,0,0,[1,133,9],[[4,75,0,0,0,[1,133,2],[[0,24,0,25,76,[1,134,1],[],[[134,2,77]]]],[]],[4,78,0,0,0,[1,136,1],[[0,24,0,25,76,[1,136,1],[],[[137,2,79]]]],[]],[4,80,0,0,0,[1,138,2],[[0,24,0,25,76,[1,138,1],[],[[139,2,81]]]],[]],[4,82,0,0,0,[1,140,2],[[0,24,0,25,76,[1,141,1],[],[[141,2,83]]]],[]]],[]],[2,24,0,25,84,[1,143,1],[],[[144,2,84]]]]]],[[1,24,0,25,85,[1,97,1],[],[[98,2,85]]],[2,61,0,62,0,[0,146,1],[],[[147,4,86]]]],[4,0,3,0]]],[],[[1,24,0,25,87,[1,55,1],[],[[55,2,87]]]],[6,2,5,2]];
window.output["strings"] = [];
-window.output["strings"] =
window.output["strings"].concat(["*","*Dir.Suite","*/home/janne/work/robotframework/src/robot/webcontent/testdata/dir.suite","*src/robot/webcontent/testdata/dir.suite","eNqdkM8KwjAMh+8+RekDNOhxdPEs6EX0Adqu64qdGV1BfXu7+W/IvHgJJPl+HyFS43G/LSRoZFKxJtq65E1KXQEQSVOqo2rtheJJUHQcf64kKFxIj5tWOZt9Pvt861gfzVtoqLLCEblghaEWui8PBHK0ttckurPjLPkU7L9hE1Tfl3xkKjI8H9dElEnpYOeWKQ6lQqlxdxveISF3r9FhiE2m8MCfmeWHXc0CNdFENyVgPAjvCuyB/g==","*Escape","*<
&lt;","*Formatting","*<b>Bold</b> and
<i>italics</i>","*Image","eNqdy9ENgCAMBcBVCAPQfyM6i9ZaieAj0ETHN3EE/+/GVNT1xtEfZnUgYmwSFNAsgVGoUsMK29tS5EY7KUMxy2OhXuqdJcvyN3Neeo/+MxvYTy9tVDPX","*URL","*<a
href=\"http://robotframework.org\">http://robotframework.org</a>","*Test.Suite.1","*/home/janne/work/robotframework/src/robot/webcontent/testdata/dir.suite/test.suite.1.txt","*src/robot/webcontent/testdata/dir.suite/test.suite.1.txt","*list
test","*collections","*i1","*i2","*${list} = BuiltIn.Create List","*Returns
a list containing given items.","*foo, bar, quux","*${list} = [u'foo',
u'bar', u'quux']","*BuiltIn.Log","*Logs the given message with the given
level.","*${list}","*[u'foo', u'bar',
u'quux']","*Test.Suite.2","*/home/janne/work/robotframework/src/robot/webcontent/testdata/dir.suite/test.suite.2.txt","*src/robot/webcontent/testdata/dir.suite/test.suite.2.txt","*Dictionary
test","*${dict} = Collections.Create Dictionary","*Creates and returns a
dictionary from the given `key_value_pairs`.","*key, value","*${dict} =
{u'key': u'value'}","*${dict}","*{u'key':
u'value'}","*Tests","*/home/janne/work/robotframework/src/robot/webcontent/testdata/dir.suite/tests.txt","*src/robot/webcontent/testdata/dir.suite/tests.txt","*Some
suite <i>docs</i> with links: <a
href=\"http://robotframework.org\">http://robotframework.org</a>","*< <
\u00e4","*< &lt; \u00e4","*home *page*","*Suite teardown
failed:\nAssertionError","*Simple","*default with
percent %","*force","*with space","*Teardown of the parent suite
failed.","*Test Setup","*do nothing","*Test Teardown","*Log
HTML","*!\"#%&/()=","*escape < < <b>no bold</b>\n\nAlso teardown of the
parent suite failed.","*<blink><b><font face=\"comic sans ms\" size=\"42\"
color=\"red\">CAN HAZ HMTL & NO CSS?!?!??!!?</font></b></blink>,
HTML","*<blink><b><font face=\"comic sans ms\" size=\"42\"
color=\"red\">CAN HAZ HMTL & NO CSS?!?!??!!?</font></b></blink>","*escape <
< <b>no bold</b>","*escape < &lt; <b>no
bold</b>","*BuiltIn.Fail","*Fails the test immediately with the given
(optional) message.","*Unicode","*with unicode
\u5b98\u8bdd","*hyv\u00e4\u00e4 joulua","*Complex","*Test
doc","*owner-kekkonen","*t1","*in own setup","*in test","*User Kw","*in
User Kw","*${i} IN [ @{list} ]","*${i} = 1","*Got ${i}","*Got 1","*${i} =
2","*Got 2","*${i} = 3","*Got 3","*${i} = 4","*Got 4","*in own
teardown","*Suite setup","*AssertionError","*higher level suite
setup","*Error in
file '/home/janne/work/robotframework/src/robot/webcontent/testdata/dir.suite/tests.txt'
in table 'Settings': Test library 'p\u00f6lk\u00fc/myLib.py' does not
exist."]);
-window.output["generatedTimestamp"] = "20120215 12:47:10 GMT +03:00";
-window.output["errors"] = [[99,5,88]];
+window.output["strings"] =
window.output["strings"].concat(["*","*Dir.Suite","*/home/janne/work/robotframework/src/robot/webcontent/testdata/dir.suite","*dir.suite","eNqdkE1uwyAQRtfxKRAHMGqXEaHrSs2mag4AeIxRgLGGqZLevjj9syp30w0SM+97+jTamdPz014rZ4S2YiIYD3JinvdKETrkkWyGC9K5RwrS/LnSyppOR/OYbYDmi80XcxCV/LfQ4wB9QAwJeo9Zzb88KmHAB7hyP5cgBUdO8N+wT7bWg7wxA3rZyk1kNFuXYGvJtDyD0c4c35ZzaNV+X6OXJbaaqg/8M3P3w95vAiPiSrcm1K2QIQivyZJIsUCnZ9qq6BL6sxiRsmWGoRPCY2EovNvZMojLFBnqbD3Upm0K8w5Mdp/V","*Escape","*<
&lt;","*Formatting","*<b>Bold</b> and
<i>italics</i>","*Image","eNqdy9ENgCAMBcBVCAPQfyM6i9ZaieAj0ETHN3EE/+/GVNT1xtEfZnUgYmwSFNAsgVGoUsMK29tS5EY7KUMxy2OhXuqdJcvyN3Neeo/+MxvYTy9tVDPX","*URL","*<a
href=\"http://robotframework.org\">http://robotframework.org</a>","*Test.Suite.1","*/home/janne/work/robotframework/src/robot/webcontent/testdata/dir.suite/test.suite.1.txt","*dir.suite/test.suite.1.txt","*list
test","*collections","*i1","*i2","*${list} = BuiltIn.Create List","*Returns
a list containing given items.","*foo, bar, quux","*${list} = [u'foo',
u'bar', u'quux']","*BuiltIn.Log","*Logs the given message with the given
level.","*${list}","*[u'foo', u'bar',
u'quux']","*Test.Suite.2","*/home/janne/work/robotframework/src/robot/webcontent/testdata/dir.suite/test.suite.2.txt","*dir.suite/test.suite.2.txt","*Dictionary
test","*${dict} = Collections.Create Dictionary","*Creates and returns a
dictionary from the given `key_value_pairs`.","*key, value","*${dict} =
{u'key': u'value'}","*${dict}","*{u'key':
u'value'}","*Tests","*/home/janne/work/robotframework/src/robot/webcontent/testdata/dir.suite/tests.txt","*dir.suite/tests.txt","*Some
suite <i>docs</i> with links: <a
href=\"http://robotframework.org\">http://robotframework.org</a>","*< <
\u00e4","*< &lt; \u00e4","*home *page*","*Suite teardown
failed:\nAssertionError","*Simple","*default with
percent %","*force","*with space","*Teardown of the parent suite
failed.","*Test Setup","*do nothing","*Test Teardown","*Log
HTML","*!\"#%&/()=","*escape < < <b>no bold</b>\n\nAlso teardown of the
parent suite failed.","*<blink><b><font face=\"comic sans ms\" size=\"42\"
color=\"red\">CAN HAZ HMTL & NO CSS?!?!??!!?</font></b></blink>,
HTML","*<blink><b><font face=\"comic sans ms\" size=\"42\"
color=\"red\">CAN HAZ HMTL & NO CSS?!?!??!!?</font></b></blink>","*escape <
< <b>no bold</b>","*escape < &lt; <b>no
bold</b>","*BuiltIn.Fail","*Fails the test immediately with the given
(optional) message.","*Unicode","*with unicode
\u5b98\u8bdd","*hyv\u00e4\u00e4 joulua","*Complex","*Test
doc","*owner-kekkonen","*t1","*in own setup","*in test","*User Kw","*in
User Kw","*${i} IN [ @{list} ]","*${i} = 1","*Got ${i}","*Got 1","*${i} =
2","*Got 2","*${i} = 3","*Got 3","*${i} = 4","*Got 4","*in own
teardown","*Suite setup","*AssertionError","*higher level suite
setup","*Error in
file '/home/janne/work/robotframework/src/robot/webcontent/testdata/dir.suite/tests.txt'
in table 'Settings': Test library 'p\u00f6lk\u00fc/myLib.py' does not
exist."]);
+window.output["generatedTimestamp"] = "20120217 10:23:38 GMT +03:00";
+window.output["errors"] = [[95,5,88]];
window.output["stats"] = [[{"fail":3,"label":"Critical
Tests","pass":2},{"fail":4,"label":"All
Tests","pass":2}],[{"fail":4,"info":"critical","label":"i1","links":"Title
of
i1:http://1/","pass":2},{"fail":4,"info":"critical","label":"i2","links":"Title
of
i2:http://2/","pass":2},{"fail":1,"info":"non-critical","label":"owner-kekkonen","pass":0},{"combined":"i?","doc":"*Combined*
& escaped << tag
doc","fail":4,"info":"combined","label":"IX","links":"Title of
iX:http://X/","pass":2},{"combined":"foo &
i*","fail":0,"info":"combined","label":"No
Match","pass":0},{"fail":1,"label":"!\"#%&/()=","pass":0},{"fail":4,"label":"<
<
\u00e4","pass":0},{"fail":0,"label":"collections","pass":2},{"fail":1,"label":"default
with
percent %","pass":0},{"fail":4,"label":"force","links":"<kuukkeli>:http://google.com","pass":0},{"fail":1,"label":"t1","pass":0},{"fail":4,"label":"with
space","pass":0},{"fail":1,"label":"with unicode
\u5b98\u8bdd","pass":0}],[{"fail":4,"id":"s1","label":"Dir.Suite","name":"Dir.Suite","pass":2},{"fail":0,"id":"s1-s1","label":"Dir.Suite.Test.Suite.1","name":"Test.Suite.1","pass":1},{"fail":0,"id":"s1-s2","label":"Dir.Suite.Test.Suite.2","name":"Test.Suite.2","pass":1},{"fail":4,"id":"s1-s3","label":"Dir.Suite.Tests","name":"Tests","pass":0}]];
-window.output["generatedMillis"] = -332;
-window.output["baseMillis"] = 1329302830332;
+window.output["generatedMillis"] = -341;
+window.output["baseMillis"] = 1329467018341;
window.settings =
{"background":{"fail":"DeepPink"},"logURL":"log.html","reportURL":"report.html"};
=======================================
--- /src/robot/webcontent/testdata/dir.suite/__init__.txt Wed Jun 22
14:25:25 2011
+++ /src/robot/webcontent/testdata/dir.suite/__init__.txt Fri Feb 17
02:01:51 2012
@@ -5,7 +5,9 @@
... | *My* | *Table* |\n
... | 1 | 2 |\n
... | foo |\n
-
+... regular line\n
+... | block formatted\n
+... | \ \ content\t\tand whitespaces
Metadata URL http://robotframework.org
Metadata Image
http://code.google.com/p/robotframework/logo?ext.png
Metadata Formatting *Bold* and _italics_
==============================================================================
Revision: 16927d6c08f8
Author: Janne Härkönen <[email protected]>
Date: Fri Feb 17 02:05:59 2012
Log: libdoc: handle singular | in doc correctly
http://code.google.com/p/robotframework/source/detail?r=16927d6c08f8
Modified:
/src/robot/libdocpkg/model.py
=======================================
--- /src/robot/libdocpkg/model.py Thu Feb 16 03:42:26 2012
+++ /src/robot/libdocpkg/model.py Fri Feb 17 02:05:59 2012
@@ -89,7 +89,7 @@
return ''
if line == '':
return '\n\n'
- if self._list_or_table_regexp.search(line):
+ if self._list_or_table_regexp.search(line) or line == '|':
return '\n'
if prev.startswith('| ') and prev.endswith(' |'):
return '\n'
==============================================================================
Revision: 395e63559611
Author: Janne Härkönen <[email protected]>
Date: Fri Feb 17 02:06:47 2012
Log: htmlformatter: add class to hr, single | extends pre block
http://code.google.com/p/robotframework/source/detail?r=395e63559611
Modified:
/src/robot/utils/htmlformatters.py
/utest/utils/test_htmlutils.py
=======================================
--- /src/robot/utils/htmlformatters.py Thu Feb 16 21:25:14 2012
+++ /src/robot/utils/htmlformatters.py Fri Feb 17 02:06:47 2012
@@ -100,7 +100,6 @@
''', re.VERBOSE)
_ruler = re.compile('^-{3,} *$')
-
def __init__(self):
self._format_url = UrlFormatter(formatting=True).format
self._result = None
@@ -114,13 +113,13 @@
def end(self):
result = self._result
self._result = None
- if result != '<hr>':
+ if not result.startswith('<hr'):
result += '\n'
return result
def format(self, line):
if self._ruler.match(line):
- return '<hr>'
+ return '<hr class="robotdoc">'
return
self._format_url(self._format_italic(self._format_bold(line)))
def _format_bold(self, line):
@@ -165,7 +164,7 @@
class _PreformattedBlockFormatter(object):
- matcher = re.compile('\s*\| (.*)').match
+ matcher = re.compile('\s*\|( |$)').match
def __init__(self):
self._rows = []
@@ -173,7 +172,7 @@
def add(self, line):
if self.matcher(line):
- text = self.matcher(line).group(1)
+ text = line.strip()[2:]
self._rows.append(self._line_formatter.format(text))
return True
return False
=======================================
--- /utest/utils/test_htmlutils.py Thu Feb 16 21:25:14 2012
+++ /utest/utils/test_htmlutils.py Fri Feb 17 02:06:47 2012
@@ -412,16 +412,18 @@
def test_single_line_block(self):
self._assert_preformatted('| some', 'some')
+ def test_block_without_any_content(self):
+ self._assert_preformatted('|', '')
+
def test_multi_line_block(self):
- self._assert_preformatted('| some\n| quote', 'some\nquote')
-
- def test_additional_whitespace_is_preserved(self):
- self._assert_preformatted('| some\t ', ' some\t ')
+ self._assert_preformatted('| some\n|\n| quote', 'some\n\nquote')
+
+ def test_internal_whitespace_is_preserved(self):
+ self._assert_preformatted('| so\t\tme ', ' so\t\tme')
def test_spaces_before_leading_pipe_are_ignored(self):
self._assert_preformatted(' | some', 'some')
-
def test_block_mixed_with_other_content(self):
assert_equals(html_format('before block:\n| some\n| quote\nafter
block'),
'before block:\n<pre
class="robotdoc">\nsome\nquote\n</pre>after block')
==============================================================================
Revision: 25c606e64c46
Author: Janne Härkönen <[email protected]>
Date: Fri Feb 17 02:07:49 2012
Log: log/report + libdoc styles: use new classes provided by
htmlformatter
http://code.google.com/p/robotframework/source/detail?r=25c606e64c46
Modified:
/src/robot/webcontent/common.css
/src/robot/webcontent/libdoc.css
=======================================
--- /src/robot/webcontent/common.css Thu Feb 16 15:20:34 2012
+++ /src/robot/webcontent/common.css Fri Feb 17 02:07:49 2012
@@ -156,21 +156,30 @@
height: 100%;
}
/* HTML in users' suite documentation etc. */
+table.robotdoc, pre.robotdoc, hr.robotdoc {
+ margin: 0.5em 1em;
+}
table.robotdoc {
border: 1px solid gray;
background: transparent;
border-collapse: collapse;
empty-cells: show;
- font-size: 0.9em;
+ font-size: 0.85em;
}
table.robotdoc td {
border: 1px solid gray;
padding: 0.1em 0.3em;
height: 1.2em;
}
+pre.robotdoc {
+ font-size: 1.1em;
+ background: #F4F4FF;
+}
img.robotdoc {
border: 1px solid gray;
}
-hr {
- margin-right: 10em;
-}
+hr.robotdoc {
+ background: gray;
+ height: 1px;
+ border: 0;
+}
=======================================
--- /src/robot/webcontent/libdoc.css Wed Feb 15 02:48:45 2012
+++ /src/robot/webcontent/libdoc.css Fri Feb 17 02:07:49 2012
@@ -58,22 +58,6 @@
width: 300px;
font-style: italic;
}
-table.robotdoc {
- border: 1px solid gray;
- background: transparent;
- border-collapse: collapse;
- empty-cells: show;
- font-size: 0.85em;
-}
-table.robotdoc td {
- border: 1px solid gray;
- padding: 0.1em 0.3em;
- height: 1.2em;
-
-}
-img.robotdoc {
- border: 1px solid gray;
-}
.footer {
font-size: 0.9em;
}
@@ -98,3 +82,31 @@
#javascript_disabled b {
font-style: italic;
}
+/* HTML formatted by Robot. */
+table.robotdoc, pre.robotdoc, hr.robotdoc {
+ margin: 0.5em 1em;
+}
+table.robotdoc {
+ border: 1px solid gray;
+ background: transparent;
+ border-collapse: collapse;
+ empty-cells: show;
+ font-size: 0.85em;
+}
+table.robotdoc td {
+ border: 1px solid gray;
+ padding: 0.1em 0.3em;
+ height: 1.2em;
+}
+pre.robotdoc {
+ font-size: 1.1em;
+ background: #F4F4FF;
+}
+img.robotdoc {
+ border: 1px solid gray;
+}
+hr.robotdoc {
+ background: gray;
+ height: 1px;
+ border: 0;
+}