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>‘s BBD system is uniqe in
-two ways. First it utilizes Ruby‘s Execption system to catch
-Assertions which are define via with assertion <em>functors</em>. Eg.
+a few ways. First it utilizes Ruby‘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>‘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>‘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>‘s Specifications
+themselves are simple text files, a practice of literal programming.
</p>
<pre>
- Quarry::Design.spec "Example Specification" do
+ Example Specification
+ =====================
+ Shows that the number 5 does not equal 4.
- i_will_show "concerning the number 5" do
+ 5.assert! == 4
- that "5 != 4" do
- 5.assert! == 4
- end
+ But in fact equals 5.
- but_that "5 == 5" 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‘ll add Textile soon.)
</p>
+<p>
+We‘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 — 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 —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 .…</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