Added cabal and vim dir
This commit is contained in:
29
cabal/share/doc/x86_64-osx-ghc-7.10.1/HUnit-1.2.5.2/LICENSE
Normal file
29
cabal/share/doc/x86_64-osx-ghc-7.10.1/HUnit-1.2.5.2/LICENSE
Normal file
@@ -0,0 +1,29 @@
|
||||
HUnit is Copyright (c) Dean Herington, 2002, all rights reserved,
|
||||
and is distributed as free software under the following license.
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
modification, are permitted provided that the following conditions
|
||||
are met:
|
||||
|
||||
- Redistributions of source code must retain the above copyright
|
||||
notice, this list of conditions, and the following disclaimer.
|
||||
|
||||
- Redistributions in binary form must reproduce the above copyright
|
||||
notice, this list of conditions, and the following disclaimer in the
|
||||
documentation and/or other materials provided with the distribution.
|
||||
|
||||
- The names of the copyright holders may not be used to endorse or
|
||||
promote products derived from this software without specific prior
|
||||
written permission.
|
||||
|
||||
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS "AS IS" AND ANY
|
||||
EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
|
||||
PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS BE
|
||||
LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
|
||||
BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
|
||||
WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
|
||||
OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
|
||||
IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
Binary file not shown.
File diff suppressed because one or more lines are too long
@@ -0,0 +1,11 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Test.HUnit.Lang</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script type="text/javascript">//<![CDATA[
|
||||
window.onload = function () {pageLoad();setSynopsis("mini_Test-HUnit-Lang.html");};
|
||||
//]]>
|
||||
</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">HUnit-1.2.5.2: A unit testing framework for Haskell</p></div><div id="content"><div id="module-header"><table class="info"><tr><th>Safe Haskell</th><td>Safe</td></tr><tr><th>Language</th><td>Haskell98</td></tr></table><p class="caption">Test.HUnit.Lang</p></div><div id="table-of-contents"><p class="caption">Contents</p><ul><li><a href="#g:1">Internals</a></li></ul></div><div id="description"><p class="caption">Description</p><div class="doc"><p>This module abstracts the differences between implementations of
|
||||
Haskell (e.g., GHC, Hugs, and NHC).</p></div></div><div id="synopsis"><p id="control.syn" class="caption expander" onclick="toggleSection('syn')">Synopsis</p><ul id="section.syn" class="hide" onclick="toggleSection('syn')"><li class="src short"><span class="keyword">type</span> <a href="#t:Assertion">Assertion</a> = <a href="file:///usr/local/Cellar/ghc/7.10.1/share/doc/ghc/html/libraries/base-4.8.0.0/System-IO.html#t:IO">IO</a> ()</li><li class="src short"><a href="#v:assertFailure">assertFailure</a> :: <a href="file:///usr/local/Cellar/ghc/7.10.1/share/doc/ghc/html/libraries/base-4.8.0.0/Data-String.html#t:String">String</a> -> <a href="Test-HUnit-Lang.html#t:Assertion">Assertion</a></li><li class="src short"><a href="#v:performTestCase">performTestCase</a> :: <a href="Test-HUnit-Lang.html#t:Assertion">Assertion</a> -> <a href="file:///usr/local/Cellar/ghc/7.10.1/share/doc/ghc/html/libraries/base-4.8.0.0/System-IO.html#t:IO">IO</a> (<a href="file:///usr/local/Cellar/ghc/7.10.1/share/doc/ghc/html/libraries/base-4.8.0.0/Data-Maybe.html#t:Maybe">Maybe</a> (<a href="file:///usr/local/Cellar/ghc/7.10.1/share/doc/ghc/html/libraries/base-4.8.0.0/Data-Bool.html#t:Bool">Bool</a>, <a href="file:///usr/local/Cellar/ghc/7.10.1/share/doc/ghc/html/libraries/base-4.8.0.0/Data-String.html#t:String">String</a>))</li><li class="src short"><span class="keyword">data</span> <a href="#t:HUnitFailure">HUnitFailure</a> = <a href="#v:HUnitFailure">HUnitFailure</a> <a href="file:///usr/local/Cellar/ghc/7.10.1/share/doc/ghc/html/libraries/base-4.8.0.0/Data-String.html#t:String">String</a></li></ul></div><div id="interface"><h1>Documentation</h1><div class="top"><p class="src"><span class="keyword">type</span> <a name="t:Assertion" class="def">Assertion</a> = <a href="file:///usr/local/Cellar/ghc/7.10.1/share/doc/ghc/html/libraries/base-4.8.0.0/System-IO.html#t:IO">IO</a> ()</p><div class="doc"><p>When an assertion is evaluated, it will output a message if and only if the
|
||||
assertion fails. </p><p>Test cases are composed of a sequence of one or more assertions.</p></div></div><div class="top"><p class="src"><a name="v:assertFailure" class="def">assertFailure</a></p><div class="subs arguments"><p class="caption">Arguments</p><table><tr><td class="src">:: <a href="file:///usr/local/Cellar/ghc/7.10.1/share/doc/ghc/html/libraries/base-4.8.0.0/Data-String.html#t:String">String</a></td><td class="doc"><p>A message that is displayed with the assertion failure </p></td></tr><tr><td class="src">-> <a href="Test-HUnit-Lang.html#t:Assertion">Assertion</a></td><td class="doc empty"> </td></tr></table></div><div class="doc"><p>Unconditionally signals that a failure has occured. All
|
||||
other assertions can be expressed with the form:</p><pre> if conditionIsMet
|
||||
then IO ()
|
||||
else assertFailure msg
|
||||
</pre></div></div><div class="top"><p class="src"><a name="v:performTestCase" class="def">performTestCase</a></p><div class="subs arguments"><p class="caption">Arguments</p><table><tr><td class="src">:: <a href="Test-HUnit-Lang.html#t:Assertion">Assertion</a></td><td class="doc"><p>an assertion to be made during the test case run </p></td></tr><tr><td class="src">-> <a href="file:///usr/local/Cellar/ghc/7.10.1/share/doc/ghc/html/libraries/base-4.8.0.0/System-IO.html#t:IO">IO</a> (<a href="file:///usr/local/Cellar/ghc/7.10.1/share/doc/ghc/html/libraries/base-4.8.0.0/Data-Maybe.html#t:Maybe">Maybe</a> (<a href="file:///usr/local/Cellar/ghc/7.10.1/share/doc/ghc/html/libraries/base-4.8.0.0/Data-Bool.html#t:Bool">Bool</a>, <a href="file:///usr/local/Cellar/ghc/7.10.1/share/doc/ghc/html/libraries/base-4.8.0.0/Data-String.html#t:String">String</a>))</td><td class="doc empty"> </td></tr></table></div><div class="doc"><p>Performs a single test case. The meaning of the result is as follows:</p><dl><dt><code>Nothing</code></dt><dd>test case success<dl><dt><code>Just (True, msg)</code></dt><dd>test case failure with the given message</dd><dt><code>Just (False, msg)</code></dt><dd>test case error with the given message</dd></dl></dd></dl></div></div><h1 id="g:1">Internals</h1><div class="doc"><p><em>Note:</em> This is not part of the public API! It is exposed so that you can
|
||||
tinker with the internals of HUnit, but do not expect it to be stable!</p></div><div class="top"><p class="src"><span class="keyword">data</span> <a name="t:HUnitFailure" class="def">HUnitFailure</a></p><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a name="v:HUnitFailure" class="def">HUnitFailure</a> <a href="file:///usr/local/Cellar/ghc/7.10.1/share/doc/ghc/html/libraries/base-4.8.0.0/Data-String.html#t:String">String</a></td><td class="doc empty"> </td></tr></table></div><div class="subs instances"><p id="control.i:HUnitFailure" class="caption collapser" onclick="toggleSection('i:HUnitFailure')">Instances</p><div id="section.i:HUnitFailure" class="show"><table><tr><td class="src"><a href="file:///usr/local/Cellar/ghc/7.10.1/share/doc/ghc/html/libraries/base-4.8.0.0/Text-Show.html#t:Show">Show</a> <a href="Test-HUnit-Lang.html#t:HUnitFailure">HUnitFailure</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a href="file:///usr/local/Cellar/ghc/7.10.1/share/doc/ghc/html/libraries/base-4.8.0.0/Control-Exception-Base.html#t:Exception">Exception</a> <a href="Test-HUnit-Lang.html#t:HUnitFailure">HUnitFailure</a></td><td class="doc empty"> </td></tr></table></div></div></div></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.16.0</p></div></body></html>
|
@@ -0,0 +1,9 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Test.HUnit.Terminal</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script type="text/javascript">//<![CDATA[
|
||||
window.onload = function () {pageLoad();setSynopsis("mini_Test-HUnit-Terminal.html");};
|
||||
//]]>
|
||||
</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">HUnit-1.2.5.2: A unit testing framework for Haskell</p></div><div id="content"><div id="module-header"><table class="info"><tr><th>Safe Haskell</th><td>Safe</td></tr><tr><th>Language</th><td>Haskell98</td></tr></table><p class="caption">Test.HUnit.Terminal</p></div><div id="description"><p class="caption">Description</p><div class="doc"><p>This module handles the complexities of writing information to the
|
||||
terminal, including modifying text in place.</p></div></div><div id="synopsis"><p id="control.syn" class="caption expander" onclick="toggleSection('syn')">Synopsis</p><ul id="section.syn" class="hide" onclick="toggleSection('syn')"><li class="src short"><a href="#v:terminalAppearance">terminalAppearance</a> :: <a href="file:///usr/local/Cellar/ghc/7.10.1/share/doc/ghc/html/libraries/base-4.8.0.0/Data-String.html#t:String">String</a> -> <a href="file:///usr/local/Cellar/ghc/7.10.1/share/doc/ghc/html/libraries/base-4.8.0.0/Data-String.html#t:String">String</a></li></ul></div><div id="interface"><h1>Documentation</h1><div class="top"><p class="src"><a name="v:terminalAppearance" class="def">terminalAppearance</a> :: <a href="file:///usr/local/Cellar/ghc/7.10.1/share/doc/ghc/html/libraries/base-4.8.0.0/Data-String.html#t:String">String</a> -> <a href="file:///usr/local/Cellar/ghc/7.10.1/share/doc/ghc/html/libraries/base-4.8.0.0/Data-String.html#t:String">String</a></p><div class="doc"><p>Simplifies the input string by interpreting <code>\r</code> and <code>\b</code> characters
|
||||
specially so that the result string has the same final (or <em>terminal</em>,
|
||||
pun intended) appearance as would the input string when written to a
|
||||
terminal that overwrites character positions following carriage
|
||||
returns and backspaces.</p></div></div></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.16.0</p></div></body></html>
|
@@ -0,0 +1,36 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Test.HUnit.Text</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script type="text/javascript">//<![CDATA[
|
||||
window.onload = function () {pageLoad();setSynopsis("mini_Test-HUnit-Text.html");};
|
||||
//]]>
|
||||
</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">HUnit-1.2.5.2: A unit testing framework for Haskell</p></div><div id="content"><div id="module-header"><table class="info"><tr><th>Safe Haskell</th><td>Safe</td></tr><tr><th>Language</th><td>Haskell98</td></tr></table><p class="caption">Test.HUnit.Text</p></div><div id="description"><p class="caption">Description</p><div class="doc"><p>Text-based test controller for running HUnit tests and reporting
|
||||
results as text, usually to a terminal.</p></div></div><div id="synopsis"><p id="control.syn" class="caption expander" onclick="toggleSection('syn')">Synopsis</p><ul id="section.syn" class="hide" onclick="toggleSection('syn')"><li class="src short"><span class="keyword">data</span> <a href="#t:PutText">PutText</a> st = <a href="#v:PutText">PutText</a> (<a href="file:///usr/local/Cellar/ghc/7.10.1/share/doc/ghc/html/libraries/base-4.8.0.0/Data-String.html#t:String">String</a> -> <a href="file:///usr/local/Cellar/ghc/7.10.1/share/doc/ghc/html/libraries/base-4.8.0.0/Data-Bool.html#t:Bool">Bool</a> -> st -> <a href="file:///usr/local/Cellar/ghc/7.10.1/share/doc/ghc/html/libraries/base-4.8.0.0/System-IO.html#t:IO">IO</a> st) st</li><li class="src short"><a href="#v:putTextToHandle">putTextToHandle</a> :: <a href="file:///usr/local/Cellar/ghc/7.10.1/share/doc/ghc/html/libraries/base-4.8.0.0/GHC-IO-Handle.html#t:Handle">Handle</a> -> <a href="file:///usr/local/Cellar/ghc/7.10.1/share/doc/ghc/html/libraries/base-4.8.0.0/Data-Bool.html#t:Bool">Bool</a> -> <a href="Test-HUnit-Text.html#t:PutText">PutText</a> <a href="file:///usr/local/Cellar/ghc/7.10.1/share/doc/ghc/html/libraries/base-4.8.0.0/Data-Int.html#t:Int">Int</a></li><li class="src short"><a href="#v:putTextToShowS">putTextToShowS</a> :: <a href="Test-HUnit-Text.html#t:PutText">PutText</a> <a href="file:///usr/local/Cellar/ghc/7.10.1/share/doc/ghc/html/libraries/base-4.8.0.0/Text-Show.html#t:ShowS">ShowS</a></li><li class="src short"><a href="#v:runTestText">runTestText</a> :: <a href="Test-HUnit-Text.html#t:PutText">PutText</a> st -> <a href="Test-HUnit-Base.html#t:Test">Test</a> -> <a href="file:///usr/local/Cellar/ghc/7.10.1/share/doc/ghc/html/libraries/base-4.8.0.0/System-IO.html#t:IO">IO</a> (<a href="Test-HUnit-Base.html#t:Counts">Counts</a>, st)</li><li class="src short"><a href="#v:showPath">showPath</a> :: <a href="Test-HUnit-Base.html#t:Path">Path</a> -> <a href="file:///usr/local/Cellar/ghc/7.10.1/share/doc/ghc/html/libraries/base-4.8.0.0/Data-String.html#t:String">String</a></li><li class="src short"><a href="#v:showCounts">showCounts</a> :: <a href="Test-HUnit-Base.html#t:Counts">Counts</a> -> <a href="file:///usr/local/Cellar/ghc/7.10.1/share/doc/ghc/html/libraries/base-4.8.0.0/Data-String.html#t:String">String</a></li><li class="src short"><a href="#v:runTestTT">runTestTT</a> :: <a href="Test-HUnit-Base.html#t:Test">Test</a> -> <a href="file:///usr/local/Cellar/ghc/7.10.1/share/doc/ghc/html/libraries/base-4.8.0.0/System-IO.html#t:IO">IO</a> <a href="Test-HUnit-Base.html#t:Counts">Counts</a></li></ul></div><div id="interface"><h1>Documentation</h1><div class="top"><p class="src"><span class="keyword">data</span> <a name="t:PutText" class="def">PutText</a> st</p><div class="doc"><p>As the general text-based test controller (<code><a href="Test-HUnit-Text.html#v:runTestText">runTestText</a></code>) executes a
|
||||
test, it reports each test case start, error, and failure by
|
||||
constructing a string and passing it to the function embodied in a
|
||||
<code><a href="Test-HUnit-Text.html#t:PutText">PutText</a></code>. A report string is known as a "line", although it includes
|
||||
no line terminator; the function in a <code><a href="Test-HUnit-Text.html#t:PutText">PutText</a></code> is responsible for
|
||||
terminating lines appropriately. Besides the line, the function
|
||||
receives a flag indicating the intended "persistence" of the line:
|
||||
<code><a href="file:///usr/local/Cellar/ghc/7.10.1/share/doc/ghc/html/libraries/base-4.8.0.0/Data-Bool.html#v:True">True</a></code> indicates that the line should be part of the final overall
|
||||
report; <code><a href="file:///usr/local/Cellar/ghc/7.10.1/share/doc/ghc/html/libraries/base-4.8.0.0/Data-Bool.html#v:False">False</a></code> indicates that the line merely indicates progress of
|
||||
the test execution. Each progress line shows the current values of
|
||||
the cumulative test execution counts; a final, persistent line shows
|
||||
the final count values.</p><p>The <code><a href="Test-HUnit-Text.html#t:PutText">PutText</a></code> function is also passed, and returns, an arbitrary state
|
||||
value (called <code>st</code> here). The initial state value is given in the
|
||||
<code><a href="Test-HUnit-Text.html#t:PutText">PutText</a></code>; the final value is returned by <code><a href="Test-HUnit-Text.html#v:runTestText">runTestText</a></code>.</p></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a name="v:PutText" class="def">PutText</a> (<a href="file:///usr/local/Cellar/ghc/7.10.1/share/doc/ghc/html/libraries/base-4.8.0.0/Data-String.html#t:String">String</a> -> <a href="file:///usr/local/Cellar/ghc/7.10.1/share/doc/ghc/html/libraries/base-4.8.0.0/Data-Bool.html#t:Bool">Bool</a> -> st -> <a href="file:///usr/local/Cellar/ghc/7.10.1/share/doc/ghc/html/libraries/base-4.8.0.0/System-IO.html#t:IO">IO</a> st) st</td><td class="doc empty"> </td></tr></table></div></div><div class="top"><p class="src"><a name="v:putTextToHandle" class="def">putTextToHandle</a></p><div class="subs arguments"><p class="caption">Arguments</p><table><tr><td class="src">:: <a href="file:///usr/local/Cellar/ghc/7.10.1/share/doc/ghc/html/libraries/base-4.8.0.0/GHC-IO-Handle.html#t:Handle">Handle</a></td><td class="doc empty"> </td></tr><tr><td class="src">-> <a href="file:///usr/local/Cellar/ghc/7.10.1/share/doc/ghc/html/libraries/base-4.8.0.0/Data-Bool.html#t:Bool">Bool</a></td><td class="doc"><p>Write progress lines to handle? </p></td></tr><tr><td class="src">-> <a href="Test-HUnit-Text.html#t:PutText">PutText</a> <a href="file:///usr/local/Cellar/ghc/7.10.1/share/doc/ghc/html/libraries/base-4.8.0.0/Data-Int.html#t:Int">Int</a></td><td class="doc empty"> </td></tr></table></div><div class="doc"><p>Two reporting schemes are defined here. <code>putTextToHandle</code> writes
|
||||
report lines to a given handle. <code><a href="Test-HUnit-Text.html#v:putTextToShowS">putTextToShowS</a></code> accumulates
|
||||
persistent lines for return as a whole by <code><a href="Test-HUnit-Text.html#v:runTestText">runTestText</a></code>.</p><p><code>putTextToHandle</code> writes persistent lines to the given handle,
|
||||
following each by a newline character. In addition, if the given flag
|
||||
is <code>True</code>, it writes progress lines to the handle as well. A progress
|
||||
line is written with no line termination, so that it can be
|
||||
overwritten by the next report line. As overwriting involves writing
|
||||
carriage return and blank characters, its proper effect is usually
|
||||
only obtained on terminal devices.</p></div></div><div class="top"><p class="src"><a name="v:putTextToShowS" class="def">putTextToShowS</a> :: <a href="Test-HUnit-Text.html#t:PutText">PutText</a> <a href="file:///usr/local/Cellar/ghc/7.10.1/share/doc/ghc/html/libraries/base-4.8.0.0/Text-Show.html#t:ShowS">ShowS</a></p><div class="doc"><p>Accumulates persistent lines (dropping progess lines) for return by
|
||||
<code><a href="Test-HUnit-Text.html#v:runTestText">runTestText</a></code>. The accumulated lines are represented by a
|
||||
<code><code><a href="file:///usr/local/Cellar/ghc/7.10.1/share/doc/ghc/html/libraries/base-4.8.0.0/Text-Show.html#t:ShowS">ShowS</a></code> (<code><a href="file:///usr/local/Cellar/ghc/7.10.1/share/doc/ghc/html/libraries/base-4.8.0.0/Data-String.html#t:String">String</a></code> -> <code><a href="file:///usr/local/Cellar/ghc/7.10.1/share/doc/ghc/html/libraries/base-4.8.0.0/Data-String.html#t:String">String</a></code>)</code> function whose first argument is the
|
||||
string to be appended to the accumulated report lines.</p></div></div><div class="top"><p class="src"><a name="v:runTestText" class="def">runTestText</a> :: <a href="Test-HUnit-Text.html#t:PutText">PutText</a> st -> <a href="Test-HUnit-Base.html#t:Test">Test</a> -> <a href="file:///usr/local/Cellar/ghc/7.10.1/share/doc/ghc/html/libraries/base-4.8.0.0/System-IO.html#t:IO">IO</a> (<a href="Test-HUnit-Base.html#t:Counts">Counts</a>, st)</p><div class="doc"><p>Executes a test, processing each report line according to the given
|
||||
reporting scheme. The reporting scheme's state is threaded through calls
|
||||
to the reporting scheme's function and finally returned, along with final
|
||||
count values.</p></div></div><div class="top"><p class="src"><a name="v:showPath" class="def">showPath</a> :: <a href="Test-HUnit-Base.html#t:Path">Path</a> -> <a href="file:///usr/local/Cellar/ghc/7.10.1/share/doc/ghc/html/libraries/base-4.8.0.0/Data-String.html#t:String">String</a></p><div class="doc"><p>Converts a test case path to a string, separating adjacent elements by
|
||||
the colon (':'). An element of the path is quoted (as with <code><a href="file:///usr/local/Cellar/ghc/7.10.1/share/doc/ghc/html/libraries/base-4.8.0.0/Text-Show.html#v:show">show</a></code>) when
|
||||
there is potential ambiguity.</p></div></div><div class="top"><p class="src"><a name="v:showCounts" class="def">showCounts</a> :: <a href="Test-HUnit-Base.html#t:Counts">Counts</a> -> <a href="file:///usr/local/Cellar/ghc/7.10.1/share/doc/ghc/html/libraries/base-4.8.0.0/Data-String.html#t:String">String</a></p><div class="doc"><p>Converts test execution counts to a string.</p></div></div><div class="top"><p class="src"><a name="v:runTestTT" class="def">runTestTT</a> :: <a href="Test-HUnit-Base.html#t:Test">Test</a> -> <a href="file:///usr/local/Cellar/ghc/7.10.1/share/doc/ghc/html/libraries/base-4.8.0.0/System-IO.html#t:IO">IO</a> <a href="Test-HUnit-Base.html#t:Counts">Counts</a></p><div class="doc"><p>Provides the "standard" text-based test controller. Reporting is made to
|
||||
standard error, and progress reports are included. For possible
|
||||
programmatic use, the final counts are returned.</p><p>The "TT" in the name suggests "Text-based reporting to the Terminal".</p></div></div></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.16.0</p></div></body></html>
|
@@ -0,0 +1,37 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Test.HUnit</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script type="text/javascript">//<![CDATA[
|
||||
window.onload = function () {pageLoad();setSynopsis("mini_Test-HUnit.html");};
|
||||
//]]>
|
||||
</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">HUnit-1.2.5.2: A unit testing framework for Haskell</p></div><div id="content"><div id="module-header"><table class="info"><tr><th>Safe Haskell</th><td>Safe</td></tr><tr><th>Language</th><td>Haskell98</td></tr></table><p class="caption">Test.HUnit</p></div><div id="description"><p class="caption">Description</p><div class="doc"><p>HUnit is a unit testing framework for Haskell, inspired by the JUnit tool
|
||||
for Java. This guide describes how to use HUnit, assuming you are familiar
|
||||
with Haskell, though not necessarily with JUnit.</p><p>In the Haskell module where your tests will reside, import module
|
||||
<code>Test.HUnit</code>:</p><pre> import Test.HUnit
|
||||
</pre><p>Define test cases as appropriate:</p><pre> test1 = TestCase (assertEqual "for (foo 3)," (1,2) (foo 3))
|
||||
test2 = TestCase (do (x,y) <- partA 3
|
||||
assertEqual "for the first result of partA," 5 x
|
||||
b <- partB y
|
||||
assertBool ("(partB " ++ show y ++ ") failed") b)
|
||||
</pre><p>Name the test cases and group them together:</p><pre> tests = TestList [TestLabel "test1" test1, TestLabel "test2" test2]
|
||||
</pre><p>Run the tests as a group. At a Haskell interpreter prompt, apply the function
|
||||
<code>runTestTT</code> to the collected tests. (The <em>TT</em> suggests <em>T</em>ext orientation
|
||||
with output to the <em>T</em>erminal.)</p><pre> > runTestTT tests
|
||||
Cases: 2 Tried: 2 Errors: 0 Failures: 0
|
||||
>
|
||||
</pre><p>If the tests are proving their worth, you might see:</p><pre> > runTestTT tests
|
||||
### Failure in: 0:test1
|
||||
for (foo 3),
|
||||
expected: (1,2)
|
||||
but got: (1,3)
|
||||
Cases: 2 Tried: 2 Errors: 0 Failures: 1
|
||||
>
|
||||
</pre><p>You can specify tests even more succinctly using operators and overloaded
|
||||
functions that HUnit provides:</p><pre> tests = test [ "test1" ~: "(foo 3)" ~: (1,2) ~=? (foo 3),
|
||||
"test2" ~: do (x, y) <- partA 3
|
||||
assertEqual "for the first result of partA," 5 x
|
||||
partB y @? "(partB " ++ show y ++ ") failed" ]
|
||||
</pre><p>Assuming the same test failures as before, you would see:</p><pre> > runTestTT tests
|
||||
### Failure in: 0:test1:(foo 3)
|
||||
expected: (1,2)
|
||||
but got: (1,3)
|
||||
Cases: 2 Tried: 2 Errors: 0 Failures: 1
|
||||
>
|
||||
</pre></div></div><div id="interface"><h1>Documentation</h1><div class="top"><p class="src">module <a href="Test-HUnit-Base.html">Test.HUnit.Base</a></p></div><div class="top"><p class="src">module <a href="Test-HUnit-Text.html">Test.HUnit.Text</a></p></div></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.16.0</p></div></body></html>
|
File diff suppressed because one or more lines are too long
@@ -0,0 +1,30 @@
|
||||
<!DOCTYPE html
|
||||
PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN"
|
||||
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<title></title>
|
||||
<script src="haddock-util.js" type="text/javascript"></script>
|
||||
<script type="text/javascript"><!--
|
||||
/*
|
||||
|
||||
The synopsis frame needs to be updated using javascript, so we hide
|
||||
it by default and only show it if javascript is enabled.
|
||||
|
||||
TODO: provide some means to disable it.
|
||||
*/
|
||||
function load() {
|
||||
var d = document.getElementById("inner-fs");
|
||||
d.rows = "50%,50%";
|
||||
postReframe();
|
||||
}
|
||||
--></script>
|
||||
</head>
|
||||
<frameset id="outer-fs" cols="25%,75%" onload="load()">
|
||||
<frameset id="inner-fs" rows="100%,0%">
|
||||
<frame src="index-frames.html" name="modules" />
|
||||
<frame src="" name="synopsis" />
|
||||
</frameset>
|
||||
<frame src="index.html" name="main" />
|
||||
</frameset>
|
||||
</html>
|
@@ -0,0 +1,344 @@
|
||||
// Haddock JavaScript utilities
|
||||
|
||||
var rspace = /\s\s+/g,
|
||||
rtrim = /^\s+|\s+$/g;
|
||||
|
||||
function spaced(s) { return (" " + s + " ").replace(rspace, " "); }
|
||||
function trim(s) { return s.replace(rtrim, ""); }
|
||||
|
||||
function hasClass(elem, value) {
|
||||
var className = spaced(elem.className || "");
|
||||
return className.indexOf( " " + value + " " ) >= 0;
|
||||
}
|
||||
|
||||
function addClass(elem, value) {
|
||||
var className = spaced(elem.className || "");
|
||||
if ( className.indexOf( " " + value + " " ) < 0 ) {
|
||||
elem.className = trim(className + " " + value);
|
||||
}
|
||||
}
|
||||
|
||||
function removeClass(elem, value) {
|
||||
var className = spaced(elem.className || "");
|
||||
className = className.replace(" " + value + " ", " ");
|
||||
elem.className = trim(className);
|
||||
}
|
||||
|
||||
function toggleClass(elem, valueOn, valueOff, bool) {
|
||||
if (bool == null) { bool = ! hasClass(elem, valueOn); }
|
||||
if (bool) {
|
||||
removeClass(elem, valueOff);
|
||||
addClass(elem, valueOn);
|
||||
}
|
||||
else {
|
||||
removeClass(elem, valueOn);
|
||||
addClass(elem, valueOff);
|
||||
}
|
||||
return bool;
|
||||
}
|
||||
|
||||
|
||||
function makeClassToggle(valueOn, valueOff)
|
||||
{
|
||||
return function(elem, bool) {
|
||||
return toggleClass(elem, valueOn, valueOff, bool);
|
||||
}
|
||||
}
|
||||
|
||||
toggleShow = makeClassToggle("show", "hide");
|
||||
toggleCollapser = makeClassToggle("collapser", "expander");
|
||||
|
||||
function toggleSection(id)
|
||||
{
|
||||
var b = toggleShow(document.getElementById("section." + id));
|
||||
toggleCollapser(document.getElementById("control." + id), b);
|
||||
rememberCollapsed(id, b);
|
||||
return b;
|
||||
}
|
||||
|
||||
var collapsed = {};
|
||||
function rememberCollapsed(id, b)
|
||||
{
|
||||
if(b)
|
||||
delete collapsed[id]
|
||||
else
|
||||
collapsed[id] = null;
|
||||
|
||||
var sections = [];
|
||||
for(var i in collapsed)
|
||||
{
|
||||
if(collapsed.hasOwnProperty(i))
|
||||
sections.push(i);
|
||||
}
|
||||
// cookie specific to this page; don't use setCookie which sets path=/
|
||||
document.cookie = "collapsed=" + escape(sections.join('+'));
|
||||
}
|
||||
|
||||
function restoreCollapsed()
|
||||
{
|
||||
var cookie = getCookie("collapsed");
|
||||
if(!cookie)
|
||||
return;
|
||||
|
||||
var ids = cookie.split('+');
|
||||
for(var i in ids)
|
||||
{
|
||||
if(document.getElementById("section." + ids[i]))
|
||||
toggleSection(ids[i]);
|
||||
}
|
||||
}
|
||||
|
||||
function setCookie(name, value) {
|
||||
document.cookie = name + "=" + escape(value) + ";path=/;";
|
||||
}
|
||||
|
||||
function clearCookie(name) {
|
||||
document.cookie = name + "=;path=/;expires=Thu, 01-Jan-1970 00:00:01 GMT;";
|
||||
}
|
||||
|
||||
function getCookie(name) {
|
||||
var nameEQ = name + "=";
|
||||
var ca = document.cookie.split(';');
|
||||
for(var i=0;i < ca.length;i++) {
|
||||
var c = ca[i];
|
||||
while (c.charAt(0)==' ') c = c.substring(1,c.length);
|
||||
if (c.indexOf(nameEQ) == 0) {
|
||||
return unescape(c.substring(nameEQ.length,c.length));
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
|
||||
|
||||
var max_results = 75; // 50 is not enough to search for map in the base libraries
|
||||
var shown_range = null;
|
||||
var last_search = null;
|
||||
|
||||
function quick_search()
|
||||
{
|
||||
perform_search(false);
|
||||
}
|
||||
|
||||
function full_search()
|
||||
{
|
||||
perform_search(true);
|
||||
}
|
||||
|
||||
|
||||
function perform_search(full)
|
||||
{
|
||||
var text = document.getElementById("searchbox").value.toLowerCase();
|
||||
if (text == last_search && !full) return;
|
||||
last_search = text;
|
||||
|
||||
var table = document.getElementById("indexlist");
|
||||
var status = document.getElementById("searchmsg");
|
||||
var children = table.firstChild.childNodes;
|
||||
|
||||
// first figure out the first node with the prefix
|
||||
var first = bisect(-1);
|
||||
var last = (first == -1 ? -1 : bisect(1));
|
||||
|
||||
if (first == -1)
|
||||
{
|
||||
table.className = "";
|
||||
status.innerHTML = "No results found, displaying all";
|
||||
}
|
||||
else if (first == 0 && last == children.length - 1)
|
||||
{
|
||||
table.className = "";
|
||||
status.innerHTML = "";
|
||||
}
|
||||
else if (last - first >= max_results && !full)
|
||||
{
|
||||
table.className = "";
|
||||
status.innerHTML = "More than " + max_results + ", press Search to display";
|
||||
}
|
||||
else
|
||||
{
|
||||
// decide what you need to clear/show
|
||||
if (shown_range)
|
||||
setclass(shown_range[0], shown_range[1], "indexrow");
|
||||
setclass(first, last, "indexshow");
|
||||
shown_range = [first, last];
|
||||
table.className = "indexsearch";
|
||||
status.innerHTML = "";
|
||||
}
|
||||
|
||||
|
||||
function setclass(first, last, status)
|
||||
{
|
||||
for (var i = first; i <= last; i++)
|
||||
{
|
||||
children[i].className = status;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// do a binary search, treating 0 as ...
|
||||
// return either -1 (no 0's found) or location of most far match
|
||||
function bisect(dir)
|
||||
{
|
||||
var first = 0, finish = children.length - 1;
|
||||
var mid, success = false;
|
||||
|
||||
while (finish - first > 3)
|
||||
{
|
||||
mid = Math.floor((finish + first) / 2);
|
||||
|
||||
var i = checkitem(mid);
|
||||
if (i == 0) i = dir;
|
||||
if (i == -1)
|
||||
finish = mid;
|
||||
else
|
||||
first = mid;
|
||||
}
|
||||
var a = (dir == 1 ? first : finish);
|
||||
var b = (dir == 1 ? finish : first);
|
||||
for (var i = b; i != a - dir; i -= dir)
|
||||
{
|
||||
if (checkitem(i) == 0) return i;
|
||||
}
|
||||
return -1;
|
||||
}
|
||||
|
||||
|
||||
// from an index, decide what the result is
|
||||
// 0 = match, -1 is lower, 1 is higher
|
||||
function checkitem(i)
|
||||
{
|
||||
var s = getitem(i).toLowerCase().substr(0, text.length);
|
||||
if (s == text) return 0;
|
||||
else return (s > text ? -1 : 1);
|
||||
}
|
||||
|
||||
|
||||
// from an index, get its string
|
||||
// this abstracts over alternates
|
||||
function getitem(i)
|
||||
{
|
||||
for ( ; i >= 0; i--)
|
||||
{
|
||||
var s = children[i].firstChild.firstChild.data;
|
||||
if (s.indexOf(' ') == -1)
|
||||
return s;
|
||||
}
|
||||
return ""; // should never be reached
|
||||
}
|
||||
}
|
||||
|
||||
function setSynopsis(filename) {
|
||||
if (parent.window.synopsis) {
|
||||
if (parent.window.synopsis.location.replace) {
|
||||
// In Firefox this avoids adding the change to the history.
|
||||
parent.window.synopsis.location.replace(filename);
|
||||
} else {
|
||||
parent.window.synopsis.location = filename;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function addMenuItem(html) {
|
||||
var menu = document.getElementById("page-menu");
|
||||
if (menu) {
|
||||
var btn = menu.firstChild.cloneNode(false);
|
||||
btn.innerHTML = html;
|
||||
menu.appendChild(btn);
|
||||
}
|
||||
}
|
||||
|
||||
function adjustForFrames() {
|
||||
var bodyCls;
|
||||
|
||||
if (parent.location.href == window.location.href) {
|
||||
// not in frames, so add Frames button
|
||||
addMenuItem("<a href='#' onclick='reframe();return true;'>Frames</a>");
|
||||
bodyCls = "no-frame";
|
||||
}
|
||||
else {
|
||||
bodyCls = "in-frame";
|
||||
}
|
||||
addClass(document.body, bodyCls);
|
||||
}
|
||||
|
||||
function reframe() {
|
||||
setCookie("haddock-reframe", document.URL);
|
||||
window.location = "frames.html";
|
||||
}
|
||||
|
||||
function postReframe() {
|
||||
var s = getCookie("haddock-reframe");
|
||||
if (s) {
|
||||
parent.window.main.location = s;
|
||||
clearCookie("haddock-reframe");
|
||||
}
|
||||
}
|
||||
|
||||
function styles() {
|
||||
var i, a, es = document.getElementsByTagName("link"), rs = [];
|
||||
for (i = 0; a = es[i]; i++) {
|
||||
if(a.rel.indexOf("style") != -1 && a.title) {
|
||||
rs.push(a);
|
||||
}
|
||||
}
|
||||
return rs;
|
||||
}
|
||||
|
||||
function addStyleMenu() {
|
||||
var as = styles();
|
||||
var i, a, btns = "";
|
||||
for(i=0; a = as[i]; i++) {
|
||||
btns += "<li><a href='#' onclick=\"setActiveStyleSheet('"
|
||||
+ a.title + "'); return false;\">"
|
||||
+ a.title + "</a></li>"
|
||||
}
|
||||
if (as.length > 1) {
|
||||
var h = "<div id='style-menu-holder'>"
|
||||
+ "<a href='#' onclick='styleMenu(); return false;'>Style ▾</a>"
|
||||
+ "<ul id='style-menu' class='hide'>" + btns + "</ul>"
|
||||
+ "</div>";
|
||||
addMenuItem(h);
|
||||
}
|
||||
}
|
||||
|
||||
function setActiveStyleSheet(title) {
|
||||
var as = styles();
|
||||
var i, a, found;
|
||||
for(i=0; a = as[i]; i++) {
|
||||
a.disabled = true;
|
||||
// need to do this always, some browsers are edge triggered
|
||||
if(a.title == title) {
|
||||
found = a;
|
||||
}
|
||||
}
|
||||
if (found) {
|
||||
found.disabled = false;
|
||||
setCookie("haddock-style", title);
|
||||
}
|
||||
else {
|
||||
as[0].disabled = false;
|
||||
clearCookie("haddock-style");
|
||||
}
|
||||
styleMenu(false);
|
||||
}
|
||||
|
||||
function resetStyle() {
|
||||
var s = getCookie("haddock-style");
|
||||
if (s) setActiveStyleSheet(s);
|
||||
}
|
||||
|
||||
|
||||
function styleMenu(show) {
|
||||
var m = document.getElementById('style-menu');
|
||||
if (m) toggleShow(m, show);
|
||||
}
|
||||
|
||||
|
||||
function pageLoad() {
|
||||
addStyleMenu();
|
||||
adjustForFrames();
|
||||
resetStyle();
|
||||
restoreCollapsed();
|
||||
}
|
||||
|
Binary file not shown.
After Width: | Height: | Size: 1.6 KiB |
@@ -0,0 +1,4 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>HUnit-1.2.5.2: A unit testing framework for Haskell</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script type="text/javascript">//<![CDATA[
|
||||
window.onload = function () {pageLoad();};
|
||||
//]]>
|
||||
</script></head><body id="mini"><div id="module-list"><p class="caption">Modules</p><ul><li class="module"><a href="Test-HUnit.html" target="main">Test.HUnit</a></li><li class="module"><a href="Test-HUnit-Base.html" target="main">Test.HUnit.Base</a></li><li class="module"><a href="Test-HUnit-Lang.html" target="main">Test.HUnit.Lang</a></li><li class="module"><a href="Test-HUnit-Terminal.html" target="main">Test.HUnit.Terminal</a></li><li class="module"><a href="Test-HUnit-Text.html" target="main">Test.HUnit.Text</a></li></ul></div></body></html>
|
@@ -0,0 +1,5 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>HUnit-1.2.5.2: A unit testing framework for Haskell</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script type="text/javascript">//<![CDATA[
|
||||
window.onload = function () {pageLoad();};
|
||||
//]]>
|
||||
</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">HUnit-1.2.5.2: A unit testing framework for Haskell</p></div><div id="content"><div id="description"><h1>HUnit-1.2.5.2: A unit testing framework for Haskell</h1><div class="doc"><p>HUnit is a unit testing framework for Haskell, inspired by the
|
||||
JUnit tool for Java, see: <a href="http://www.junit.org">http://www.junit.org</a>.</p></div></div><div id="module-list"><p class="caption">Modules</p><ul><li><span id="control.n.1" class="module collapser" onclick="toggleSection('n.1')">Test</span><ul id="section.n.1" class="show"><li><span class="module"><span id="control.n.1.1" class="collapser" onclick="toggleSection('n.1.1')"> </span><a href="Test-HUnit.html">Test.HUnit</a></span><ul id="section.n.1.1" class="show"><li><span class="module"><a href="Test-HUnit-Base.html">Test.HUnit.Base</a></span></li><li><span class="module"><a href="Test-HUnit-Lang.html">Test.HUnit.Lang</a></span></li><li><span class="module"><a href="Test-HUnit-Terminal.html">Test.HUnit.Terminal</a></span></li><li><span class="module"><a href="Test-HUnit-Text.html">Test.HUnit.Text</a></span></li></ul></li></ul></li></ul></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.16.0</p></div></body></html>
|
@@ -0,0 +1,4 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Test.HUnit.Base</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script type="text/javascript">//<![CDATA[
|
||||
window.onload = function () {pageLoad();};
|
||||
//]]>
|
||||
</script></head><body id="mini"><div id="module-header"><p class="caption">Test.HUnit.Base</p></div><div id="interface"><h2>Declaring tests</h2><div class="top"><p class="src"><span class="keyword">data</span> <a href="Test-HUnit-Base.html#t:Test" target="main">Test</a></p></div><div class="top"><p class="src"><a href="Test-HUnit-Base.html#v:-126--61--63-" target="main">(~=?)</a></p></div><div class="top"><p class="src"><a href="Test-HUnit-Base.html#v:-126--63--61-" target="main">(~?=)</a></p></div><div class="top"><p class="src"><a href="Test-HUnit-Base.html#v:-126-:" target="main">(~:)</a></p></div><div class="top"><p class="src"><a href="Test-HUnit-Base.html#v:-126--63-" target="main">(~?)</a></p></div><h2>Making assertions</h2><div class="top"><p class="src"><a href="Test-HUnit-Base.html#v:assertFailure" target="main">assertFailure</a></p></div><div class="top"><p class="src"><a href="Test-HUnit-Base.html#v:assertBool" target="main">assertBool</a></p></div><div class="top"><p class="src"><a href="Test-HUnit-Base.html#v:assertEqual" target="main">assertEqual</a></p></div><div class="top"><p class="src"><a href="Test-HUnit-Base.html#v:assertString" target="main">assertString</a></p></div><div class="top"><p class="src"><span class="keyword">type</span> <a href="Test-HUnit-Base.html#t:Assertion" target="main">Assertion</a></p></div><div class="top"><p class="src"><a href="Test-HUnit-Base.html#v:-64--61--63-" target="main">(@=?)</a></p></div><div class="top"><p class="src"><a href="Test-HUnit-Base.html#v:-64--63--61-" target="main">(@?=)</a></p></div><div class="top"><p class="src"><a href="Test-HUnit-Base.html#v:-64--63-" target="main">(@?)</a></p></div><h2>Extending the assertion functionality</h2><div class="top"><p class="src"><span class="keyword">class</span> <a href="Test-HUnit-Base.html#t:Assertable" target="main">Assertable</a> t</p></div><div class="top"><p class="src"><span class="keyword">class</span> <a href="Test-HUnit-Base.html#t:ListAssertable" target="main">ListAssertable</a> t</p></div><div class="top"><p class="src"><span class="keyword">type</span> <a href="Test-HUnit-Base.html#t:AssertionPredicate" target="main">AssertionPredicate</a></p></div><div class="top"><p class="src"><span class="keyword">class</span> <a href="Test-HUnit-Base.html#t:AssertionPredicable" target="main">AssertionPredicable</a> t</p></div><div class="top"><p class="src"><span class="keyword">class</span> <a href="Test-HUnit-Base.html#t:Testable" target="main">Testable</a> t</p></div><h2>Test execution</h2><div class="top"><p class="src"><span class="keyword">data</span> <a href="Test-HUnit-Base.html#t:State" target="main">State</a></p></div><div class="top"><p class="src"><span class="keyword">data</span> <a href="Test-HUnit-Base.html#t:Counts" target="main">Counts</a></p></div><div class="top"><p class="src"><span class="keyword">type</span> <a href="Test-HUnit-Base.html#t:Path" target="main">Path</a></p></div><div class="top"><p class="src"><span class="keyword">data</span> <a href="Test-HUnit-Base.html#t:Node" target="main">Node</a></p></div><div class="top"><p class="src"><a href="Test-HUnit-Base.html#v:testCasePaths" target="main">testCasePaths</a></p></div><div class="top"><p class="src"><a href="Test-HUnit-Base.html#v:testCaseCount" target="main">testCaseCount</a></p></div><div class="top"><p class="src"><span class="keyword">type</span> <a href="Test-HUnit-Base.html#t:ReportStart" target="main">ReportStart</a> us</p></div><div class="top"><p class="src"><span class="keyword">type</span> <a href="Test-HUnit-Base.html#t:ReportProblem" target="main">ReportProblem</a> us</p></div><div class="top"><p class="src"><a href="Test-HUnit-Base.html#v:performTest" target="main">performTest</a></p></div></div></body></html>
|
@@ -0,0 +1,4 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Test.HUnit.Lang</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script type="text/javascript">//<![CDATA[
|
||||
window.onload = function () {pageLoad();};
|
||||
//]]>
|
||||
</script></head><body id="mini"><div id="module-header"><p class="caption">Test.HUnit.Lang</p></div><div id="interface"><div class="top"><p class="src"><span class="keyword">type</span> <a href="Test-HUnit-Lang.html#t:Assertion" target="main">Assertion</a></p></div><div class="top"><p class="src"><a href="Test-HUnit-Lang.html#v:assertFailure" target="main">assertFailure</a></p></div><div class="top"><p class="src"><a href="Test-HUnit-Lang.html#v:performTestCase" target="main">performTestCase</a></p></div><h1>Internals</h1><div class="top"><p class="src"><span class="keyword">data</span> <a href="Test-HUnit-Lang.html#t:HUnitFailure" target="main">HUnitFailure</a></p></div></div></body></html>
|
@@ -0,0 +1,4 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Test.HUnit.Terminal</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script type="text/javascript">//<![CDATA[
|
||||
window.onload = function () {pageLoad();};
|
||||
//]]>
|
||||
</script></head><body id="mini"><div id="module-header"><p class="caption">Test.HUnit.Terminal</p></div><div id="interface"><div class="top"><p class="src"><a href="Test-HUnit-Terminal.html#v:terminalAppearance" target="main">terminalAppearance</a></p></div></div></body></html>
|
@@ -0,0 +1,4 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Test.HUnit.Text</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script type="text/javascript">//<![CDATA[
|
||||
window.onload = function () {pageLoad();};
|
||||
//]]>
|
||||
</script></head><body id="mini"><div id="module-header"><p class="caption">Test.HUnit.Text</p></div><div id="interface"><div class="top"><p class="src"><span class="keyword">data</span> <a href="Test-HUnit-Text.html#t:PutText" target="main">PutText</a> st</p></div><div class="top"><p class="src"><a href="Test-HUnit-Text.html#v:putTextToHandle" target="main">putTextToHandle</a></p></div><div class="top"><p class="src"><a href="Test-HUnit-Text.html#v:putTextToShowS" target="main">putTextToShowS</a></p></div><div class="top"><p class="src"><a href="Test-HUnit-Text.html#v:runTestText" target="main">runTestText</a></p></div><div class="top"><p class="src"><a href="Test-HUnit-Text.html#v:showPath" target="main">showPath</a></p></div><div class="top"><p class="src"><a href="Test-HUnit-Text.html#v:showCounts" target="main">showCounts</a></p></div><div class="top"><p class="src"><a href="Test-HUnit-Text.html#v:runTestTT" target="main">runTestTT</a></p></div></div></body></html>
|
@@ -0,0 +1,4 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Test.HUnit</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script type="text/javascript">//<![CDATA[
|
||||
window.onload = function () {pageLoad();};
|
||||
//]]>
|
||||
</script></head><body id="mini"><div id="module-header"><p class="caption">Test.HUnit</p></div><div id="interface"></div></body></html>
|
Binary file not shown.
After Width: | Height: | Size: 56 B |
@@ -0,0 +1,587 @@
|
||||
/* @group Fundamentals */
|
||||
|
||||
* { margin: 0; padding: 0 }
|
||||
|
||||
/* Is this portable? */
|
||||
html {
|
||||
background-color: white;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
body {
|
||||
background: white;
|
||||
color: black;
|
||||
text-align: left;
|
||||
min-height: 100%;
|
||||
position: relative;
|
||||
}
|
||||
|
||||
p {
|
||||
margin: 0.8em 0;
|
||||
}
|
||||
|
||||
ul, ol {
|
||||
margin: 0.8em 0 0.8em 2em;
|
||||
}
|
||||
|
||||
dl {
|
||||
margin: 0.8em 0;
|
||||
}
|
||||
|
||||
dt {
|
||||
font-weight: bold;
|
||||
}
|
||||
dd {
|
||||
margin-left: 2em;
|
||||
}
|
||||
|
||||
a { text-decoration: none; }
|
||||
a[href]:link { color: rgb(196,69,29); }
|
||||
a[href]:visited { color: rgb(171,105,84); }
|
||||
a[href]:hover { text-decoration:underline; }
|
||||
|
||||
/* @end */
|
||||
|
||||
/* @group Fonts & Sizes */
|
||||
|
||||
/* Basic technique & IE workarounds from YUI 3
|
||||
For reasons, see:
|
||||
http://yui.yahooapis.com/3.1.1/build/cssfonts/fonts.css
|
||||
*/
|
||||
|
||||
body {
|
||||
font:13px/1.4 sans-serif;
|
||||
*font-size:small; /* for IE */
|
||||
*font:x-small; /* for IE in quirks mode */
|
||||
}
|
||||
|
||||
h1 { font-size: 146.5%; /* 19pt */ }
|
||||
h2 { font-size: 131%; /* 17pt */ }
|
||||
h3 { font-size: 116%; /* 15pt */ }
|
||||
h4 { font-size: 100%; /* 13pt */ }
|
||||
h5 { font-size: 100%; /* 13pt */ }
|
||||
|
||||
select, input, button, textarea {
|
||||
font:99% sans-serif;
|
||||
}
|
||||
|
||||
table {
|
||||
font-size:inherit;
|
||||
font:100%;
|
||||
}
|
||||
|
||||
pre, code, kbd, samp, tt, .src {
|
||||
font-family:monospace;
|
||||
*font-size:108%;
|
||||
line-height: 124%;
|
||||
}
|
||||
|
||||
.links, .link {
|
||||
font-size: 85%; /* 11pt */
|
||||
}
|
||||
|
||||
#module-header .caption {
|
||||
font-size: 182%; /* 24pt */
|
||||
}
|
||||
|
||||
.info {
|
||||
font-size: 85%; /* 11pt */
|
||||
}
|
||||
|
||||
#table-of-contents, #synopsis {
|
||||
/* font-size: 85%; /* 11pt */
|
||||
}
|
||||
|
||||
|
||||
/* @end */
|
||||
|
||||
/* @group Common */
|
||||
|
||||
.caption, h1, h2, h3, h4, h5, h6 {
|
||||
font-weight: bold;
|
||||
color: rgb(78,98,114);
|
||||
margin: 0.8em 0 0.4em;
|
||||
}
|
||||
|
||||
* + h1, * + h2, * + h3, * + h4, * + h5, * + h6 {
|
||||
margin-top: 2em;
|
||||
}
|
||||
|
||||
h1 + h2, h2 + h3, h3 + h4, h4 + h5, h5 + h6 {
|
||||
margin-top: inherit;
|
||||
}
|
||||
|
||||
ul.links {
|
||||
list-style: none;
|
||||
text-align: left;
|
||||
float: right;
|
||||
display: inline-table;
|
||||
margin: 0 0 0 1em;
|
||||
}
|
||||
|
||||
ul.links li {
|
||||
display: inline;
|
||||
border-left: 1px solid #d5d5d5;
|
||||
white-space: nowrap;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
ul.links li a {
|
||||
padding: 0.2em 0.5em;
|
||||
}
|
||||
|
||||
.hide { display: none; }
|
||||
.show { display: inherit; }
|
||||
.clear { clear: both; }
|
||||
|
||||
.collapser {
|
||||
background-image: url(minus.gif);
|
||||
background-repeat: no-repeat;
|
||||
}
|
||||
.expander {
|
||||
background-image: url(plus.gif);
|
||||
background-repeat: no-repeat;
|
||||
}
|
||||
p.caption.collapser,
|
||||
p.caption.expander {
|
||||
background-position: 0 0.4em;
|
||||
}
|
||||
.collapser, .expander {
|
||||
padding-left: 14px;
|
||||
margin-left: -14px;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
pre {
|
||||
padding: 0.25em;
|
||||
margin: 0.8em 0;
|
||||
background: rgb(229,237,244);
|
||||
overflow: auto;
|
||||
border-bottom: 0.25em solid white;
|
||||
/* white border adds some space below the box to compensate
|
||||
for visual extra space that paragraphs have between baseline
|
||||
and the bounding box */
|
||||
}
|
||||
|
||||
.src {
|
||||
background: #f0f0f0;
|
||||
padding: 0.2em 0.5em;
|
||||
}
|
||||
|
||||
.keyword { font-weight: normal; }
|
||||
.def { font-weight: bold; }
|
||||
|
||||
|
||||
/* @end */
|
||||
|
||||
/* @group Page Structure */
|
||||
|
||||
#content {
|
||||
margin: 0 auto;
|
||||
padding: 0 2em 6em;
|
||||
}
|
||||
|
||||
#package-header {
|
||||
background: rgb(41,56,69);
|
||||
border-top: 5px solid rgb(78,98,114);
|
||||
color: #ddd;
|
||||
padding: 0.2em;
|
||||
position: relative;
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
#package-header .caption {
|
||||
background: url(hslogo-16.png) no-repeat 0em;
|
||||
color: white;
|
||||
margin: 0 2em;
|
||||
font-weight: normal;
|
||||
font-style: normal;
|
||||
padding-left: 2em;
|
||||
}
|
||||
|
||||
#package-header a:link, #package-header a:visited { color: white; }
|
||||
#package-header a:hover { background: rgb(78,98,114); }
|
||||
|
||||
#module-header .caption {
|
||||
color: rgb(78,98,114);
|
||||
font-weight: bold;
|
||||
border-bottom: 1px solid #ddd;
|
||||
}
|
||||
|
||||
table.info {
|
||||
float: right;
|
||||
padding: 0.5em 1em;
|
||||
border: 1px solid #ddd;
|
||||
color: rgb(78,98,114);
|
||||
background-color: #fff;
|
||||
max-width: 40%;
|
||||
border-spacing: 0;
|
||||
position: relative;
|
||||
top: -0.5em;
|
||||
margin: 0 0 0 2em;
|
||||
}
|
||||
|
||||
.info th {
|
||||
padding: 0 1em 0 0;
|
||||
}
|
||||
|
||||
div#style-menu-holder {
|
||||
position: relative;
|
||||
z-index: 2;
|
||||
display: inline;
|
||||
}
|
||||
|
||||
#style-menu {
|
||||
position: absolute;
|
||||
z-index: 1;
|
||||
overflow: visible;
|
||||
background: #374c5e;
|
||||
margin: 0;
|
||||
text-align: center;
|
||||
right: 0;
|
||||
padding: 0;
|
||||
top: 1.25em;
|
||||
}
|
||||
|
||||
#style-menu li {
|
||||
display: list-item;
|
||||
border-style: none;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
color: #000;
|
||||
list-style-type: none;
|
||||
}
|
||||
|
||||
#style-menu li + li {
|
||||
border-top: 1px solid #919191;
|
||||
}
|
||||
|
||||
#style-menu a {
|
||||
width: 6em;
|
||||
padding: 3px;
|
||||
display: block;
|
||||
}
|
||||
|
||||
#footer {
|
||||
background: #ddd;
|
||||
border-top: 1px solid #aaa;
|
||||
padding: 0.5em 0;
|
||||
color: #666;
|
||||
text-align: center;
|
||||
position: absolute;
|
||||
bottom: 0;
|
||||
width: 100%;
|
||||
height: 3em;
|
||||
}
|
||||
|
||||
/* @end */
|
||||
|
||||
/* @group Front Matter */
|
||||
|
||||
#table-of-contents {
|
||||
float: right;
|
||||
clear: right;
|
||||
background: #faf9dc;
|
||||
border: 1px solid #d8d7ad;
|
||||
padding: 0.5em 1em;
|
||||
max-width: 20em;
|
||||
margin: 0.5em 0 1em 1em;
|
||||
}
|
||||
|
||||
#table-of-contents .caption {
|
||||
text-align: center;
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
#table-of-contents ul {
|
||||
list-style: none;
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
#table-of-contents ul ul {
|
||||
margin-left: 2em;
|
||||
}
|
||||
|
||||
#description .caption {
|
||||
display: none;
|
||||
}
|
||||
|
||||
#synopsis {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.no-frame #synopsis {
|
||||
display: block;
|
||||
position: fixed;
|
||||
right: 0;
|
||||
height: 80%;
|
||||
top: 10%;
|
||||
padding: 0;
|
||||
max-width: 75%;
|
||||
}
|
||||
|
||||
#synopsis .caption {
|
||||
float: left;
|
||||
width: 29px;
|
||||
color: rgba(255,255,255,0);
|
||||
height: 110px;
|
||||
margin: 0;
|
||||
font-size: 1px;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
#synopsis p.caption.collapser {
|
||||
background: url(synopsis.png) no-repeat -64px -8px;
|
||||
}
|
||||
|
||||
#synopsis p.caption.expander {
|
||||
background: url(synopsis.png) no-repeat 0px -8px;
|
||||
}
|
||||
|
||||
#synopsis ul {
|
||||
height: 100%;
|
||||
overflow: auto;
|
||||
padding: 0.5em;
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
#synopsis ul ul {
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
#synopsis ul,
|
||||
#synopsis ul li.src {
|
||||
background-color: #faf9dc;
|
||||
white-space: nowrap;
|
||||
list-style: none;
|
||||
margin-left: 0;
|
||||
}
|
||||
|
||||
/* @end */
|
||||
|
||||
/* @group Main Content */
|
||||
|
||||
#interface div.top { margin: 2em 0; }
|
||||
#interface h1 + div.top,
|
||||
#interface h2 + div.top,
|
||||
#interface h3 + div.top,
|
||||
#interface h4 + div.top,
|
||||
#interface h5 + div.top {
|
||||
margin-top: 1em;
|
||||
}
|
||||
#interface p.src .link {
|
||||
float: right;
|
||||
color: #919191;
|
||||
border-left: 1px solid #919191;
|
||||
background: #f0f0f0;
|
||||
padding: 0 0.5em 0.2em;
|
||||
margin: 0 -0.5em 0 0.5em;
|
||||
}
|
||||
|
||||
#interface td.src .link {
|
||||
float: right;
|
||||
color: #919191;
|
||||
border-left: 1px solid #919191;
|
||||
background: #f0f0f0;
|
||||
padding: 0 0.5em 0.2em;
|
||||
margin: 0 -0.5em 0 0.5em;
|
||||
}
|
||||
|
||||
#interface span.fixity {
|
||||
color: #919191;
|
||||
border-left: 1px solid #919191;
|
||||
padding: 0.2em 0.5em 0.2em 0.5em;
|
||||
margin: 0 -1em 0 1em;
|
||||
}
|
||||
|
||||
#interface span.rightedge {
|
||||
border-left: 1px solid #919191;
|
||||
padding: 0.2em 0 0.2em 0;
|
||||
margin: 0 0 0 1em;
|
||||
}
|
||||
|
||||
#interface table { border-spacing: 2px; }
|
||||
#interface td {
|
||||
vertical-align: top;
|
||||
padding-left: 0.5em;
|
||||
}
|
||||
#interface td.src {
|
||||
white-space: nowrap;
|
||||
}
|
||||
#interface td.doc p {
|
||||
margin: 0;
|
||||
}
|
||||
#interface td.doc p + p {
|
||||
margin-top: 0.8em;
|
||||
}
|
||||
|
||||
.subs dl {
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
.subs dt {
|
||||
float: left;
|
||||
clear: left;
|
||||
display: block;
|
||||
margin: 1px 0;
|
||||
}
|
||||
|
||||
.subs dd {
|
||||
float: right;
|
||||
width: 90%;
|
||||
display: block;
|
||||
padding-left: 0.5em;
|
||||
margin-bottom: 0.5em;
|
||||
}
|
||||
|
||||
.subs dd.empty {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.subs dd p {
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
/* Render short-style data instances */
|
||||
.inst ul {
|
||||
height: 100%;
|
||||
padding: 0.5em;
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
.inst, .inst li {
|
||||
list-style: none;
|
||||
margin-left: 1em;
|
||||
}
|
||||
|
||||
.top p.src {
|
||||
border-top: 1px solid #ccc;
|
||||
}
|
||||
|
||||
.subs, .doc {
|
||||
/* use this selector for one level of indent */
|
||||
padding-left: 2em;
|
||||
}
|
||||
|
||||
.warning {
|
||||
color: red;
|
||||
}
|
||||
|
||||
.arguments {
|
||||
margin-top: -0.4em;
|
||||
}
|
||||
.arguments .caption {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.fields { padding-left: 1em; }
|
||||
|
||||
.fields .caption { display: none; }
|
||||
|
||||
.fields p { margin: 0 0; }
|
||||
|
||||
/* this seems bulky to me
|
||||
.methods, .constructors {
|
||||
background: #f8f8f8;
|
||||
border: 1px solid #eee;
|
||||
}
|
||||
*/
|
||||
|
||||
/* @end */
|
||||
|
||||
/* @group Auxillary Pages */
|
||||
|
||||
|
||||
.extension-list {
|
||||
list-style-type: none;
|
||||
margin-left: 0;
|
||||
}
|
||||
|
||||
#mini {
|
||||
margin: 0 auto;
|
||||
padding: 0 1em 1em;
|
||||
}
|
||||
|
||||
#mini > * {
|
||||
font-size: 93%; /* 12pt */
|
||||
}
|
||||
|
||||
#mini #module-list .caption,
|
||||
#mini #module-header .caption {
|
||||
font-size: 125%; /* 15pt */
|
||||
}
|
||||
|
||||
#mini #interface h1,
|
||||
#mini #interface h2,
|
||||
#mini #interface h3,
|
||||
#mini #interface h4 {
|
||||
font-size: 109%; /* 13pt */
|
||||
margin: 1em 0 0;
|
||||
}
|
||||
|
||||
#mini #interface .top,
|
||||
#mini #interface .src {
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
#mini #module-list ul {
|
||||
list-style: none;
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
#alphabet ul {
|
||||
list-style: none;
|
||||
padding: 0;
|
||||
margin: 0.5em 0 0;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
#alphabet li {
|
||||
display: inline;
|
||||
margin: 0 0.25em;
|
||||
}
|
||||
|
||||
#alphabet a {
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
#index .caption,
|
||||
#module-list .caption { font-size: 131%; /* 17pt */ }
|
||||
|
||||
#index table {
|
||||
margin-left: 2em;
|
||||
}
|
||||
|
||||
#index .src {
|
||||
font-weight: bold;
|
||||
}
|
||||
#index .alt {
|
||||
font-size: 77%; /* 10pt */
|
||||
font-style: italic;
|
||||
padding-left: 2em;
|
||||
}
|
||||
|
||||
#index td + td {
|
||||
padding-left: 1em;
|
||||
}
|
||||
|
||||
#module-list ul {
|
||||
list-style: none;
|
||||
margin: 0 0 0 2em;
|
||||
}
|
||||
|
||||
#module-list li {
|
||||
clear: right;
|
||||
}
|
||||
|
||||
#module-list span.collapser,
|
||||
#module-list span.expander {
|
||||
background-position: 0 0.3em;
|
||||
}
|
||||
|
||||
#module-list .package {
|
||||
float: right;
|
||||
}
|
||||
|
||||
/* @end */
|
Binary file not shown.
After Width: | Height: | Size: 59 B |
Binary file not shown.
After Width: | Height: | Size: 11 KiB |
Reference in New Issue
Block a user