quarry 0.4.0 → 0.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (296) hide show
  1. data/CHANGES +22 -1
  2. data/MANIFEST +30 -339
  3. data/RELEASE +2 -4
  4. data/VERSION +1 -1
  5. data/bin/quarry +14 -10
  6. data/bin/quarry-doc +2 -2
  7. data/lib/quarry/assertion.rb +27 -0
  8. data/lib/quarry/{spec/config.rb → config.rb} +0 -0
  9. data/lib/quarry/document/template.rhtml +239 -0
  10. data/lib/quarry/document.rb +126 -0
  11. data/lib/quarry/expectation.rb +60 -0
  12. data/lib/quarry/extract.rb +2 -0
  13. data/lib/quarry/grammar/assert.rb +48 -0
  14. data/lib/quarry/grammar/expect.rb +114 -0
  15. data/lib/quarry/grammar/legacy/assert.rb +280 -0
  16. data/lib/quarry/grammar/should.rb +50 -0
  17. data/lib/quarry/grammar.rb +4 -0
  18. data/lib/quarry/{spec → markup}/step.rb +4 -3
  19. data/lib/quarry/markup.rb +70 -0
  20. data/lib/quarry/{stub/mock.rb → mock.rb} +1 -1
  21. data/lib/quarry/{loadmonitor.rb → monitor.rb} +0 -0
  22. data/lib/quarry/{stub/probe.rb → probe.rb} +8 -35
  23. data/lib/quarry/reporter/dotprogress.rb +62 -0
  24. data/lib/quarry/reporter/summary.rb +70 -0
  25. data/lib/quarry/reporter/verbatim.rb +82 -0
  26. data/lib/quarry/reporter.rb +70 -0
  27. data/lib/quarry/{spec → runner}/context.rb +7 -2
  28. data/lib/quarry/runner.rb +123 -0
  29. data/lib/quarry/{stub/stub.rb → stub.rb} +1 -1
  30. data/lib/quarry.rb +10 -0
  31. data/spec/basic.rd +0 -2
  32. data/spec/complex.rd +0 -2
  33. data/spec/mock.rd +20 -26
  34. data/spec/stub.rd +8 -12
  35. metadata +48 -361
  36. data/bin/ruby-break +0 -10
  37. data/doc/assets/images/clipboard.jpg +0 -0
  38. data/doc/assets/images/clipboard2.png +0 -0
  39. data/doc/assets/images/darksilver.png +0 -0
  40. data/doc/assets/images/icon/book.jpg +0 -0
  41. data/doc/assets/images/icon/download.gif +0 -0
  42. data/doc/assets/images/icon/letter_r.png +0 -0
  43. data/doc/assets/images/icon/license.png +0 -0
  44. data/doc/assets/images/icon/software.png +0 -0
  45. data/doc/assets/images/icon/source.png +0 -0
  46. data/doc/assets/images/miner.jpg +0 -0
  47. data/doc/assets/images/rbrylmtrx.png +0 -0
  48. data/doc/assets/images/ruby.gif +0 -0
  49. data/doc/assets/images/runneth.png +0 -0
  50. data/doc/assets/images/silver.gif +0 -0
  51. data/doc/assets/images/test.jpg +0 -0
  52. data/doc/assets/jquery/jquery.js +0 -1
  53. data/doc/assets/jquery/jquery.tabs.js +0 -1
  54. data/doc/assets/rdoc_ad.html +0 -12
  55. data/doc/assets/styles/index.css +0 -138
  56. data/doc/guide/stubs.md +0 -125
  57. data/doc/index.html +0 -285
  58. data/doc/log/bstats/stats.html +0 -39
  59. data/doc/log/notes.xml +0 -32
  60. data/doc/log/stats.html +0 -25
  61. data/doc/log/stats.log +0 -14
  62. data/doc/log/syntax.log +0 -0
  63. data/doc/rdoc/classes/Assertion/False.html +0 -177
  64. data/doc/rdoc/classes/Assertion/True.html +0 -152
  65. data/doc/rdoc/classes/Assertion.html +0 -171
  66. data/doc/rdoc/classes/Kernel.html +0 -105
  67. data/doc/rdoc/classes/Method.html +0 -168
  68. data/doc/rdoc/classes/Object.html +0 -507
  69. data/doc/rdoc/classes/Quarry/Break.html +0 -231
  70. data/doc/rdoc/classes/Quarry/Command.html +0 -443
  71. data/doc/rdoc/classes/Quarry/Extract.html +0 -215
  72. data/doc/rdoc/classes/Quarry/MethodProbe.html +0 -325
  73. data/doc/rdoc/classes/Quarry/Mock/Delegator.html +0 -179
  74. data/doc/rdoc/classes/Quarry/Mock/Setter.html +0 -175
  75. data/doc/rdoc/classes/Quarry/Mock.html +0 -233
  76. data/doc/rdoc/classes/Quarry/Spec/Comment.html +0 -237
  77. data/doc/rdoc/classes/Quarry/Spec/Config.html +0 -257
  78. data/doc/rdoc/classes/Quarry/Spec/Context.html +0 -154
  79. data/doc/rdoc/classes/Quarry/Spec/Document.html +0 -382
  80. data/doc/rdoc/classes/Quarry/Spec/Header.html +0 -195
  81. data/doc/rdoc/classes/Quarry/Spec/Macro.html +0 -166
  82. data/doc/rdoc/classes/Quarry/Spec/Markup.html +0 -279
  83. data/doc/rdoc/classes/Quarry/Spec/Reporter/DotProgress.html +0 -234
  84. data/doc/rdoc/classes/Quarry/Spec/Reporter/Summary.html +0 -294
  85. data/doc/rdoc/classes/Quarry/Spec/Reporter/Verbatim.html +0 -311
  86. data/doc/rdoc/classes/Quarry/Spec/Runner.html +0 -352
  87. data/doc/rdoc/classes/Quarry/Spec/Step.html +0 -190
  88. data/doc/rdoc/classes/Quarry/Spec/Template.html +0 -205
  89. data/doc/rdoc/classes/Quarry/Stub/Delegator.html +0 -179
  90. data/doc/rdoc/classes/Quarry/Stub/Setter.html +0 -175
  91. data/doc/rdoc/classes/Quarry/Stub.html +0 -224
  92. data/doc/rdoc/classes/Quarry.html +0 -176
  93. data/doc/rdoc/created.rid +0 -1
  94. data/doc/rdoc/files/CHANGES.html +0 -150
  95. data/doc/rdoc/files/COPYING.html +0 -468
  96. data/doc/rdoc/files/README.html +0 -195
  97. data/doc/rdoc/files/RELEASE.html +0 -122
  98. data/doc/rdoc/files/VERSION.html +0 -107
  99. data/doc/rdoc/files/bin/quarry-doc.html +0 -109
  100. data/doc/rdoc/files/bin/quarry.html +0 -109
  101. data/doc/rdoc/files/bin/ruby-break.html +0 -108
  102. data/doc/rdoc/files/bin/ruby-xacto.html +0 -101
  103. data/doc/rdoc/files/lib/quarry/assert_rb.html +0 -155
  104. data/doc/rdoc/files/lib/quarry/break_rb.html +0 -101
  105. data/doc/rdoc/files/lib/quarry/extract_rb.html +0 -108
  106. data/doc/rdoc/files/lib/quarry/loadmonitor_rb.html +0 -101
  107. data/doc/rdoc/files/lib/quarry/spec/config_rb.html +0 -101
  108. data/doc/rdoc/files/lib/quarry/spec/context_rb.html +0 -101
  109. data/doc/rdoc/files/lib/quarry/spec/document_rb.html +0 -111
  110. data/doc/rdoc/files/lib/quarry/spec/markup_rb.html +0 -108
  111. data/doc/rdoc/files/lib/quarry/spec/reporter/dotprogress_rb.html +0 -108
  112. data/doc/rdoc/files/lib/quarry/spec/reporter/summary_rb.html +0 -108
  113. data/doc/rdoc/files/lib/quarry/spec/reporter/verbatim_rb.html +0 -108
  114. data/doc/rdoc/files/lib/quarry/spec/reporter_rb.html +0 -109
  115. data/doc/rdoc/files/lib/quarry/spec/runner_rb.html +0 -109
  116. data/doc/rdoc/files/lib/quarry/spec/step_rb.html +0 -101
  117. data/doc/rdoc/files/lib/quarry/spec/template_rhtml.html +0 -228
  118. data/doc/rdoc/files/lib/quarry/spec_rb.html +0 -113
  119. data/doc/rdoc/files/lib/quarry/stub/mock_rb.html +0 -101
  120. data/doc/rdoc/files/lib/quarry/stub/probe_rb.html +0 -122
  121. data/doc/rdoc/files/lib/quarry/stub/spec_txt.html +0 -118
  122. data/doc/rdoc/files/lib/quarry/stub/stub_rb.html +0 -101
  123. data/doc/rdoc/fr_class_index.html +0 -56
  124. data/doc/rdoc/fr_file_index.html +0 -55
  125. data/doc/rdoc/fr_method_index.html +0 -117
  126. data/doc/rdoc/index.html +0 -24
  127. data/doc/rdoc/rdoc-style.css +0 -208
  128. data/doc/ri/Assertion/False/assert-i.yaml +0 -10
  129. data/doc/ri/Assertion/False/cdesc-False.yaml +0 -21
  130. data/doc/ri/Assertion/False/message-i.yaml +0 -10
  131. data/doc/ri/Assertion/True/assert-i.yaml +0 -11
  132. data/doc/ri/Assertion/True/cdesc-True.yaml +0 -26
  133. data/doc/ri/Assertion/True/message-c.yaml +0 -11
  134. data/doc/ri/Assertion/True/message-i.yaml +0 -11
  135. data/doc/ri/Assertion/True/method_missing-i.yaml +0 -12
  136. data/doc/ri/Assertion/True/new-c.yaml +0 -11
  137. data/doc/ri/Assertion/cdesc-Assertion.yaml +0 -40
  138. data/doc/ri/Kernel/cdesc-Kernel.yaml +0 -15
  139. data/doc/ri/Method/cdesc-Method.yaml +0 -18
  140. data/doc/ri/Method/migration-i.yaml +0 -12
  141. data/doc/ri/Method/signature-i.yaml +0 -12
  142. data/doc/ri/Object/assert%21-i.yaml +0 -17
  143. data/doc/ri/Object/assert-i.yaml +0 -15
  144. data/doc/ri/Object/assert_raises%21-i.yaml +0 -12
  145. data/doc/ri/Object/assert_raises-i.yaml +0 -15
  146. data/doc/ri/Object/cdesc-Object.yaml +0 -42
  147. data/doc/ri/Object/mock-i.yaml +0 -12
  148. data/doc/ri/Object/refute-i.yaml +0 -13
  149. data/doc/ri/Object/refute_raises-i.yaml +0 -17
  150. data/doc/ri/Object/remove-i.yaml +0 -12
  151. data/doc/ri/Object/should-i.yaml +0 -12
  152. data/doc/ri/Object/should_not-i.yaml +0 -12
  153. data/doc/ri/Object/should_not_raise-i.yaml +0 -12
  154. data/doc/ri/Object/should_raise-i.yaml +0 -12
  155. data/doc/ri/Object/stub-i.yaml +0 -12
  156. data/doc/ri/Quarry/Break/cdesc-Break.yaml +0 -23
  157. data/doc/ri/Quarry/Break/edit-i.yaml +0 -11
  158. data/doc/ri/Quarry/Break/new-c.yaml +0 -11
  159. data/doc/ri/Quarry/Extract/cdesc-Extract.yaml +0 -26
  160. data/doc/ri/Quarry/Extract/create_test-i.yaml +0 -12
  161. data/doc/ri/Quarry/Extract/extract_test_from_file-i.yaml +0 -12
  162. data/doc/ri/Quarry/Extract/test_extract-i.yaml +0 -18
  163. data/doc/ri/Quarry/MethodProbe/cdesc-MethodProbe.yaml +0 -46
  164. data/doc/ri/Quarry/MethodProbe/duckcall-c.yaml +0 -10
  165. data/doc/ri/Quarry/MethodProbe/initialize_copy-i.yaml +0 -10
  166. data/doc/ri/Quarry/MethodProbe/method_missing-i.yaml +0 -10
  167. data/doc/ri/Quarry/MethodProbe/new-c.yaml +0 -10
  168. data/doc/ri/Quarry/Mock/Delegator/cdesc-Delegator.yaml +0 -20
  169. data/doc/ri/Quarry/Mock/Delegator/method_missing-i.yaml +0 -10
  170. data/doc/ri/Quarry/Mock/Delegator/new-c.yaml +0 -10
  171. data/doc/ri/Quarry/Mock/Setter/%3d%3d-i.yaml +0 -10
  172. data/doc/ri/Quarry/Mock/Setter/cdesc-Setter.yaml +0 -18
  173. data/doc/ri/Quarry/Mock/Setter/new-c.yaml +0 -10
  174. data/doc/ri/Quarry/Mock/__table__-i.yaml +0 -11
  175. data/doc/ri/Quarry/Mock/cdesc-Mock.yaml +0 -25
  176. data/doc/ri/Quarry/Mock/method_missing-i.yaml +0 -12
  177. data/doc/ri/Quarry/Mock/new-c.yaml +0 -10
  178. data/doc/ri/Quarry/Spec/Comment/cdesc-Comment.yaml +0 -33
  179. data/doc/ri/Quarry/Spec/Comment/macro%3f-i.yaml +0 -12
  180. data/doc/ri/Quarry/Spec/Comment/new-c.yaml +0 -10
  181. data/doc/ri/Quarry/Spec/Comment/type-i.yaml +0 -12
  182. data/doc/ri/Quarry/Spec/Config/after-i.yaml +0 -12
  183. data/doc/ri/Quarry/Spec/Config/after_spec-i.yaml +0 -12
  184. data/doc/ri/Quarry/Spec/Config/before-i.yaml +0 -12
  185. data/doc/ri/Quarry/Spec/Config/before_spec-i.yaml +0 -12
  186. data/doc/ri/Quarry/Spec/Config/cdesc-Config.yaml +0 -26
  187. data/doc/ri/Quarry/Spec/Config/new-c.yaml +0 -10
  188. data/doc/ri/Quarry/Spec/Context/cdesc-Context.yaml +0 -21
  189. data/doc/ri/Quarry/Spec/Context/new-c.yaml +0 -10
  190. data/doc/ri/Quarry/Spec/Document/cdesc-Document.yaml +0 -76
  191. data/doc/ri/Quarry/Spec/Document/generate-i.yaml +0 -12
  192. data/doc/ri/Quarry/Spec/Document/new-c.yaml +0 -12
  193. data/doc/ri/Quarry/Spec/Document/quiet%3f-i.yaml +0 -12
  194. data/doc/ri/Quarry/Spec/Document/require_rdoc-i.yaml +0 -11
  195. data/doc/ri/Quarry/Spec/Document/save-i.yaml +0 -12
  196. data/doc/ri/Quarry/Spec/Document/template-i.yaml +0 -12
  197. data/doc/ri/Quarry/Spec/Header/cdesc-Header.yaml +0 -30
  198. data/doc/ri/Quarry/Spec/Header/new-c.yaml +0 -10
  199. data/doc/ri/Quarry/Spec/Macro/cdesc-Macro.yaml +0 -22
  200. data/doc/ri/Quarry/Spec/Macro/new-c.yaml +0 -10
  201. data/doc/ri/Quarry/Spec/Markup/cdesc-Markup.yaml +0 -31
  202. data/doc/ri/Quarry/Spec/Markup/description-i.yaml +0 -11
  203. data/doc/ri/Quarry/Spec/Markup/new-c.yaml +0 -11
  204. data/doc/ri/Quarry/Spec/Markup/parse-i.yaml +0 -11
  205. data/doc/ri/Quarry/Spec/Markup/parse_section-i.yaml +0 -11
  206. data/doc/ri/Quarry/Spec/Reporter/DotProgress/cdesc-DotProgress.yaml +0 -21
  207. data/doc/ri/Quarry/Spec/Reporter/DotProgress/report_intro-i.yaml +0 -10
  208. data/doc/ri/Quarry/Spec/Reporter/DotProgress/report_step-i.yaml +0 -10
  209. data/doc/ri/Quarry/Spec/Reporter/DotProgress/report_summary-i.yaml +0 -16
  210. data/doc/ri/Quarry/Spec/Reporter/Summary/cdesc-Summary.yaml +0 -31
  211. data/doc/ri/Quarry/Spec/Reporter/Summary/report_comment-i.yaml +0 -10
  212. data/doc/ri/Quarry/Spec/Reporter/Summary/report_error-i.yaml +0 -10
  213. data/doc/ri/Quarry/Spec/Reporter/Summary/report_fail-i.yaml +0 -10
  214. data/doc/ri/Quarry/Spec/Reporter/Summary/report_header-i.yaml +0 -10
  215. data/doc/ri/Quarry/Spec/Reporter/Summary/report_macro-i.yaml +0 -10
  216. data/doc/ri/Quarry/Spec/Reporter/Summary/report_pass-i.yaml +0 -10
  217. data/doc/ri/Quarry/Spec/Reporter/Verbatim/cdesc-Verbatim.yaml +0 -29
  218. data/doc/ri/Quarry/Spec/Reporter/Verbatim/report_comment-i.yaml +0 -10
  219. data/doc/ri/Quarry/Spec/Reporter/Verbatim/report_error-i.yaml +0 -10
  220. data/doc/ri/Quarry/Spec/Reporter/Verbatim/report_fail-i.yaml +0 -10
  221. data/doc/ri/Quarry/Spec/Reporter/Verbatim/report_header-i.yaml +0 -16
  222. data/doc/ri/Quarry/Spec/Reporter/Verbatim/report_macro-i.yaml +0 -10
  223. data/doc/ri/Quarry/Spec/Reporter/Verbatim/report_pass-i.yaml +0 -10
  224. data/doc/ri/Quarry/Spec/Reporter/cdesc-Reporter.yaml +0 -20
  225. data/doc/ri/Quarry/Spec/Runner/cdesc-Runner.yaml +0 -47
  226. data/doc/ri/Quarry/Spec/Runner/check-i.yaml +0 -12
  227. data/doc/ri/Quarry/Spec/Runner/check_spec-i.yaml +0 -12
  228. data/doc/ri/Quarry/Spec/Runner/new-c.yaml +0 -12
  229. data/doc/ri/Quarry/Spec/Runner/run_step-i.yaml +0 -12
  230. data/doc/ri/Quarry/Spec/Step/cdesc-Step.yaml +0 -30
  231. data/doc/ri/Quarry/Spec/Step/new-c.yaml +0 -10
  232. data/doc/ri/Quarry/Spec/Template/cdesc-Template.yaml +0 -31
  233. data/doc/ri/Quarry/Spec/Template/new-c.yaml +0 -11
  234. data/doc/ri/Quarry/Spec/Template/parse_template-i.yaml +0 -10
  235. data/doc/ri/Quarry/Spec/cdesc-Spec.yaml +0 -15
  236. data/doc/ri/Quarry/Stub/Delegator/cdesc-Delegator.yaml +0 -20
  237. data/doc/ri/Quarry/Stub/Delegator/method_missing-i.yaml +0 -10
  238. data/doc/ri/Quarry/Stub/Delegator/new-c.yaml +0 -10
  239. data/doc/ri/Quarry/Stub/Setter/%3d%3d-i.yaml +0 -10
  240. data/doc/ri/Quarry/Stub/Setter/cdesc-Setter.yaml +0 -18
  241. data/doc/ri/Quarry/Stub/Setter/new-c.yaml +0 -10
  242. data/doc/ri/Quarry/Stub/__table__-i.yaml +0 -11
  243. data/doc/ri/Quarry/Stub/cdesc-Stub.yaml +0 -23
  244. data/doc/ri/Quarry/Stub/method_missing-i.yaml +0 -11
  245. data/doc/ri/Quarry/Stub/new-c.yaml +0 -10
  246. data/doc/ri/Quarry/cdesc-Quarry.yaml +0 -16
  247. data/doc/ri/created.rid +0 -1
  248. data/doc/spec/stub.html +0 -394
  249. data/lib/quarry/assert.rb +0 -198
  250. data/lib/quarry/break.rb +0 -51
  251. data/lib/quarry/spec/document.rb +0 -130
  252. data/lib/quarry/spec/markup.rb +0 -85
  253. data/lib/quarry/spec/reporter/dotprogress.rb +0 -66
  254. data/lib/quarry/spec/reporter/summary.rb +0 -74
  255. data/lib/quarry/spec/reporter/verbatim.rb +0 -87
  256. data/lib/quarry/spec/reporter.rb +0 -74
  257. data/lib/quarry/spec/runner.rb +0 -127
  258. data/lib/quarry/spec/template.rhtml +0 -116
  259. data/lib/quarry/spec.rb +0 -7
  260. data/lib/quarry/stub/spec.txt +0 -113
  261. data/work/consider/document.rb +0 -35
  262. data/work/consider/fixture.rb +0 -153
  263. data/work/deprecated/assert/must.rb +0 -9
  264. data/work/deprecated/assert/should.rb +0 -9
  265. data/work/deprecated/build.rb +0 -82
  266. data/work/deprecated/mock/file.rb +0 -11
  267. data/work/deprecated/mock/mock.0.rb +0 -77
  268. data/work/deprecated/overlay.rb +0 -64
  269. data/work/deprecated/spec.rb +0 -195
  270. data/work/deprecated/stub/stub.0.rb +0 -180
  271. data/work/deprecated/stub/stub.1.rb +0 -114
  272. data/work/deprecated/stub/test_stub.rb +0 -66
  273. data/work/deprecated/test/case.rb +0 -141
  274. data/work/sandbox/assert.rb +0 -100
  275. data/work/sandbox/bug.rb +0 -49
  276. data/work/sandbox/build/announce.rb +0 -213
  277. data/work/sandbox/build/check.rb +0 -109
  278. data/work/sandbox/build/gem.rb +0 -235
  279. data/work/sandbox/build/make.rb +0 -118
  280. data/work/sandbox/build/manpage.rb +0 -201
  281. data/work/sandbox/build/notes.rb +0 -214
  282. data/work/sandbox/build/pack.rb +0 -228
  283. data/work/sandbox/build/rdoc.rb +0 -289
  284. data/work/sandbox/build/rubyforge.rb +0 -91
  285. data/work/sandbox/build/sign.rb +0 -241
  286. data/work/sandbox/build/stamp.rb +0 -37
  287. data/work/sandbox/build/stats.rb +0 -154
  288. data/work/sandbox/build/svn.rb +0 -193
  289. data/work/sandbox/build/test.rb +0 -521
  290. data/work/sandbox/design.rb +0 -200
  291. data/work/sandbox/iface_scanner.rb +0 -102
  292. data/work/sandbox/testunit/assertions/assert_has_keys.rb +0 -38
  293. data/work/sandbox/testunit/assertions/assert_has_only_keys.rb +0 -38
  294. data/work/sandbox/testunit/unit.rb +0 -104
  295. data/work/sandbox/unitspec.rb +0 -54
  296. data/work/sandbox/x_isotest.rb +0 -532
