doc/rdoc/files/README.html in quarry-0.3.0 vs doc/rdoc/files/README.html in quarry-0.4.0

- old
+ new

@@ -1,171 +1,195 @@ <?xml version="1.0" encoding="iso-8859-1"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> -<html> - <head> - <title>File: README</title> - <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> - <link rel="stylesheet" href=".././rdoc-style.css" type="text/css" media="screen" /> - <script language="JavaScript" type="text/javascript"> - // <![CDATA[ +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> + <title>File: README</title> + <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> + <meta http-equiv="Content-Script-Type" content="text/javascript" /> + <link rel="stylesheet" href=".././rdoc-style.css" type="text/css" media="screen" /> + <script type="text/javascript"> + // <![CDATA[ - function toggleSource( id ) - { - var elem - var link + function popupCode( url ) { + window.open(url, "Code", "resizable=yes,scrollbars=yes,toolbar=no,status=no,height=150,width=400") + } - if( document.getElementById ) - { - elem = document.getElementById( id ) - link = document.getElementById( "l_" + id ) - } - else if ( document.all ) - { - elem = eval( "document.all." + id ) - link = eval( "document.all.l_" + id ) - } - else - return false; + function toggleCode( id ) { + if ( document.getElementById ) + elem = document.getElementById( id ); + else if ( document.all ) + elem = eval( "document.all." + id ); + else + return false; - if( elem.style.display == "block" ) - { - elem.style.display = "none" - link.innerHTML = "show source" - } - else - { - elem.style.display = "block" - link.innerHTML = "hide source" - } - } + elemStyle = elem.style; + + if ( elemStyle.display != "block" ) { + elemStyle.display = "block" + } else { + elemStyle.display = "none" + } - function openCode( url ) - { - window.open( url, "SOURCE_CODE", "resizable=yes,scrollbars=yes,toolbar=no,status=no,height=480,width=750" ).focus(); - } - // ]]> - </script> - </head> + return true; + } + + // Make codeblocks hidden by default + document.writeln( "<style type=\"text/css\">div.method-source-code { display: none }</style>" ) + + // ]]> + </script> - <body> - <table border='0' cellpadding='0' cellspacing='0' width="100%" class='banner'> - <tr><td> - <table width="100%" border='0' cellpadding='0' cellspacing='0'><tr> - <td class="file-title" colspan="2"><span class="file-title-prefix">File</span><br />README</td> - <td align="right"> - <table border='0' cellspacing="0" cellpadding="2"> - <tr> - <td>Path:</td> - <td>README - </td> - </tr> - <tr> - <td>Modified:</td> - <td>Thu Aug 21 14:07:27 -0400 2008</td> - </tr> - </table> - </td></tr> +</head> +<body> + + + + <div id="fileHeader"> + <h1>README</h1> + <table class="header-table"> + <tr class="top-aligned-row"> + <td><strong>Path:</strong></td> + <td>README + </td> + </tr> + <tr class="top-aligned-row"> + <td><strong>Last Update:</strong></td> + <td>Sat Oct 11 11:37:03 -0400 2008</td> + </tr> </table> - </td></tr> -</table><br /> - <!-- banner header --> + </div> + <!-- banner header --> <div id="bodyContent"> - <div id="content"> - <div class="description"><h1>Ruby <a href="../classes/Quarry.html">Quarry</a></h1> + + + <div id="contextContent"> + + <div id="description"> + <h1>Ruby <a href="../classes/Quarry.html">Quarry</a></h1> <pre> http://quarry.rubyforge.org </pre> <h2>Introduction</h2> <p> Ruby <a href="../classes/Quarry.html">Quarry</a> is a developers testing -and debuging suite. It features a flexible BDD specification system and a -number of useful tools. +and debugging suite. It features a literal-programming BDD specification +system, and exception based assertion system, and a few other of useful QA +tools. </p> <h2>Features</h2> -<h3>Design::Specification</h3> +<h3>Specifications</h3> <p> <a href="../classes/Quarry.html">Quarry</a>&#8216;s BBD system is uniqe in -two ways. First it utilizes Ruby&#8216;s Execption system to catch -Assertions which are define via with assertion <em>functors</em>. Eg. +a few ways. First it utilizes Ruby&#8216;s Execption system to catch +Assertions which are defined via assertion <em>functors</em>. Eg. </p> <pre> require 'quarry/assertion' - 4.assert = 5 + 4.assert == 5 </pre> <p> -This will raise ans <a href="../classes/Assertion.html">Assertion</a> -error. <a href="../classes/Quarry.html">Quarry</a>&#8216;s design -specification then is just a measn of outlining and capturing these -assertions. +Because 4 != 5, this expression will raise an <a +href="../classes/Assertion.html">Assertion</a> exception. <a +href="../classes/Quarry.html">Quarry</a>&#8216;s Specification Runner class +is thus just a means of running and capturing these assertions. </p> <p> -The sepcification themeleleves are completely freewform. There is no -enforced nomenclature. Eg. +<a href="../classes/Quarry.html">Quarry</a>&#8216;s Specifications +themselves are simple text files, a practice of literal programming. </p> <pre> - Quarry::Design.spec &quot;Example Specification&quot; do + Example Specification + ===================== + Shows that the number 5 does not equal 4. - i_will_show &quot;concerning the number 5&quot; do + 5.assert! == 4 - that &quot;5 != 4&quot; do - 5.assert! == 4 - end + But in fact equals 5. - but_that &quot;5 == 5&quot; do - 5.assert == 5 - end + 5.assert == 5 - end - - end + QED. </pre> <p> -If you were to run this specification, you would simply see an outline. +If we run this specification in verbatim mode the output would identical +(assuming we did not make a type and the assertions passed). If there were +errors or assertion failures, we would see information detaling each. </p> -<pre> - = Example Specification - == i_will_show concerning the number 5 - === that 5 != 4 - === but_that 5 == 5 -</pre> <p> -If there were errors, we say *-items detaling each. +As you can see I used Markdown for my spcecification. You can use almost +any format you like. The only neccesary distiction is that desciption text +be align to the left margin and all specification code be indented. <a +href="../classes/Quarry.html">Quarry</a> also recognized headers, currently +Markdown and RDoc style headers (We&#8216;ll add Textile soon.) </p> +<p> +We&#8216;ll leave discussion of the merits of this system to another place. +But it should be clear that this approach if especcailly conveniant, +allowing documentation and specification to seemlessly merge. +</p> +<h3>Stubs</h3> +<p> +<a href="../classes/Quarry.html">Quarry</a> provides a flexible stubbing +facility. +</p> +<p> +For now see RDoc API. +</p> <h3>MethodProbe</h3> <p> -MethodProbe (aka the Duck Hunter) is an expiremental project &#8212; not -meant for production use, that can dip-down into a method and provide a -read-out of the methods it uses. Thus it provides a (duck-)signiture of a -method. Keep in mind, that becuase it is runtime bound it is not perfect. -It can miss some parts of a method due to conditionals and, albiet rare, it -can get stung by the halting problem. +MethodProbe (aka the Duck Hunter) can dip-down into a method and provide a +read-out how it functions &#8212;known as a <em>method signiture</em>. +MethodProbe is somewhat expiremental becuase it is runtime bound, so proper +execution can not be 100% guarenteed. It can miss some parts of a method +due to conditional branching (a probe can;t pretend to be false) and, +albiet rare, it can also get stuck in an infinite loop a la the Halting +Problem. Even so, it can be used effectively under controlled situations if +used with care. </p> +<h3>More to come .&#8230;</h3> <h2>Copying</h2> <p> -Copyright (c) 2007 Tiger Ops / Thomas Sawyer +Copyright (c) 2007, 2008 Tiger Ops / Thomas Sawyer </p> <p> <a href="../classes/Quarry.html">Quarry</a> is distributed under the terms of the GPLv3. </p> -</div> + </div> + </div> + </div> + <!-- if includes --> + <div id="section"> -</div> + + + + + + + <!-- if method_list --> + + </div> - </body> + +<div id="validator-badges"> + <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p> +</div> + +</body> </html> \ No newline at end of file