<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html><head><meta content="text/html;charset=UTF-8" http-equiv="Content-Type"></head><body ><div style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 10pt;"><div>Hi Folks,<br></div><div><br></div><div>I am writing a ton of tests for my parser grammar, and since the test results are xHTML, I thought it would be useful to display the tests and the output in a Seaside app.<br></div><div><br></div><div>I searched the Seaside forum for this and did not see anything, so I am posting this here as it might be a useful tool for Squeak/Pharo in general (someday)<br></div><div><br></div><div><br></div><div>I doubt it is doable, but here goes:<br></div><div><br></div><div>Here is a test from my current work:<br></div><div><br></div><blockquote style="border: 1px solid rgb(204, 204, 204); padding: 7px; background-color: rgb(245, 245, 245);"><div><div>testLinkExternal<br></div><div><br></div><div><timeout: 10><br></div><div>"LinkExternal                                          <- OPEN_BRACKET  s URLPrefix .{SpaceCaption}    "<br></div><div><br></div><div>|input xmlElement actor ios|<br></div><div><br></div><div>actor := PEGWikiMediaGeneratorTables new.<br></div><div>actor transcripton: false.<br></div><div>      input := '[<a href="http://www.wikipedia.org" target="_blank">http://www.wikipedia.org</a> Named]'.  <br></div><div>xmlElement := parser parse: 'LinkExternal' stream: input reading actor: actor.<br></div><div>ios := xmlElement printString.<br></div><div>self assert: ((ios contents) = '<a href="<a href="http://www.wikipedia.org" target="_blank">http://www.wikipedia.org</a>">Named</a>') .<br></div><div><br></div><div>      input := '[<a href="https://www.wikipedia.org" target="_blank">https://www.wikipedia.org</a>  DUDE]'.  <br></div><div>xmlElement := parser parse: 'LinkExternal' stream: input reading actor: actor.<br></div><div>ios := xmlElement printString.<br></div><div>self assert: ((ios contents) = '<a href="<a href="https://www.wikipedia.org" target="_blank">https://www.wikipedia.org</a>">DUDE</a>') .<br></div><div><br></div><div>      input := '[mailto:<a href="mailto:somebody@somewhere.com" target="_blank">somebody@somewhere.com</a>]'.  <br></div><div>xmlElement := parser parse: 'LinkExternal' stream: input reading actor: actor.<br></div><div>ios := xmlElement printString.<br></div><div>self assert: ((ios contents) = '<a href="mailto:<a href="mailto:somebody@somewhere.com" target="_blank">somebody@somewhere.com</a>">mailto:<a href="mailto:somebody@somewhere.com" target="_blank">somebody@somewhere.com</a></a>') .<br></div><div><br></div><div>      input := '[irc://something]'.  <br></div><div>xmlElement := parser parse: 'LinkExternal' stream: input reading actor: actor.<br></div><div>ios := xmlElement printString.<br></div><div>self assert: ((ios contents) = '<a href="irc://something">irc://something</a>') .<br></div><div><br></div><div>      input := '[ircs://something]'.  <br></div><div>xmlElement := parser parse: 'LinkExternal' stream: input reading actor: actor.<br></div><div>ios := xmlElement printString.<br></div><div>self assert: ((ios contents) = '<a href="ircs://something">ircs://something</a>') .<br></div><div><br></div><div>      input := '[<a href="ftp://something.org" target="_blank">ftp://something.org</a>]'.  <br></div><div>xmlElement := parser parse: 'LinkExternal' stream: input reading actor: actor.<br></div><div>ios := xmlElement printString.<br></div><div>self assert: ((ios contents) = '<a href="<a href="ftp://something.org" target="_blank">ftp://something.org</a>"><a href="ftp://something.org" target="_blank">ftp://something.org</a></a>') .<br></div><div><br></div><div>      input := '[news://emacs.org]'.  <br></div><div>xmlElement := parser parse: 'LinkExternal' stream: input reading actor: actor.<br></div><div>ios := xmlElement printString.<br></div><div>self assert: ((ios contents) = '<a href="news://emacs.org">news://emacs.org</a>') .<br></div><div><br></div><div>      input := '[gopher://what.is.a.gopher.address]'.  <br></div><div>xmlElement := parser parse: 'LinkExternal' stream: input reading actor: actor.<br></div><div>ios := xmlElement printString.<br></div><div>self assert: ((ios contents) = '<a href="gopher://what.is.a.gopher.address">gopher://what.is.a.gopher.address</a>') .<br></div></div></blockquote><div><br></div><div>Thinking out loud, I would like to see the test name, its status, upon clicking it, the value of "input" and "ios contents" displayed on the web page.<br></div><div><br></div><div>Pretty weird, huh?<br></div><div><br></div><div>Feel free to shoot-it-down if it is ugly. (:<br></div><div><br></div><div>cheers</div><div><br></div></div><br></body></html>