bitclust-core 0.5.0 → 0.5.1

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 (697) hide show
  1. data/ChangeLog +17 -0
  2. data/Gemfile +7 -0
  3. data/Gemfile.lock +34 -0
  4. data/category-bitclust.patch +245 -0
  5. data/data/bitclust/catalog/ja_JP.UTF-8 +30 -0
  6. data/data/bitclust/template/library +1 -1
  7. data/data/bitclust/template/library-index +26 -11
  8. data/data/bitclust/template.offline/library +1 -1
  9. data/data/bitclust/template.offline/library-index +26 -11
  10. data/lib/bitclust/classentry.rb +18 -0
  11. data/lib/bitclust/docentry.rb +1 -1
  12. data/lib/bitclust/libraryentry.rb +3 -2
  13. data/lib/bitclust/lineinput.rb +2 -1
  14. data/lib/bitclust/rrdparser.rb +6 -0
  15. data/lib/bitclust/searcher.rb +5 -0
  16. data/lib/bitclust/subcommand.rb +1 -1
  17. data/lib/bitclust/version.rb +1 -1
  18. data/test/test_entry.rb +14 -0
  19. data/test/test_libraryentry.rb +8 -0
  20. data/tools/bc-tohtmlpackage.rb +19 -13
  21. data/vendor/bundle/ruby/1.9.1/bin/bc-ancestors.rb +23 -0
  22. data/vendor/bundle/ruby/1.9.1/bin/bc-checkparams.rb +23 -0
  23. data/vendor/bundle/ruby/1.9.1/bin/bc-classes.rb +23 -0
  24. data/vendor/bundle/ruby/1.9.1/bin/bc-convert.rb +23 -0
  25. data/vendor/bundle/ruby/1.9.1/bin/bc-list.rb +23 -0
  26. data/vendor/bundle/ruby/1.9.1/bin/bc-methods.rb +23 -0
  27. data/vendor/bundle/ruby/1.9.1/bin/bc-preproc.rb +23 -0
  28. data/vendor/bundle/ruby/1.9.1/bin/bc-rdoc.rb +23 -0
  29. data/vendor/bundle/ruby/1.9.1/bin/bc-tochm.rb +23 -0
  30. data/vendor/bundle/ruby/1.9.1/bin/bc-tohtml.rb +23 -0
  31. data/vendor/bundle/ruby/1.9.1/bin/bc-tohtmlpackage.rb +23 -0
  32. data/vendor/bundle/ruby/1.9.1/bin/bitclust +23 -0
  33. data/vendor/bundle/ruby/1.9.1/bin/check-signature.rb +23 -0
  34. data/vendor/bundle/ruby/1.9.1/bin/forall-ruby.rb +23 -0
  35. data/vendor/bundle/ruby/1.9.1/bin/gencatalog.rb +23 -0
  36. data/vendor/bundle/ruby/1.9.1/bin/rackup +23 -0
  37. data/vendor/bundle/ruby/1.9.1/bin/rake +23 -0
  38. data/vendor/bundle/ruby/1.9.1/bin/refe +23 -0
  39. data/vendor/bundle/ruby/1.9.1/bin/statrefm.rb +23 -0
  40. data/vendor/bundle/ruby/1.9.1/bin/stattodo.rb +23 -0
  41. data/vendor/bundle/ruby/1.9.1/bin/update-database.rb +23 -0
  42. data/vendor/bundle/ruby/1.9.1/cache/rack-1.4.1.gem +0 -0
  43. data/vendor/bundle/ruby/1.9.1/cache/rake-0.9.2.2.gem +0 -0
  44. data/vendor/bundle/ruby/1.9.1/cache/rr-1.0.4.gem +0 -0
  45. data/vendor/bundle/ruby/1.9.1/cache/test-unit-2.4.8.gem +0 -0
  46. data/vendor/bundle/ruby/1.9.1/cache/test-unit-2.5.1.gem +0 -0
  47. data/vendor/bundle/ruby/1.9.1/cache/test-unit-notify-0.3.0.gem +0 -0
  48. data/vendor/bundle/ruby/1.9.1/cache/test-unit-rr-1.0.1.gem +0 -0
  49. data/vendor/bundle/ruby/1.9.1/gems/rack-1.4.1/COPYING +18 -0
  50. data/vendor/bundle/ruby/1.9.1/gems/rack-1.4.1/KNOWN-ISSUES +21 -0
  51. data/vendor/bundle/ruby/1.9.1/gems/rack-1.4.1/README.rdoc +498 -0
  52. data/vendor/bundle/ruby/1.9.1/gems/rack-1.4.1/Rakefile +115 -0
  53. data/vendor/bundle/ruby/1.9.1/gems/rack-1.4.1/SPEC +171 -0
  54. data/vendor/bundle/ruby/1.9.1/gems/rack-1.4.1/bin/rackup +4 -0
  55. data/vendor/bundle/ruby/1.9.1/gems/rack-1.4.1/contrib/rack_logo.svg +111 -0
  56. data/vendor/bundle/ruby/1.9.1/gems/rack-1.4.1/example/lobster.ru +4 -0
  57. data/vendor/bundle/ruby/1.9.1/gems/rack-1.4.1/example/protectedlobster.rb +14 -0
  58. data/vendor/bundle/ruby/1.9.1/gems/rack-1.4.1/example/protectedlobster.ru +8 -0
  59. data/vendor/bundle/ruby/1.9.1/gems/rack-1.4.1/lib/rack/auth/abstract/handler.rb +37 -0
  60. data/vendor/bundle/ruby/1.9.1/gems/rack-1.4.1/lib/rack/auth/abstract/request.rb +43 -0
  61. data/vendor/bundle/ruby/1.9.1/gems/rack-1.4.1/lib/rack/auth/basic.rb +58 -0
  62. data/vendor/bundle/ruby/1.9.1/gems/rack-1.4.1/lib/rack/auth/digest/md5.rb +129 -0
  63. data/vendor/bundle/ruby/1.9.1/gems/rack-1.4.1/lib/rack/auth/digest/nonce.rb +51 -0
  64. data/vendor/bundle/ruby/1.9.1/gems/rack-1.4.1/lib/rack/auth/digest/params.rb +53 -0
  65. data/vendor/bundle/ruby/1.9.1/gems/rack-1.4.1/lib/rack/auth/digest/request.rb +41 -0
  66. data/vendor/bundle/ruby/1.9.1/gems/rack-1.4.1/lib/rack/backports/uri/common_18.rb +70 -0
  67. data/vendor/bundle/ruby/1.9.1/gems/rack-1.4.1/lib/rack/backports/uri/common_192.rb +55 -0
  68. data/vendor/bundle/ruby/1.9.1/gems/rack-1.4.1/lib/rack/body_proxy.rb +29 -0
  69. data/vendor/bundle/ruby/1.9.1/gems/rack-1.4.1/lib/rack/builder.rb +145 -0
  70. data/vendor/bundle/ruby/1.9.1/gems/rack-1.4.1/lib/rack/cascade.rb +41 -0
  71. data/vendor/bundle/ruby/1.9.1/gems/rack-1.4.1/lib/rack/chunked.rb +58 -0
  72. data/vendor/bundle/ruby/1.9.1/gems/rack-1.4.1/lib/rack/commonlogger.rb +51 -0
  73. data/vendor/bundle/ruby/1.9.1/gems/rack-1.4.1/lib/rack/conditionalget.rb +67 -0
  74. data/vendor/bundle/ruby/1.9.1/gems/rack-1.4.1/lib/rack/config.rb +15 -0
  75. data/vendor/bundle/ruby/1.9.1/gems/rack-1.4.1/lib/rack/content_length.rb +33 -0
  76. data/vendor/bundle/ruby/1.9.1/gems/rack-1.4.1/lib/rack/content_type.rb +29 -0
  77. data/vendor/bundle/ruby/1.9.1/gems/rack-1.4.1/lib/rack/deflater.rb +99 -0
  78. data/vendor/bundle/ruby/1.9.1/gems/rack-1.4.1/lib/rack/directory.rb +161 -0
  79. data/vendor/bundle/ruby/1.9.1/gems/rack-1.4.1/lib/rack/etag.rb +61 -0
  80. data/vendor/bundle/ruby/1.9.1/gems/rack-1.4.1/lib/rack/file.rb +142 -0
  81. data/vendor/bundle/ruby/1.9.1/gems/rack-1.4.1/lib/rack/handler/cgi.rb +61 -0
  82. data/vendor/bundle/ruby/1.9.1/gems/rack-1.4.1/lib/rack/handler/evented_mongrel.rb +8 -0
  83. data/vendor/bundle/ruby/1.9.1/gems/rack-1.4.1/lib/rack/handler/fastcgi.rb +98 -0
  84. data/vendor/bundle/ruby/1.9.1/gems/rack-1.4.1/lib/rack/handler/lsws.rb +61 -0
  85. data/vendor/bundle/ruby/1.9.1/gems/rack-1.4.1/lib/rack/handler/mongrel.rb +100 -0
  86. data/vendor/bundle/ruby/1.9.1/gems/rack-1.4.1/lib/rack/handler/scgi.rb +67 -0
  87. data/vendor/bundle/ruby/1.9.1/gems/rack-1.4.1/lib/rack/handler/swiftiplied_mongrel.rb +8 -0
  88. data/vendor/bundle/ruby/1.9.1/gems/rack-1.4.1/lib/rack/handler/thin.rb +24 -0
  89. data/vendor/bundle/ruby/1.9.1/gems/rack-1.4.1/lib/rack/handler/webrick.rb +80 -0
  90. data/vendor/bundle/ruby/1.9.1/gems/rack-1.4.1/lib/rack/handler.rb +94 -0
  91. data/vendor/bundle/ruby/1.9.1/gems/rack-1.4.1/lib/rack/head.rb +19 -0
  92. data/vendor/bundle/ruby/1.9.1/gems/rack-1.4.1/lib/rack/lint.rb +567 -0
  93. data/vendor/bundle/ruby/1.9.1/gems/rack-1.4.1/lib/rack/lobster.rb +65 -0
  94. data/vendor/bundle/ruby/1.9.1/gems/rack-1.4.1/lib/rack/lock.rb +25 -0
  95. data/vendor/bundle/ruby/1.9.1/gems/rack-1.4.1/lib/rack/logger.rb +18 -0
  96. data/vendor/bundle/ruby/1.9.1/gems/rack-1.4.1/lib/rack/methodoverride.rb +33 -0
  97. data/vendor/bundle/ruby/1.9.1/gems/rack-1.4.1/lib/rack/mime.rb +648 -0
  98. data/vendor/bundle/ruby/1.9.1/gems/rack-1.4.1/lib/rack/mock.rb +189 -0
  99. data/vendor/bundle/ruby/1.9.1/gems/rack-1.4.1/lib/rack/multipart/generator.rb +93 -0
  100. data/vendor/bundle/ruby/1.9.1/gems/rack-1.4.1/lib/rack/multipart/parser.rb +167 -0
  101. data/vendor/bundle/ruby/1.9.1/gems/rack-1.4.1/lib/rack/multipart/uploaded_file.rb +34 -0
  102. data/vendor/bundle/ruby/1.9.1/gems/rack-1.4.1/lib/rack/multipart.rb +34 -0
  103. data/vendor/bundle/ruby/1.9.1/gems/rack-1.4.1/lib/rack/nulllogger.rb +18 -0
  104. data/vendor/bundle/ruby/1.9.1/gems/rack-1.4.1/lib/rack/recursive.rb +61 -0
  105. data/vendor/bundle/ruby/1.9.1/gems/rack-1.4.1/lib/rack/reloader.rb +109 -0
  106. data/vendor/bundle/ruby/1.9.1/gems/rack-1.4.1/lib/rack/request.rb +341 -0
  107. data/vendor/bundle/ruby/1.9.1/gems/rack-1.4.1/lib/rack/response.rb +155 -0
  108. data/vendor/bundle/ruby/1.9.1/gems/rack-1.4.1/lib/rack/rewindable_input.rb +104 -0
  109. data/vendor/bundle/ruby/1.9.1/gems/rack-1.4.1/lib/rack/runtime.rb +27 -0
  110. data/vendor/bundle/ruby/1.9.1/gems/rack-1.4.1/lib/rack/sendfile.rb +141 -0
  111. data/vendor/bundle/ruby/1.9.1/gems/rack-1.4.1/lib/rack/server.rb +323 -0
  112. data/vendor/bundle/ruby/1.9.1/gems/rack-1.4.1/lib/rack/session/abstract/id.rb +372 -0
  113. data/vendor/bundle/ruby/1.9.1/gems/rack-1.4.1/lib/rack/session/cookie.rb +161 -0
  114. data/vendor/bundle/ruby/1.9.1/gems/rack-1.4.1/lib/rack/session/memcache.rb +93 -0
  115. data/vendor/bundle/ruby/1.9.1/gems/rack-1.4.1/lib/rack/session/pool.rb +79 -0
  116. data/vendor/bundle/ruby/1.9.1/gems/rack-1.4.1/lib/rack/showexceptions.rb +378 -0
  117. data/vendor/bundle/ruby/1.9.1/gems/rack-1.4.1/lib/rack/showstatus.rb +113 -0
  118. data/vendor/bundle/ruby/1.9.1/gems/rack-1.4.1/lib/rack/static.rb +71 -0
  119. data/vendor/bundle/ruby/1.9.1/gems/rack-1.4.1/lib/rack/urlmap.rb +75 -0
  120. data/vendor/bundle/ruby/1.9.1/gems/rack-1.4.1/lib/rack/utils.rb +547 -0
  121. data/vendor/bundle/ruby/1.9.1/gems/rack-1.4.1/lib/rack.rb +83 -0
  122. data/vendor/bundle/ruby/1.9.1/gems/rack-1.4.1/rack.gemspec +37 -0
  123. data/vendor/bundle/ruby/1.9.1/gems/rack-1.4.1/test/builder/anything.rb +5 -0
  124. data/vendor/bundle/ruby/1.9.1/gems/rack-1.4.1/test/builder/comment.ru +4 -0
  125. data/vendor/bundle/ruby/1.9.1/gems/rack-1.4.1/test/builder/end.ru +5 -0
  126. data/vendor/bundle/ruby/1.9.1/gems/rack-1.4.1/test/builder/options.ru +2 -0
  127. data/vendor/bundle/ruby/1.9.1/gems/rack-1.4.1/test/cgi/lighttpd.conf +26 -0
  128. data/vendor/bundle/ruby/1.9.1/gems/rack-1.4.1/test/cgi/rackup_stub.rb +6 -0
  129. data/vendor/bundle/ruby/1.9.1/gems/rack-1.4.1/test/cgi/sample_rackup.ru +5 -0
  130. data/vendor/bundle/ruby/1.9.1/gems/rack-1.4.1/test/cgi/test +9 -0
  131. data/vendor/bundle/ruby/1.9.1/gems/rack-1.4.1/test/cgi/test+directory/test+file +1 -0
  132. data/vendor/bundle/ruby/1.9.1/gems/rack-1.4.1/test/cgi/test.fcgi +8 -0
  133. data/vendor/bundle/ruby/1.9.1/gems/rack-1.4.1/test/cgi/test.ru +5 -0
  134. data/vendor/bundle/ruby/1.9.1/gems/rack-1.4.1/test/gemloader.rb +10 -0
  135. data/vendor/bundle/ruby/1.9.1/gems/rack-1.4.1/test/multipart/bad_robots +259 -0
  136. data/vendor/bundle/ruby/1.9.1/gems/rack-1.4.1/test/multipart/binary +0 -0
  137. data/vendor/bundle/ruby/1.9.1/gems/rack-1.4.1/test/multipart/content_type_and_no_filename +6 -0
  138. data/vendor/bundle/ruby/1.9.1/gems/rack-1.4.1/test/multipart/empty +10 -0
  139. data/vendor/bundle/ruby/1.9.1/gems/rack-1.4.1/test/multipart/fail_16384_nofile +814 -0
  140. data/vendor/bundle/ruby/1.9.1/gems/rack-1.4.1/test/multipart/file1.txt +1 -0
  141. data/vendor/bundle/ruby/1.9.1/gems/rack-1.4.1/test/multipart/filename_and_modification_param +7 -0
  142. data/vendor/bundle/ruby/1.9.1/gems/rack-1.4.1/test/multipart/filename_with_escaped_quotes +6 -0
  143. data/vendor/bundle/ruby/1.9.1/gems/rack-1.4.1/test/multipart/filename_with_escaped_quotes_and_modification_param +7 -0
  144. data/vendor/bundle/ruby/1.9.1/gems/rack-1.4.1/test/multipart/filename_with_percent_escaped_quotes +6 -0
  145. data/vendor/bundle/ruby/1.9.1/gems/rack-1.4.1/test/multipart/filename_with_unescaped_percentages +6 -0
  146. data/vendor/bundle/ruby/1.9.1/gems/rack-1.4.1/test/multipart/filename_with_unescaped_percentages2 +6 -0
  147. data/vendor/bundle/ruby/1.9.1/gems/rack-1.4.1/test/multipart/filename_with_unescaped_percentages3 +6 -0
  148. data/vendor/bundle/ruby/1.9.1/gems/rack-1.4.1/test/multipart/filename_with_unescaped_quotes +6 -0
  149. data/vendor/bundle/ruby/1.9.1/gems/rack-1.4.1/test/multipart/ie +6 -0
  150. data/vendor/bundle/ruby/1.9.1/gems/rack-1.4.1/test/multipart/mixed_files +21 -0
  151. data/vendor/bundle/ruby/1.9.1/gems/rack-1.4.1/test/multipart/nested +10 -0
  152. data/vendor/bundle/ruby/1.9.1/gems/rack-1.4.1/test/multipart/none +9 -0
  153. data/vendor/bundle/ruby/1.9.1/gems/rack-1.4.1/test/multipart/semicolon +6 -0
  154. data/vendor/bundle/ruby/1.9.1/gems/rack-1.4.1/test/multipart/text +15 -0
  155. data/vendor/bundle/ruby/1.9.1/gems/rack-1.4.1/test/multipart/webkit +32 -0
  156. data/vendor/bundle/ruby/1.9.1/gems/rack-1.4.1/test/rackup/config.ru +31 -0
  157. data/vendor/bundle/ruby/1.9.1/gems/rack-1.4.1/test/registering_handler/rack/handler/registering_myself.rb +8 -0
  158. data/vendor/bundle/ruby/1.9.1/gems/rack-1.4.1/test/spec_auth_basic.rb +73 -0
  159. data/vendor/bundle/ruby/1.9.1/gems/rack-1.4.1/test/spec_auth_digest.rb +245 -0
  160. data/vendor/bundle/ruby/1.9.1/gems/rack-1.4.1/test/spec_body_proxy.rb +65 -0
  161. data/vendor/bundle/ruby/1.9.1/gems/rack-1.4.1/test/spec_builder.rb +201 -0
  162. data/vendor/bundle/ruby/1.9.1/gems/rack-1.4.1/test/spec_cascade.rb +53 -0
  163. data/vendor/bundle/ruby/1.9.1/gems/rack-1.4.1/test/spec_cgi.rb +102 -0
  164. data/vendor/bundle/ruby/1.9.1/gems/rack-1.4.1/test/spec_chunked.rb +87 -0
  165. data/vendor/bundle/ruby/1.9.1/gems/rack-1.4.1/test/spec_commonlogger.rb +57 -0
  166. data/vendor/bundle/ruby/1.9.1/gems/rack-1.4.1/test/spec_conditionalget.rb +102 -0
  167. data/vendor/bundle/ruby/1.9.1/gems/rack-1.4.1/test/spec_config.rb +23 -0
  168. data/vendor/bundle/ruby/1.9.1/gems/rack-1.4.1/test/spec_content_length.rb +73 -0
  169. data/vendor/bundle/ruby/1.9.1/gems/rack-1.4.1/test/spec_content_type.rb +35 -0
  170. data/vendor/bundle/ruby/1.9.1/gems/rack-1.4.1/test/spec_deflater.rb +169 -0
  171. data/vendor/bundle/ruby/1.9.1/gems/rack-1.4.1/test/spec_directory.rb +69 -0
  172. data/vendor/bundle/ruby/1.9.1/gems/rack-1.4.1/test/spec_etag.rb +82 -0
  173. data/vendor/bundle/ruby/1.9.1/gems/rack-1.4.1/test/spec_fastcgi.rb +107 -0
  174. data/vendor/bundle/ruby/1.9.1/gems/rack-1.4.1/test/spec_file.rb +183 -0
  175. data/vendor/bundle/ruby/1.9.1/gems/rack-1.4.1/test/spec_handler.rb +59 -0
  176. data/vendor/bundle/ruby/1.9.1/gems/rack-1.4.1/test/spec_head.rb +30 -0
  177. data/vendor/bundle/ruby/1.9.1/gems/rack-1.4.1/test/spec_lint.rb +515 -0
  178. data/vendor/bundle/ruby/1.9.1/gems/rack-1.4.1/test/spec_lobster.rb +43 -0
  179. data/vendor/bundle/ruby/1.9.1/gems/rack-1.4.1/test/spec_lock.rb +142 -0
  180. data/vendor/bundle/ruby/1.9.1/gems/rack-1.4.1/test/spec_logger.rb +28 -0
  181. data/vendor/bundle/ruby/1.9.1/gems/rack-1.4.1/test/spec_methodoverride.rb +73 -0
  182. data/vendor/bundle/ruby/1.9.1/gems/rack-1.4.1/test/spec_mock.rb +264 -0
  183. data/vendor/bundle/ruby/1.9.1/gems/rack-1.4.1/test/spec_mongrel.rb +182 -0
  184. data/vendor/bundle/ruby/1.9.1/gems/rack-1.4.1/test/spec_multipart.rb +363 -0
  185. data/vendor/bundle/ruby/1.9.1/gems/rack-1.4.1/test/spec_nulllogger.rb +12 -0
  186. data/vendor/bundle/ruby/1.9.1/gems/rack-1.4.1/test/spec_recursive.rb +69 -0
  187. data/vendor/bundle/ruby/1.9.1/gems/rack-1.4.1/test/spec_request.rb +938 -0
  188. data/vendor/bundle/ruby/1.9.1/gems/rack-1.4.1/test/spec_response.rb +283 -0
  189. data/vendor/bundle/ruby/1.9.1/gems/rack-1.4.1/test/spec_rewindable_input.rb +118 -0
  190. data/vendor/bundle/ruby/1.9.1/gems/rack-1.4.1/test/spec_runtime.rb +39 -0
  191. data/vendor/bundle/ruby/1.9.1/gems/rack-1.4.1/test/spec_sendfile.rb +86 -0
  192. data/vendor/bundle/ruby/1.9.1/gems/rack-1.4.1/test/spec_server.rb +74 -0
  193. data/vendor/bundle/ruby/1.9.1/gems/rack-1.4.1/test/spec_session_abstract_id.rb +43 -0
  194. data/vendor/bundle/ruby/1.9.1/gems/rack-1.4.1/test/spec_session_cookie.rb +294 -0
  195. data/vendor/bundle/ruby/1.9.1/gems/rack-1.4.1/test/spec_session_memcache.rb +319 -0
  196. data/vendor/bundle/ruby/1.9.1/gems/rack-1.4.1/test/spec_session_pool.rb +206 -0
  197. data/vendor/bundle/ruby/1.9.1/gems/rack-1.4.1/test/spec_showexceptions.rb +87 -0
  198. data/vendor/bundle/ruby/1.9.1/gems/rack-1.4.1/test/spec_showstatus.rb +79 -0
  199. data/vendor/bundle/ruby/1.9.1/gems/rack-1.4.1/test/spec_static.rb +69 -0
  200. data/vendor/bundle/ruby/1.9.1/gems/rack-1.4.1/test/spec_thin.rb +86 -0
  201. data/vendor/bundle/ruby/1.9.1/gems/rack-1.4.1/test/spec_urlmap.rb +213 -0
  202. data/vendor/bundle/ruby/1.9.1/gems/rack-1.4.1/test/spec_utils.rb +524 -0
  203. data/vendor/bundle/ruby/1.9.1/gems/rack-1.4.1/test/spec_webrick.rb +143 -0
  204. data/vendor/bundle/ruby/1.9.1/gems/rack-1.4.1/test/static/index.html +1 -0
  205. data/vendor/bundle/ruby/1.9.1/gems/rack-1.4.1/test/testrequest.rb +78 -0
  206. data/vendor/bundle/ruby/1.9.1/gems/rack-1.4.1/test/unregistered_handler/rack/handler/unregistered.rb +7 -0
  207. data/vendor/bundle/ruby/1.9.1/gems/rack-1.4.1/test/unregistered_handler/rack/handler/unregistered_long_one.rb +7 -0
  208. data/vendor/bundle/ruby/1.9.1/gems/rake-0.9.2.2/CHANGES +522 -0
  209. data/vendor/bundle/ruby/1.9.1/gems/rake-0.9.2.2/MIT-LICENSE +21 -0
  210. data/vendor/bundle/ruby/1.9.1/gems/rake-0.9.2.2/README.rdoc +197 -0
  211. data/vendor/bundle/ruby/1.9.1/gems/rake-0.9.2.2/Rakefile +369 -0
  212. data/vendor/bundle/ruby/1.9.1/gems/rake-0.9.2.2/TODO +20 -0
  213. data/vendor/bundle/ruby/1.9.1/gems/rake-0.9.2.2/bin/rake +33 -0
  214. data/vendor/bundle/ruby/1.9.1/gems/rake-0.9.2.2/doc/command_line_usage.rdoc +114 -0
  215. data/vendor/bundle/ruby/1.9.1/gems/rake-0.9.2.2/doc/example/Rakefile1 +38 -0
  216. data/vendor/bundle/ruby/1.9.1/gems/rake-0.9.2.2/doc/example/Rakefile2 +35 -0
  217. data/vendor/bundle/ruby/1.9.1/gems/rake-0.9.2.2/doc/example/a.c +6 -0
  218. data/vendor/bundle/ruby/1.9.1/gems/rake-0.9.2.2/doc/example/b.c +6 -0
  219. data/vendor/bundle/ruby/1.9.1/gems/rake-0.9.2.2/doc/example/main.c +11 -0
  220. data/vendor/bundle/ruby/1.9.1/gems/rake-0.9.2.2/doc/glossary.rdoc +51 -0
  221. data/vendor/bundle/ruby/1.9.1/gems/rake-0.9.2.2/doc/jamis.rb +591 -0
  222. data/vendor/bundle/ruby/1.9.1/gems/rake-0.9.2.2/doc/proto_rake.rdoc +127 -0
  223. data/vendor/bundle/ruby/1.9.1/gems/rake-0.9.2.2/doc/rake.1.gz +0 -0
  224. data/vendor/bundle/ruby/1.9.1/gems/rake-0.9.2.2/doc/rakefile.rdoc +557 -0
  225. data/vendor/bundle/ruby/1.9.1/gems/rake-0.9.2.2/doc/rational.rdoc +151 -0
  226. data/vendor/bundle/ruby/1.9.1/gems/rake-0.9.2.2/doc/release_notes/rake-0.4.14.rdoc +23 -0
  227. data/vendor/bundle/ruby/1.9.1/gems/rake-0.9.2.2/doc/release_notes/rake-0.4.15.rdoc +35 -0
  228. data/vendor/bundle/ruby/1.9.1/gems/rake-0.9.2.2/doc/release_notes/rake-0.5.0.rdoc +53 -0
  229. data/vendor/bundle/ruby/1.9.1/gems/rake-0.9.2.2/doc/release_notes/rake-0.5.3.rdoc +78 -0
  230. data/vendor/bundle/ruby/1.9.1/gems/rake-0.9.2.2/doc/release_notes/rake-0.5.4.rdoc +46 -0
  231. data/vendor/bundle/ruby/1.9.1/gems/rake-0.9.2.2/doc/release_notes/rake-0.6.0.rdoc +141 -0
  232. data/vendor/bundle/ruby/1.9.1/gems/rake-0.9.2.2/doc/release_notes/rake-0.7.0.rdoc +119 -0
  233. data/vendor/bundle/ruby/1.9.1/gems/rake-0.9.2.2/doc/release_notes/rake-0.7.1.rdoc +59 -0
  234. data/vendor/bundle/ruby/1.9.1/gems/rake-0.9.2.2/doc/release_notes/rake-0.7.2.rdoc +121 -0
  235. data/vendor/bundle/ruby/1.9.1/gems/rake-0.9.2.2/doc/release_notes/rake-0.7.3.rdoc +47 -0
  236. data/vendor/bundle/ruby/1.9.1/gems/rake-0.9.2.2/doc/release_notes/rake-0.8.0.rdoc +114 -0
  237. data/vendor/bundle/ruby/1.9.1/gems/rake-0.9.2.2/doc/release_notes/rake-0.8.2.rdoc +165 -0
  238. data/vendor/bundle/ruby/1.9.1/gems/rake-0.9.2.2/doc/release_notes/rake-0.8.3.rdoc +112 -0
  239. data/vendor/bundle/ruby/1.9.1/gems/rake-0.9.2.2/doc/release_notes/rake-0.8.4.rdoc +147 -0
  240. data/vendor/bundle/ruby/1.9.1/gems/rake-0.9.2.2/doc/release_notes/rake-0.8.5.rdoc +53 -0
  241. data/vendor/bundle/ruby/1.9.1/gems/rake-0.9.2.2/doc/release_notes/rake-0.8.6.rdoc +55 -0
  242. data/vendor/bundle/ruby/1.9.1/gems/rake-0.9.2.2/doc/release_notes/rake-0.8.7.rdoc +55 -0
  243. data/vendor/bundle/ruby/1.9.1/gems/rake-0.9.2.2/doc/release_notes/rake-0.9.0.rdoc +112 -0
  244. data/vendor/bundle/ruby/1.9.1/gems/rake-0.9.2.2/doc/release_notes/rake-0.9.1.rdoc +52 -0
  245. data/vendor/bundle/ruby/1.9.1/gems/rake-0.9.2.2/doc/release_notes/rake-0.9.2.rdoc +49 -0
  246. data/vendor/bundle/ruby/1.9.1/gems/rake-0.9.2.2/install.rb +90 -0
  247. data/vendor/bundle/ruby/1.9.1/gems/rake-0.9.2.2/lib/rake/alt_system.rb +109 -0
  248. data/vendor/bundle/ruby/1.9.1/gems/rake-0.9.2.2/lib/rake/application.rb +595 -0
  249. data/vendor/bundle/ruby/1.9.1/gems/rake-0.9.2.2/lib/rake/classic_namespace.rb +11 -0
  250. data/vendor/bundle/ruby/1.9.1/gems/rake-0.9.2.2/lib/rake/clean.rb +32 -0
  251. data/vendor/bundle/ruby/1.9.1/gems/rake-0.9.2.2/lib/rake/cloneable.rb +25 -0
  252. data/vendor/bundle/ruby/1.9.1/gems/rake-0.9.2.2/lib/rake/contrib/compositepublisher.rb +21 -0
  253. data/vendor/bundle/ruby/1.9.1/gems/rake-0.9.2.2/lib/rake/contrib/ftptools.rb +150 -0
  254. data/vendor/bundle/ruby/1.9.1/gems/rake-0.9.2.2/lib/rake/contrib/publisher.rb +73 -0
  255. data/vendor/bundle/ruby/1.9.1/gems/rake-0.9.2.2/lib/rake/contrib/rubyforgepublisher.rb +16 -0
  256. data/vendor/bundle/ruby/1.9.1/gems/rake-0.9.2.2/lib/rake/contrib/sshpublisher.rb +50 -0
  257. data/vendor/bundle/ruby/1.9.1/gems/rake-0.9.2.2/lib/rake/contrib/sys.rb +191 -0
  258. data/vendor/bundle/ruby/1.9.1/gems/rake-0.9.2.2/lib/rake/default_loader.rb +10 -0
  259. data/vendor/bundle/ruby/1.9.1/gems/rake-0.9.2.2/lib/rake/dsl_definition.rb +176 -0
  260. data/vendor/bundle/ruby/1.9.1/gems/rake-0.9.2.2/lib/rake/early_time.rb +18 -0
  261. data/vendor/bundle/ruby/1.9.1/gems/rake-0.9.2.2/lib/rake/ext/core.rb +27 -0
  262. data/vendor/bundle/ruby/1.9.1/gems/rake-0.9.2.2/lib/rake/ext/module.rb +39 -0
  263. data/vendor/bundle/ruby/1.9.1/gems/rake-0.9.2.2/lib/rake/ext/string.rb +167 -0
  264. data/vendor/bundle/ruby/1.9.1/gems/rake-0.9.2.2/lib/rake/ext/time.rb +14 -0
  265. data/vendor/bundle/ruby/1.9.1/gems/rake-0.9.2.2/lib/rake/file_creation_task.rb +24 -0
  266. data/vendor/bundle/ruby/1.9.1/gems/rake-0.9.2.2/lib/rake/file_list.rb +403 -0
  267. data/vendor/bundle/ruby/1.9.1/gems/rake-0.9.2.2/lib/rake/file_task.rb +47 -0
  268. data/vendor/bundle/ruby/1.9.1/gems/rake-0.9.2.2/lib/rake/file_utils.rb +114 -0
  269. data/vendor/bundle/ruby/1.9.1/gems/rake-0.9.2.2/lib/rake/file_utils_ext.rb +145 -0
  270. data/vendor/bundle/ruby/1.9.1/gems/rake-0.9.2.2/lib/rake/gempackagetask.rb +15 -0
  271. data/vendor/bundle/ruby/1.9.1/gems/rake-0.9.2.2/lib/rake/invocation_chain.rb +51 -0
  272. data/vendor/bundle/ruby/1.9.1/gems/rake-0.9.2.2/lib/rake/invocation_exception_mixin.rb +16 -0
  273. data/vendor/bundle/ruby/1.9.1/gems/rake-0.9.2.2/lib/rake/loaders/makefile.rb +40 -0
  274. data/vendor/bundle/ruby/1.9.1/gems/rake-0.9.2.2/lib/rake/multi_task.rb +16 -0
  275. data/vendor/bundle/ruby/1.9.1/gems/rake-0.9.2.2/lib/rake/name_space.rb +25 -0
  276. data/vendor/bundle/ruby/1.9.1/gems/rake-0.9.2.2/lib/rake/packagetask.rb +185 -0
  277. data/vendor/bundle/ruby/1.9.1/gems/rake-0.9.2.2/lib/rake/pathmap.rb +1 -0
  278. data/vendor/bundle/ruby/1.9.1/gems/rake-0.9.2.2/lib/rake/pseudo_status.rb +24 -0
  279. data/vendor/bundle/ruby/1.9.1/gems/rake-0.9.2.2/lib/rake/rake_module.rb +29 -0
  280. data/vendor/bundle/ruby/1.9.1/gems/rake-0.9.2.2/lib/rake/rake_test_loader.rb +22 -0
  281. data/vendor/bundle/ruby/1.9.1/gems/rake-0.9.2.2/lib/rake/rdoctask.rb +234 -0
  282. data/vendor/bundle/ruby/1.9.1/gems/rake-0.9.2.2/lib/rake/ruby182_test_unit_fix.rb +25 -0
  283. data/vendor/bundle/ruby/1.9.1/gems/rake-0.9.2.2/lib/rake/rule_recursion_overflow_error.rb +20 -0
  284. data/vendor/bundle/ruby/1.9.1/gems/rake-0.9.2.2/lib/rake/runtest.rb +21 -0
  285. data/vendor/bundle/ruby/1.9.1/gems/rake-0.9.2.2/lib/rake/task.rb +327 -0
  286. data/vendor/bundle/ruby/1.9.1/gems/rake-0.9.2.2/lib/rake/task_argument_error.rb +7 -0
  287. data/vendor/bundle/ruby/1.9.1/gems/rake-0.9.2.2/lib/rake/task_arguments.rb +78 -0
  288. data/vendor/bundle/ruby/1.9.1/gems/rake-0.9.2.2/lib/rake/task_manager.rb +307 -0
  289. data/vendor/bundle/ruby/1.9.1/gems/rake-0.9.2.2/lib/rake/tasklib.rb +22 -0
  290. data/vendor/bundle/ruby/1.9.1/gems/rake-0.9.2.2/lib/rake/testtask.rb +191 -0
  291. data/vendor/bundle/ruby/1.9.1/gems/rake-0.9.2.2/lib/rake/version.rb +8 -0
  292. data/vendor/bundle/ruby/1.9.1/gems/rake-0.9.2.2/lib/rake/win32.rb +55 -0
  293. data/vendor/bundle/ruby/1.9.1/gems/rake-0.9.2.2/lib/rake.rb +69 -0
  294. data/vendor/bundle/ruby/1.9.1/gems/rake-0.9.2.2/test/file_creation.rb +34 -0
  295. data/vendor/bundle/ruby/1.9.1/gems/rake-0.9.2.2/test/helper.rb +492 -0
  296. data/vendor/bundle/ruby/1.9.1/gems/rake-0.9.2.2/test/test_rake.rb +40 -0
  297. data/vendor/bundle/ruby/1.9.1/gems/rake-0.9.2.2/test/test_rake_application.rb +489 -0
  298. data/vendor/bundle/ruby/1.9.1/gems/rake-0.9.2.2/test/test_rake_application_options.rb +335 -0
  299. data/vendor/bundle/ruby/1.9.1/gems/rake-0.9.2.2/test/test_rake_clean.rb +14 -0
  300. data/vendor/bundle/ruby/1.9.1/gems/rake-0.9.2.2/test/test_rake_definitions.rb +80 -0
  301. data/vendor/bundle/ruby/1.9.1/gems/rake-0.9.2.2/test/test_rake_directory_task.rb +46 -0
  302. data/vendor/bundle/ruby/1.9.1/gems/rake-0.9.2.2/test/test_rake_dsl.rb +77 -0
  303. data/vendor/bundle/ruby/1.9.1/gems/rake-0.9.2.2/test/test_rake_early_time.rb +31 -0
  304. data/vendor/bundle/ruby/1.9.1/gems/rake-0.9.2.2/test/test_rake_extension.rb +59 -0
  305. data/vendor/bundle/ruby/1.9.1/gems/rake-0.9.2.2/test/test_rake_file_creation_task.rb +56 -0
  306. data/vendor/bundle/ruby/1.9.1/gems/rake-0.9.2.2/test/test_rake_file_list.rb +628 -0
  307. data/vendor/bundle/ruby/1.9.1/gems/rake-0.9.2.2/test/test_rake_file_list_path_map.rb +8 -0
  308. data/vendor/bundle/ruby/1.9.1/gems/rake-0.9.2.2/test/test_rake_file_task.rb +102 -0
  309. data/vendor/bundle/ruby/1.9.1/gems/rake-0.9.2.2/test/test_rake_file_utils.rb +305 -0
  310. data/vendor/bundle/ruby/1.9.1/gems/rake-0.9.2.2/test/test_rake_ftp_file.rb +59 -0
  311. data/vendor/bundle/ruby/1.9.1/gems/rake-0.9.2.2/test/test_rake_functional.rb +450 -0
  312. data/vendor/bundle/ruby/1.9.1/gems/rake-0.9.2.2/test/test_rake_invocation_chain.rb +52 -0
  313. data/vendor/bundle/ruby/1.9.1/gems/rake-0.9.2.2/test/test_rake_makefile_loader.rb +44 -0
  314. data/vendor/bundle/ruby/1.9.1/gems/rake-0.9.2.2/test/test_rake_multi_task.rb +51 -0
  315. data/vendor/bundle/ruby/1.9.1/gems/rake-0.9.2.2/test/test_rake_name_space.rb +43 -0
  316. data/vendor/bundle/ruby/1.9.1/gems/rake-0.9.2.2/test/test_rake_package_task.rb +79 -0
  317. data/vendor/bundle/ruby/1.9.1/gems/rake-0.9.2.2/test/test_rake_path_map.rb +157 -0
  318. data/vendor/bundle/ruby/1.9.1/gems/rake-0.9.2.2/test/test_rake_path_map_explode.rb +34 -0
  319. data/vendor/bundle/ruby/1.9.1/gems/rake-0.9.2.2/test/test_rake_path_map_partial.rb +18 -0
  320. data/vendor/bundle/ruby/1.9.1/gems/rake-0.9.2.2/test/test_rake_pseudo_status.rb +21 -0
  321. data/vendor/bundle/ruby/1.9.1/gems/rake-0.9.2.2/test/test_rake_rake_test_loader.rb +21 -0
  322. data/vendor/bundle/ruby/1.9.1/gems/rake-0.9.2.2/test/test_rake_rdoc_task.rb +83 -0
  323. data/vendor/bundle/ruby/1.9.1/gems/rake-0.9.2.2/test/test_rake_require.rb +40 -0
  324. data/vendor/bundle/ruby/1.9.1/gems/rake-0.9.2.2/test/test_rake_rules.rb +327 -0
  325. data/vendor/bundle/ruby/1.9.1/gems/rake-0.9.2.2/test/test_rake_task.rb +267 -0
  326. data/vendor/bundle/ruby/1.9.1/gems/rake-0.9.2.2/test/test_rake_task_argument_parsing.rb +103 -0
  327. data/vendor/bundle/ruby/1.9.1/gems/rake-0.9.2.2/test/test_rake_task_arguments.rb +88 -0
  328. data/vendor/bundle/ruby/1.9.1/gems/rake-0.9.2.2/test/test_rake_task_lib.rb +9 -0
  329. data/vendor/bundle/ruby/1.9.1/gems/rake-0.9.2.2/test/test_rake_task_manager.rb +157 -0
  330. data/vendor/bundle/ruby/1.9.1/gems/rake-0.9.2.2/test/test_rake_task_manager_argument_resolution.rb +36 -0
  331. data/vendor/bundle/ruby/1.9.1/gems/rake-0.9.2.2/test/test_rake_task_with_arguments.rb +173 -0
  332. data/vendor/bundle/ruby/1.9.1/gems/rake-0.9.2.2/test/test_rake_test_task.rb +120 -0
  333. data/vendor/bundle/ruby/1.9.1/gems/rake-0.9.2.2/test/test_rake_top_level_functions.rb +111 -0
  334. data/vendor/bundle/ruby/1.9.1/gems/rake-0.9.2.2/test/test_rake_win32.rb +72 -0
  335. data/vendor/bundle/ruby/1.9.1/gems/rake-0.9.2.2/test/test_sys.rb +20 -0
  336. data/vendor/bundle/ruby/1.9.1/gems/rr-1.0.4/CHANGES +266 -0
  337. data/vendor/bundle/ruby/1.9.1/gems/rr-1.0.4/Gemfile +12 -0
  338. data/vendor/bundle/ruby/1.9.1/gems/rr-1.0.4/Gemfile.lock +31 -0
  339. data/vendor/bundle/ruby/1.9.1/gems/rr-1.0.4/LICENSE +22 -0
  340. data/vendor/bundle/ruby/1.9.1/gems/rr-1.0.4/README.rdoc +392 -0
  341. data/vendor/bundle/ruby/1.9.1/gems/rr-1.0.4/Rakefile +88 -0
  342. data/vendor/bundle/ruby/1.9.1/gems/rr-1.0.4/benchmarks/rr_benchmark.rb +32 -0
  343. data/vendor/bundle/ruby/1.9.1/gems/rr-1.0.4/benchmarks/rspec_benchmark.rb +14 -0
  344. data/vendor/bundle/ruby/1.9.1/gems/rr-1.0.4/doc/0.6.0.release.markdown +81 -0
  345. data/vendor/bundle/ruby/1.9.1/gems/rr-1.0.4/doc/todo.txt +0 -0
  346. data/vendor/bundle/ruby/1.9.1/gems/rr-1.0.4/introducting_rr.txt +206 -0
  347. data/vendor/bundle/ruby/1.9.1/gems/rr-1.0.4/lib/rr/adapters/minitest.rb +31 -0
  348. data/vendor/bundle/ruby/1.9.1/gems/rr-1.0.4/lib/rr/adapters/rr_methods.rb +146 -0
  349. data/vendor/bundle/ruby/1.9.1/gems/rr-1.0.4/lib/rr/adapters/rspec.rb +61 -0
  350. data/vendor/bundle/ruby/1.9.1/gems/rr-1.0.4/lib/rr/adapters/test_unit.rb +31 -0
  351. data/vendor/bundle/ruby/1.9.1/gems/rr-1.0.4/lib/rr/blank_slate.rb +17 -0
  352. data/vendor/bundle/ruby/1.9.1/gems/rr-1.0.4/lib/rr/class_instance_method_defined.rb +9 -0
  353. data/vendor/bundle/ruby/1.9.1/gems/rr-1.0.4/lib/rr/double.rb +154 -0
  354. data/vendor/bundle/ruby/1.9.1/gems/rr-1.0.4/lib/rr/double_definitions/child_double_definition_create.rb +27 -0
  355. data/vendor/bundle/ruby/1.9.1/gems/rr-1.0.4/lib/rr/double_definitions/double_definition.rb +365 -0
  356. data/vendor/bundle/ruby/1.9.1/gems/rr-1.0.4/lib/rr/double_definitions/double_definition_create.rb +139 -0
  357. data/vendor/bundle/ruby/1.9.1/gems/rr-1.0.4/lib/rr/double_definitions/double_definition_create_blank_slate.rb +26 -0
  358. data/vendor/bundle/ruby/1.9.1/gems/rr-1.0.4/lib/rr/double_definitions/double_injections/any_instance_of.rb +28 -0
  359. data/vendor/bundle/ruby/1.9.1/gems/rr-1.0.4/lib/rr/double_definitions/double_injections/instance.rb +16 -0
  360. data/vendor/bundle/ruby/1.9.1/gems/rr-1.0.4/lib/rr/double_definitions/strategies/double_injection/any_instance_of.rb +30 -0
  361. data/vendor/bundle/ruby/1.9.1/gems/rr-1.0.4/lib/rr/double_definitions/strategies/double_injection/double_injection_strategy.rb +10 -0
  362. data/vendor/bundle/ruby/1.9.1/gems/rr-1.0.4/lib/rr/double_definitions/strategies/double_injection/instance.rb +17 -0
  363. data/vendor/bundle/ruby/1.9.1/gems/rr-1.0.4/lib/rr/double_definitions/strategies/implementation/implementation_strategy.rb +10 -0
  364. data/vendor/bundle/ruby/1.9.1/gems/rr-1.0.4/lib/rr/double_definitions/strategies/implementation/proxy.rb +60 -0
  365. data/vendor/bundle/ruby/1.9.1/gems/rr-1.0.4/lib/rr/double_definitions/strategies/implementation/reimplementation.rb +14 -0
  366. data/vendor/bundle/ruby/1.9.1/gems/rr-1.0.4/lib/rr/double_definitions/strategies/implementation/strongly_typed_reimplementation.rb +15 -0
  367. data/vendor/bundle/ruby/1.9.1/gems/rr-1.0.4/lib/rr/double_definitions/strategies/strategy.rb +43 -0
  368. data/vendor/bundle/ruby/1.9.1/gems/rr-1.0.4/lib/rr/double_definitions/strategies/strategy_methods.rb +53 -0
  369. data/vendor/bundle/ruby/1.9.1/gems/rr-1.0.4/lib/rr/double_definitions/strategies/verification/dont_allow.rb +31 -0
  370. data/vendor/bundle/ruby/1.9.1/gems/rr-1.0.4/lib/rr/double_definitions/strategies/verification/mock.rb +42 -0
  371. data/vendor/bundle/ruby/1.9.1/gems/rr-1.0.4/lib/rr/double_definitions/strategies/verification/stub.rb +43 -0
  372. data/vendor/bundle/ruby/1.9.1/gems/rr-1.0.4/lib/rr/double_definitions/strategies/verification/verification_strategy.rb +10 -0
  373. data/vendor/bundle/ruby/1.9.1/gems/rr-1.0.4/lib/rr/double_matches.rb +42 -0
  374. data/vendor/bundle/ruby/1.9.1/gems/rr-1.0.4/lib/rr/errors/argument_equality_error.rb +6 -0
  375. data/vendor/bundle/ruby/1.9.1/gems/rr-1.0.4/lib/rr/errors/double_definition_error.rb +6 -0
  376. data/vendor/bundle/ruby/1.9.1/gems/rr-1.0.4/lib/rr/errors/double_not_found_error.rb +6 -0
  377. data/vendor/bundle/ruby/1.9.1/gems/rr-1.0.4/lib/rr/errors/double_order_error.rb +6 -0
  378. data/vendor/bundle/ruby/1.9.1/gems/rr-1.0.4/lib/rr/errors/rr_error.rb +20 -0
  379. data/vendor/bundle/ruby/1.9.1/gems/rr-1.0.4/lib/rr/errors/spy_verification_errors/double_injection_not_found_error.rb +8 -0
  380. data/vendor/bundle/ruby/1.9.1/gems/rr-1.0.4/lib/rr/errors/spy_verification_errors/invocation_count_error.rb +8 -0
  381. data/vendor/bundle/ruby/1.9.1/gems/rr-1.0.4/lib/rr/errors/spy_verification_errors/spy_verification_error.rb +8 -0
  382. data/vendor/bundle/ruby/1.9.1/gems/rr-1.0.4/lib/rr/errors/subject_does_not_implement_method_error.rb +6 -0
  383. data/vendor/bundle/ruby/1.9.1/gems/rr-1.0.4/lib/rr/errors/subject_has_different_arity_error.rb +6 -0
  384. data/vendor/bundle/ruby/1.9.1/gems/rr-1.0.4/lib/rr/errors/times_called_error.rb +6 -0
  385. data/vendor/bundle/ruby/1.9.1/gems/rr-1.0.4/lib/rr/expectations/any_argument_expectation.rb +21 -0
  386. data/vendor/bundle/ruby/1.9.1/gems/rr-1.0.4/lib/rr/expectations/argument_equality_expectation.rb +41 -0
  387. data/vendor/bundle/ruby/1.9.1/gems/rr-1.0.4/lib/rr/expectations/times_called_expectation.rb +57 -0
  388. data/vendor/bundle/ruby/1.9.1/gems/rr-1.0.4/lib/rr/hash_with_object_id_key.rb +46 -0
  389. data/vendor/bundle/ruby/1.9.1/gems/rr-1.0.4/lib/rr/injections/double_injection.rb +220 -0
  390. data/vendor/bundle/ruby/1.9.1/gems/rr-1.0.4/lib/rr/injections/injection.rb +33 -0
  391. data/vendor/bundle/ruby/1.9.1/gems/rr-1.0.4/lib/rr/injections/method_missing_injection.rb +73 -0
  392. data/vendor/bundle/ruby/1.9.1/gems/rr-1.0.4/lib/rr/injections/singleton_method_added_injection.rb +72 -0
  393. data/vendor/bundle/ruby/1.9.1/gems/rr-1.0.4/lib/rr/method_dispatches/base_method_dispatch.rb +84 -0
  394. data/vendor/bundle/ruby/1.9.1/gems/rr-1.0.4/lib/rr/method_dispatches/method_dispatch.rb +59 -0
  395. data/vendor/bundle/ruby/1.9.1/gems/rr-1.0.4/lib/rr/method_dispatches/method_missing_dispatch.rb +61 -0
  396. data/vendor/bundle/ruby/1.9.1/gems/rr-1.0.4/lib/rr/proc_from_block.rb +7 -0
  397. data/vendor/bundle/ruby/1.9.1/gems/rr-1.0.4/lib/rr/recorded_calls.rb +103 -0
  398. data/vendor/bundle/ruby/1.9.1/gems/rr-1.0.4/lib/rr/space.rb +119 -0
  399. data/vendor/bundle/ruby/1.9.1/gems/rr-1.0.4/lib/rr/spy_verification.rb +48 -0
  400. data/vendor/bundle/ruby/1.9.1/gems/rr-1.0.4/lib/rr/spy_verification_proxy.rb +13 -0
  401. data/vendor/bundle/ruby/1.9.1/gems/rr-1.0.4/lib/rr/times_called_matchers/any_times_matcher.rb +18 -0
  402. data/vendor/bundle/ruby/1.9.1/gems/rr-1.0.4/lib/rr/times_called_matchers/at_least_matcher.rb +15 -0
  403. data/vendor/bundle/ruby/1.9.1/gems/rr-1.0.4/lib/rr/times_called_matchers/at_most_matcher.rb +23 -0
  404. data/vendor/bundle/ruby/1.9.1/gems/rr-1.0.4/lib/rr/times_called_matchers/integer_matcher.rb +19 -0
  405. data/vendor/bundle/ruby/1.9.1/gems/rr-1.0.4/lib/rr/times_called_matchers/never_matcher.rb +23 -0
  406. data/vendor/bundle/ruby/1.9.1/gems/rr-1.0.4/lib/rr/times_called_matchers/non_terminal.rb +27 -0
  407. data/vendor/bundle/ruby/1.9.1/gems/rr-1.0.4/lib/rr/times_called_matchers/proc_matcher.rb +11 -0
  408. data/vendor/bundle/ruby/1.9.1/gems/rr-1.0.4/lib/rr/times_called_matchers/range_matcher.rb +21 -0
  409. data/vendor/bundle/ruby/1.9.1/gems/rr-1.0.4/lib/rr/times_called_matchers/terminal.rb +20 -0
  410. data/vendor/bundle/ruby/1.9.1/gems/rr-1.0.4/lib/rr/times_called_matchers/times_called_matcher.rb +44 -0
  411. data/vendor/bundle/ruby/1.9.1/gems/rr-1.0.4/lib/rr/wildcard_matchers/anything.rb +18 -0
  412. data/vendor/bundle/ruby/1.9.1/gems/rr-1.0.4/lib/rr/wildcard_matchers/boolean.rb +23 -0
  413. data/vendor/bundle/ruby/1.9.1/gems/rr-1.0.4/lib/rr/wildcard_matchers/duck_type.rb +32 -0
  414. data/vendor/bundle/ruby/1.9.1/gems/rr-1.0.4/lib/rr/wildcard_matchers/hash_including.rb +29 -0
  415. data/vendor/bundle/ruby/1.9.1/gems/rr-1.0.4/lib/rr/wildcard_matchers/is_a.rb +25 -0
  416. data/vendor/bundle/ruby/1.9.1/gems/rr-1.0.4/lib/rr/wildcard_matchers/numeric.rb +13 -0
  417. data/vendor/bundle/ruby/1.9.1/gems/rr-1.0.4/lib/rr/wildcard_matchers/range.rb +7 -0
  418. data/vendor/bundle/ruby/1.9.1/gems/rr-1.0.4/lib/rr/wildcard_matchers/regexp.rb +7 -0
  419. data/vendor/bundle/ruby/1.9.1/gems/rr-1.0.4/lib/rr/wildcard_matchers/satisfy.rb +26 -0
  420. data/vendor/bundle/ruby/1.9.1/gems/rr-1.0.4/lib/rr/wildcard_matchers.rb +158 -0
  421. data/vendor/bundle/ruby/1.9.1/gems/rr-1.0.4/lib/rr.rb +100 -0
  422. data/vendor/bundle/ruby/1.9.1/gems/rr-1.0.4/rr.gemspec +37 -0
  423. data/vendor/bundle/ruby/1.9.1/gems/rr-1.0.4/spec/api/any_instance_of/all_instances_of_spec.rb +12 -0
  424. data/vendor/bundle/ruby/1.9.1/gems/rr-1.0.4/spec/api/any_instance_of/any_instance_of_spec.rb +47 -0
  425. data/vendor/bundle/ruby/1.9.1/gems/rr-1.0.4/spec/api/any_instance_of/instance_of_spec.rb +12 -0
  426. data/vendor/bundle/ruby/1.9.1/gems/rr-1.0.4/spec/api/dont_allow/dont_allow_after_stub_spec.rb +14 -0
  427. data/vendor/bundle/ruby/1.9.1/gems/rr-1.0.4/spec/api/mock/mock_spec.rb +193 -0
  428. data/vendor/bundle/ruby/1.9.1/gems/rr-1.0.4/spec/api/proxy/proxy_spec.rb +86 -0
  429. data/vendor/bundle/ruby/1.9.1/gems/rr-1.0.4/spec/api/spy/spy_spec.rb +49 -0
  430. data/vendor/bundle/ruby/1.9.1/gems/rr-1.0.4/spec/api/strong/strong_spec.rb +87 -0
  431. data/vendor/bundle/ruby/1.9.1/gems/rr-1.0.4/spec/api/stub/stub_spec.rb +152 -0
  432. data/vendor/bundle/ruby/1.9.1/gems/rr-1.0.4/spec/core_spec_suite.rb +19 -0
  433. data/vendor/bundle/ruby/1.9.1/gems/rr-1.0.4/spec/environment_fixture_setup.rb +8 -0
  434. data/vendor/bundle/ruby/1.9.1/gems/rr-1.0.4/spec/minitest_spec_suite.rb +21 -0
  435. data/vendor/bundle/ruby/1.9.1/gems/rr-1.0.4/spec/proc_from_block_spec.rb +14 -0
  436. data/vendor/bundle/ruby/1.9.1/gems/rr-1.0.4/spec/rr/adapters/rr_methods_argument_matcher_spec.rb +67 -0
  437. data/vendor/bundle/ruby/1.9.1/gems/rr-1.0.4/spec/rr/adapters/rr_methods_creator_spec.rb +137 -0
  438. data/vendor/bundle/ruby/1.9.1/gems/rr-1.0.4/spec/rr/adapters/rr_methods_space_spec.rb +98 -0
  439. data/vendor/bundle/ruby/1.9.1/gems/rr-1.0.4/spec/rr/adapters/rr_methods_spec_helper.rb +11 -0
  440. data/vendor/bundle/ruby/1.9.1/gems/rr-1.0.4/spec/rr/adapters/rr_methods_times_matcher_spec.rb +13 -0
  441. data/vendor/bundle/ruby/1.9.1/gems/rr-1.0.4/spec/rr/double_definitions/child_double_definition_creator_spec.rb +112 -0
  442. data/vendor/bundle/ruby/1.9.1/gems/rr-1.0.4/spec/rr/double_definitions/double_definition_create_blank_slate_spec.rb +91 -0
  443. data/vendor/bundle/ruby/1.9.1/gems/rr-1.0.4/spec/rr/double_definitions/double_definition_create_spec.rb +443 -0
  444. data/vendor/bundle/ruby/1.9.1/gems/rr-1.0.4/spec/rr/double_injection/double_injection_spec.rb +546 -0
  445. data/vendor/bundle/ruby/1.9.1/gems/rr-1.0.4/spec/rr/double_injection/double_injection_verify_spec.rb +29 -0
  446. data/vendor/bundle/ruby/1.9.1/gems/rr-1.0.4/spec/rr/errors/rr_error_spec.rb +67 -0
  447. data/vendor/bundle/ruby/1.9.1/gems/rr-1.0.4/spec/rr/expectations/any_argument_expectation_spec.rb +47 -0
  448. data/vendor/bundle/ruby/1.9.1/gems/rr-1.0.4/spec/rr/expectations/anything_argument_equality_expectation_spec.rb +14 -0
  449. data/vendor/bundle/ruby/1.9.1/gems/rr-1.0.4/spec/rr/expectations/argument_equality_expectation_spec.rb +135 -0
  450. data/vendor/bundle/ruby/1.9.1/gems/rr-1.0.4/spec/rr/expectations/boolean_argument_equality_expectation_spec.rb +34 -0
  451. data/vendor/bundle/ruby/1.9.1/gems/rr-1.0.4/spec/rr/expectations/hash_including_argument_equality_expectation_spec.rb +82 -0
  452. data/vendor/bundle/ruby/1.9.1/gems/rr-1.0.4/spec/rr/expectations/hash_including_spec.rb +17 -0
  453. data/vendor/bundle/ruby/1.9.1/gems/rr-1.0.4/spec/rr/expectations/satisfy_argument_equality_expectation_spec.rb +59 -0
  454. data/vendor/bundle/ruby/1.9.1/gems/rr-1.0.4/spec/rr/expectations/satisfy_spec.rb +14 -0
  455. data/vendor/bundle/ruby/1.9.1/gems/rr-1.0.4/spec/rr/expectations/times_called_expectation/times_called_expectation_any_times_spec.rb +22 -0
  456. data/vendor/bundle/ruby/1.9.1/gems/rr-1.0.4/spec/rr/expectations/times_called_expectation/times_called_expectation_at_least_spec.rb +37 -0
  457. data/vendor/bundle/ruby/1.9.1/gems/rr-1.0.4/spec/rr/expectations/times_called_expectation/times_called_expectation_at_most_spec.rb +43 -0
  458. data/vendor/bundle/ruby/1.9.1/gems/rr-1.0.4/spec/rr/expectations/times_called_expectation/times_called_expectation_helper.rb +15 -0
  459. data/vendor/bundle/ruby/1.9.1/gems/rr-1.0.4/spec/rr/expectations/times_called_expectation/times_called_expectation_integer_spec.rb +58 -0
  460. data/vendor/bundle/ruby/1.9.1/gems/rr-1.0.4/spec/rr/expectations/times_called_expectation/times_called_expectation_proc_spec.rb +35 -0
  461. data/vendor/bundle/ruby/1.9.1/gems/rr-1.0.4/spec/rr/expectations/times_called_expectation/times_called_expectation_range_spec.rb +39 -0
  462. data/vendor/bundle/ruby/1.9.1/gems/rr-1.0.4/spec/rr/minitest/minitest_integration_test.rb +59 -0
  463. data/vendor/bundle/ruby/1.9.1/gems/rr-1.0.4/spec/rr/minitest/test_helper.rb +7 -0
  464. data/vendor/bundle/ruby/1.9.1/gems/rr-1.0.4/spec/rr/rspec/invocation_matcher_spec.rb +279 -0
  465. data/vendor/bundle/ruby/1.9.1/gems/rr-1.0.4/spec/rr/rspec/rspec_adapter_spec.rb +63 -0
  466. data/vendor/bundle/ruby/1.9.1/gems/rr-1.0.4/spec/rr/rspec/rspec_backtrace_tweaking_spec.rb +31 -0
  467. data/vendor/bundle/ruby/1.9.1/gems/rr-1.0.4/spec/rr/rspec/rspec_backtrace_tweaking_spec_fixture.rb +11 -0
  468. data/vendor/bundle/ruby/1.9.1/gems/rr-1.0.4/spec/rr/rspec/rspec_usage_spec.rb +86 -0
  469. data/vendor/bundle/ruby/1.9.1/gems/rr-1.0.4/spec/rr/space/hash_with_object_id_key_spec.rb +88 -0
  470. data/vendor/bundle/ruby/1.9.1/gems/rr-1.0.4/spec/rr/space/space_spec.rb +596 -0
  471. data/vendor/bundle/ruby/1.9.1/gems/rr-1.0.4/spec/rr/test_unit/test_helper.rb +7 -0
  472. data/vendor/bundle/ruby/1.9.1/gems/rr-1.0.4/spec/rr/test_unit/test_unit_backtrace_test.rb +36 -0
  473. data/vendor/bundle/ruby/1.9.1/gems/rr-1.0.4/spec/rr/test_unit/test_unit_integration_test.rb +59 -0
  474. data/vendor/bundle/ruby/1.9.1/gems/rr-1.0.4/spec/rr/times_called_matchers/any_times_matcher_spec.rb +47 -0
  475. data/vendor/bundle/ruby/1.9.1/gems/rr-1.0.4/spec/rr/times_called_matchers/at_least_matcher_spec.rb +55 -0
  476. data/vendor/bundle/ruby/1.9.1/gems/rr-1.0.4/spec/rr/times_called_matchers/at_most_matcher_spec.rb +70 -0
  477. data/vendor/bundle/ruby/1.9.1/gems/rr-1.0.4/spec/rr/times_called_matchers/integer_matcher_spec.rb +70 -0
  478. data/vendor/bundle/ruby/1.9.1/gems/rr-1.0.4/spec/rr/times_called_matchers/proc_matcher_spec.rb +55 -0
  479. data/vendor/bundle/ruby/1.9.1/gems/rr-1.0.4/spec/rr/times_called_matchers/range_matcher_spec.rb +76 -0
  480. data/vendor/bundle/ruby/1.9.1/gems/rr-1.0.4/spec/rr/times_called_matchers/times_called_matcher_spec.rb +118 -0
  481. data/vendor/bundle/ruby/1.9.1/gems/rr-1.0.4/spec/rr/wildcard_matchers/anything_spec.rb +24 -0
  482. data/vendor/bundle/ruby/1.9.1/gems/rr-1.0.4/spec/rr/wildcard_matchers/boolean_spec.rb +36 -0
  483. data/vendor/bundle/ruby/1.9.1/gems/rr-1.0.4/spec/rr/wildcard_matchers/duck_type_spec.rb +52 -0
  484. data/vendor/bundle/ruby/1.9.1/gems/rr-1.0.4/spec/rr/wildcard_matchers/is_a_spec.rb +32 -0
  485. data/vendor/bundle/ruby/1.9.1/gems/rr-1.0.4/spec/rr/wildcard_matchers/numeric_spec.rb +32 -0
  486. data/vendor/bundle/ruby/1.9.1/gems/rr-1.0.4/spec/rr/wildcard_matchers/range_spec.rb +35 -0
  487. data/vendor/bundle/ruby/1.9.1/gems/rr-1.0.4/spec/rr/wildcard_matchers/regexp_spec.rb +43 -0
  488. data/vendor/bundle/ruby/1.9.1/gems/rr-1.0.4/spec/rr_spec.rb +28 -0
  489. data/vendor/bundle/ruby/1.9.1/gems/rr-1.0.4/spec/rspec_spec_suite.rb +17 -0
  490. data/vendor/bundle/ruby/1.9.1/gems/rr-1.0.4/spec/spec.opts +10 -0
  491. data/vendor/bundle/ruby/1.9.1/gems/rr-1.0.4/spec/spec_helper.rb +41 -0
  492. data/vendor/bundle/ruby/1.9.1/gems/rr-1.0.4/spec/spec_suite.rb +54 -0
  493. data/vendor/bundle/ruby/1.9.1/gems/rr-1.0.4/spec/spy_verification_spec.rb +129 -0
  494. data/vendor/bundle/ruby/1.9.1/gems/rr-1.0.4/spec/test_unit_spec_suite.rb +21 -0
  495. data/vendor/bundle/ruby/1.9.1/gems/test-unit-2.4.8/COPYING +64 -0
  496. data/vendor/bundle/ruby/1.9.1/gems/test-unit-2.4.8/GPL +340 -0
  497. data/vendor/bundle/ruby/1.9.1/gems/test-unit-2.4.8/PSFL +271 -0
  498. data/vendor/bundle/ruby/1.9.1/gems/test-unit-2.4.8/README.textile +90 -0
  499. data/vendor/bundle/ruby/1.9.1/gems/test-unit-2.4.8/Rakefile +332 -0
  500. data/vendor/bundle/ruby/1.9.1/gems/test-unit-2.4.8/TODO +1 -0
  501. data/vendor/bundle/ruby/1.9.1/gems/test-unit-2.4.8/lib/test/unit/assertionfailederror.rb +25 -0
  502. data/vendor/bundle/ruby/1.9.1/gems/test-unit-2.4.8/lib/test/unit/assertions.rb +1911 -0
  503. data/vendor/bundle/ruby/1.9.1/gems/test-unit-2.4.8/lib/test/unit/attribute.rb +129 -0
  504. data/vendor/bundle/ruby/1.9.1/gems/test-unit-2.4.8/lib/test/unit/autorunner.rb +425 -0
  505. data/vendor/bundle/ruby/1.9.1/gems/test-unit-2.4.8/lib/test/unit/code-snippet-fetcher.rb +32 -0
  506. data/vendor/bundle/ruby/1.9.1/gems/test-unit-2.4.8/lib/test/unit/collector/descendant.rb +23 -0
  507. data/vendor/bundle/ruby/1.9.1/gems/test-unit-2.4.8/lib/test/unit/collector/dir.rb +108 -0
  508. data/vendor/bundle/ruby/1.9.1/gems/test-unit-2.4.8/lib/test/unit/collector/load.rb +187 -0
  509. data/vendor/bundle/ruby/1.9.1/gems/test-unit-2.4.8/lib/test/unit/collector/objectspace.rb +34 -0
  510. data/vendor/bundle/ruby/1.9.1/gems/test-unit-2.4.8/lib/test/unit/collector/xml.rb +250 -0
  511. data/vendor/bundle/ruby/1.9.1/gems/test-unit-2.4.8/lib/test/unit/collector.rb +38 -0
  512. data/vendor/bundle/ruby/1.9.1/gems/test-unit-2.4.8/lib/test/unit/color-scheme.rb +153 -0
  513. data/vendor/bundle/ruby/1.9.1/gems/test-unit-2.4.8/lib/test/unit/color.rb +123 -0
  514. data/vendor/bundle/ruby/1.9.1/gems/test-unit-2.4.8/lib/test/unit/data.rb +80 -0
  515. data/vendor/bundle/ruby/1.9.1/gems/test-unit-2.4.8/lib/test/unit/diff.rb +740 -0
  516. data/vendor/bundle/ruby/1.9.1/gems/test-unit-2.4.8/lib/test/unit/error.rb +151 -0
  517. data/vendor/bundle/ruby/1.9.1/gems/test-unit-2.4.8/lib/test/unit/exceptionhandler.rb +39 -0
  518. data/vendor/bundle/ruby/1.9.1/gems/test-unit-2.4.8/lib/test/unit/failure.rb +136 -0
  519. data/vendor/bundle/ruby/1.9.1/gems/test-unit-2.4.8/lib/test/unit/fixture.rb +227 -0
  520. data/vendor/bundle/ruby/1.9.1/gems/test-unit-2.4.8/lib/test/unit/notification.rb +133 -0
  521. data/vendor/bundle/ruby/1.9.1/gems/test-unit-2.4.8/lib/test/unit/omission.rb +191 -0
  522. data/vendor/bundle/ruby/1.9.1/gems/test-unit-2.4.8/lib/test/unit/pending.rb +150 -0
  523. data/vendor/bundle/ruby/1.9.1/gems/test-unit-2.4.8/lib/test/unit/priority.rb +182 -0
  524. data/vendor/bundle/ruby/1.9.1/gems/test-unit-2.4.8/lib/test/unit/runner/console.rb +59 -0
  525. data/vendor/bundle/ruby/1.9.1/gems/test-unit-2.4.8/lib/test/unit/runner/emacs.rb +8 -0
  526. data/vendor/bundle/ruby/1.9.1/gems/test-unit-2.4.8/lib/test/unit/runner/xml.rb +15 -0
  527. data/vendor/bundle/ruby/1.9.1/gems/test-unit-2.4.8/lib/test/unit/testcase.rb +632 -0
  528. data/vendor/bundle/ruby/1.9.1/gems/test-unit-2.4.8/lib/test/unit/testresult.rb +125 -0
  529. data/vendor/bundle/ruby/1.9.1/gems/test-unit-2.4.8/lib/test/unit/testsuite.rb +134 -0
  530. data/vendor/bundle/ruby/1.9.1/gems/test-unit-2.4.8/lib/test/unit/testsuitecreator.rb +79 -0
  531. data/vendor/bundle/ruby/1.9.1/gems/test-unit-2.4.8/lib/test/unit/ui/console/outputlevel.rb +15 -0
  532. data/vendor/bundle/ruby/1.9.1/gems/test-unit-2.4.8/lib/test/unit/ui/console/testrunner.rb +591 -0
  533. data/vendor/bundle/ruby/1.9.1/gems/test-unit-2.4.8/lib/test/unit/ui/emacs/testrunner.rb +49 -0
  534. data/vendor/bundle/ruby/1.9.1/gems/test-unit-2.4.8/lib/test/unit/ui/testrunner.rb +53 -0
  535. data/vendor/bundle/ruby/1.9.1/gems/test-unit-2.4.8/lib/test/unit/ui/testrunnermediator.rb +86 -0
  536. data/vendor/bundle/ruby/1.9.1/gems/test-unit-2.4.8/lib/test/unit/ui/testrunnerutilities.rb +41 -0
  537. data/vendor/bundle/ruby/1.9.1/gems/test-unit-2.4.8/lib/test/unit/ui/xml/testrunner.rb +224 -0
  538. data/vendor/bundle/ruby/1.9.1/gems/test-unit-2.4.8/lib/test/unit/util/backtracefilter.rb +53 -0
  539. data/vendor/bundle/ruby/1.9.1/gems/test-unit-2.4.8/lib/test/unit/util/method-owner-finder.rb +28 -0
  540. data/vendor/bundle/ruby/1.9.1/gems/test-unit-2.4.8/lib/test/unit/util/observable.rb +90 -0
  541. data/vendor/bundle/ruby/1.9.1/gems/test-unit-2.4.8/lib/test/unit/util/output.rb +31 -0
  542. data/vendor/bundle/ruby/1.9.1/gems/test-unit-2.4.8/lib/test/unit/util/procwrapper.rb +48 -0
  543. data/vendor/bundle/ruby/1.9.1/gems/test-unit-2.4.8/lib/test/unit/version.rb +5 -0
  544. data/vendor/bundle/ruby/1.9.1/gems/test-unit-2.4.8/lib/test/unit.rb +328 -0
  545. data/vendor/bundle/ruby/1.9.1/gems/test-unit-2.4.8/lib/test-unit.rb +3 -0
  546. data/vendor/bundle/ruby/1.9.1/gems/test-unit-2.4.8/sample/adder.rb +13 -0
  547. data/vendor/bundle/ruby/1.9.1/gems/test-unit-2.4.8/sample/subtracter.rb +12 -0
  548. data/vendor/bundle/ruby/1.9.1/gems/test-unit-2.4.8/sample/test_adder.rb +20 -0
  549. data/vendor/bundle/ruby/1.9.1/gems/test-unit-2.4.8/sample/test_subtracter.rb +20 -0
  550. data/vendor/bundle/ruby/1.9.1/gems/test-unit-2.4.8/sample/test_user.rb +23 -0
  551. data/vendor/bundle/ruby/1.9.1/gems/test-unit-2.4.8/test/collector/test-descendant.rb +133 -0
  552. data/vendor/bundle/ruby/1.9.1/gems/test-unit-2.4.8/test/collector/test-load.rb +442 -0
  553. data/vendor/bundle/ruby/1.9.1/gems/test-unit-2.4.8/test/collector/test_dir.rb +406 -0
  554. data/vendor/bundle/ruby/1.9.1/gems/test-unit-2.4.8/test/collector/test_objectspace.rb +100 -0
  555. data/vendor/bundle/ruby/1.9.1/gems/test-unit-2.4.8/test/fixtures/plus.csv +3 -0
  556. data/vendor/bundle/ruby/1.9.1/gems/test-unit-2.4.8/test/run-test.rb +22 -0
  557. data/vendor/bundle/ruby/1.9.1/gems/test-unit-2.4.8/test/test-assertions.rb +1911 -0
  558. data/vendor/bundle/ruby/1.9.1/gems/test-unit-2.4.8/test/test-attribute.rb +86 -0
  559. data/vendor/bundle/ruby/1.9.1/gems/test-unit-2.4.8/test/test-code-snippet.rb +37 -0
  560. data/vendor/bundle/ruby/1.9.1/gems/test-unit-2.4.8/test/test-color-scheme.rb +82 -0
  561. data/vendor/bundle/ruby/1.9.1/gems/test-unit-2.4.8/test/test-color.rb +47 -0
  562. data/vendor/bundle/ruby/1.9.1/gems/test-unit-2.4.8/test/test-data.rb +191 -0
  563. data/vendor/bundle/ruby/1.9.1/gems/test-unit-2.4.8/test/test-diff.rb +518 -0
  564. data/vendor/bundle/ruby/1.9.1/gems/test-unit-2.4.8/test/test-emacs-runner.rb +60 -0
  565. data/vendor/bundle/ruby/1.9.1/gems/test-unit-2.4.8/test/test-fixture.rb +632 -0
  566. data/vendor/bundle/ruby/1.9.1/gems/test-unit-2.4.8/test/test-notification.rb +33 -0
  567. data/vendor/bundle/ruby/1.9.1/gems/test-unit-2.4.8/test/test-omission.rb +81 -0
  568. data/vendor/bundle/ruby/1.9.1/gems/test-unit-2.4.8/test/test-pending.rb +70 -0
  569. data/vendor/bundle/ruby/1.9.1/gems/test-unit-2.4.8/test/test-priority.rb +134 -0
  570. data/vendor/bundle/ruby/1.9.1/gems/test-unit-2.4.8/test/test-testcase.rb +590 -0
  571. data/vendor/bundle/ruby/1.9.1/gems/test-unit-2.4.8/test/test_error.rb +26 -0
  572. data/vendor/bundle/ruby/1.9.1/gems/test-unit-2.4.8/test/test_failure.rb +33 -0
  573. data/vendor/bundle/ruby/1.9.1/gems/test-unit-2.4.8/test/test_testresult.rb +113 -0
  574. data/vendor/bundle/ruby/1.9.1/gems/test-unit-2.4.8/test/test_testsuite.rb +137 -0
  575. data/vendor/bundle/ruby/1.9.1/gems/test-unit-2.4.8/test/testunit-test-util.rb +22 -0
  576. data/vendor/bundle/ruby/1.9.1/gems/test-unit-2.4.8/test/ui/test_testrunmediator.rb +20 -0
  577. data/vendor/bundle/ruby/1.9.1/gems/test-unit-2.4.8/test/util/test-method-owner-finder.rb +38 -0
  578. data/vendor/bundle/ruby/1.9.1/gems/test-unit-2.4.8/test/util/test-output.rb +11 -0
  579. data/vendor/bundle/ruby/1.9.1/gems/test-unit-2.4.8/test/util/test_backtracefilter.rb +41 -0
  580. data/vendor/bundle/ruby/1.9.1/gems/test-unit-2.4.8/test/util/test_observable.rb +102 -0
  581. data/vendor/bundle/ruby/1.9.1/gems/test-unit-2.4.8/test/util/test_procwrapper.rb +36 -0
  582. data/vendor/bundle/ruby/1.9.1/gems/test-unit-2.5.1/COPYING +64 -0
  583. data/vendor/bundle/ruby/1.9.1/gems/test-unit-2.5.1/GPL +340 -0
  584. data/vendor/bundle/ruby/1.9.1/gems/test-unit-2.5.1/PSFL +271 -0
  585. data/vendor/bundle/ruby/1.9.1/gems/test-unit-2.5.1/README.textile +91 -0
  586. data/vendor/bundle/ruby/1.9.1/gems/test-unit-2.5.1/Rakefile +302 -0
  587. data/vendor/bundle/ruby/1.9.1/gems/test-unit-2.5.1/TODO +1 -0
  588. data/vendor/bundle/ruby/1.9.1/gems/test-unit-2.5.1/lib/test/unit/assertionfailederror.rb +25 -0
  589. data/vendor/bundle/ruby/1.9.1/gems/test-unit-2.5.1/lib/test/unit/assertions.rb +1934 -0
  590. data/vendor/bundle/ruby/1.9.1/gems/test-unit-2.5.1/lib/test/unit/attribute.rb +129 -0
  591. data/vendor/bundle/ruby/1.9.1/gems/test-unit-2.5.1/lib/test/unit/autorunner.rb +443 -0
  592. data/vendor/bundle/ruby/1.9.1/gems/test-unit-2.5.1/lib/test/unit/code-snippet-fetcher.rb +32 -0
  593. data/vendor/bundle/ruby/1.9.1/gems/test-unit-2.5.1/lib/test/unit/collector/descendant.rb +23 -0
  594. data/vendor/bundle/ruby/1.9.1/gems/test-unit-2.5.1/lib/test/unit/collector/dir.rb +108 -0
  595. data/vendor/bundle/ruby/1.9.1/gems/test-unit-2.5.1/lib/test/unit/collector/load.rb +187 -0
  596. data/vendor/bundle/ruby/1.9.1/gems/test-unit-2.5.1/lib/test/unit/collector/objectspace.rb +34 -0
  597. data/vendor/bundle/ruby/1.9.1/gems/test-unit-2.5.1/lib/test/unit/collector/xml.rb +250 -0
  598. data/vendor/bundle/ruby/1.9.1/gems/test-unit-2.5.1/lib/test/unit/collector.rb +38 -0
  599. data/vendor/bundle/ruby/1.9.1/gems/test-unit-2.5.1/lib/test/unit/color-scheme.rb +153 -0
  600. data/vendor/bundle/ruby/1.9.1/gems/test-unit-2.5.1/lib/test/unit/color.rb +123 -0
  601. data/vendor/bundle/ruby/1.9.1/gems/test-unit-2.5.1/lib/test/unit/data.rb +80 -0
  602. data/vendor/bundle/ruby/1.9.1/gems/test-unit-2.5.1/lib/test/unit/diff.rb +740 -0
  603. data/vendor/bundle/ruby/1.9.1/gems/test-unit-2.5.1/lib/test/unit/error.rb +151 -0
  604. data/vendor/bundle/ruby/1.9.1/gems/test-unit-2.5.1/lib/test/unit/exceptionhandler.rb +39 -0
  605. data/vendor/bundle/ruby/1.9.1/gems/test-unit-2.5.1/lib/test/unit/failure.rb +136 -0
  606. data/vendor/bundle/ruby/1.9.1/gems/test-unit-2.5.1/lib/test/unit/fixture.rb +227 -0
  607. data/vendor/bundle/ruby/1.9.1/gems/test-unit-2.5.1/lib/test/unit/notification.rb +133 -0
  608. data/vendor/bundle/ruby/1.9.1/gems/test-unit-2.5.1/lib/test/unit/omission.rb +191 -0
  609. data/vendor/bundle/ruby/1.9.1/gems/test-unit-2.5.1/lib/test/unit/pending.rb +150 -0
  610. data/vendor/bundle/ruby/1.9.1/gems/test-unit-2.5.1/lib/test/unit/priority.rb +182 -0
  611. data/vendor/bundle/ruby/1.9.1/gems/test-unit-2.5.1/lib/test/unit/runner/console.rb +59 -0
  612. data/vendor/bundle/ruby/1.9.1/gems/test-unit-2.5.1/lib/test/unit/runner/emacs.rb +8 -0
  613. data/vendor/bundle/ruby/1.9.1/gems/test-unit-2.5.1/lib/test/unit/runner/xml.rb +15 -0
  614. data/vendor/bundle/ruby/1.9.1/gems/test-unit-2.5.1/lib/test/unit/testcase.rb +633 -0
  615. data/vendor/bundle/ruby/1.9.1/gems/test-unit-2.5.1/lib/test/unit/testresult.rb +125 -0
  616. data/vendor/bundle/ruby/1.9.1/gems/test-unit-2.5.1/lib/test/unit/testsuite.rb +168 -0
  617. data/vendor/bundle/ruby/1.9.1/gems/test-unit-2.5.1/lib/test/unit/testsuitecreator.rb +79 -0
  618. data/vendor/bundle/ruby/1.9.1/gems/test-unit-2.5.1/lib/test/unit/ui/console/outputlevel.rb +15 -0
  619. data/vendor/bundle/ruby/1.9.1/gems/test-unit-2.5.1/lib/test/unit/ui/console/testrunner.rb +603 -0
  620. data/vendor/bundle/ruby/1.9.1/gems/test-unit-2.5.1/lib/test/unit/ui/emacs/testrunner.rb +49 -0
  621. data/vendor/bundle/ruby/1.9.1/gems/test-unit-2.5.1/lib/test/unit/ui/testrunner.rb +53 -0
  622. data/vendor/bundle/ruby/1.9.1/gems/test-unit-2.5.1/lib/test/unit/ui/testrunnermediator.rb +100 -0
  623. data/vendor/bundle/ruby/1.9.1/gems/test-unit-2.5.1/lib/test/unit/ui/testrunnerutilities.rb +41 -0
  624. data/vendor/bundle/ruby/1.9.1/gems/test-unit-2.5.1/lib/test/unit/ui/xml/testrunner.rb +224 -0
  625. data/vendor/bundle/ruby/1.9.1/gems/test-unit-2.5.1/lib/test/unit/util/backtracefilter.rb +53 -0
  626. data/vendor/bundle/ruby/1.9.1/gems/test-unit-2.5.1/lib/test/unit/util/method-owner-finder.rb +28 -0
  627. data/vendor/bundle/ruby/1.9.1/gems/test-unit-2.5.1/lib/test/unit/util/observable.rb +90 -0
  628. data/vendor/bundle/ruby/1.9.1/gems/test-unit-2.5.1/lib/test/unit/util/output.rb +31 -0
  629. data/vendor/bundle/ruby/1.9.1/gems/test-unit-2.5.1/lib/test/unit/util/procwrapper.rb +48 -0
  630. data/vendor/bundle/ruby/1.9.1/gems/test-unit-2.5.1/lib/test/unit/version.rb +5 -0
  631. data/vendor/bundle/ruby/1.9.1/gems/test-unit-2.5.1/lib/test/unit.rb +332 -0
  632. data/vendor/bundle/ruby/1.9.1/gems/test-unit-2.5.1/lib/test-unit.rb +13 -0
  633. data/vendor/bundle/ruby/1.9.1/gems/test-unit-2.5.1/sample/adder.rb +13 -0
  634. data/vendor/bundle/ruby/1.9.1/gems/test-unit-2.5.1/sample/subtracter.rb +12 -0
  635. data/vendor/bundle/ruby/1.9.1/gems/test-unit-2.5.1/sample/test_adder.rb +20 -0
  636. data/vendor/bundle/ruby/1.9.1/gems/test-unit-2.5.1/sample/test_subtracter.rb +20 -0
  637. data/vendor/bundle/ruby/1.9.1/gems/test-unit-2.5.1/sample/test_user.rb +23 -0
  638. data/vendor/bundle/ruby/1.9.1/gems/test-unit-2.5.1/test/collector/test-descendant.rb +133 -0
  639. data/vendor/bundle/ruby/1.9.1/gems/test-unit-2.5.1/test/collector/test-load.rb +442 -0
  640. data/vendor/bundle/ruby/1.9.1/gems/test-unit-2.5.1/test/collector/test_dir.rb +406 -0
  641. data/vendor/bundle/ruby/1.9.1/gems/test-unit-2.5.1/test/collector/test_objectspace.rb +100 -0
  642. data/vendor/bundle/ruby/1.9.1/gems/test-unit-2.5.1/test/fixtures/plus.csv +3 -0
  643. data/vendor/bundle/ruby/1.9.1/gems/test-unit-2.5.1/test/run-test.rb +22 -0
  644. data/vendor/bundle/ruby/1.9.1/gems/test-unit-2.5.1/test/test-assertions.rb +1926 -0
  645. data/vendor/bundle/ruby/1.9.1/gems/test-unit-2.5.1/test/test-attribute.rb +86 -0
  646. data/vendor/bundle/ruby/1.9.1/gems/test-unit-2.5.1/test/test-code-snippet.rb +37 -0
  647. data/vendor/bundle/ruby/1.9.1/gems/test-unit-2.5.1/test/test-color-scheme.rb +82 -0
  648. data/vendor/bundle/ruby/1.9.1/gems/test-unit-2.5.1/test/test-color.rb +47 -0
  649. data/vendor/bundle/ruby/1.9.1/gems/test-unit-2.5.1/test/test-data.rb +191 -0
  650. data/vendor/bundle/ruby/1.9.1/gems/test-unit-2.5.1/test/test-diff.rb +518 -0
  651. data/vendor/bundle/ruby/1.9.1/gems/test-unit-2.5.1/test/test-emacs-runner.rb +60 -0
  652. data/vendor/bundle/ruby/1.9.1/gems/test-unit-2.5.1/test/test-fixture.rb +632 -0
  653. data/vendor/bundle/ruby/1.9.1/gems/test-unit-2.5.1/test/test-notification.rb +33 -0
  654. data/vendor/bundle/ruby/1.9.1/gems/test-unit-2.5.1/test/test-omission.rb +81 -0
  655. data/vendor/bundle/ruby/1.9.1/gems/test-unit-2.5.1/test/test-pending.rb +70 -0
  656. data/vendor/bundle/ruby/1.9.1/gems/test-unit-2.5.1/test/test-priority.rb +134 -0
  657. data/vendor/bundle/ruby/1.9.1/gems/test-unit-2.5.1/test/test-testcase.rb +590 -0
  658. data/vendor/bundle/ruby/1.9.1/gems/test-unit-2.5.1/test/test_error.rb +26 -0
  659. data/vendor/bundle/ruby/1.9.1/gems/test-unit-2.5.1/test/test_failure.rb +33 -0
  660. data/vendor/bundle/ruby/1.9.1/gems/test-unit-2.5.1/test/test_testresult.rb +113 -0
  661. data/vendor/bundle/ruby/1.9.1/gems/test-unit-2.5.1/test/test_testsuite.rb +137 -0
  662. data/vendor/bundle/ruby/1.9.1/gems/test-unit-2.5.1/test/testunit-test-util.rb +22 -0
  663. data/vendor/bundle/ruby/1.9.1/gems/test-unit-2.5.1/test/ui/test_testrunmediator.rb +20 -0
  664. data/vendor/bundle/ruby/1.9.1/gems/test-unit-2.5.1/test/util/test-method-owner-finder.rb +38 -0
  665. data/vendor/bundle/ruby/1.9.1/gems/test-unit-2.5.1/test/util/test-output.rb +11 -0
  666. data/vendor/bundle/ruby/1.9.1/gems/test-unit-2.5.1/test/util/test_backtracefilter.rb +41 -0
  667. data/vendor/bundle/ruby/1.9.1/gems/test-unit-2.5.1/test/util/test_observable.rb +102 -0
  668. data/vendor/bundle/ruby/1.9.1/gems/test-unit-2.5.1/test/util/test_procwrapper.rb +36 -0
  669. data/vendor/bundle/ruby/1.9.1/gems/test-unit-notify-0.3.0/COPYING +502 -0
  670. data/vendor/bundle/ruby/1.9.1/gems/test-unit-notify-0.3.0/History.txt +31 -0
  671. data/vendor/bundle/ruby/1.9.1/gems/test-unit-notify-0.3.0/Manifest.txt +14 -0
  672. data/vendor/bundle/ruby/1.9.1/gems/test-unit-notify-0.3.0/README.txt +37 -0
  673. data/vendor/bundle/ruby/1.9.1/gems/test-unit-notify-0.3.0/Rakefile +47 -0
  674. data/vendor/bundle/ruby/1.9.1/gems/test-unit-notify-0.3.0/data/icons/kinotan/default.png +0 -0
  675. data/vendor/bundle/ruby/1.9.1/gems/test-unit-notify-0.3.0/data/icons/kinotan/error.png +0 -0
  676. data/vendor/bundle/ruby/1.9.1/gems/test-unit-notify-0.3.0/data/icons/kinotan/failure.png +0 -0
  677. data/vendor/bundle/ruby/1.9.1/gems/test-unit-notify-0.3.0/data/icons/kinotan/omission.png +0 -0
  678. data/vendor/bundle/ruby/1.9.1/gems/test-unit-notify-0.3.0/data/icons/kinotan/pass.png +0 -0
  679. data/vendor/bundle/ruby/1.9.1/gems/test-unit-notify-0.3.0/data/icons/kinotan/pending.png +0 -0
  680. data/vendor/bundle/ruby/1.9.1/gems/test-unit-notify-0.3.0/lib/test/unit/notify.rb +215 -0
  681. data/vendor/bundle/ruby/1.9.1/gems/test-unit-notify-0.3.0/screenshot/notify-on-gnome.png +0 -0
  682. data/vendor/bundle/ruby/1.9.1/gems/test-unit-notify-0.3.0/screenshot/notify-on-mac-os-x.png +0 -0
  683. data/vendor/bundle/ruby/1.9.1/gems/test-unit-rr-1.0.1/COPYING +502 -0
  684. data/vendor/bundle/ruby/1.9.1/gems/test-unit-rr-1.0.1/History.txt +12 -0
  685. data/vendor/bundle/ruby/1.9.1/gems/test-unit-rr-1.0.1/Manifest.txt +6 -0
  686. data/vendor/bundle/ruby/1.9.1/gems/test-unit-rr-1.0.1/README.txt +30 -0
  687. data/vendor/bundle/ruby/1.9.1/gems/test-unit-rr-1.0.1/Rakefile +38 -0
  688. data/vendor/bundle/ruby/1.9.1/gems/test-unit-rr-1.0.1/lib/test/unit/rr.rb +44 -0
  689. data/vendor/bundle/ruby/1.9.1/specifications/rack-1.4.1.gemspec +47 -0
  690. data/vendor/bundle/ruby/1.9.1/specifications/rake-0.9.2.2.gemspec +34 -0
  691. data/vendor/bundle/ruby/1.9.1/specifications/rr-1.0.4.gemspec +29 -0
  692. data/vendor/bundle/ruby/1.9.1/specifications/test-unit-2.4.8.gemspec +38 -0
  693. data/vendor/bundle/ruby/1.9.1/specifications/test-unit-2.5.1.gemspec +36 -0
  694. data/vendor/bundle/ruby/1.9.1/specifications/test-unit-notify-0.3.0.gemspec +35 -0
  695. data/vendor/bundle/ruby/1.9.1/specifications/test-unit-rr-1.0.1.gemspec +38 -0
  696. metadata +686 -4
  697. data/data/bitclust/catalog/ja_JP.EUC-JP +0 -78