@@ -1,468 +0,0 @@
1
- <?xml version="1.0" encoding="iso-8859-1"?>
2
- <!DOCTYPE html
3
- PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
4
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
5
-
6
- <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
7
- <head>
8
- <title>File: COPYING</title>
9
- <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
10
- <meta http-equiv="Content-Script-Type" content="text/javascript" />
11
- <link rel="stylesheet" href=".././rdoc-style.css" type="text/css" media="screen" />
12
- <script type="text/javascript">
13
- // <![CDATA[
14
-
15
- function popupCode( url ) {
16
- window.open(url, "Code", "resizable=yes,scrollbars=yes,toolbar=no,status=no,height=150,width=400")
17
- }
18
-
19
- function toggleCode( id ) {
20
- if ( document.getElementById )
21
- elem = document.getElementById( id );
22
- else if ( document.all )
23
- elem = eval( "document.all." + id );
24
- else
25
- return false;
26
-
27
- elemStyle = elem.style;
28
-
29
- if ( elemStyle.display != "block" ) {
30
- elemStyle.display = "block"
31
- } else {
32
- elemStyle.display = "none"
33
- }
34
-
35
- return true;
36
- }
37
-
38
- // Make codeblocks hidden by default
39
- document.writeln( "<style type=\"text/css\">div.method-source-code { display: none }</style>" )
40
-
41
- // ]]>
42
- </script>
43
-
44
- </head>
45
- <body>
46
-
47
-
48
-
49
- <div id="fileHeader">
50
- <h1>COPYING</h1>
51
- <table class="header-table">
52
- <tr class="top-aligned-row">
53
- <td><strong>Path:</strong></td>
54
- <td>COPYING
55
- </td>
56
- </tr>
57
- <tr class="top-aligned-row">
58
- <td><strong>Last Update:</strong></td>
59
- <td>Wed Aug 20 12:17:31 -0400 2008</td>
60
- </tr>
61
- </table>
62
- </div>
63
- <!-- banner header -->
64
-
65
- <div id="bodyContent">
66
-
67
-
68
-
69
- <div id="contextContent">
70
-
71
- <div id="description">
72
- <pre>
73
- Ruby Quarry (c) 2008 Tiger Ops
74
-
75
- GNU GENERAL PUBLIC LICENSE
76
- Version 2, June 1991
77
- </pre>
78
- <p>
79
- Copyright (C) 1989, 1991 Free Software Foundation, Inc.
80
- </p>
81
- <pre>
82
- 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
83
- </pre>
84
- <p>
85
- Everyone is permitted to copy and distribute verbatim copies of this
86
- license document, but changing it is not allowed.
87
- </p>
88
- <pre>
89
- Preamble
90
- </pre>
91
- <p>
92
- The licenses for most software are designed to take away your freedom to
93
- share and change it. By contrast, the GNU General Public License is
94
- intended to guarantee your freedom to share and change free
95
- software&#8212;to make sure the software is free for all its users. This
96
- General Public License applies to most of the Free Software
97
- Foundation&#8216;s software and to any other program whose authors commit
98
- to using it. (Some other Free Software Foundation software is covered by
99
- the GNU Library General Public License instead.) You can apply it to your
100
- programs, too.
101
- </p>
102
- <p>
103
- When we speak of free software, we are referring to freedom, not price. Our
104
- General Public Licenses are designed to make sure that you have the freedom
105
- to distribute copies of free software (and charge for this service if you
106
- wish), that you receive source code or can get it if you want it, that you
107
- can change the software or use pieces of it in new free programs; and that
108
- you know you can do these things.
109
- </p>
110
- <p>
111
- To protect your rights, we need to make restrictions that forbid anyone to
112
- deny you these rights or to ask you to surrender the rights. These
113
- restrictions translate to certain responsibilities for you if you
114
- distribute copies of the software, or if you modify it.
115
- </p>
116
- <p>
117
- For example, if you distribute copies of such a program, whether gratis or
118
- for a fee, you must give the recipients all the rights that you have. You
119
- must make sure that they, too, receive or can get the source code. And you
120
- must show them these terms so they know their rights.
121
- </p>
122
- <p>
123
- We protect your rights with two steps: (1) copyright the software, and (2)
124
- offer you this license which gives you legal permission to copy, distribute
125
- and/or modify the software.
126
- </p>
127
- <p>
128
- Also, for each author&#8216;s protection and ours, we want to make certain
129
- that everyone understands that there is no warranty for this free software.
130
- If the software is modified by someone else and passed on, we want its
131
- recipients to know that what they have is not the original, so that any
132
- problems introduced by others will not reflect on the original
133
- authors&#8217; reputations.
134
- </p>
135
- <p>
136
- Finally, any free program is threatened constantly by software patents. We
137
- wish to avoid the danger that redistributors of a free program will
138
- individually obtain patent licenses, in effect making the program
139
- proprietary. To prevent this, we have made it clear that any patent must be
140
- licensed for everyone&#8216;s free use or not licensed at all.
141
- </p>
142
- <pre>
143
- The precise terms and conditions for copying, distribution and
144
- </pre>
145
- <p>
146
- modification follow.
147
- </p>
148
- <pre>
149
- GNU GENERAL PUBLIC LICENSE
150
- TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
151
-
152
- 0. This License applies to any program or other work which contains
153
- </pre>
154
- <p>
155
- a notice placed by the copyright holder saying it may be distributed under
156
- the terms of this General Public License. The &quot;Program&quot;, below,
157
- refers to any such program or work, and a &quot;work based on the
158
- Program&quot; means either the Program or any derivative work under
159
- copyright law: that is to say, a work containing the Program or a portion
160
- of it, either verbatim or with modifications and/or translated into another
161
- language. (Hereinafter, translation is included without limitation in the
162
- term &quot;modification&quot;.) Each licensee is addressed as
163
- &quot;you&quot;.
164
- </p>
165
- <p>
166
- Activities other than copying, distribution and modification are not
167
- covered by this License; they are outside its scope. The act of running the
168
- Program is not restricted, and the output from the Program is covered only
169
- if its contents constitute a work based on the Program (independent of
170
- having been made by running the Program). Whether that is true depends on
171
- what the Program does.
172
- </p>
173
- <pre>
174
- 1. You may copy and distribute verbatim copies of the Program's
175
- source code as you receive it, in any medium, provided that you
176
- conspicuously and appropriately publish on each copy an appropriate
177
- copyright notice and disclaimer of warranty; keep intact all the
178
- notices that refer to this License and to the absence of any warranty;
179
- and give any other recipients of the Program a copy of this License
180
- along with the Program.
181
-
182
- You may charge a fee for the physical act of transferring a copy, and
183
- you may at your option offer warranty protection in exchange for a fee.
184
-
185
- 2. You may modify your copy or copies of the Program or any portion
186
- of it, thus forming a work based on the Program, and copy and
187
- distribute such modifications or work under the terms of Section 1
188
- above, provided that you also meet all of these conditions:
189
-
190
- a) You must cause the modified files to carry prominent notices
191
- stating that you changed the files and the date of any change.
192
-
193
- b) You must cause any work that you distribute or publish, that in
194
- whole or in part contains or is derived from the Program or any
195
- part thereof, to be licensed as a whole at no charge to all third
196
- parties under the terms of this License.
197
-
198
- c) If the modified program normally reads commands interactively
199
- when run, you must cause it, when started running for such
200
- interactive use in the most ordinary way, to print or display an
201
- announcement including an appropriate copyright notice and a
202
- notice that there is no warranty (or else, saying that you provide
203
- a warranty) and that users may redistribute the program under
204
- these conditions, and telling the user how to view a copy of this
205
- License. (Exception: if the Program itself is interactive but
206
- does not normally print such an announcement, your work based on
207
- the Program is not required to print an announcement.)
208
-
209
- These requirements apply to the modified work as a whole. If
210
- identifiable sections of that work are not derived from the Program,
211
- and can be reasonably considered independent and separate works in
212
- themselves, then this License, and its terms, do not apply to those
213
- sections when you distribute them as separate works. But when you
214
- distribute the same sections as part of a whole which is a work based
215
- on the Program, the distribution of the whole must be on the terms of
216
- this License, whose permissions for other licensees extend to the
217
- entire whole, and thus to each and every part regardless of who wrote it.
218
-
219
- Thus, it is not the intent of this section to claim rights or contest
220
- your rights to work written entirely by you; rather, the intent is to
221
- exercise the right to control the distribution of derivative or
222
- collective works based on the Program.
223
-
224
- In addition, mere aggregation of another work not based on the Program
225
- with the Program (or with a work based on the Program) on a volume of
226
- a storage or distribution medium does not bring the other work under
227
- the scope of this License.
228
-
229
- 3. You may copy and distribute the Program (or a work based on it,
230
- under Section 2) in object code or executable form under the terms of
231
- Sections 1 and 2 above provided that you also do one of the following:
232
-
233
- a) Accompany it with the complete corresponding machine-readable
234
- source code, which must be distributed under the terms of Sections
235
- 1 and 2 above on a medium customarily used for software interchange; or,
236
-
237
- b) Accompany it with a written offer, valid for at least three
238
- years, to give any third party, for a charge no more than your
239
- cost of physically performing source distribution, a complete
240
- machine-readable copy of the corresponding source code, to be
241
- distributed under the terms of Sections 1 and 2 above on a medium
242
- customarily used for software interchange; or,
243
-
244
- c) Accompany it with the information you received as to the offer
245
- to distribute corresponding source code. (This alternative is
246
- allowed only for noncommercial distribution and only if you
247
- received the program in object code or executable form with such
248
- an offer, in accord with Subsection b above.)
249
-
250
- The source code for a work means the preferred form of the work for
251
- making modifications to it. For an executable work, complete source
252
- code means all the source code for all modules it contains, plus any
253
- associated interface definition files, plus the scripts used to
254
- control compilation and installation of the executable. However, as a
255
- special exception, the source code distributed need not include
256
- anything that is normally distributed (in either source or binary
257
- form) with the major components (compiler, kernel, and so on) of the
258
- operating system on which the executable runs, unless that component
259
- itself accompanies the executable.
260
-
261
- If distribution of executable or object code is made by offering
262
- access to copy from a designated place, then offering equivalent
263
- access to copy the source code from the same place counts as
264
- distribution of the source code, even though third parties are not
265
- compelled to copy the source along with the object code.
266
-
267
- 4. You may not copy, modify, sublicense, or distribute the Program
268
- except as expressly provided under this License. Any attempt
269
- otherwise to copy, modify, sublicense or distribute the Program is
270
- void, and will automatically terminate your rights under this License.
271
- However, parties who have received copies, or rights, from you under
272
- this License will not have their licenses terminated so long as such
273
- parties remain in full compliance.
274
-
275
- 5. You are not required to accept this License, since you have not
276
- signed it. However, nothing else grants you permission to modify or
277
- distribute the Program or its derivative works. These actions are
278
- prohibited by law if you do not accept this License. Therefore, by
279
- modifying or distributing the Program (or any work based on the
280
- Program), you indicate your acceptance of this License to do so, and
281
- all its terms and conditions for copying, distributing or modifying
282
- the Program or works based on it.
283
-
284
- 6. Each time you redistribute the Program (or any work based on the
285
- Program), the recipient automatically receives a license from the
286
- original licensor to copy, distribute or modify the Program subject to
287
- these terms and conditions. You may not impose any further
288
- restrictions on the recipients' exercise of the rights granted herein.
289
- You are not responsible for enforcing compliance by third parties to
290
- this License.
291
-
292
- 7. If, as a consequence of a court judgment or allegation of patent
293
- infringement or for any other reason (not limited to patent issues),
294
- conditions are imposed on you (whether by court order, agreement or
295
- otherwise) that contradict the conditions of this License, they do not
296
- excuse you from the conditions of this License. If you cannot
297
- distribute so as to satisfy simultaneously your obligations under this
298
- License and any other pertinent obligations, then as a consequence you
299
- may not distribute the Program at all. For example, if a patent
300
- license would not permit royalty-free redistribution of the Program by
301
- all those who receive copies directly or indirectly through you, then
302
- the only way you could satisfy both it and this License would be to
303
- refrain entirely from distribution of the Program.
304
-
305
- If any portion of this section is held invalid or unenforceable under
306
- any particular circumstance, the balance of the section is intended to
307
- apply and the section as a whole is intended to apply in other
308
- circumstances.
309
-
310
- It is not the purpose of this section to induce you to infringe any
311
- patents or other property right claims or to contest validity of any
312
- such claims; this section has the sole purpose of protecting the
313
- integrity of the free software distribution system, which is
314
- implemented by public license practices. Many people have made
315
- generous contributions to the wide range of software distributed
316
- through that system in reliance on consistent application of that
317
- system; it is up to the author/donor to decide if he or she is willing
318
- to distribute software through any other system and a licensee cannot
319
- impose that choice.
320
-
321
- This section is intended to make thoroughly clear what is believed to
322
- be a consequence of the rest of this License.
323
-
324
- 8. If the distribution and/or use of the Program is restricted in
325
- certain countries either by patents or by copyrighted interfaces, the
326
- original copyright holder who places the Program under this License
327
- may add an explicit geographical distribution limitation excluding
328
- those countries, so that distribution is permitted only in or among
329
- countries not thus excluded. In such case, this License incorporates
330
- the limitation as if written in the body of this License.
331
-
332
- 9. The Free Software Foundation may publish revised and/or new versions
333
- of the General Public License from time to time. Such new versions will
334
- be similar in spirit to the present version, but may differ in detail to
335
- address new problems or concerns.
336
-
337
- Each version is given a distinguishing version number. If the Program
338
- specifies a version number of this License which applies to it and &quot;any
339
- later version&quot;, you have the option of following the terms and conditions
340
- either of that version or of any later version published by the Free
341
- Software Foundation. If the Program does not specify a version number of
342
- this License, you may choose any version ever published by the Free Software
343
- Foundation.
344
-
345
- 10. If you wish to incorporate parts of the Program into other free
346
- programs whose distribution conditions are different, write to the author
347
- to ask for permission. For software which is copyrighted by the Free
348
- Software Foundation, write to the Free Software Foundation; we sometimes
349
- make exceptions for this. Our decision will be guided by the two goals
350
- of preserving the free status of all derivatives of our free software and
351
- of promoting the sharing and reuse of software generally.
352
-
353
- NO WARRANTY
354
-
355
- 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
356
- FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
357
- OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
358
- PROVIDE THE PROGRAM &quot;AS IS&quot; WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
359
- OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
360
- MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
361
- TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
362
- PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
363
- REPAIR OR CORRECTION.
364
-
365
- 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
366
- WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
367
- REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
368
- INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
369
- OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
370
- TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
371
- YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
372
- PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
373
- POSSIBILITY OF SUCH DAMAGES.
374
-
375
- END OF TERMS AND CONDITIONS
376
-
377
- How to Apply These Terms to Your New Programs
378
-
379
- If you develop a new program, and you want it to be of the greatest
380
- possible use to the public, the best way to achieve this is to make it
381
- free software which everyone can redistribute and change under these terms.
382
-
383
- To do so, attach the following notices to the program. It is safest
384
- to attach them to the start of each source file to most effectively
385
- convey the exclusion of warranty; and each file should have at least
386
- the &quot;copyright&quot; line and a pointer to where the full notice is found.
387
-
388
- &lt;one line to give the program's name and a brief idea of what it does.&gt;
389
- Copyright (C) &lt;year&gt; &lt;name of author&gt;
390
-
391
- This program is free software; you can redistribute it and/or modify
392
- it under the terms of the GNU General Public License as published by
393
- the Free Software Foundation; either version 2 of the License, or
394
- (at your option) any later version.
395
-
396
- This program is distributed in the hope that it will be useful,
397
- but WITHOUT ANY WARRANTY; without even the implied warranty of
398
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
399
- GNU General Public License for more details.
400
-
401
- You should have received a copy of the GNU General Public License
402
- along with this program; if not, write to the Free Software
403
- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
404
-
405
- Also add information on how to contact you by electronic and paper mail.
406
-
407
- If the program is interactive, make it output a short notice like this
408
- when it starts in an interactive mode:
409
-
410
- Gnomovision version 69, Copyright (C) year name of author
411
- Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
412
- This is free software, and you are welcome to redistribute it
413
- under certain conditions; type `show c' for details.
414
-
415
- The hypothetical commands `show w' and `show c' should show the appropriate
416
- parts of the General Public License. Of course, the commands you use may
417
- be called something other than `show w' and `show c'; they could even be
418
- mouse-clicks or menu items--whatever suits your program.
419
-
420
- You should also get your employer (if you work as a programmer) or your
421
- school, if any, to sign a &quot;copyright disclaimer&quot; for the program, if
422
- necessary. Here is a sample; alter the names:
423
-
424
- Yoyodyne, Inc., hereby disclaims all copyright interest in the program
425
- `Gnomovision' (which makes passes at compilers) written by James Hacker.
426
-
427
- &lt;signature of Ty Coon&gt;, 1 April 1989
428
- Ty Coon, President of Vice
429
-
430
- This General Public License does not permit incorporating your program into
431
- proprietary programs. If your program is a subroutine library, you may
432
- consider it more useful to permit linking proprietary applications with the
433
- library. If this is what you want to do, use the GNU Library General
434
- Public License instead of this License.
435
- </pre>
436
-
437
- </div>
438
-
439
-
440
- </div>
441
-
442
-
443
- </div>
444
-
445
-
446
- <!-- if includes -->
447
-
448
- <div id="section">
449
-
450
-
451
-
452
-
453
-
454
-
455
-
456
-
457
- <!-- if method_list -->
458
-
459
-
460
- </div>
461
-
462
-
463
- <div id="validator-badges">
464
- <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
465
- </div>
466
-
467
- </body>
468
- </html>
@@ -1,195 +0,0 @@
1
- <?xml version="1.0" encoding="iso-8859-1"?>
2
- <!DOCTYPE html
3
- PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
4
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
5
-
6
- <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
7
- <head>
8
- <title>File: README</title>
9
- <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
10
- <meta http-equiv="Content-Script-Type" content="text/javascript" />
11
- <link rel="stylesheet" href=".././rdoc-style.css" type="text/css" media="screen" />
12
- <script type="text/javascript">
13
- // <![CDATA[
14
-
15
- function popupCode( url ) {
16
- window.open(url, "Code", "resizable=yes,scrollbars=yes,toolbar=no,status=no,height=150,width=400")
17
- }
18
-
19
- function toggleCode( id ) {
20
- if ( document.getElementById )
21
- elem = document.getElementById( id );
22
- else if ( document.all )
23
- elem = eval( "document.all." + id );
24
- else
25
- return false;
26
-
27
- elemStyle = elem.style;
28
-
29
- if ( elemStyle.display != "block" ) {
30
- elemStyle.display = "block"
31
- } else {
32
- elemStyle.display = "none"
33
- }
34
-
35
- return true;
36
- }
37
-
38
- // Make codeblocks hidden by default
39
- document.writeln( "<style type=\"text/css\">div.method-source-code { display: none }</style>" )
40
-
41
- // ]]>
42
- </script>
43
-
44
- </head>
45
- <body>
46
-
47
-
48
-
49
- <div id="fileHeader">
50
- <h1>README</h1>
51
- <table class="header-table">
52
- <tr class="top-aligned-row">
53
- <td><strong>Path:</strong></td>
54
- <td>README
55
- </td>
56
- </tr>
57
- <tr class="top-aligned-row">
58
- <td><strong>Last Update:</strong></td>
59
- <td>Sat Oct 11 11:37:03 -0400 2008</td>
60
- </tr>
61
- </table>
62
- </div>
63
- <!-- banner header -->
64
-
65
- <div id="bodyContent">
66
-
67
-
68
-
69
- <div id="contextContent">
70
-
71
- <div id="description">
72
- <h1>Ruby <a href="../classes/Quarry.html">Quarry</a></h1>
73
- <pre>
74
- http://quarry.rubyforge.org
75
- </pre>
76
- <h2>Introduction</h2>
77
- <p>
78
- Ruby <a href="../classes/Quarry.html">Quarry</a> is a developers testing
79
- and debugging suite. It features a literal-programming BDD specification
80
- system, and exception based assertion system, and a few other of useful QA
81
- tools.
82
- </p>
83
- <h2>Features</h2>
84
- <h3>Specifications</h3>
85
- <p>
86
- <a href="../classes/Quarry.html">Quarry</a>&#8216;s BBD system is uniqe in
87
- a few ways. First it utilizes Ruby&#8216;s Execption system to catch
88
- Assertions which are defined via assertion <em>functors</em>. Eg.
89
- </p>
90
- <pre>
91
- require 'quarry/assertion'
92
-
93
- 4.assert == 5
94
- </pre>
95
- <p>
96
- Because 4 != 5, this expression will raise an <a
97
- href="../classes/Assertion.html">Assertion</a> exception. <a
98
- href="../classes/Quarry.html">Quarry</a>&#8216;s Specification Runner class
99
- is thus just a means of running and capturing these assertions.
100
- </p>
101
- <p>
102
- <a href="../classes/Quarry.html">Quarry</a>&#8216;s Specifications
103
- themselves are simple text files, a practice of literal programming.
104
- </p>
105
- <pre>
106
- Example Specification
107
- =====================
108
- Shows that the number 5 does not equal 4.
109
-
110
- 5.assert! == 4
111
-
112
- But in fact equals 5.
113
-
114
- 5.assert == 5
115
-
116
- QED.
117
- </pre>
118
- <p>
119
- If we run this specification in verbatim mode the output would identical
120
- (assuming we did not make a type and the assertions passed). If there were
121
- errors or assertion failures, we would see information detaling each.
122
- </p>
123
- <p>
124
- As you can see I used Markdown for my spcecification. You can use almost
125
- any format you like. The only neccesary distiction is that desciption text
126
- be align to the left margin and all specification code be indented. <a
127
- href="../classes/Quarry.html">Quarry</a> also recognized headers, currently
128
- Markdown and RDoc style headers (We&#8216;ll add Textile soon.)
129
- </p>
130
- <p>
131
- We&#8216;ll leave discussion of the merits of this system to another place.
132
- But it should be clear that this approach if especcailly conveniant,
133
- allowing documentation and specification to seemlessly merge.
134
- </p>
135
- <h3>Stubs</h3>
136
- <p>
137
- <a href="../classes/Quarry.html">Quarry</a> provides a flexible stubbing
138
- facility.
139
- </p>
140
- <p>
141
- For now see RDoc API.
142
- </p>
143
- <h3>MethodProbe</h3>
144
- <p>
145
- MethodProbe (aka the Duck Hunter) can dip-down into a method and provide a
146
- read-out how it functions &#8212;known as a <em>method signiture</em>.
147
- MethodProbe is somewhat expiremental becuase it is runtime bound, so proper
148
- execution can not be 100% guarenteed. It can miss some parts of a method
149
- due to conditional branching (a probe can;t pretend to be false) and,
150
- albiet rare, it can also get stuck in an infinite loop a la the Halting
151
- Problem. Even so, it can be used effectively under controlled situations if
152
- used with care.
153
- </p>
154
- <h3>More to come .&#8230;</h3>
155
- <h2>Copying</h2>
156
- <p>
157
- Copyright (c) 2007, 2008 Tiger Ops / Thomas Sawyer
158
- </p>
159
- <p>
160
- <a href="../classes/Quarry.html">Quarry</a> is distributed under the terms
161
- of the GPLv3.
162
- </p>
163
-
164
- </div>
165
-
166
-
167
- </div>
168
-
169
-
170
- </div>
171
-
172
-
173
- <!-- if includes -->
174
-
175
- <div id="section">
176
-
177
-
178
-
179
-
180
-
181
-
182
-
183
-
184
- <!-- if method_list -->
185
-
186
-
187
- </div>
188
-
189
-
190
- <div id="validator-badges">
191
- <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
192
- </div>
193
-
194
- </body>
195
- </html>