@@ -0,0 +1,125 @@
1
+ #--
2
+ # Author:: Nathaniel Talbott.
3
+ # Copyright:: Copyright (c) 2000-2002 Nathaniel Talbott. All rights reserved.
4
+ # License:: Ruby license.
5
+
6
+ require 'test/unit/util/observable'
7
+ require 'test/unit/failure'
8
+ require 'test/unit/error'
9
+ require 'test/unit/omission'
10
+ require 'test/unit/pending'
11
+ require 'test/unit/notification'
12
+
13
+ module Test
14
+ module Unit
15
+ module NullResultContainerInitializer
16
+ private
17
+ def initialize_containers
18
+ end
19
+ end
20
+
21
+ # Collects Test::Unit::Failure and Test::Unit::Error so that
22
+ # they can be displayed to the user. To this end, observers
23
+ # can be added to it, allowing the dynamic updating of, say, a
24
+ # UI.
25
+ class TestResult
26
+ include Util::Observable
27
+ include NullResultContainerInitializer
28
+ include TestResultFailureSupport
29
+ include TestResultErrorSupport
30
+ include TestResultPendingSupport
31
+ include TestResultOmissionSupport
32
+ include TestResultNotificationSupport
33
+
34
+ FINISHED = name + "::FINISHED"
35
+ CHANGED = name + "::CHANGED"
36
+ PASS_ASSERTION = name + "::PASS_ASSERTION"
37
+ FAULT = name + "::FAULT"
38
+
39
+ attr_reader :run_count, :pass_count, :assertion_count, :faults
40
+
41
+ # Constructs a new, empty TestResult.
42
+ def initialize
43
+ @run_count, @pass_count, @assertion_count = 0, 0, 0
44
+ @summary_generators = []
45
+ @problem_checkers = []
46
+ @faults = []
47
+ initialize_containers
48
+ end
49
+
50
+ # Records a test run.
51
+ def add_run
52
+ @run_count += 1
53
+ notify_listeners(FINISHED, self)
54
+ notify_changed
55
+ end
56
+
57
+ def add_pass
58
+ @pass_count += 1
59
+ end
60
+
61
+ # Records an individual assertion.
62
+ def add_assertion
63
+ @assertion_count += 1
64
+ notify_listeners(PASS_ASSERTION, self)
65
+ notify_changed
66
+ end
67
+
68
+ # Returns a string contain the recorded runs, assertions,
69
+ # failures and errors in this TestResult.
70
+ def summary
71
+ ["#{run_count} tests",
72
+ "#{assertion_count} assertions",
73
+ *@summary_generators.collect {|generator| send(generator)}].join(", ")
74
+ end
75
+
76
+ # Returnes a string that shows result status.
77
+ def status
78
+ if passed?
79
+ if pending_count > 0
80
+ "pending"
81
+ elsif omission_count > 0
82
+ "omission"
83
+ elsif notification_count > 0
84
+ "notification"
85
+ else
86
+ "pass"
87
+ end
88
+ elsif error_count > 0
89
+ "error"
90
+ elsif failure_count > 0
91
+ "failure"
92
+ end
93
+ end
94
+
95
+ def to_s
96
+ summary
97
+ end
98
+
99
+ # Returns whether or not this TestResult represents
100
+ # successful completion.
101
+ def passed?
102
+ @problem_checkers.all? {|checker| not send(checker)}
103
+ end
104
+
105
+ def pass_percentage
106
+ n_tests = @run_count - omission_count
107
+ if n_tests.zero?
108
+ 0
109
+ else
110
+ 100.0 * (@pass_count / n_tests.to_f)
111
+ end
112
+ end
113
+
114
+ private
115
+ def notify_changed
116
+ notify_listeners(CHANGED, self)
117
+ end
118
+
119
+ def notify_fault(fault)
120
+ @faults << fault
121
+ notify_listeners(FAULT, fault)
122
+ end
123
+ end
124
+ end
125
+ end
@@ -0,0 +1,168 @@
1
+ #--
2
+ #
3
+ # Author:: Nathaniel Talbott.
4
+ # Copyright:: Copyright (c) 2000-2003 Nathaniel Talbott. All rights reserved.
5
+ # Copyright:: Copyright (c) 2008-2011 Kouhei Sutou. All rights reserved.
6
+ # License:: Ruby license.
7
+
8
+ require 'test/unit/error'
9
+
10
+ module Test
11
+ module Unit
12
+
13
+ # A collection of tests which can be #run.
14
+ #
15
+ # Note: It is easy to confuse a TestSuite instance with
16
+ # something that has a static suite method; I know because _I_
17
+ # have trouble keeping them straight. Think of something that
18
+ # has a suite method as simply providing a way to get a
19
+ # meaningful TestSuite instance.
20
+ class TestSuite
21
+ attr_reader :name, :tests, :test_case, :start_time, :elapsed_time
22
+
23
+ # Test suite that has higher priority is ran prior to
24
+ # test suites that have lower priority.
25
+ attr_accessor :priority
26
+
27
+ STARTED = name + "::STARTED"
28
+ STARTED_OBJECT = name + "::STARTED::OBJECT"
29
+ FINISHED = name + "::FINISHED"
30
+ FINISHED_OBJECT = name + "::FINISHED::OBJECT"
31
+
32
+ # Creates a new TestSuite with the given name.
33
+ def initialize(name="Unnamed TestSuite", test_case=nil)
34
+ @name = name
35
+ @tests = []
36
+ @test_case = test_case
37
+ @n_tests = 0
38
+ @priority = 0
39
+ @start_time = nil
40
+ @elapsed_time = nil
41
+ @passed = true
42
+ end
43
+
44
+ # Runs the tests and/or suites contained in this
45
+ # TestSuite.
46
+ def run(result, &progress_block)
47
+ @start_time = Time.now
48
+ yield(STARTED, name)
49
+ yield(STARTED_OBJECT, self)
50
+ run_startup(result)
51
+ while test = @tests.shift
52
+ @n_tests += test.size
53
+ run_test(test, result, &progress_block)
54
+ @passed = false unless test.passed?
55
+ end
56
+ run_shutdown(result)
57
+ ensure
58
+ @elapsed_time = Time.now - @start_time
59
+ yield(FINISHED, name)
60
+ yield(FINISHED_OBJECT, self)
61
+ end
62
+
63
+ # Adds the test to the suite.
64
+ def <<(test)
65
+ @tests << test
66
+ self
67
+ end
68
+
69
+ def delete(test)
70
+ @tests.delete(test)
71
+ end
72
+
73
+ # Retuns the rolled up number of tests in this suite;
74
+ # i.e. if the suite contains other suites, it counts the
75
+ # tests within those suites, not the suites themselves.
76
+ def size
77
+ total_size = @n_tests
78
+ @tests.each { |test| total_size += test.size }
79
+ total_size
80
+ end
81
+
82
+ def empty?
83
+ tests.empty?
84
+ end
85
+
86
+ # Overridden to return the name given the suite at
87
+ # creation.
88
+ def to_s
89
+ @name
90
+ end
91
+
92
+ # It's handy to be able to compare TestSuite instances.
93
+ def ==(other)
94
+ return false unless(other.kind_of?(self.class))
95
+ return false unless(@name == other.name)
96
+ @tests == other.tests
97
+ end
98
+
99
+ def passed?
100
+ @passed
101
+ end
102
+
103
+ private
104
+ def run_startup(result)
105
+ return if @test_case.nil? or !@test_case.respond_to?(:startup)
106
+ begin
107
+ @test_case.startup
108
+ rescue Exception
109
+ raise unless handle_exception($!, result)
110
+ end
111
+ end
112
+
113
+ def run_test(test, result)
114
+ finished_is_yielded = false
115
+ finished_object_is_yielded = false
116
+ previous_event_name = nil
117
+ test.run(result) do |event_name, *args|
118
+ case previous_event_name
119
+ when Test::Unit::TestCase::STARTED
120
+ if event_name != Test::Unit::TestCase::STARTED_OBJECT
121
+ yield(Test::Unit::TestCase::STARTED_OBJECT, test)
122
+ end
123
+ when Test::Unit::TestCase::FINISHED
124
+ if event_name != Test::Unit::TestCase::FINISHED_OBJECT
125
+ yield(Test::Unit::TestCase::FINISHED_OBJECT, test)
126
+ end
127
+ finished_object_is_yielded = true
128
+ end
129
+
130
+ case event_name
131
+ when Test::Unit::TestCase::STARTED
132
+ finished_is_yielded = false
133
+ finished_object_is_yielded = false
134
+ when Test::Unit::TestCase::FINISHED
135
+ finished_is_yielded = true
136
+ end
137
+
138
+ previous_event_name = event_name
139
+ yield(event_name, *args)
140
+ end
141
+
142
+ if finished_is_yielded and not finished_object_is_yielded
143
+ yield(Test::Unit::TestCase::FINISHED_OBJECT, test)
144
+ end
145
+ end
146
+
147
+ def run_shutdown(result)
148
+ return if @test_case.nil? or !@test_case.respond_to?(:shutdown)
149
+ begin
150
+ @test_case.shutdown
151
+ rescue Exception
152
+ raise unless handle_exception($!, result)
153
+ end
154
+ end
155
+
156
+ def handle_exception(exception, result)
157
+ case exception
158
+ when *ErrorHandler::PASS_THROUGH_EXCEPTIONS
159
+ false
160
+ else
161
+ result.add_error(Error.new(@test_case.name, exception))
162
+ @passed = false
163
+ true
164
+ end
165
+ end
166
+ end
167
+ end
168
+ end
@@ -0,0 +1,79 @@
1
+ #--
2
+ #
3
+ # Author:: Kouhei Sutou
4
+ # Copyright::
5
+ # * Copyright (c) 2011 Kouhei Sutou <tt><kou@clear-code.com></tt>
6
+ # License:: Ruby license.
7
+
8
+ module Test
9
+ module Unit
10
+ class TestSuiteCreator # :nodoc:
11
+ def initialize(test_case)
12
+ @test_case = test_case
13
+ end
14
+
15
+ def create
16
+ suite = TestSuite.new(@test_case.name, @test_case)
17
+ collect_test_names.each do |test_name|
18
+ data_sets = @test_case.attributes(test_name)[:data]
19
+ if data_sets
20
+ data_sets.each do |data_set|
21
+ data_set = data_set.call if data_set.respond_to?(:call)
22
+ data_set.each do |label, data|
23
+ append_test(suite, test_name) do |test|
24
+ test.assign_test_data(label, data)
25
+ end
26
+ end
27
+ end
28
+ else
29
+ append_test(suite, test_name)
30
+ end
31
+ end
32
+ append_test(suite, "default_test") if suite.empty?
33
+ suite
34
+ end
35
+
36
+ private
37
+ def append_test(suite, test_name)
38
+ test = @test_case.new(test_name)
39
+ yield(test) if block_given?
40
+ suite << test if test.valid?
41
+ end
42
+
43
+ def collect_test_names
44
+ method_names = @test_case.public_instance_methods(true).collect do |name|
45
+ name.to_s
46
+ end
47
+ test_names = method_names.find_all do |method_name|
48
+ method_name =~ /^test./ or @test_case.attributes(method_name)[:test]
49
+ end
50
+ send("sort_test_names_in_#{@test_case.test_order}_order", test_names)
51
+ end
52
+
53
+ def sort_test_names_in_alphabetic_order(test_names)
54
+ test_names.sort
55
+ end
56
+
57
+ def sort_test_names_in_random_order(test_names)
58
+ test_names.sort_by {rand(test_names.size)}
59
+ end
60
+
61
+ def sort_test_names_in_defined_order(test_names)
62
+ added_methods = @test_case.added_methods
63
+ test_names.sort do |test1, test2|
64
+ test1_defined_order = added_methods.index(test1)
65
+ test2_defined_order = added_methods.index(test2)
66
+ if test1_defined_order and test2_defined_order
67
+ test1_defined_order <=> test2_defined_order
68
+ elsif test1_defined_order
69
+ 1
70
+ elsif test2_defined_order
71
+ -1
72
+ else
73
+ test1 <=> test2
74
+ end
75
+ end
76
+ end
77
+ end
78
+ end
79
+ end
@@ -0,0 +1,15 @@
1
+ module Test
2
+ module Unit
3
+ module UI
4
+ module Console
5
+ module OutputLevel
6
+ SILENT = 0
7
+ PROGRESS_ONLY = 1
8
+ IMPORTANT_FAULTS_ONLY = 2
9
+ NORMAL = 3
10
+ VERBOSE = 4
11
+ end
12
+ end
13
+ end
14
+ end
15
+ end
@@ -0,0 +1,603 @@
1
+ #--
2
+ #
3
+ # Author:: Nathaniel Talbott.
4
+ # Copyright::
5
+ # * Copyright (c) 2000-2003 Nathaniel Talbott. All rights reserved.
6
+ # * Copyright (c) 2008-2011 Kouhei Sutou <kou@clear-code.com>
7
+ # License:: Ruby license.
8
+
9
+ require 'test/unit/color-scheme'
10
+ require 'test/unit/code-snippet-fetcher'
11
+ require 'test/unit/diff'
12
+ require 'test/unit/ui/testrunner'
13
+ require 'test/unit/ui/testrunnermediator'
14
+ require 'test/unit/ui/console/outputlevel'
15
+
16
+ module Test
17
+ module Unit
18
+ module UI
19
+ module Console
20
+
21
+ # Runs a Test::Unit::TestSuite on the console.
22
+ class TestRunner < UI::TestRunner
23
+ include OutputLevel
24
+
25
+ # Creates a new TestRunner for running the passed
26
+ # suite. If quiet_mode is true, the output while
27
+ # running is limited to progress dots, errors and
28
+ # failures, and the final result. io specifies
29
+ # where runner output should go to; defaults to
30
+ # STDOUT.
31
+ def initialize(suite, options={})
32
+ super
33
+ @output_level = @options[:output_level] || NORMAL
34
+ @output = @options[:output] || STDOUT
35
+ @use_color = @options[:use_color]
36
+ @use_color = guess_color_availability if @use_color.nil?
37
+ @color_scheme = @options[:color_scheme] || ColorScheme.default
38
+ @reset_color = Color.new("reset")
39
+ @progress_row = 0
40
+ @progress_row_max = @options[:progress_row_max]
41
+ @progress_row_max ||= guess_progress_row_max
42
+ @show_detail_immediately = @options[:show_detail_immediately]
43
+ @show_detail_immediately = true if @show_detail_immediately.nil?
44
+ @already_outputted = false
45
+ @indent = 0
46
+ @top_level = true
47
+ @current_output_level = NORMAL
48
+ @faults = []
49
+ @code_snippet_fetcher = CodeSnippetFetcher.new
50
+ end
51
+
52
+ private
53
+ def change_output_level(level)
54
+ old_output_level = @current_output_level
55
+ @current_output_level = level
56
+ yield
57
+ @current_output_level = old_output_level
58
+ end
59
+
60
+ def setup_mediator
61
+ super
62
+ output_setup_end
63
+ end
64
+
65
+ def output_setup_end
66
+ suite_name = @suite.to_s
67
+ suite_name = @suite.name if @suite.kind_of?(Module)
68
+ output("Loaded suite #{suite_name}")
69
+ end
70
+
71
+ def attach_to_mediator
72
+ @mediator.add_listener(TestResult::FAULT,
73
+ &method(:add_fault))
74
+ @mediator.add_listener(TestRunnerMediator::STARTED,
75
+ &method(:started))
76
+ @mediator.add_listener(TestRunnerMediator::FINISHED,
77
+ &method(:finished))
78
+ @mediator.add_listener(TestCase::STARTED_OBJECT,
79
+ &method(:test_started))
80
+ @mediator.add_listener(TestCase::FINISHED_OBJECT,
81
+ &method(:test_finished))
82
+ @mediator.add_listener(TestSuite::STARTED_OBJECT,
83
+ &method(:test_suite_started))
84
+ @mediator.add_listener(TestSuite::FINISHED_OBJECT,
85
+ &method(:test_suite_finished))
86
+ end
87
+
88
+ def add_fault(fault)
89
+ @faults << fault
90
+ output_progress(fault.single_character_display, fault_color(fault))
91
+ output_progress_in_detail(fault) if @show_detail_immediately
92
+ @already_outputted = true if fault.critical?
93
+ end
94
+
95
+ def started(result)
96
+ @result = result
97
+ output_started
98
+ end
99
+
100
+ def output_started
101
+ output("Started")
102
+ end
103
+
104
+ def finished(elapsed_time)
105
+ nl if output?(NORMAL) and !output?(VERBOSE)
106
+ output_faults unless @show_detail_immediately
107
+ nl(PROGRESS_ONLY)
108
+ change_output_level(IMPORTANT_FAULTS_ONLY) do
109
+ output_statistics(elapsed_time)
110
+ end
111
+ end
112
+
113
+ def output_faults
114
+ categorized_faults = categorize_faults
115
+ change_output_level(IMPORTANT_FAULTS_ONLY) do
116
+ output_faults_in_detail(categorized_faults[:need_detail_faults])
117
+ end
118
+ output_faults_in_short("Omissions", Omission,
119
+ categorized_faults[:omissions])
120
+ output_faults_in_short("Notifications", Notification,
121
+ categorized_faults[:notifications])
122
+ end
123
+
124
+ def max_digit(max_number)
125
+ (Math.log10(max_number) + 1).truncate
126
+ end
127
+
128
+ def output_faults_in_detail(faults)
129
+ return if faults.nil?
130
+ digit = max_digit(faults.size)
131
+ faults.each_with_index do |fault, index|
132
+ nl
133
+ output_single("%#{digit}d) " % (index + 1))
134
+ output_fault_in_detail(fault)
135
+ end
136
+ end
137
+
138
+ def output_faults_in_short(label, fault_class, faults)
139
+ return if faults.nil?
140
+ digit = max_digit(faults.size)
141
+ nl
142
+ output_single(label, fault_class_color(fault_class))
143
+ output(":")
144
+ faults.each_with_index do |fault, index|
145
+ output_single("%#{digit}d) " % (index + 1))
146
+ output_fault_in_short(fault)
147
+ end
148
+ end
149
+
150
+ def categorize_faults
151
+ faults = {}
152
+ @faults.each do |fault|
153
+ category = categorize_fault(fault)
154
+ faults[category] ||= []
155
+ faults[category] << fault
156
+ end
157
+ faults
158
+ end
159
+
160
+ def categorize_fault(fault)
161
+ case fault
162
+ when Omission
163
+ :omissions
164
+ when Notification
165
+ :notifications
166
+ else
167
+ :need_detail_faults
168
+ end
169
+ end
170
+
171
+ def output_fault_in_detail(fault)
172
+ if fault.is_a?(Failure) and
173
+ fault.inspected_expected and fault.inspected_actual
174
+ output_single(fault.label, fault_color(fault))
175
+ output(":")
176
+ output(fault.test_name)
177
+ output_fault_backtrace(fault)
178
+ output_failure_message(fault)
179
+ else
180
+ output_single(fault.label, fault_color(fault))
181
+ if fault.is_a?(Error)
182
+ output(": #{fault.test_name}")
183
+ output_fault_message(fault)
184
+ else
185
+ if fault.message.include?("\n")
186
+ output(":")
187
+ output_fault_message(fault)
188
+ else
189
+ output(": #{fault.message}")
190
+ end
191
+ output(fault.test_name)
192
+ end
193
+ output_fault_backtrace(fault)
194
+ end
195
+ end
196
+
197
+ def output_fault_message(fault)
198
+ fault.message.each_line do |line|
199
+ output(" #{line.chomp}")
200
+ end
201
+ end
202
+
203
+ def output_fault_backtrace(fault)
204
+ snippet_is_shown = false
205
+ backtrace = fault.location
206
+ # workaround for test-spec. :<
207
+ # see also GitHub:#22
208
+ backtrace ||= []
209
+ backtrace.each_with_index do |entry, i|
210
+ output(entry)
211
+ next if snippet_is_shown
212
+ snippet_is_shown = output_code_snippet(entry, fault_color(fault))
213
+ end
214
+ end
215
+
216
+ def output_code_snippet(entry, target_line_color=nil)
217
+ return false unless /\A(.*):(\d+)/ =~ entry
218
+ file = $1
219
+ line_number = $2.to_i
220
+ lines = @code_snippet_fetcher.fetch(file, line_number)
221
+ return false if lines.empty?
222
+
223
+ max_n = lines.collect {|n, line, attributes| n}.max
224
+ digits = (Math.log10(max_n) + 1).truncate
225
+ lines.each do |n, line, attributes|
226
+ if attributes[:target_line?]
227
+ line_color = target_line_color
228
+ current_line_mark = "=>"
229
+ else
230
+ line_color = nil
231
+ current_line_mark = ""
232
+ end
233
+ output(" %2s %*d: %s" % [current_line_mark, digits, n, line],
234
+ line_color)
235
+ end
236
+ true
237
+ end
238
+
239
+ def output_failure_message(failure)
240
+ if failure.expected.respond_to?(:encoding) and
241
+ failure.actual.respond_to?(:encoding) and
242
+ failure.expected.encoding != failure.actual.encoding
243
+ need_encoding = true
244
+ else
245
+ need_encoding = false
246
+ end
247
+ output(failure.user_message) if failure.user_message
248
+ output_single("<")
249
+ output_single(failure.inspected_expected, color("pass"))
250
+ output_single(">")
251
+ if need_encoding
252
+ output_single("(")
253
+ output_single(failure.expected.encoding.name, color("pass"))
254
+ output_single(")")
255
+ end
256
+ output(" expected but was")
257
+ output_single("<")
258
+ output_single(failure.inspected_actual, color("failure"))
259
+ output_single(">")
260
+ if need_encoding
261
+ output_single("(")
262
+ output_single(failure.actual.encoding.name, color("failure"))
263
+ output_single(")")
264
+ end
265
+ output("")
266
+ from, to = prepare_for_diff(failure.expected, failure.actual)
267
+ if from and to
268
+ from_lines = from.split(/\r?\n/)
269
+ to_lines = to.split(/\r?\n/)
270
+ if need_encoding
271
+ from_lines << ""
272
+ to_lines << ""
273
+ from_lines << "Encoding: #{failure.expected.encoding.name}"
274
+ to_lines << "Encoding: #{failure.actual.encoding.name}"
275
+ end
276
+ differ = ColorizedReadableDiffer.new(from_lines, to_lines, self)
277
+ if differ.need_diff?
278
+ output("")
279
+ output("diff:")
280
+ differ.diff
281
+ end
282
+ end
283
+ end
284
+
285
+ def output_fault_in_short(fault)
286
+ output_single(fault.message, fault_color(fault))
287
+ output(" [#{fault.test_name}]")
288
+ output(fault.location.first)
289
+ end
290
+
291
+ def format_fault(fault)
292
+ fault.long_display
293
+ end
294
+
295
+ def output_statistics(elapsed_time)
296
+ output("Finished in #{elapsed_time} seconds.")
297
+ nl
298
+ output(@result, result_color)
299
+ output("%g%% passed" % @result.pass_percentage, result_color)
300
+ unless elapsed_time.zero?
301
+ nl
302
+ test_throughput = @result.run_count / elapsed_time
303
+ assertion_throughput = @result.assertion_count / elapsed_time
304
+ throughput = [
305
+ "%.2f tests/s" % test_throughput,
306
+ "%.2f assertions/s" % assertion_throughput,
307
+ ]
308
+ output(throughput.join(", "))
309
+ end
310
+ end
311
+
312
+ def test_started(test)
313
+ return unless output?(VERBOSE)
314
+
315
+ name = test.name.sub(/\(.+?\)\z/, '')
316
+ right_space = 8 * 2
317
+ left_space = @progress_row_max - right_space
318
+ left_space = left_space - indent.size - name.size
319
+ tab_stop = "\t" * ([left_space - 1, 0].max / 8)
320
+ output_single("#{indent}#{name}:#{tab_stop}", nil, VERBOSE)
321
+ @test_start = Time.now
322
+ end
323
+
324
+ def test_finished(test)
325
+ unless @already_outputted
326
+ output_progress(".", color("pass"))
327
+ end
328
+ @already_outputted = false
329
+
330
+ return unless output?(VERBOSE)
331
+
332
+ output(": (%f)" % (Time.now - @test_start), nil, VERBOSE)
333
+ end
334
+
335
+ def test_suite_started(suite)
336
+ if @top_level
337
+ @top_level = false
338
+ return
339
+ end
340
+
341
+ output_single(indent, nil, VERBOSE)
342
+ if suite.test_case.nil?
343
+ _color = color("suite")
344
+ else
345
+ _color = color("case")
346
+ end
347
+ output_single(suite.name, _color, VERBOSE)
348
+ output(": ", nil, VERBOSE)
349
+ @indent += 2
350
+ end
351
+
352
+ def test_suite_finished(suite)
353
+ @indent -= 2
354
+ end
355
+
356
+ def indent
357
+ if output?(VERBOSE)
358
+ " " * @indent
359
+ else
360
+ ""
361
+ end
362
+ end
363
+
364
+ def nl(level=nil)
365
+ output("", nil, level)
366
+ end
367
+
368
+ def output(something, color=nil, level=nil)
369
+ return unless output?(level)
370
+ output_single(something, color, level)
371
+ @output.puts
372
+ end
373
+
374
+ def output_single(something, color=nil, level=nil)
375
+ return false unless output?(level)
376
+ if @use_color and color
377
+ something = "%s%s%s" % [color.escape_sequence,
378
+ something,
379
+ @reset_color.escape_sequence]
380
+ end
381
+ @output.write(something)
382
+ @output.flush
383
+ true
384
+ end
385
+
386
+ def output_progress(mark, color=nil)
387
+ if output_single(mark, color, PROGRESS_ONLY)
388
+ return unless @progress_row_max > 0
389
+ @progress_row += mark.size
390
+ if @progress_row >= @progress_row_max
391
+ nl unless @output_level == VERBOSE
392
+ @progress_row = 0
393
+ end
394
+ end
395
+ end
396
+
397
+ def output_progress_in_detail_marker(fault)
398
+ if @progress_row_max > 0
399
+ output("=" * @progress_row_max, fault_color(fault))
400
+ else
401
+ nl
402
+ end
403
+ end
404
+
405
+ def output_progress_in_detail(fault)
406
+ return if @output_level == SILENT
407
+ nl
408
+ output_progress_in_detail_marker(fault)
409
+ if categorize_fault(fault) == :need_detail_faults
410
+ output_fault_in_detail(fault)
411
+ else
412
+ output_fault_in_short(fault)
413
+ end
414
+ output_progress_in_detail_marker(fault)
415
+ @progress_row = 0
416
+ end
417
+
418
+ def output?(level)
419
+ (level || @current_output_level) <= @output_level
420
+ end
421
+
422
+ def color(name)
423
+ _color = @color_scheme[name]
424
+ _color ||= @color_scheme["success"] if name == "pass"
425
+ _color ||= ColorScheme.default[name]
426
+ _color
427
+ end
428
+
429
+ def fault_color(fault)
430
+ fault_class_color(fault.class)
431
+ end
432
+
433
+ def fault_class_color(fault_class)
434
+ color(fault_class.name.split(/::/).last.downcase)
435
+ end
436
+
437
+ def result_color
438
+ color(@result.status)
439
+ end
440
+
441
+ def guess_color_availability
442
+ return false unless @output.tty?
443
+ case ENV["TERM"]
444
+ when /term(?:-(?:256)?color)?\z/, "screen"
445
+ true
446
+ else
447
+ return true if ENV["EMACS"] == "t"
448
+ false
449
+ end
450
+ end
451
+
452
+ def guess_progress_row_max
453
+ term_width = guess_term_width
454
+ if term_width.zero?
455
+ if ENV["EMACS"] == "t"
456
+ -1
457
+ else
458
+ 79
459
+ end
460
+ else
461
+ term_width
462
+ end
463
+ end
464
+
465
+ def guess_term_width
466
+ Integer(ENV["COLUMNS"] || ENV["TERM_WIDTH"] || 0)
467
+ rescue ArgumentError
468
+ 0
469
+ end
470
+ end
471
+
472
+ class ColorizedReadableDiffer < Diff::ReadableDiffer
473
+ def initialize(from, to, runner)
474
+ @runner = runner
475
+ super(from, to)
476
+ end
477
+
478
+ def need_diff?(options={})
479
+ operations.each do |tag,|
480
+ return true if [:replace, :equal].include?(tag)
481
+ end
482
+ false
483
+ end
484
+
485
+ private
486
+ def output_single(something, color=nil)
487
+ @runner.send(:output_single, something, color)
488
+ end
489
+
490
+ def output(something, color=nil)
491
+ @runner.send(:output, something, color)
492
+ end
493
+
494
+ def color(name)
495
+ @runner.send(:color, name)
496
+ end
497
+
498
+ def cut_off_ratio
499
+ 0
500
+ end
501
+
502
+ def default_ratio
503
+ 0
504
+ end
505
+
506
+ def tag(mark, color_name, contents)
507
+ _color = color(color_name)
508
+ contents.each do |content|
509
+ output_single(mark, _color)
510
+ output_single(" ")
511
+ output(content)
512
+ end
513
+ end
514
+
515
+ def tag_deleted(contents)
516
+ tag("-", "diff-deleted-tag", contents)
517
+ end
518
+
519
+ def tag_inserted(contents)
520
+ tag("+", "diff-inserted-tag", contents)
521
+ end
522
+
523
+ def tag_equal(contents)
524
+ tag(" ", "normal", contents)
525
+ end
526
+
527
+ def tag_difference(contents)
528
+ tag("?", "diff-difference-tag", contents)
529
+ end
530
+
531
+ def diff_line(from_line, to_line)
532
+ to_operations = []
533
+ from_line, to_line, _operations = line_operations(from_line, to_line)
534
+
535
+ no_replace = true
536
+ _operations.each do |tag,|
537
+ if tag == :replace
538
+ no_replace = false
539
+ break
540
+ end
541
+ end
542
+
543
+ output_single("?", color("diff-difference-tag"))
544
+ output_single(" ")
545
+ _operations.each do |tag, from_start, from_end, to_start, to_end|
546
+ from_width = compute_width(from_line, from_start, from_end)
547
+ to_width = compute_width(to_line, to_start, to_end)
548
+ case tag
549
+ when :replace
550
+ output_single(from_line[from_start...from_end],
551
+ color("diff-deleted"))
552
+ if (from_width < to_width)
553
+ output_single(" " * (to_width - from_width))
554
+ end
555
+ to_operations << Proc.new do
556
+ output_single(to_line[to_start...to_end],
557
+ color("diff-inserted"))
558
+ if (to_width < from_width)
559
+ output_single(" " * (from_width - to_width))
560
+ end
561
+ end
562
+ when :delete
563
+ output_single(from_line[from_start...from_end],
564
+ color("diff-deleted"))
565
+ unless no_replace
566
+ to_operations << Proc.new {output_single(" " * from_width)}
567
+ end
568
+ when :insert
569
+ if no_replace
570
+ output_single(to_line[to_start...to_end],
571
+ color("diff-inserted"))
572
+ else
573
+ output_single(" " * to_width)
574
+ to_operations << Proc.new do
575
+ output_single(to_line[to_start...to_end],
576
+ color("diff-inserted"))
577
+ end
578
+ end
579
+ when :equal
580
+ output_single(from_line[from_start...from_end])
581
+ unless no_replace
582
+ to_operations << Proc.new {output_single(" " * to_width)}
583
+ end
584
+ else
585
+ raise "unknown tag: #{tag}"
586
+ end
587
+ end
588
+ output("")
589
+
590
+ unless to_operations.empty?
591
+ output_single("?", color("diff-difference-tag"))
592
+ output_single(" ")
593
+ to_operations.each do |operation|
594
+ operation.call
595
+ end
596
+ output("")
597
+ end
598
+ end
599
+ end
600
+ end
601
+ end
602
+ end
603
+ end