challah 1.0.0.beta2 → 1.0.0.beta3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (968) hide show
  1. checksums.yaml +4 -4
  2. data/lib/challah/authorization.rb +13 -6
  3. data/lib/challah/user/providers.rb +3 -1
  4. data/lib/challah/version.rb +1 -1
  5. data/test/authorization_test.rb +15 -0
  6. data/test/user_test.rb +2 -1
  7. data/vendor/bundle/build_info/highline-1.6.18.info +1 -0
  8. data/vendor/bundle/build_info/mime-types-1.23.info +1 -0
  9. data/vendor/bundle/build_info/minitest-4.7.4.info +1 -0
  10. data/vendor/bundle/build_info/multi_json-1.7.3.info +1 -0
  11. data/vendor/bundle/build_info/rdiscount-2.0.7.3.info +1 -0
  12. data/vendor/bundle/build_info/shoulda-3.5.0.info +1 -0
  13. data/vendor/bundle/build_info/shoulda-matchers-2.1.0.info +1 -0
  14. data/vendor/bundle/build_info/tilt-1.4.1.info +1 -0
  15. data/vendor/bundle/build_info/yard-0.8.6.1.info +1 -0
  16. data/vendor/bundle/cache/highline-1.6.18.gem +0 -0
  17. data/vendor/bundle/cache/mime-types-1.23.gem +0 -0
  18. data/vendor/bundle/cache/minitest-4.7.4.gem +0 -0
  19. data/vendor/bundle/cache/multi_json-1.7.3.gem +0 -0
  20. data/vendor/bundle/cache/rdiscount-2.0.7.3.gem +0 -0
  21. data/vendor/bundle/cache/shoulda-3.5.0.gem +0 -0
  22. data/vendor/bundle/cache/shoulda-matchers-2.1.0.gem +0 -0
  23. data/vendor/bundle/cache/tilt-1.4.1.gem +0 -0
  24. data/vendor/bundle/cache/yard-0.8.6.1.gem +0 -0
  25. data/vendor/bundle/gems/highline-1.6.18/AUTHORS +3 -0
  26. data/vendor/bundle/gems/highline-1.6.18/CHANGELOG +342 -0
  27. data/vendor/bundle/gems/highline-1.6.18/COPYING +340 -0
  28. data/vendor/bundle/gems/highline-1.6.18/INSTALL +55 -0
  29. data/vendor/bundle/gems/highline-1.6.18/LICENSE +7 -0
  30. data/vendor/bundle/gems/highline-1.6.18/README.rdoc +63 -0
  31. data/vendor/bundle/gems/highline-1.6.18/Rakefile +50 -0
  32. data/vendor/bundle/gems/highline-1.6.18/TODO +6 -0
  33. data/vendor/bundle/gems/highline-1.6.18/examples/ansi_colors.rb +38 -0
  34. data/vendor/bundle/gems/highline-1.6.18/examples/asking_for_arrays.rb +18 -0
  35. data/vendor/bundle/gems/highline-1.6.18/examples/basic_usage.rb +75 -0
  36. data/vendor/bundle/gems/highline-1.6.18/examples/color_scheme.rb +32 -0
  37. data/vendor/bundle/gems/highline-1.6.18/examples/get_character.rb +12 -0
  38. data/vendor/bundle/gems/highline-1.6.18/examples/limit.rb +12 -0
  39. data/vendor/bundle/gems/highline-1.6.18/examples/menus.rb +65 -0
  40. data/vendor/bundle/gems/highline-1.6.18/examples/overwrite.rb +19 -0
  41. data/vendor/bundle/gems/highline-1.6.18/examples/page_and_wrap.rb +322 -0
  42. data/vendor/bundle/gems/highline-1.6.18/examples/password.rb +7 -0
  43. data/vendor/bundle/gems/highline-1.6.18/examples/repeat_entry.rb +21 -0
  44. data/vendor/bundle/gems/highline-1.6.18/examples/trapping_eof.rb +22 -0
  45. data/vendor/bundle/gems/highline-1.6.18/examples/using_readline.rb +17 -0
  46. data/vendor/bundle/gems/highline-1.6.18/highline.gemspec +37 -0
  47. data/vendor/bundle/gems/highline-1.6.18/lib/highline/color_scheme.rb +134 -0
  48. data/vendor/bundle/gems/highline-1.6.18/lib/highline/compatibility.rb +16 -0
  49. data/vendor/bundle/gems/highline-1.6.18/lib/highline/import.rb +41 -0
  50. data/vendor/bundle/gems/highline-1.6.18/lib/highline/menu.rb +398 -0
  51. data/vendor/bundle/gems/highline-1.6.18/lib/highline/question.rb +475 -0
  52. data/vendor/bundle/gems/highline-1.6.18/lib/highline/simulate.rb +48 -0
  53. data/vendor/bundle/gems/highline-1.6.18/lib/highline/string_extensions.rb +131 -0
  54. data/vendor/bundle/gems/highline-1.6.18/lib/highline/style.rb +181 -0
  55. data/vendor/bundle/gems/highline-1.6.18/lib/highline/system_extensions.rb +218 -0
  56. data/vendor/bundle/gems/highline-1.6.18/lib/highline.rb +1012 -0
  57. data/vendor/bundle/gems/highline-1.6.18/setup.rb +1360 -0
  58. data/vendor/bundle/gems/highline-1.6.18/site/highline.css +65 -0
  59. data/vendor/bundle/gems/highline-1.6.18/site/images/logo.png +0 -0
  60. data/vendor/bundle/gems/highline-1.6.18/site/index.html +58 -0
  61. data/vendor/bundle/gems/highline-1.6.18/test/string_methods.rb +32 -0
  62. data/vendor/bundle/gems/highline-1.6.18/test/tc_color_scheme.rb +96 -0
  63. data/vendor/bundle/gems/highline-1.6.18/test/tc_highline.rb +1123 -0
  64. data/vendor/bundle/gems/highline-1.6.18/test/tc_import.rb +52 -0
  65. data/vendor/bundle/gems/highline-1.6.18/test/tc_menu.rb +439 -0
  66. data/vendor/bundle/gems/highline-1.6.18/test/tc_string_extension.rb +20 -0
  67. data/vendor/bundle/gems/highline-1.6.18/test/tc_string_highline.rb +38 -0
  68. data/vendor/bundle/gems/highline-1.6.18/test/tc_style.rb +567 -0
  69. data/vendor/bundle/gems/highline-1.6.18/test/ts_all.rb +16 -0
  70. data/vendor/bundle/gems/mime-types-1.23/Contributing.rdoc +68 -0
  71. data/vendor/bundle/gems/mime-types-1.23/Gemfile +21 -0
  72. data/vendor/bundle/gems/mime-types-1.23/History.rdoc +215 -0
  73. data/vendor/bundle/gems/mime-types-1.23/Licence.rdoc +37 -0
  74. data/vendor/bundle/gems/mime-types-1.23/Manifest.txt +40 -0
  75. data/vendor/bundle/gems/mime-types-1.23/README.rdoc +63 -0
  76. data/vendor/bundle/gems/mime-types-1.23/Rakefile +206 -0
  77. data/vendor/bundle/gems/mime-types-1.23/docs/COPYING.txt +339 -0
  78. data/vendor/bundle/gems/mime-types-1.23/docs/artistic.txt +127 -0
  79. data/vendor/bundle/gems/mime-types-1.23/lib/mime/types/application +1002 -0
  80. data/vendor/bundle/gems/mime-types-1.23/lib/mime/types/application.mac +3 -0
  81. data/vendor/bundle/gems/mime-types-1.23/lib/mime/types/application.nonstandard +131 -0
  82. data/vendor/bundle/gems/mime-types-1.23/lib/mime/types/application.obsolete +41 -0
  83. data/vendor/bundle/gems/mime-types-1.23/lib/mime/types/audio +138 -0
  84. data/vendor/bundle/gems/mime-types-1.23/lib/mime/types/audio.nonstandard +11 -0
  85. data/vendor/bundle/gems/mime-types-1.23/lib/mime/types/audio.obsolete +1 -0
  86. data/vendor/bundle/gems/mime-types-1.23/lib/mime/types/image +46 -0
  87. data/vendor/bundle/gems/mime-types-1.23/lib/mime/types/image.nonstandard +20 -0
  88. data/vendor/bundle/gems/mime-types-1.23/lib/mime/types/image.obsolete +5 -0
  89. data/vendor/bundle/gems/mime-types-1.23/lib/mime/types/message +18 -0
  90. data/vendor/bundle/gems/mime-types-1.23/lib/mime/types/message.obsolete +2 -0
  91. data/vendor/bundle/gems/mime-types-1.23/lib/mime/types/model +15 -0
  92. data/vendor/bundle/gems/mime-types-1.23/lib/mime/types/multipart +14 -0
  93. data/vendor/bundle/gems/mime-types-1.23/lib/mime/types/multipart.nonstandard +1 -0
  94. data/vendor/bundle/gems/mime-types-1.23/lib/mime/types/multipart.obsolete +7 -0
  95. data/vendor/bundle/gems/mime-types-1.23/lib/mime/types/other.nonstandard +8 -0
  96. data/vendor/bundle/gems/mime-types-1.23/lib/mime/types/text +61 -0
  97. data/vendor/bundle/gems/mime-types-1.23/lib/mime/types/text.nonstandard +7 -0
  98. data/vendor/bundle/gems/mime-types-1.23/lib/mime/types/text.obsolete +8 -0
  99. data/vendor/bundle/gems/mime-types-1.23/lib/mime/types/text.vms +1 -0
  100. data/vendor/bundle/gems/mime-types-1.23/lib/mime/types/video +73 -0
  101. data/vendor/bundle/gems/mime-types-1.23/lib/mime/types/video.nonstandard +16 -0
  102. data/vendor/bundle/gems/mime-types-1.23/lib/mime/types/video.obsolete +3 -0
  103. data/vendor/bundle/gems/mime-types-1.23/lib/mime/types.rb +881 -0
  104. data/vendor/bundle/gems/mime-types-1.23/lib/mime-types.rb +3 -0
  105. data/vendor/bundle/gems/mime-types-1.23/test/test_mime_type.rb +319 -0
  106. data/vendor/bundle/gems/mime-types-1.23/test/test_mime_types.rb +119 -0
  107. data/vendor/bundle/gems/minitest-4.7.4/History.txt +796 -0
  108. data/vendor/bundle/gems/minitest-4.7.4/Manifest.txt +20 -0
  109. data/vendor/bundle/gems/minitest-4.7.4/README.txt +457 -0
  110. data/vendor/bundle/gems/minitest-4.7.4/Rakefile +94 -0
  111. data/vendor/bundle/gems/minitest-4.7.4/design_rationale.rb +52 -0
  112. data/vendor/bundle/gems/minitest-4.7.4/lib/hoe/minitest.rb +22 -0
  113. data/vendor/bundle/gems/minitest-4.7.4/lib/minitest/autorun.rb +12 -0
  114. data/vendor/bundle/gems/minitest-4.7.4/lib/minitest/benchmark.rb +416 -0
  115. data/vendor/bundle/gems/minitest-4.7.4/lib/minitest/hell.rb +13 -0
  116. data/vendor/bundle/gems/minitest-4.7.4/lib/minitest/mock.rb +193 -0
  117. data/vendor/bundle/gems/minitest-4.7.4/lib/minitest/parallel_each.rb +73 -0
  118. data/vendor/bundle/gems/minitest-4.7.4/lib/minitest/pride.rb +112 -0
  119. data/vendor/bundle/gems/minitest-4.7.4/lib/minitest/spec.rb +545 -0
  120. data/vendor/bundle/gems/minitest-4.7.4/lib/minitest/unit.rb +1415 -0
  121. data/vendor/bundle/gems/minitest-4.7.4/test/minitest/metametameta.rb +67 -0
  122. data/vendor/bundle/gems/minitest-4.7.4/test/minitest/test_minitest_benchmark.rb +128 -0
  123. data/vendor/bundle/gems/minitest-4.7.4/test/minitest/test_minitest_mock.rb +403 -0
  124. data/vendor/bundle/gems/minitest-4.7.4/test/minitest/test_minitest_spec.rb +804 -0
  125. data/vendor/bundle/gems/minitest-4.7.4/test/minitest/test_minitest_unit.rb +1860 -0
  126. data/vendor/bundle/gems/multi_json-1.7.3/CHANGELOG.md +147 -0
  127. data/vendor/bundle/gems/multi_json-1.7.3/CONTRIBUTING.md +46 -0
  128. data/vendor/bundle/gems/multi_json-1.7.3/Gemfile +31 -0
  129. data/vendor/bundle/gems/multi_json-1.7.3/LICENSE.md +20 -0
  130. data/vendor/bundle/gems/multi_json-1.7.3/README.md +109 -0
  131. data/vendor/bundle/gems/multi_json-1.7.3/Rakefile +12 -0
  132. data/vendor/bundle/gems/multi_json-1.7.3/lib/multi_json/adapter.rb +43 -0
  133. data/vendor/bundle/gems/multi_json-1.7.3/lib/multi_json/adapters/gson.rb +19 -0
  134. data/vendor/bundle/gems/multi_json-1.7.3/lib/multi_json/adapters/jr_jackson.rb +19 -0
  135. data/vendor/bundle/gems/multi_json-1.7.3/lib/multi_json/adapters/json_common.rb +35 -0
  136. data/vendor/bundle/gems/multi_json-1.7.3/lib/multi_json/adapters/json_gem.rb +15 -0
  137. data/vendor/bundle/gems/multi_json-1.7.3/lib/multi_json/adapters/json_pure.rb +15 -0
  138. data/vendor/bundle/gems/multi_json-1.7.3/lib/multi_json/adapters/nsjsonserialization.rb +34 -0
  139. data/vendor/bundle/gems/multi_json-1.7.3/lib/multi_json/adapters/oj.rb +28 -0
  140. data/vendor/bundle/gems/multi_json-1.7.3/lib/multi_json/adapters/ok_json.rb +22 -0
  141. data/vendor/bundle/gems/multi_json-1.7.3/lib/multi_json/adapters/yajl.rb +19 -0
  142. data/vendor/bundle/gems/multi_json-1.7.3/lib/multi_json/convertible_hash_keys.rb +43 -0
  143. data/vendor/bundle/gems/multi_json-1.7.3/lib/multi_json/options.rb +39 -0
  144. data/vendor/bundle/gems/multi_json-1.7.3/lib/multi_json/vendor/okjson.rb +600 -0
  145. data/vendor/bundle/gems/multi_json-1.7.3/lib/multi_json/version.rb +3 -0
  146. data/vendor/bundle/gems/multi_json-1.7.3/lib/multi_json.rb +154 -0
  147. data/vendor/bundle/gems/multi_json-1.7.3/multi_json.gemspec +22 -0
  148. data/vendor/bundle/gems/multi_json-1.7.3/spec/adapter_shared_example.rb +235 -0
  149. data/vendor/bundle/gems/multi_json-1.7.3/spec/has_options.rb +74 -0
  150. data/vendor/bundle/gems/multi_json-1.7.3/spec/helper.rb +32 -0
  151. data/vendor/bundle/gems/multi_json-1.7.3/spec/json_common_shared_example.rb +30 -0
  152. data/vendor/bundle/gems/multi_json-1.7.3/spec/multi_json_spec.rb +224 -0
  153. data/vendor/bundle/gems/rdiscount-2.0.7.3/BUILDING +142 -0
  154. data/vendor/bundle/gems/rdiscount-2.0.7.3/COPYING +52 -0
  155. data/vendor/bundle/gems/rdiscount-2.0.7.3/README.markdown +72 -0
  156. data/vendor/bundle/gems/rdiscount-2.0.7.3/Rakefile +218 -0
  157. data/vendor/bundle/gems/rdiscount-2.0.7.3/bin/rdiscount +13 -0
  158. data/vendor/bundle/gems/rdiscount-2.0.7.3/ext/Csio.c +61 -0
  159. data/vendor/bundle/gems/rdiscount-2.0.7.3/ext/Csio.o +0 -0
  160. data/vendor/bundle/gems/rdiscount-2.0.7.3/ext/Makefile +237 -0
  161. data/vendor/bundle/gems/rdiscount-2.0.7.3/ext/VERSION +1 -0
  162. data/vendor/bundle/gems/rdiscount-2.0.7.3/ext/amalloc.c +111 -0
  163. data/vendor/bundle/gems/rdiscount-2.0.7.3/ext/amalloc.h +29 -0
  164. data/vendor/bundle/gems/rdiscount-2.0.7.3/ext/amalloc.o +0 -0
  165. data/vendor/bundle/gems/rdiscount-2.0.7.3/ext/basename.c +43 -0
  166. data/vendor/bundle/gems/rdiscount-2.0.7.3/ext/basename.o +0 -0
  167. data/vendor/bundle/gems/rdiscount-2.0.7.3/ext/config.h +25 -0
  168. data/vendor/bundle/gems/rdiscount-2.0.7.3/ext/css.c +85 -0
  169. data/vendor/bundle/gems/rdiscount-2.0.7.3/ext/css.o +0 -0
  170. data/vendor/bundle/gems/rdiscount-2.0.7.3/ext/cstring.h +77 -0
  171. data/vendor/bundle/gems/rdiscount-2.0.7.3/ext/docheader.c +49 -0
  172. data/vendor/bundle/gems/rdiscount-2.0.7.3/ext/docheader.o +0 -0
  173. data/vendor/bundle/gems/rdiscount-2.0.7.3/ext/dumptree.c +152 -0
  174. data/vendor/bundle/gems/rdiscount-2.0.7.3/ext/dumptree.o +0 -0
  175. data/vendor/bundle/gems/rdiscount-2.0.7.3/ext/emmatch.c +188 -0
  176. data/vendor/bundle/gems/rdiscount-2.0.7.3/ext/emmatch.o +0 -0
  177. data/vendor/bundle/gems/rdiscount-2.0.7.3/ext/extconf.rb +37 -0
  178. data/vendor/bundle/gems/rdiscount-2.0.7.3/ext/flags.c +84 -0
  179. data/vendor/bundle/gems/rdiscount-2.0.7.3/ext/flags.o +0 -0
  180. data/vendor/bundle/gems/rdiscount-2.0.7.3/ext/generate.c +1717 -0
  181. data/vendor/bundle/gems/rdiscount-2.0.7.3/ext/generate.o +0 -0
  182. data/vendor/bundle/gems/rdiscount-2.0.7.3/ext/html5.c +24 -0
  183. data/vendor/bundle/gems/rdiscount-2.0.7.3/ext/html5.o +0 -0
  184. data/vendor/bundle/gems/rdiscount-2.0.7.3/ext/markdown.c +1227 -0
  185. data/vendor/bundle/gems/rdiscount-2.0.7.3/ext/markdown.h +181 -0
  186. data/vendor/bundle/gems/rdiscount-2.0.7.3/ext/markdown.o +0 -0
  187. data/vendor/bundle/gems/rdiscount-2.0.7.3/ext/mkdio.c +354 -0
  188. data/vendor/bundle/gems/rdiscount-2.0.7.3/ext/mkdio.h +108 -0
  189. data/vendor/bundle/gems/rdiscount-2.0.7.3/ext/mkdio.o +0 -0
  190. data/vendor/bundle/gems/rdiscount-2.0.7.3/ext/mkmf.log +191 -0
  191. data/vendor/bundle/gems/rdiscount-2.0.7.3/ext/rdiscount.bundle +0 -0
  192. data/vendor/bundle/gems/rdiscount-2.0.7.3/ext/rdiscount.c +147 -0
  193. data/vendor/bundle/gems/rdiscount-2.0.7.3/ext/rdiscount.o +0 -0
  194. data/vendor/bundle/gems/rdiscount-2.0.7.3/ext/resource.c +157 -0
  195. data/vendor/bundle/gems/rdiscount-2.0.7.3/ext/resource.o +0 -0
  196. data/vendor/bundle/gems/rdiscount-2.0.7.3/ext/ruby-config.h +10 -0
  197. data/vendor/bundle/gems/rdiscount-2.0.7.3/ext/setup.c +47 -0
  198. data/vendor/bundle/gems/rdiscount-2.0.7.3/ext/setup.o +0 -0
  199. data/vendor/bundle/gems/rdiscount-2.0.7.3/ext/siteconf20130510-69347-e72tzr.rb +6 -0
  200. data/vendor/bundle/gems/rdiscount-2.0.7.3/ext/tags.c +123 -0
  201. data/vendor/bundle/gems/rdiscount-2.0.7.3/ext/tags.h +19 -0
  202. data/vendor/bundle/gems/rdiscount-2.0.7.3/ext/tags.o +0 -0
  203. data/vendor/bundle/gems/rdiscount-2.0.7.3/ext/toc.c +103 -0
  204. data/vendor/bundle/gems/rdiscount-2.0.7.3/ext/toc.o +0 -0
  205. data/vendor/bundle/gems/rdiscount-2.0.7.3/ext/version.c +22 -0
  206. data/vendor/bundle/gems/rdiscount-2.0.7.3/ext/version.o +0 -0
  207. data/vendor/bundle/gems/rdiscount-2.0.7.3/ext/xml.c +82 -0
  208. data/vendor/bundle/gems/rdiscount-2.0.7.3/ext/xml.o +0 -0
  209. data/vendor/bundle/gems/rdiscount-2.0.7.3/ext/xmlpage.c +48 -0
  210. data/vendor/bundle/gems/rdiscount-2.0.7.3/ext/xmlpage.o +0 -0
  211. data/vendor/bundle/gems/rdiscount-2.0.7.3/lib/markdown.rb +1 -0
  212. data/vendor/bundle/gems/rdiscount-2.0.7.3/lib/rdiscount.bundle +0 -0
  213. data/vendor/bundle/gems/rdiscount-2.0.7.3/lib/rdiscount.rb +100 -0
  214. data/vendor/bundle/gems/rdiscount-2.0.7.3/man/markdown.7 +1020 -0
  215. data/vendor/bundle/gems/rdiscount-2.0.7.3/man/rdiscount.1 +22 -0
  216. data/vendor/bundle/gems/rdiscount-2.0.7.3/man/rdiscount.1.ronn +24 -0
  217. data/vendor/bundle/gems/rdiscount-2.0.7.3/rdiscount.gemspec +65 -0
  218. data/vendor/bundle/gems/rdiscount-2.0.7.3/test/benchmark.rb +56 -0
  219. data/vendor/bundle/gems/rdiscount-2.0.7.3/test/benchmark.txt +306 -0
  220. data/vendor/bundle/gems/rdiscount-2.0.7.3/test/markdown_test.rb +158 -0
  221. data/vendor/bundle/gems/rdiscount-2.0.7.3/test/rdiscount_test.rb +132 -0
  222. data/vendor/bundle/gems/shoulda-3.5.0/Appraisals +15 -0
  223. data/vendor/bundle/gems/shoulda-3.5.0/CONTRIBUTING.md +38 -0
  224. data/vendor/bundle/gems/shoulda-3.5.0/Gemfile +3 -0
  225. data/vendor/bundle/gems/shoulda-3.5.0/MIT-LICENSE +22 -0
  226. data/vendor/bundle/gems/shoulda-3.5.0/README.md +103 -0
  227. data/vendor/bundle/gems/shoulda-3.5.0/Rakefile +17 -0
  228. data/vendor/bundle/gems/shoulda-3.5.0/features/rails_integration.feature +87 -0
  229. data/vendor/bundle/gems/shoulda-3.5.0/features/step_definitions/rails_steps.rb +77 -0
  230. data/vendor/bundle/gems/shoulda-3.5.0/features/support/env.rb +14 -0
  231. data/vendor/bundle/gems/shoulda-3.5.0/gemfiles/3.0.gemfile +7 -0
  232. data/vendor/bundle/gems/shoulda-3.5.0/gemfiles/3.0.gemfile.lock +127 -0
  233. data/vendor/bundle/gems/shoulda-3.5.0/gemfiles/3.1.gemfile +9 -0
  234. data/vendor/bundle/gems/shoulda-3.5.0/gemfiles/3.1.gemfile.lock +148 -0
  235. data/vendor/bundle/gems/shoulda-3.5.0/gemfiles/3.2.gemfile +9 -0
  236. data/vendor/bundle/gems/shoulda-3.5.0/gemfiles/3.2.gemfile.lock +146 -0
  237. data/vendor/bundle/gems/shoulda-3.5.0/lib/shoulda/version.rb +3 -0
  238. data/vendor/bundle/gems/shoulda-3.5.0/lib/shoulda.rb +3 -0
  239. data/vendor/bundle/gems/shoulda-3.5.0/shoulda.gemspec +30 -0
  240. data/vendor/bundle/gems/shoulda-matchers-2.1.0/Appraisals +17 -0
  241. data/vendor/bundle/gems/shoulda-matchers-2.1.0/CONTRIBUTING.md +41 -0
  242. data/vendor/bundle/gems/shoulda-matchers-2.1.0/Gemfile +15 -0
  243. data/vendor/bundle/gems/shoulda-matchers-2.1.0/Gemfile.lock +148 -0
  244. data/vendor/bundle/gems/shoulda-matchers-2.1.0/MIT-LICENSE +22 -0
  245. data/vendor/bundle/gems/shoulda-matchers-2.1.0/NEWS.md +181 -0
  246. data/vendor/bundle/gems/shoulda-matchers-2.1.0/README.md +93 -0
  247. data/vendor/bundle/gems/shoulda-matchers-2.1.0/Rakefile +28 -0
  248. data/vendor/bundle/gems/shoulda-matchers-2.1.0/features/rails_integration.feature +114 -0
  249. data/vendor/bundle/gems/shoulda-matchers-2.1.0/features/step_definitions/rails_steps.rb +130 -0
  250. data/vendor/bundle/gems/shoulda-matchers-2.1.0/features/support/env.rb +5 -0
  251. data/vendor/bundle/gems/shoulda-matchers-2.1.0/gemfiles/3.0.gemfile +14 -0
  252. data/vendor/bundle/gems/shoulda-matchers-2.1.0/gemfiles/3.0.gemfile.lock +139 -0
  253. data/vendor/bundle/gems/shoulda-matchers-2.1.0/gemfiles/3.1.gemfile +16 -0
  254. data/vendor/bundle/gems/shoulda-matchers-2.1.0/gemfiles/3.1.gemfile.lock +160 -0
  255. data/vendor/bundle/gems/shoulda-matchers-2.1.0/gemfiles/3.2.gemfile +16 -0
  256. data/vendor/bundle/gems/shoulda-matchers-2.1.0/gemfiles/3.2.gemfile.lock +158 -0
  257. data/vendor/bundle/gems/shoulda-matchers-2.1.0/lib/shoulda/matchers/action_controller/filter_param_matcher.rb +46 -0
  258. data/vendor/bundle/gems/shoulda-matchers-2.1.0/lib/shoulda/matchers/action_controller/redirect_to_matcher.rb +65 -0
  259. data/vendor/bundle/gems/shoulda-matchers-2.1.0/lib/shoulda/matchers/action_controller/render_template_matcher.rb +61 -0
  260. data/vendor/bundle/gems/shoulda-matchers-2.1.0/lib/shoulda/matchers/action_controller/render_with_layout_matcher.rb +94 -0
  261. data/vendor/bundle/gems/shoulda-matchers-2.1.0/lib/shoulda/matchers/action_controller/respond_with_matcher.rb +83 -0
  262. data/vendor/bundle/gems/shoulda-matchers-2.1.0/lib/shoulda/matchers/action_controller/route_matcher.rb +96 -0
  263. data/vendor/bundle/gems/shoulda-matchers-2.1.0/lib/shoulda/matchers/action_controller/set_session_matcher.rb +105 -0
  264. data/vendor/bundle/gems/shoulda-matchers-2.1.0/lib/shoulda/matchers/action_controller/set_the_flash_matcher.rb +147 -0
  265. data/vendor/bundle/gems/shoulda-matchers-2.1.0/lib/shoulda/matchers/action_controller.rb +35 -0
  266. data/vendor/bundle/gems/shoulda-matchers-2.1.0/lib/shoulda/matchers/active_model/allow_mass_assignment_of_matcher.rb +113 -0
  267. data/vendor/bundle/gems/shoulda-matchers-2.1.0/lib/shoulda/matchers/active_model/allow_value_matcher.rb +174 -0
  268. data/vendor/bundle/gems/shoulda-matchers-2.1.0/lib/shoulda/matchers/active_model/disallow_value_matcher.rb +42 -0
  269. data/vendor/bundle/gems/shoulda-matchers-2.1.0/lib/shoulda/matchers/active_model/ensure_exclusion_of_matcher.rb +94 -0
  270. data/vendor/bundle/gems/shoulda-matchers-2.1.0/lib/shoulda/matchers/active_model/ensure_inclusion_of_matcher.rb +156 -0
  271. data/vendor/bundle/gems/shoulda-matchers-2.1.0/lib/shoulda/matchers/active_model/ensure_length_of_matcher.rb +176 -0
  272. data/vendor/bundle/gems/shoulda-matchers-2.1.0/lib/shoulda/matchers/active_model/errors.rb +7 -0
  273. data/vendor/bundle/gems/shoulda-matchers-2.1.0/lib/shoulda/matchers/active_model/exception_message_finder.rb +58 -0
  274. data/vendor/bundle/gems/shoulda-matchers-2.1.0/lib/shoulda/matchers/active_model/helpers.rb +45 -0
  275. data/vendor/bundle/gems/shoulda-matchers-2.1.0/lib/shoulda/matchers/active_model/odd_even_number_matcher.rb +47 -0
  276. data/vendor/bundle/gems/shoulda-matchers-2.1.0/lib/shoulda/matchers/active_model/only_integer_matcher.rb +37 -0
  277. data/vendor/bundle/gems/shoulda-matchers-2.1.0/lib/shoulda/matchers/active_model/validate_acceptance_of_matcher.rb +41 -0
  278. data/vendor/bundle/gems/shoulda-matchers-2.1.0/lib/shoulda/matchers/active_model/validate_confirmation_of_matcher.rb +65 -0
  279. data/vendor/bundle/gems/shoulda-matchers-2.1.0/lib/shoulda/matchers/active_model/validate_numericality_of_matcher.rb +115 -0
  280. data/vendor/bundle/gems/shoulda-matchers-2.1.0/lib/shoulda/matchers/active_model/validate_presence_of_matcher.rb +64 -0
  281. data/vendor/bundle/gems/shoulda-matchers-2.1.0/lib/shoulda/matchers/active_model/validate_uniqueness_of_matcher.rb +221 -0
  282. data/vendor/bundle/gems/shoulda-matchers-2.1.0/lib/shoulda/matchers/active_model/validation_matcher.rb +89 -0
  283. data/vendor/bundle/gems/shoulda-matchers-2.1.0/lib/shoulda/matchers/active_model/validation_message_finder.rb +70 -0
  284. data/vendor/bundle/gems/shoulda-matchers-2.1.0/lib/shoulda/matchers/active_model.rb +50 -0
  285. data/vendor/bundle/gems/shoulda-matchers-2.1.0/lib/shoulda/matchers/active_record/accept_nested_attributes_for_matcher.rb +140 -0
  286. data/vendor/bundle/gems/shoulda-matchers-2.1.0/lib/shoulda/matchers/active_record/association_matcher.rb +368 -0
  287. data/vendor/bundle/gems/shoulda-matchers-2.1.0/lib/shoulda/matchers/active_record/have_db_column_matcher.rb +195 -0
  288. data/vendor/bundle/gems/shoulda-matchers-2.1.0/lib/shoulda/matchers/active_record/have_db_index_matcher.rb +111 -0
  289. data/vendor/bundle/gems/shoulda-matchers-2.1.0/lib/shoulda/matchers/active_record/have_readonly_attribute_matcher.rb +55 -0
  290. data/vendor/bundle/gems/shoulda-matchers-2.1.0/lib/shoulda/matchers/active_record/serialize_matcher.rb +112 -0
  291. data/vendor/bundle/gems/shoulda-matchers-2.1.0/lib/shoulda/matchers/active_record.rb +25 -0
  292. data/vendor/bundle/gems/shoulda-matchers-2.1.0/lib/shoulda/matchers/assertion_error.rb +16 -0
  293. data/vendor/bundle/gems/shoulda-matchers-2.1.0/lib/shoulda/matchers/integrations/rspec.rb +20 -0
  294. data/vendor/bundle/gems/shoulda-matchers-2.1.0/lib/shoulda/matchers/integrations/test_unit.rb +42 -0
  295. data/vendor/bundle/gems/shoulda-matchers-2.1.0/lib/shoulda/matchers/version.rb +5 -0
  296. data/vendor/bundle/gems/shoulda-matchers-2.1.0/lib/shoulda/matchers.rb +8 -0
  297. data/vendor/bundle/gems/shoulda-matchers-2.1.0/lib/shoulda-matchers.rb +1 -0
  298. data/vendor/bundle/gems/shoulda-matchers-2.1.0/shoulda-matchers.gemspec +33 -0
  299. data/vendor/bundle/gems/shoulda-matchers-2.1.0/spec/shoulda/active_model/validate_uniqueness_of_matcher_spec.rb +195 -0
  300. data/vendor/bundle/gems/shoulda-matchers-2.1.0/spec/shoulda/matchers/action_controller/filter_param_matcher_spec.rb +22 -0
  301. data/vendor/bundle/gems/shoulda-matchers-2.1.0/spec/shoulda/matchers/action_controller/redirect_to_matcher_spec.rb +42 -0
  302. data/vendor/bundle/gems/shoulda-matchers-2.1.0/spec/shoulda/matchers/action_controller/render_template_matcher_spec.rb +78 -0
  303. data/vendor/bundle/gems/shoulda-matchers-2.1.0/spec/shoulda/matchers/action_controller/render_with_layout_matcher_spec.rb +58 -0
  304. data/vendor/bundle/gems/shoulda-matchers-2.1.0/spec/shoulda/matchers/action_controller/respond_with_matcher_spec.rb +31 -0
  305. data/vendor/bundle/gems/shoulda-matchers-2.1.0/spec/shoulda/matchers/action_controller/route_matcher_spec.rb +65 -0
  306. data/vendor/bundle/gems/shoulda-matchers-2.1.0/spec/shoulda/matchers/action_controller/set_session_matcher_spec.rb +51 -0
  307. data/vendor/bundle/gems/shoulda-matchers-2.1.0/spec/shoulda/matchers/action_controller/set_the_flash_matcher_spec.rb +153 -0
  308. data/vendor/bundle/gems/shoulda-matchers-2.1.0/spec/shoulda/matchers/active_model/allow_mass_assignment_of_matcher_spec.rb +111 -0
  309. data/vendor/bundle/gems/shoulda-matchers-2.1.0/spec/shoulda/matchers/active_model/allow_value_matcher_spec.rb +146 -0
  310. data/vendor/bundle/gems/shoulda-matchers-2.1.0/spec/shoulda/matchers/active_model/disallow_value_matcher_spec.rb +43 -0
  311. data/vendor/bundle/gems/shoulda-matchers-2.1.0/spec/shoulda/matchers/active_model/ensure_exclusion_of_matcher_spec.rb +95 -0
  312. data/vendor/bundle/gems/shoulda-matchers-2.1.0/spec/shoulda/matchers/active_model/ensure_inclusion_of_matcher_spec.rb +194 -0
  313. data/vendor/bundle/gems/shoulda-matchers-2.1.0/spec/shoulda/matchers/active_model/ensure_length_of_matcher_spec.rb +159 -0
  314. data/vendor/bundle/gems/shoulda-matchers-2.1.0/spec/shoulda/matchers/active_model/exception_message_finder_spec.rb +112 -0
  315. data/vendor/bundle/gems/shoulda-matchers-2.1.0/spec/shoulda/matchers/active_model/helpers_spec.rb +158 -0
  316. data/vendor/bundle/gems/shoulda-matchers-2.1.0/spec/shoulda/matchers/active_model/odd_even_number_matcher_spec.rb +93 -0
  317. data/vendor/bundle/gems/shoulda-matchers-2.1.0/spec/shoulda/matchers/active_model/only_integer_matcher_spec.rb +52 -0
  318. data/vendor/bundle/gems/shoulda-matchers-2.1.0/spec/shoulda/matchers/active_model/validate_acceptance_of_matcher_spec.rb +41 -0
  319. data/vendor/bundle/gems/shoulda-matchers-2.1.0/spec/shoulda/matchers/active_model/validate_confirmation_of_matcher_spec.rb +47 -0
  320. data/vendor/bundle/gems/shoulda-matchers-2.1.0/spec/shoulda/matchers/active_model/validate_numericality_of_matcher_spec.rb +133 -0
  321. data/vendor/bundle/gems/shoulda-matchers-2.1.0/spec/shoulda/matchers/active_model/validate_presence_of_matcher_spec.rb +143 -0
  322. data/vendor/bundle/gems/shoulda-matchers-2.1.0/spec/shoulda/matchers/active_model/validate_uniqueness_of_matcher_spec.rb +212 -0
  323. data/vendor/bundle/gems/shoulda-matchers-2.1.0/spec/shoulda/matchers/active_model/validation_message_finder_spec.rb +119 -0
  324. data/vendor/bundle/gems/shoulda-matchers-2.1.0/spec/shoulda/matchers/active_record/accept_nested_attributes_for_matcher_spec.rb +106 -0
  325. data/vendor/bundle/gems/shoulda-matchers-2.1.0/spec/shoulda/matchers/active_record/association_matcher_spec.rb +606 -0
  326. data/vendor/bundle/gems/shoulda-matchers-2.1.0/spec/shoulda/matchers/active_record/have_db_column_matcher_spec.rb +111 -0
  327. data/vendor/bundle/gems/shoulda-matchers-2.1.0/spec/shoulda/matchers/active_record/have_db_index_matcher_spec.rb +78 -0
  328. data/vendor/bundle/gems/shoulda-matchers-2.1.0/spec/shoulda/matchers/active_record/have_readonly_attributes_matcher_spec.rb +41 -0
  329. data/vendor/bundle/gems/shoulda-matchers-2.1.0/spec/shoulda/matchers/active_record/serialize_matcher_spec.rb +86 -0
  330. data/vendor/bundle/gems/shoulda-matchers-2.1.0/spec/spec_helper.rb +28 -0
  331. data/vendor/bundle/gems/shoulda-matchers-2.1.0/spec/support/active_model_versions.rb +13 -0
  332. data/vendor/bundle/gems/shoulda-matchers-2.1.0/spec/support/activemodel_helpers.rb +19 -0
  333. data/vendor/bundle/gems/shoulda-matchers-2.1.0/spec/support/class_builder.rb +42 -0
  334. data/vendor/bundle/gems/shoulda-matchers-2.1.0/spec/support/controller_builder.rb +80 -0
  335. data/vendor/bundle/gems/shoulda-matchers-2.1.0/spec/support/i18n_faker.rb +10 -0
  336. data/vendor/bundle/gems/shoulda-matchers-2.1.0/spec/support/mailer_builder.rb +10 -0
  337. data/vendor/bundle/gems/shoulda-matchers-2.1.0/spec/support/model_builder.rb +77 -0
  338. data/vendor/bundle/gems/tilt-1.4.1/CHANGELOG.md +44 -0
  339. data/vendor/bundle/gems/tilt-1.4.1/COPYING +18 -0
  340. data/vendor/bundle/gems/tilt-1.4.1/Gemfile +32 -0
  341. data/vendor/bundle/gems/tilt-1.4.1/HACKING +16 -0
  342. data/vendor/bundle/gems/tilt-1.4.1/README.md +232 -0
  343. data/vendor/bundle/gems/tilt-1.4.1/Rakefile +104 -0
  344. data/vendor/bundle/gems/tilt-1.4.1/TEMPLATES.md +516 -0
  345. data/vendor/bundle/gems/tilt-1.4.1/bin/tilt +112 -0
  346. data/vendor/bundle/gems/tilt-1.4.1/lib/tilt/asciidoc.rb +34 -0
  347. data/vendor/bundle/gems/tilt-1.4.1/lib/tilt/builder.rb +40 -0
  348. data/vendor/bundle/gems/tilt-1.4.1/lib/tilt/coffee.rb +54 -0
  349. data/vendor/bundle/gems/tilt-1.4.1/lib/tilt/css.rb +80 -0
  350. data/vendor/bundle/gems/tilt-1.4.1/lib/tilt/csv.rb +71 -0
  351. data/vendor/bundle/gems/tilt-1.4.1/lib/tilt/erb.rb +110 -0
  352. data/vendor/bundle/gems/tilt-1.4.1/lib/tilt/etanni.rb +27 -0
  353. data/vendor/bundle/gems/tilt-1.4.1/lib/tilt/haml.rb +64 -0
  354. data/vendor/bundle/gems/tilt-1.4.1/lib/tilt/liquid.rb +45 -0
  355. data/vendor/bundle/gems/tilt-1.4.1/lib/tilt/markaby.rb +52 -0
  356. data/vendor/bundle/gems/tilt-1.4.1/lib/tilt/markdown.rb +214 -0
  357. data/vendor/bundle/gems/tilt-1.4.1/lib/tilt/nokogiri.rb +43 -0
  358. data/vendor/bundle/gems/tilt-1.4.1/lib/tilt/plain.rb +20 -0
  359. data/vendor/bundle/gems/tilt-1.4.1/lib/tilt/radius.rb +55 -0
  360. data/vendor/bundle/gems/tilt-1.4.1/lib/tilt/rdoc.rb +47 -0
  361. data/vendor/bundle/gems/tilt-1.4.1/lib/tilt/string.rb +21 -0
  362. data/vendor/bundle/gems/tilt-1.4.1/lib/tilt/template.rb +292 -0
  363. data/vendor/bundle/gems/tilt-1.4.1/lib/tilt/textile.rb +30 -0
  364. data/vendor/bundle/gems/tilt-1.4.1/lib/tilt/wiki.rb +58 -0
  365. data/vendor/bundle/gems/tilt-1.4.1/lib/tilt/yajl.rb +94 -0
  366. data/vendor/bundle/gems/tilt-1.4.1/lib/tilt.rb +204 -0
  367. data/vendor/bundle/gems/tilt-1.4.1/test/contest.rb +68 -0
  368. data/vendor/bundle/gems/tilt-1.4.1/test/markaby/locals.mab +1 -0
  369. data/vendor/bundle/gems/tilt-1.4.1/test/markaby/markaby.mab +1 -0
  370. data/vendor/bundle/gems/tilt-1.4.1/test/markaby/markaby_other_static.mab +1 -0
  371. data/vendor/bundle/gems/tilt-1.4.1/test/markaby/render_twice.mab +1 -0
  372. data/vendor/bundle/gems/tilt-1.4.1/test/markaby/scope.mab +1 -0
  373. data/vendor/bundle/gems/tilt-1.4.1/test/markaby/yielding.mab +2 -0
  374. data/vendor/bundle/gems/tilt-1.4.1/test/tilt_asciidoctor_test.rb +44 -0
  375. data/vendor/bundle/gems/tilt-1.4.1/test/tilt_blueclothtemplate_test.rb +45 -0
  376. data/vendor/bundle/gems/tilt-1.4.1/test/tilt_buildertemplate_test.rb +59 -0
  377. data/vendor/bundle/gems/tilt-1.4.1/test/tilt_cache_test.rb +32 -0
  378. data/vendor/bundle/gems/tilt-1.4.1/test/tilt_coffeescripttemplate_test.rb +114 -0
  379. data/vendor/bundle/gems/tilt-1.4.1/test/tilt_compilesite_test.rb +51 -0
  380. data/vendor/bundle/gems/tilt-1.4.1/test/tilt_creoletemplate_test.rb +28 -0
  381. data/vendor/bundle/gems/tilt-1.4.1/test/tilt_csv_test.rb +69 -0
  382. data/vendor/bundle/gems/tilt-1.4.1/test/tilt_erbtemplate_test.rb +239 -0
  383. data/vendor/bundle/gems/tilt-1.4.1/test/tilt_erubistemplate_test.rb +151 -0
  384. data/vendor/bundle/gems/tilt-1.4.1/test/tilt_etannitemplate_test.rb +173 -0
  385. data/vendor/bundle/gems/tilt-1.4.1/test/tilt_fallback_test.rb +122 -0
  386. data/vendor/bundle/gems/tilt-1.4.1/test/tilt_hamltemplate_test.rb +144 -0
  387. data/vendor/bundle/gems/tilt-1.4.1/test/tilt_kramdown_test.rb +42 -0
  388. data/vendor/bundle/gems/tilt-1.4.1/test/tilt_lesstemplate_test.less +1 -0
  389. data/vendor/bundle/gems/tilt-1.4.1/test/tilt_lesstemplate_test.rb +42 -0
  390. data/vendor/bundle/gems/tilt-1.4.1/test/tilt_liquidtemplate_test.rb +78 -0
  391. data/vendor/bundle/gems/tilt-1.4.1/test/tilt_markaby_test.rb +88 -0
  392. data/vendor/bundle/gems/tilt-1.4.1/test/tilt_markdown_test.rb +172 -0
  393. data/vendor/bundle/gems/tilt-1.4.1/test/tilt_marukutemplate_test.rb +48 -0
  394. data/vendor/bundle/gems/tilt-1.4.1/test/tilt_nokogiritemplate_test.rb +87 -0
  395. data/vendor/bundle/gems/tilt-1.4.1/test/tilt_radiustemplate_test.rb +75 -0
  396. data/vendor/bundle/gems/tilt-1.4.1/test/tilt_rdiscounttemplate_test.rb +55 -0
  397. data/vendor/bundle/gems/tilt-1.4.1/test/tilt_rdoctemplate_test.rb +31 -0
  398. data/vendor/bundle/gems/tilt-1.4.1/test/tilt_redcarpettemplate_test.rb +71 -0
  399. data/vendor/bundle/gems/tilt-1.4.1/test/tilt_redclothtemplate_test.rb +36 -0
  400. data/vendor/bundle/gems/tilt-1.4.1/test/tilt_sasstemplate_test.rb +41 -0
  401. data/vendor/bundle/gems/tilt-1.4.1/test/tilt_stringtemplate_test.rb +170 -0
  402. data/vendor/bundle/gems/tilt-1.4.1/test/tilt_template_test.rb +323 -0
  403. data/vendor/bundle/gems/tilt-1.4.1/test/tilt_test.rb +65 -0
  404. data/vendor/bundle/gems/tilt-1.4.1/test/tilt_wikiclothtemplate_test.rb +32 -0
  405. data/vendor/bundle/gems/tilt-1.4.1/test/tilt_yajltemplate_test.rb +101 -0
  406. data/vendor/bundle/gems/tilt-1.4.1/tilt.gemspec +120 -0
  407. data/vendor/bundle/gems/yard-0.8.6.1/LEGAL +66 -0
  408. data/vendor/bundle/gems/yard-0.8.6.1/LICENSE +22 -0
  409. data/vendor/bundle/gems/yard-0.8.6.1/README.md +601 -0
  410. data/vendor/bundle/gems/yard-0.8.6.1/Rakefile +61 -0
  411. data/vendor/bundle/gems/yard-0.8.6.1/benchmarks/builtins_vs_eval.rb +23 -0
  412. data/vendor/bundle/gems/yard-0.8.6.1/benchmarks/concat_vs_join.rb +12 -0
  413. data/vendor/bundle/gems/yard-0.8.6.1/benchmarks/erb_vs_erubis.rb +53 -0
  414. data/vendor/bundle/gems/yard-0.8.6.1/benchmarks/format_args.rb +46 -0
  415. data/vendor/bundle/gems/yard-0.8.6.1/benchmarks/generation.rb +37 -0
  416. data/vendor/bundle/gems/yard-0.8.6.1/benchmarks/marshal_vs_dbm.rb +63 -0
  417. data/vendor/bundle/gems/yard-0.8.6.1/benchmarks/parsing.rb +46 -0
  418. data/vendor/bundle/gems/yard-0.8.6.1/benchmarks/pathname_vs_string.rb +50 -0
  419. data/vendor/bundle/gems/yard-0.8.6.1/benchmarks/rdoc_vs_yardoc.rb +10 -0
  420. data/vendor/bundle/gems/yard-0.8.6.1/benchmarks/registry_store_types.rb +48 -0
  421. data/vendor/bundle/gems/yard-0.8.6.1/benchmarks/ri_vs_yri.rb +18 -0
  422. data/vendor/bundle/gems/yard-0.8.6.1/benchmarks/ripper_parser.rb +12 -0
  423. data/vendor/bundle/gems/yard-0.8.6.1/benchmarks/splat_vs_flatten.rb +12 -0
  424. data/vendor/bundle/gems/yard-0.8.6.1/benchmarks/template_erb.rb +22 -0
  425. data/vendor/bundle/gems/yard-0.8.6.1/benchmarks/template_format.rb +6 -0
  426. data/vendor/bundle/gems/yard-0.8.6.1/benchmarks/template_profile.rb +17 -0
  427. data/vendor/bundle/gems/yard-0.8.6.1/benchmarks/yri_cache.rb +19 -0
  428. data/vendor/bundle/gems/yard-0.8.6.1/bin/yard +12 -0
  429. data/vendor/bundle/gems/yard-0.8.6.1/bin/yardoc +12 -0
  430. data/vendor/bundle/gems/yard-0.8.6.1/bin/yri +12 -0
  431. data/vendor/bundle/gems/yard-0.8.6.1/docs/CodeObjects.md +115 -0
  432. data/vendor/bundle/gems/yard-0.8.6.1/docs/GettingStarted.md +592 -0
  433. data/vendor/bundle/gems/yard-0.8.6.1/docs/Handlers.md +152 -0
  434. data/vendor/bundle/gems/yard-0.8.6.1/docs/Overview.md +61 -0
  435. data/vendor/bundle/gems/yard-0.8.6.1/docs/Parser.md +191 -0
  436. data/vendor/bundle/gems/yard-0.8.6.1/docs/Tags.md +282 -0
  437. data/vendor/bundle/gems/yard-0.8.6.1/docs/TagsArch.md +123 -0
  438. data/vendor/bundle/gems/yard-0.8.6.1/docs/Templates.md +496 -0
  439. data/vendor/bundle/gems/yard-0.8.6.1/docs/WhatsNew.md +1244 -0
  440. data/vendor/bundle/gems/yard-0.8.6.1/docs/images/code-objects-class-diagram.png +0 -0
  441. data/vendor/bundle/gems/yard-0.8.6.1/docs/images/handlers-class-diagram.png +0 -0
  442. data/vendor/bundle/gems/yard-0.8.6.1/docs/images/overview-class-diagram.png +0 -0
  443. data/vendor/bundle/gems/yard-0.8.6.1/docs/images/parser-class-diagram.png +0 -0
  444. data/vendor/bundle/gems/yard-0.8.6.1/docs/images/tags-class-diagram.png +0 -0
  445. data/vendor/bundle/gems/yard-0.8.6.1/docs/templates/default/fulldoc/html/full_list_tag.erb +7 -0
  446. data/vendor/bundle/gems/yard-0.8.6.1/docs/templates/default/fulldoc/html/setup.rb +6 -0
  447. data/vendor/bundle/gems/yard-0.8.6.1/docs/templates/default/layout/html/setup.rb +8 -0
  448. data/vendor/bundle/gems/yard-0.8.6.1/docs/templates/default/layout/html/tag_list.erb +11 -0
  449. data/vendor/bundle/gems/yard-0.8.6.1/docs/templates/default/yard_tags/html/list.erb +18 -0
  450. data/vendor/bundle/gems/yard-0.8.6.1/docs/templates/default/yard_tags/html/setup.rb +27 -0
  451. data/vendor/bundle/gems/yard-0.8.6.1/docs/templates/plugin.rb +65 -0
  452. data/vendor/bundle/gems/yard-0.8.6.1/lib/rubygems_plugin.rb +4 -0
  453. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/autoload.rb +290 -0
  454. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/cli/command.rb +84 -0
  455. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/cli/command_parser.rb +92 -0
  456. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/cli/config.rb +136 -0
  457. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/cli/diff.rb +270 -0
  458. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/cli/display.rb +68 -0
  459. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/cli/gems.rb +83 -0
  460. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/cli/graph.rb +125 -0
  461. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/cli/help.rb +18 -0
  462. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/cli/i18n.rb +69 -0
  463. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/cli/list.rb +22 -0
  464. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/cli/markup_types.rb +33 -0
  465. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/cli/server.rb +253 -0
  466. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/cli/stats.rb +213 -0
  467. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/cli/yardoc.rb +731 -0
  468. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/cli/yardopts_command.rb +109 -0
  469. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/cli/yri.rb +214 -0
  470. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/code_objects/base.rb +585 -0
  471. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/code_objects/class_object.rb +143 -0
  472. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/code_objects/class_variable_object.rb +8 -0
  473. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/code_objects/constant_object.rb +13 -0
  474. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/code_objects/extended_method_object.rb +23 -0
  475. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/code_objects/extra_file_object.rb +128 -0
  476. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/code_objects/macro_object.rb +172 -0
  477. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/code_objects/method_object.rb +191 -0
  478. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/code_objects/module_object.rb +18 -0
  479. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/code_objects/namespace_object.rb +200 -0
  480. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/code_objects/proxy.rb +258 -0
  481. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/code_objects/root_object.rb +17 -0
  482. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/config.rb +269 -0
  483. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/core_ext/array.rb +15 -0
  484. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/core_ext/file.rb +65 -0
  485. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/core_ext/hash.rb +15 -0
  486. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/core_ext/insertion.rb +60 -0
  487. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/core_ext/module.rb +19 -0
  488. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/core_ext/string.rb +67 -0
  489. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/core_ext/symbol_hash.rb +73 -0
  490. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/docstring.rb +364 -0
  491. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/docstring_parser.rb +321 -0
  492. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/globals.rb +18 -0
  493. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/handlers/base.rb +597 -0
  494. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/handlers/c/alias_handler.rb +15 -0
  495. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/handlers/c/attribute_handler.rb +13 -0
  496. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/handlers/c/base.rb +110 -0
  497. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/handlers/c/class_handler.rb +26 -0
  498. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/handlers/c/constant_handler.rb +12 -0
  499. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/handlers/c/handler_methods.rb +166 -0
  500. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/handlers/c/init_handler.rb +18 -0
  501. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/handlers/c/method_handler.rb +35 -0
  502. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/handlers/c/mixin_handler.rb +13 -0
  503. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/handlers/c/module_handler.rb +16 -0
  504. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/handlers/c/override_comment_handler.rb +30 -0
  505. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/handlers/c/path_handler.rb +10 -0
  506. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/handlers/c/struct_handler.rb +12 -0
  507. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/handlers/c/symbol_handler.rb +7 -0
  508. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/handlers/processor.rb +201 -0
  509. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/handlers/ruby/alias_handler.rb +41 -0
  510. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/handlers/ruby/attribute_handler.rb +82 -0
  511. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/handlers/ruby/base.rb +164 -0
  512. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/handlers/ruby/class_condition_handler.rb +86 -0
  513. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/handlers/ruby/class_handler.rb +121 -0
  514. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/handlers/ruby/class_variable_handler.rb +16 -0
  515. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/handlers/ruby/comment_handler.rb +9 -0
  516. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/handlers/ruby/constant_handler.rb +45 -0
  517. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/handlers/ruby/dsl_handler.rb +14 -0
  518. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/handlers/ruby/dsl_handler_methods.rb +77 -0
  519. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/handlers/ruby/exception_handler.rb +26 -0
  520. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/handlers/ruby/extend_handler.rb +21 -0
  521. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/handlers/ruby/legacy/alias_handler.rb +34 -0
  522. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/handlers/ruby/legacy/attribute_handler.rb +60 -0
  523. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/handlers/ruby/legacy/base.rb +250 -0
  524. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/handlers/ruby/legacy/class_condition_handler.rb +83 -0
  525. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/handlers/ruby/legacy/class_handler.rb +111 -0
  526. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/handlers/ruby/legacy/class_variable_handler.rb +14 -0
  527. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/handlers/ruby/legacy/comment_handler.rb +9 -0
  528. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/handlers/ruby/legacy/constant_handler.rb +28 -0
  529. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/handlers/ruby/legacy/dsl_handler.rb +16 -0
  530. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/handlers/ruby/legacy/exception_handler.rb +12 -0
  531. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/handlers/ruby/legacy/extend_handler.rb +20 -0
  532. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/handlers/ruby/legacy/method_handler.rb +85 -0
  533. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/handlers/ruby/legacy/mixin_handler.rb +39 -0
  534. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/handlers/ruby/legacy/module_function_handler.rb +18 -0
  535. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/handlers/ruby/legacy/module_handler.rb +11 -0
  536. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/handlers/ruby/legacy/private_constant_handler.rb +21 -0
  537. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/handlers/ruby/legacy/visibility_handler.rb +16 -0
  538. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/handlers/ruby/legacy/yield_handler.rb +28 -0
  539. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/handlers/ruby/method_condition_handler.rb +8 -0
  540. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/handlers/ruby/method_handler.rb +92 -0
  541. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/handlers/ruby/mixin_handler.rb +36 -0
  542. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/handlers/ruby/module_function_handler.rb +26 -0
  543. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/handlers/ruby/module_handler.rb +11 -0
  544. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/handlers/ruby/private_constant_handler.rb +36 -0
  545. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/handlers/ruby/struct_handler_methods.rb +141 -0
  546. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/handlers/ruby/visibility_handler.rb +24 -0
  547. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/handlers/ruby/yield_handler.rb +30 -0
  548. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/i18n/locale.rb +74 -0
  549. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/i18n/message.rb +56 -0
  550. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/i18n/messages.rb +55 -0
  551. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/i18n/pot_generator.rb +280 -0
  552. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/i18n/text.rb +173 -0
  553. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/logging.rb +190 -0
  554. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/options.rb +216 -0
  555. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/parser/base.rb +56 -0
  556. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/parser/c/c_parser.rb +225 -0
  557. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/parser/c/comment_parser.rb +131 -0
  558. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/parser/c/statement.rb +63 -0
  559. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/parser/ruby/ast_node.rb +496 -0
  560. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/parser/ruby/legacy/ruby_lex.rb +1377 -0
  561. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/parser/ruby/legacy/ruby_parser.rb +31 -0
  562. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/parser/ruby/legacy/statement.rb +65 -0
  563. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/parser/ruby/legacy/statement_list.rb +384 -0
  564. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/parser/ruby/legacy/token_list.rb +71 -0
  565. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/parser/ruby/ruby_parser.rb +625 -0
  566. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/parser/source_parser.rb +517 -0
  567. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/rake/yardoc_task.rb +74 -0
  568. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/registry.rb +438 -0
  569. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/registry_store.rb +319 -0
  570. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/rubygems/backports/LICENSE.txt +57 -0
  571. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/rubygems/backports/MIT.txt +20 -0
  572. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/rubygems/backports/gem.rb +9 -0
  573. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/rubygems/backports/source_index.rb +370 -0
  574. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/rubygems/backports.rb +8 -0
  575. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/rubygems/doc_manager.rb +88 -0
  576. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/rubygems/specification.rb +41 -0
  577. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/serializers/base.rb +80 -0
  578. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/serializers/file_system_serializer.rb +90 -0
  579. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/serializers/process_serializer.rb +24 -0
  580. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/serializers/stdout_serializer.rb +32 -0
  581. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/serializers/yardoc_serializer.rb +124 -0
  582. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/server/adapter.rb +100 -0
  583. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/server/commands/base.rb +192 -0
  584. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/server/commands/display_file_command.rb +24 -0
  585. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/server/commands/display_object_command.rb +58 -0
  586. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/server/commands/frames_command.rb +15 -0
  587. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/server/commands/library_command.rb +148 -0
  588. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/server/commands/library_index_command.rb +24 -0
  589. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/server/commands/list_command.rb +24 -0
  590. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/server/commands/search_command.rb +78 -0
  591. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/server/commands/static_file_command.rb +57 -0
  592. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/server/doc_server_helper.rb +76 -0
  593. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/server/doc_server_serializer.rb +33 -0
  594. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/server/library_version.rb +227 -0
  595. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/server/rack_adapter.rb +88 -0
  596. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/server/router.rb +176 -0
  597. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/server/static_caching.rb +45 -0
  598. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/server/templates/default/fulldoc/html/css/custom.css +78 -0
  599. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/server/templates/default/fulldoc/html/images/processing.gif +0 -0
  600. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/server/templates/default/fulldoc/html/js/autocomplete.js +12 -0
  601. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/server/templates/default/layout/html/breadcrumb.erb +46 -0
  602. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/server/templates/default/layout/html/script_setup.erb +8 -0
  603. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/server/templates/default/layout/html/setup.rb +7 -0
  604. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/server/templates/default/method_details/html/permalink.erb +4 -0
  605. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/server/templates/default/method_details/html/setup.rb +4 -0
  606. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/server/templates/doc_server/library_list/html/contents.erb +13 -0
  607. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/server/templates/doc_server/library_list/html/headers.erb +26 -0
  608. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/server/templates/doc_server/library_list/html/library_list.erb +12 -0
  609. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/server/templates/doc_server/library_list/html/setup.rb +3 -0
  610. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/server/templates/doc_server/library_list/html/title.erb +2 -0
  611. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/server/templates/doc_server/processing/html/processing.erb +51 -0
  612. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/server/templates/doc_server/processing/html/setup.rb +3 -0
  613. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/server/templates/doc_server/search/html/search.erb +18 -0
  614. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/server/templates/doc_server/search/html/setup.rb +8 -0
  615. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/server/webrick_adapter.rb +43 -0
  616. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/server.rb +11 -0
  617. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/tags/default_factory.rb +176 -0
  618. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/tags/default_tag.rb +12 -0
  619. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/tags/directives.rb +595 -0
  620. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/tags/library.rb +630 -0
  621. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/tags/option_tag.rb +12 -0
  622. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/tags/overload_tag.rb +65 -0
  623. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/tags/ref_tag.rb +7 -0
  624. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/tags/ref_tag_list.rb +27 -0
  625. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/tags/tag.rb +57 -0
  626. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/tags/tag_format_error.rb +6 -0
  627. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/templates/engine.rb +185 -0
  628. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/templates/erb_cache.rb +22 -0
  629. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/templates/helpers/base_helper.rb +212 -0
  630. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/templates/helpers/filter_helper.rb +26 -0
  631. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/templates/helpers/html_helper.rb +599 -0
  632. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/templates/helpers/html_syntax_highlight_helper.rb +59 -0
  633. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/templates/helpers/markup/rdoc_markdown.rb +22 -0
  634. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/templates/helpers/markup/rdoc_markup.rb +106 -0
  635. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/templates/helpers/markup_helper.rb +169 -0
  636. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/templates/helpers/method_helper.rb +74 -0
  637. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/templates/helpers/module_helper.rb +19 -0
  638. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/templates/helpers/text_helper.rb +95 -0
  639. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/templates/helpers/uml_helper.rb +46 -0
  640. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/templates/section.rb +106 -0
  641. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/templates/template.rb +407 -0
  642. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/templates/template_options.rb +88 -0
  643. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/verifier.rb +148 -0
  644. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/version.rb +3 -0
  645. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard.rb +71 -0
  646. data/vendor/bundle/gems/yard-0.8.6.1/spec/cli/command_parser_spec.rb +43 -0
  647. data/vendor/bundle/gems/yard-0.8.6.1/spec/cli/command_spec.rb +36 -0
  648. data/vendor/bundle/gems/yard-0.8.6.1/spec/cli/config_spec.rb +92 -0
  649. data/vendor/bundle/gems/yard-0.8.6.1/spec/cli/diff_spec.rb +260 -0
  650. data/vendor/bundle/gems/yard-0.8.6.1/spec/cli/display_spec.rb +30 -0
  651. data/vendor/bundle/gems/yard-0.8.6.1/spec/cli/gems_spec.rb +81 -0
  652. data/vendor/bundle/gems/yard-0.8.6.1/spec/cli/graph_spec.rb +17 -0
  653. data/vendor/bundle/gems/yard-0.8.6.1/spec/cli/help_spec.rb +22 -0
  654. data/vendor/bundle/gems/yard-0.8.6.1/spec/cli/i18n_spec.rb +111 -0
  655. data/vendor/bundle/gems/yard-0.8.6.1/spec/cli/list_spec.rb +8 -0
  656. data/vendor/bundle/gems/yard-0.8.6.1/spec/cli/markup_types_spec.rb +22 -0
  657. data/vendor/bundle/gems/yard-0.8.6.1/spec/cli/server_spec.rb +327 -0
  658. data/vendor/bundle/gems/yard-0.8.6.1/spec/cli/stats_spec.rb +90 -0
  659. data/vendor/bundle/gems/yard-0.8.6.1/spec/cli/yardoc_spec.rb +777 -0
  660. data/vendor/bundle/gems/yard-0.8.6.1/spec/cli/yri_spec.rb +99 -0
  661. data/vendor/bundle/gems/yard-0.8.6.1/spec/code_objects/base_spec.rb +438 -0
  662. data/vendor/bundle/gems/yard-0.8.6.1/spec/code_objects/class_object_spec.rb +225 -0
  663. data/vendor/bundle/gems/yard-0.8.6.1/spec/code_objects/code_object_list_spec.rb +33 -0
  664. data/vendor/bundle/gems/yard-0.8.6.1/spec/code_objects/constants_spec.rb +82 -0
  665. data/vendor/bundle/gems/yard-0.8.6.1/spec/code_objects/extra_file_object_spec.rb +147 -0
  666. data/vendor/bundle/gems/yard-0.8.6.1/spec/code_objects/macro_object_spec.rb +148 -0
  667. data/vendor/bundle/gems/yard-0.8.6.1/spec/code_objects/method_object_spec.rb +175 -0
  668. data/vendor/bundle/gems/yard-0.8.6.1/spec/code_objects/module_object_spec.rb +141 -0
  669. data/vendor/bundle/gems/yard-0.8.6.1/spec/code_objects/namespace_object_spec.rb +170 -0
  670. data/vendor/bundle/gems/yard-0.8.6.1/spec/code_objects/proxy_spec.rb +140 -0
  671. data/vendor/bundle/gems/yard-0.8.6.1/spec/code_objects/spec_helper.rb +3 -0
  672. data/vendor/bundle/gems/yard-0.8.6.1/spec/config_spec.rb +176 -0
  673. data/vendor/bundle/gems/yard-0.8.6.1/spec/core_ext/array_spec.rb +14 -0
  674. data/vendor/bundle/gems/yard-0.8.6.1/spec/core_ext/file_spec.rb +68 -0
  675. data/vendor/bundle/gems/yard-0.8.6.1/spec/core_ext/hash_spec.rb +14 -0
  676. data/vendor/bundle/gems/yard-0.8.6.1/spec/core_ext/insertion_spec.rb +37 -0
  677. data/vendor/bundle/gems/yard-0.8.6.1/spec/core_ext/module_spec.rb +15 -0
  678. data/vendor/bundle/gems/yard-0.8.6.1/spec/core_ext/string_spec.rb +42 -0
  679. data/vendor/bundle/gems/yard-0.8.6.1/spec/core_ext/symbol_hash_spec.rb +86 -0
  680. data/vendor/bundle/gems/yard-0.8.6.1/spec/docstring_parser_spec.rb +228 -0
  681. data/vendor/bundle/gems/yard-0.8.6.1/spec/docstring_spec.rb +325 -0
  682. data/vendor/bundle/gems/yard-0.8.6.1/spec/handlers/alias_handler_spec.rb +80 -0
  683. data/vendor/bundle/gems/yard-0.8.6.1/spec/handlers/attribute_handler_spec.rb +94 -0
  684. data/vendor/bundle/gems/yard-0.8.6.1/spec/handlers/base_spec.rb +206 -0
  685. data/vendor/bundle/gems/yard-0.8.6.1/spec/handlers/c/alias_handler_spec.rb +33 -0
  686. data/vendor/bundle/gems/yard-0.8.6.1/spec/handlers/c/attribute_handler_spec.rb +40 -0
  687. data/vendor/bundle/gems/yard-0.8.6.1/spec/handlers/c/class_handler_spec.rb +63 -0
  688. data/vendor/bundle/gems/yard-0.8.6.1/spec/handlers/c/constant_handler_spec.rb +68 -0
  689. data/vendor/bundle/gems/yard-0.8.6.1/spec/handlers/c/init_handler_spec.rb +47 -0
  690. data/vendor/bundle/gems/yard-0.8.6.1/spec/handlers/c/method_handler_spec.rb +229 -0
  691. data/vendor/bundle/gems/yard-0.8.6.1/spec/handlers/c/mixin_handler_spec.rb +27 -0
  692. data/vendor/bundle/gems/yard-0.8.6.1/spec/handlers/c/module_handler_spec.rb +38 -0
  693. data/vendor/bundle/gems/yard-0.8.6.1/spec/handlers/c/override_comment_handler_spec.rb +46 -0
  694. data/vendor/bundle/gems/yard-0.8.6.1/spec/handlers/c/path_handler_spec.rb +35 -0
  695. data/vendor/bundle/gems/yard-0.8.6.1/spec/handlers/c/spec_helper.rb +13 -0
  696. data/vendor/bundle/gems/yard-0.8.6.1/spec/handlers/c/struct_handler_spec.rb +15 -0
  697. data/vendor/bundle/gems/yard-0.8.6.1/spec/handlers/class_condition_handler_spec.rb +67 -0
  698. data/vendor/bundle/gems/yard-0.8.6.1/spec/handlers/class_handler_spec.rb +246 -0
  699. data/vendor/bundle/gems/yard-0.8.6.1/spec/handlers/class_variable_handler_spec.rb +11 -0
  700. data/vendor/bundle/gems/yard-0.8.6.1/spec/handlers/constant_handler_spec.rb +64 -0
  701. data/vendor/bundle/gems/yard-0.8.6.1/spec/handlers/dsl_handler_spec.rb +197 -0
  702. data/vendor/bundle/gems/yard-0.8.6.1/spec/handlers/examples/alias_handler_001.rb.txt +44 -0
  703. data/vendor/bundle/gems/yard-0.8.6.1/spec/handlers/examples/attribute_handler_001.rb.txt +32 -0
  704. data/vendor/bundle/gems/yard-0.8.6.1/spec/handlers/examples/class_condition_handler_001.rb.txt +69 -0
  705. data/vendor/bundle/gems/yard-0.8.6.1/spec/handlers/examples/class_handler_001.rb.txt +120 -0
  706. data/vendor/bundle/gems/yard-0.8.6.1/spec/handlers/examples/class_variable_handler_001.rb.txt +10 -0
  707. data/vendor/bundle/gems/yard-0.8.6.1/spec/handlers/examples/constant_handler_001.rb.txt +25 -0
  708. data/vendor/bundle/gems/yard-0.8.6.1/spec/handlers/examples/dsl_handler_001.rb.txt +125 -0
  709. data/vendor/bundle/gems/yard-0.8.6.1/spec/handlers/examples/exception_handler_001.rb.txt +59 -0
  710. data/vendor/bundle/gems/yard-0.8.6.1/spec/handlers/examples/extend_handler_001.rb.txt +16 -0
  711. data/vendor/bundle/gems/yard-0.8.6.1/spec/handlers/examples/method_condition_handler_001.rb.txt +10 -0
  712. data/vendor/bundle/gems/yard-0.8.6.1/spec/handlers/examples/method_handler_001.rb.txt +126 -0
  713. data/vendor/bundle/gems/yard-0.8.6.1/spec/handlers/examples/mixin_handler_001.rb.txt +37 -0
  714. data/vendor/bundle/gems/yard-0.8.6.1/spec/handlers/examples/module_handler_001.rb.txt +29 -0
  715. data/vendor/bundle/gems/yard-0.8.6.1/spec/handlers/examples/private_constant_handler_001.rb.txt +8 -0
  716. data/vendor/bundle/gems/yard-0.8.6.1/spec/handlers/examples/process_handler_001.rb.txt +11 -0
  717. data/vendor/bundle/gems/yard-0.8.6.1/spec/handlers/examples/visibility_handler_001.rb.txt +32 -0
  718. data/vendor/bundle/gems/yard-0.8.6.1/spec/handlers/examples/yield_handler_001.rb.txt +54 -0
  719. data/vendor/bundle/gems/yard-0.8.6.1/spec/handlers/exception_handler_spec.rb +48 -0
  720. data/vendor/bundle/gems/yard-0.8.6.1/spec/handlers/extend_handler_spec.rb +23 -0
  721. data/vendor/bundle/gems/yard-0.8.6.1/spec/handlers/legacy_base_spec.rb +128 -0
  722. data/vendor/bundle/gems/yard-0.8.6.1/spec/handlers/method_condition_handler_spec.rb +14 -0
  723. data/vendor/bundle/gems/yard-0.8.6.1/spec/handlers/method_handler_spec.rb +184 -0
  724. data/vendor/bundle/gems/yard-0.8.6.1/spec/handlers/mixin_handler_spec.rb +55 -0
  725. data/vendor/bundle/gems/yard-0.8.6.1/spec/handlers/module_function_handler_spec.rb +105 -0
  726. data/vendor/bundle/gems/yard-0.8.6.1/spec/handlers/module_handler_spec.rb +34 -0
  727. data/vendor/bundle/gems/yard-0.8.6.1/spec/handlers/private_constant_handler_spec.rb +24 -0
  728. data/vendor/bundle/gems/yard-0.8.6.1/spec/handlers/processor_spec.rb +34 -0
  729. data/vendor/bundle/gems/yard-0.8.6.1/spec/handlers/ruby/base_spec.rb +94 -0
  730. data/vendor/bundle/gems/yard-0.8.6.1/spec/handlers/ruby/legacy/base_spec.rb +82 -0
  731. data/vendor/bundle/gems/yard-0.8.6.1/spec/handlers/spec_helper.rb +33 -0
  732. data/vendor/bundle/gems/yard-0.8.6.1/spec/handlers/visibility_handler_spec.rb +39 -0
  733. data/vendor/bundle/gems/yard-0.8.6.1/spec/handlers/yield_handler_spec.rb +51 -0
  734. data/vendor/bundle/gems/yard-0.8.6.1/spec/i18n/locale_spec.rb +68 -0
  735. data/vendor/bundle/gems/yard-0.8.6.1/spec/i18n/message_spec.rb +52 -0
  736. data/vendor/bundle/gems/yard-0.8.6.1/spec/i18n/messages_spec.rb +67 -0
  737. data/vendor/bundle/gems/yard-0.8.6.1/spec/i18n/pot_generator_spec.rb +262 -0
  738. data/vendor/bundle/gems/yard-0.8.6.1/spec/i18n/text_spec.rb +180 -0
  739. data/vendor/bundle/gems/yard-0.8.6.1/spec/logging_spec.rb +35 -0
  740. data/vendor/bundle/gems/yard-0.8.6.1/spec/options_spec.rb +171 -0
  741. data/vendor/bundle/gems/yard-0.8.6.1/spec/parser/base_spec.rb +24 -0
  742. data/vendor/bundle/gems/yard-0.8.6.1/spec/parser/c_parser_spec.rb +166 -0
  743. data/vendor/bundle/gems/yard-0.8.6.1/spec/parser/examples/array.c.txt +3887 -0
  744. data/vendor/bundle/gems/yard-0.8.6.1/spec/parser/examples/example1.rb.txt +8 -0
  745. data/vendor/bundle/gems/yard-0.8.6.1/spec/parser/examples/extrafile.c.txt +8 -0
  746. data/vendor/bundle/gems/yard-0.8.6.1/spec/parser/examples/multifile.c.txt +6 -0
  747. data/vendor/bundle/gems/yard-0.8.6.1/spec/parser/examples/override.c.txt +424 -0
  748. data/vendor/bundle/gems/yard-0.8.6.1/spec/parser/examples/parse_in_order_001.rb.txt +2 -0
  749. data/vendor/bundle/gems/yard-0.8.6.1/spec/parser/examples/parse_in_order_002.rb.txt +2 -0
  750. data/vendor/bundle/gems/yard-0.8.6.1/spec/parser/examples/tag_handler_001.rb.txt +8 -0
  751. data/vendor/bundle/gems/yard-0.8.6.1/spec/parser/ruby/ast_node_spec.rb +33 -0
  752. data/vendor/bundle/gems/yard-0.8.6.1/spec/parser/ruby/legacy/statement_list_spec.rb +299 -0
  753. data/vendor/bundle/gems/yard-0.8.6.1/spec/parser/ruby/legacy/token_list_spec.rb +77 -0
  754. data/vendor/bundle/gems/yard-0.8.6.1/spec/parser/ruby/ruby_parser_spec.rb +334 -0
  755. data/vendor/bundle/gems/yard-0.8.6.1/spec/parser/source_parser_spec.rb +717 -0
  756. data/vendor/bundle/gems/yard-0.8.6.1/spec/parser/tag_parsing_spec.rb +18 -0
  757. data/vendor/bundle/gems/yard-0.8.6.1/spec/rake/yardoc_task_spec.rb +101 -0
  758. data/vendor/bundle/gems/yard-0.8.6.1/spec/registry_spec.rb +393 -0
  759. data/vendor/bundle/gems/yard-0.8.6.1/spec/registry_store_spec.rb +315 -0
  760. data/vendor/bundle/gems/yard-0.8.6.1/spec/rubygems/doc_manager_spec.rb +112 -0
  761. data/vendor/bundle/gems/yard-0.8.6.1/spec/serializers/data/serialized_yardoc/checksums +1 -0
  762. data/vendor/bundle/gems/yard-0.8.6.1/spec/serializers/data/serialized_yardoc/objects/Foo/bar_i.dat +0 -0
  763. data/vendor/bundle/gems/yard-0.8.6.1/spec/serializers/data/serialized_yardoc/objects/Foo/baz_i.dat +0 -0
  764. data/vendor/bundle/gems/yard-0.8.6.1/spec/serializers/data/serialized_yardoc/objects/Foo.dat +0 -0
  765. data/vendor/bundle/gems/yard-0.8.6.1/spec/serializers/data/serialized_yardoc/objects/root.dat +0 -0
  766. data/vendor/bundle/gems/yard-0.8.6.1/spec/serializers/data/serialized_yardoc/proxy_types +2 -0
  767. data/vendor/bundle/gems/yard-0.8.6.1/spec/serializers/file_system_serializer_spec.rb +124 -0
  768. data/vendor/bundle/gems/yard-0.8.6.1/spec/serializers/spec_helper.rb +2 -0
  769. data/vendor/bundle/gems/yard-0.8.6.1/spec/serializers/yardoc_serializer_spec.rb +46 -0
  770. data/vendor/bundle/gems/yard-0.8.6.1/spec/server/adapter_spec.rb +38 -0
  771. data/vendor/bundle/gems/yard-0.8.6.1/spec/server/commands/base_spec.rb +87 -0
  772. data/vendor/bundle/gems/yard-0.8.6.1/spec/server/commands/library_command_spec.rb +39 -0
  773. data/vendor/bundle/gems/yard-0.8.6.1/spec/server/commands/static_file_command_spec.rb +84 -0
  774. data/vendor/bundle/gems/yard-0.8.6.1/spec/server/doc_server_helper_spec.rb +53 -0
  775. data/vendor/bundle/gems/yard-0.8.6.1/spec/server/doc_server_serializer_spec.rb +45 -0
  776. data/vendor/bundle/gems/yard-0.8.6.1/spec/server/rack_adapter_spec.rb +20 -0
  777. data/vendor/bundle/gems/yard-0.8.6.1/spec/server/router_spec.rb +122 -0
  778. data/vendor/bundle/gems/yard-0.8.6.1/spec/server/spec_helper.rb +17 -0
  779. data/vendor/bundle/gems/yard-0.8.6.1/spec/server/static_caching_spec.rb +39 -0
  780. data/vendor/bundle/gems/yard-0.8.6.1/spec/server/webrick_servlet_spec.rb +20 -0
  781. data/vendor/bundle/gems/yard-0.8.6.1/spec/server_spec.rb +10 -0
  782. data/vendor/bundle/gems/yard-0.8.6.1/spec/spec_helper.rb +128 -0
  783. data/vendor/bundle/gems/yard-0.8.6.1/spec/tags/default_factory_spec.rb +152 -0
  784. data/vendor/bundle/gems/yard-0.8.6.1/spec/tags/default_tag_spec.rb +11 -0
  785. data/vendor/bundle/gems/yard-0.8.6.1/spec/tags/directives_spec.rb +436 -0
  786. data/vendor/bundle/gems/yard-0.8.6.1/spec/tags/library_spec.rb +34 -0
  787. data/vendor/bundle/gems/yard-0.8.6.1/spec/tags/overload_tag_spec.rb +53 -0
  788. data/vendor/bundle/gems/yard-0.8.6.1/spec/tags/ref_tag_list_spec.rb +53 -0
  789. data/vendor/bundle/gems/yard-0.8.6.1/spec/templates/class_spec.rb +44 -0
  790. data/vendor/bundle/gems/yard-0.8.6.1/spec/templates/constant_spec.rb +40 -0
  791. data/vendor/bundle/gems/yard-0.8.6.1/spec/templates/engine_spec.rb +121 -0
  792. data/vendor/bundle/gems/yard-0.8.6.1/spec/templates/examples/class001.html +280 -0
  793. data/vendor/bundle/gems/yard-0.8.6.1/spec/templates/examples/class001.txt +36 -0
  794. data/vendor/bundle/gems/yard-0.8.6.1/spec/templates/examples/class002.html +35 -0
  795. data/vendor/bundle/gems/yard-0.8.6.1/spec/templates/examples/constant001.txt +25 -0
  796. data/vendor/bundle/gems/yard-0.8.6.1/spec/templates/examples/constant002.txt +7 -0
  797. data/vendor/bundle/gems/yard-0.8.6.1/spec/templates/examples/constant003.txt +11 -0
  798. data/vendor/bundle/gems/yard-0.8.6.1/spec/templates/examples/method001.html +130 -0
  799. data/vendor/bundle/gems/yard-0.8.6.1/spec/templates/examples/method001.txt +35 -0
  800. data/vendor/bundle/gems/yard-0.8.6.1/spec/templates/examples/method002.html +86 -0
  801. data/vendor/bundle/gems/yard-0.8.6.1/spec/templates/examples/method002.txt +20 -0
  802. data/vendor/bundle/gems/yard-0.8.6.1/spec/templates/examples/method003.html +159 -0
  803. data/vendor/bundle/gems/yard-0.8.6.1/spec/templates/examples/method003.txt +45 -0
  804. data/vendor/bundle/gems/yard-0.8.6.1/spec/templates/examples/method004.html +44 -0
  805. data/vendor/bundle/gems/yard-0.8.6.1/spec/templates/examples/method004.txt +10 -0
  806. data/vendor/bundle/gems/yard-0.8.6.1/spec/templates/examples/method005.html +99 -0
  807. data/vendor/bundle/gems/yard-0.8.6.1/spec/templates/examples/method005.txt +33 -0
  808. data/vendor/bundle/gems/yard-0.8.6.1/spec/templates/examples/module001.dot +33 -0
  809. data/vendor/bundle/gems/yard-0.8.6.1/spec/templates/examples/module001.html +791 -0
  810. data/vendor/bundle/gems/yard-0.8.6.1/spec/templates/examples/module001.txt +33 -0
  811. data/vendor/bundle/gems/yard-0.8.6.1/spec/templates/examples/module002.html +318 -0
  812. data/vendor/bundle/gems/yard-0.8.6.1/spec/templates/examples/module003.html +185 -0
  813. data/vendor/bundle/gems/yard-0.8.6.1/spec/templates/examples/module004.html +387 -0
  814. data/vendor/bundle/gems/yard-0.8.6.1/spec/templates/examples/tag001.txt +82 -0
  815. data/vendor/bundle/gems/yard-0.8.6.1/spec/templates/helpers/base_helper_spec.rb +175 -0
  816. data/vendor/bundle/gems/yard-0.8.6.1/spec/templates/helpers/html_helper_spec.rb +612 -0
  817. data/vendor/bundle/gems/yard-0.8.6.1/spec/templates/helpers/html_syntax_highlight_helper_spec.rb +48 -0
  818. data/vendor/bundle/gems/yard-0.8.6.1/spec/templates/helpers/markup/rdoc_markup_spec.rb +84 -0
  819. data/vendor/bundle/gems/yard-0.8.6.1/spec/templates/helpers/markup_helper_spec.rb +135 -0
  820. data/vendor/bundle/gems/yard-0.8.6.1/spec/templates/helpers/method_helper_spec.rb +82 -0
  821. data/vendor/bundle/gems/yard-0.8.6.1/spec/templates/helpers/shared_signature_examples.rb +123 -0
  822. data/vendor/bundle/gems/yard-0.8.6.1/spec/templates/helpers/text_helper_spec.rb +44 -0
  823. data/vendor/bundle/gems/yard-0.8.6.1/spec/templates/method_spec.rb +102 -0
  824. data/vendor/bundle/gems/yard-0.8.6.1/spec/templates/module_spec.rb +181 -0
  825. data/vendor/bundle/gems/yard-0.8.6.1/spec/templates/onefile_spec.rb +64 -0
  826. data/vendor/bundle/gems/yard-0.8.6.1/spec/templates/section_spec.rb +146 -0
  827. data/vendor/bundle/gems/yard-0.8.6.1/spec/templates/spec_helper.rb +73 -0
  828. data/vendor/bundle/gems/yard-0.8.6.1/spec/templates/tag_spec.rb +51 -0
  829. data/vendor/bundle/gems/yard-0.8.6.1/spec/templates/template_spec.rb +409 -0
  830. data/vendor/bundle/gems/yard-0.8.6.1/spec/verifier_spec.rb +106 -0
  831. data/vendor/bundle/gems/yard-0.8.6.1/templates/default/class/dot/setup.rb +6 -0
  832. data/vendor/bundle/gems/yard-0.8.6.1/templates/default/class/dot/superklass.erb +3 -0
  833. data/vendor/bundle/gems/yard-0.8.6.1/templates/default/class/html/constructor_details.erb +8 -0
  834. data/vendor/bundle/gems/yard-0.8.6.1/templates/default/class/html/setup.rb +1 -0
  835. data/vendor/bundle/gems/yard-0.8.6.1/templates/default/class/html/subclasses.erb +4 -0
  836. data/vendor/bundle/gems/yard-0.8.6.1/templates/default/class/setup.rb +36 -0
  837. data/vendor/bundle/gems/yard-0.8.6.1/templates/default/class/text/setup.rb +11 -0
  838. data/vendor/bundle/gems/yard-0.8.6.1/templates/default/class/text/subclasses.erb +5 -0
  839. data/vendor/bundle/gems/yard-0.8.6.1/templates/default/constant/text/header.erb +11 -0
  840. data/vendor/bundle/gems/yard-0.8.6.1/templates/default/constant/text/setup.rb +3 -0
  841. data/vendor/bundle/gems/yard-0.8.6.1/templates/default/docstring/html/abstract.erb +4 -0
  842. data/vendor/bundle/gems/yard-0.8.6.1/templates/default/docstring/html/deprecated.erb +1 -0
  843. data/vendor/bundle/gems/yard-0.8.6.1/templates/default/docstring/html/index.erb +5 -0
  844. data/vendor/bundle/gems/yard-0.8.6.1/templates/default/docstring/html/note.erb +6 -0
  845. data/vendor/bundle/gems/yard-0.8.6.1/templates/default/docstring/html/private.erb +4 -0
  846. data/vendor/bundle/gems/yard-0.8.6.1/templates/default/docstring/html/returns_void.erb +1 -0
  847. data/vendor/bundle/gems/yard-0.8.6.1/templates/default/docstring/html/text.erb +1 -0
  848. data/vendor/bundle/gems/yard-0.8.6.1/templates/default/docstring/html/todo.erb +6 -0
  849. data/vendor/bundle/gems/yard-0.8.6.1/templates/default/docstring/setup.rb +49 -0
  850. data/vendor/bundle/gems/yard-0.8.6.1/templates/default/docstring/text/abstract.erb +2 -0
  851. data/vendor/bundle/gems/yard-0.8.6.1/templates/default/docstring/text/deprecated.erb +2 -0
  852. data/vendor/bundle/gems/yard-0.8.6.1/templates/default/docstring/text/index.erb +2 -0
  853. data/vendor/bundle/gems/yard-0.8.6.1/templates/default/docstring/text/note.erb +4 -0
  854. data/vendor/bundle/gems/yard-0.8.6.1/templates/default/docstring/text/private.erb +2 -0
  855. data/vendor/bundle/gems/yard-0.8.6.1/templates/default/docstring/text/returns_void.erb +1 -0
  856. data/vendor/bundle/gems/yard-0.8.6.1/templates/default/docstring/text/text.erb +1 -0
  857. data/vendor/bundle/gems/yard-0.8.6.1/templates/default/docstring/text/todo.erb +4 -0
  858. data/vendor/bundle/gems/yard-0.8.6.1/templates/default/fulldoc/html/css/common.css +1 -0
  859. data/vendor/bundle/gems/yard-0.8.6.1/templates/default/fulldoc/html/css/full_list.css +57 -0
  860. data/vendor/bundle/gems/yard-0.8.6.1/templates/default/fulldoc/html/css/style.css +338 -0
  861. data/vendor/bundle/gems/yard-0.8.6.1/templates/default/fulldoc/html/frames.erb +28 -0
  862. data/vendor/bundle/gems/yard-0.8.6.1/templates/default/fulldoc/html/full_list.erb +39 -0
  863. data/vendor/bundle/gems/yard-0.8.6.1/templates/default/fulldoc/html/full_list_class.erb +2 -0
  864. data/vendor/bundle/gems/yard-0.8.6.1/templates/default/fulldoc/html/full_list_file.erb +5 -0
  865. data/vendor/bundle/gems/yard-0.8.6.1/templates/default/fulldoc/html/full_list_method.erb +8 -0
  866. data/vendor/bundle/gems/yard-0.8.6.1/templates/default/fulldoc/html/js/app.js +214 -0
  867. data/vendor/bundle/gems/yard-0.8.6.1/templates/default/fulldoc/html/js/full_list.js +178 -0
  868. data/vendor/bundle/gems/yard-0.8.6.1/templates/default/fulldoc/html/js/jquery.js +4 -0
  869. data/vendor/bundle/gems/yard-0.8.6.1/templates/default/fulldoc/html/setup.rb +199 -0
  870. data/vendor/bundle/gems/yard-0.8.6.1/templates/default/layout/dot/header.erb +6 -0
  871. data/vendor/bundle/gems/yard-0.8.6.1/templates/default/layout/dot/setup.rb +14 -0
  872. data/vendor/bundle/gems/yard-0.8.6.1/templates/default/layout/html/breadcrumb.erb +13 -0
  873. data/vendor/bundle/gems/yard-0.8.6.1/templates/default/layout/html/files.erb +11 -0
  874. data/vendor/bundle/gems/yard-0.8.6.1/templates/default/layout/html/footer.erb +5 -0
  875. data/vendor/bundle/gems/yard-0.8.6.1/templates/default/layout/html/headers.erb +14 -0
  876. data/vendor/bundle/gems/yard-0.8.6.1/templates/default/layout/html/index.erb +2 -0
  877. data/vendor/bundle/gems/yard-0.8.6.1/templates/default/layout/html/layout.erb +20 -0
  878. data/vendor/bundle/gems/yard-0.8.6.1/templates/default/layout/html/listing.erb +4 -0
  879. data/vendor/bundle/gems/yard-0.8.6.1/templates/default/layout/html/objects.erb +32 -0
  880. data/vendor/bundle/gems/yard-0.8.6.1/templates/default/layout/html/script_setup.erb +5 -0
  881. data/vendor/bundle/gems/yard-0.8.6.1/templates/default/layout/html/search.erb +8 -0
  882. data/vendor/bundle/gems/yard-0.8.6.1/templates/default/layout/html/setup.rb +71 -0
  883. data/vendor/bundle/gems/yard-0.8.6.1/templates/default/method/html/header.erb +16 -0
  884. data/vendor/bundle/gems/yard-0.8.6.1/templates/default/method/setup.rb +3 -0
  885. data/vendor/bundle/gems/yard-0.8.6.1/templates/default/method/text/header.erb +1 -0
  886. data/vendor/bundle/gems/yard-0.8.6.1/templates/default/method_details/html/header.erb +3 -0
  887. data/vendor/bundle/gems/yard-0.8.6.1/templates/default/method_details/html/method_signature.erb +25 -0
  888. data/vendor/bundle/gems/yard-0.8.6.1/templates/default/method_details/html/source.erb +10 -0
  889. data/vendor/bundle/gems/yard-0.8.6.1/templates/default/method_details/setup.rb +10 -0
  890. data/vendor/bundle/gems/yard-0.8.6.1/templates/default/method_details/text/header.erb +10 -0
  891. data/vendor/bundle/gems/yard-0.8.6.1/templates/default/method_details/text/method_signature.erb +12 -0
  892. data/vendor/bundle/gems/yard-0.8.6.1/templates/default/method_details/text/setup.rb +10 -0
  893. data/vendor/bundle/gems/yard-0.8.6.1/templates/default/module/dot/child.erb +1 -0
  894. data/vendor/bundle/gems/yard-0.8.6.1/templates/default/module/dot/dependencies.erb +3 -0
  895. data/vendor/bundle/gems/yard-0.8.6.1/templates/default/module/dot/header.erb +6 -0
  896. data/vendor/bundle/gems/yard-0.8.6.1/templates/default/module/dot/info.erb +14 -0
  897. data/vendor/bundle/gems/yard-0.8.6.1/templates/default/module/dot/setup.rb +14 -0
  898. data/vendor/bundle/gems/yard-0.8.6.1/templates/default/module/html/attribute_details.erb +10 -0
  899. data/vendor/bundle/gems/yard-0.8.6.1/templates/default/module/html/attribute_summary.erb +8 -0
  900. data/vendor/bundle/gems/yard-0.8.6.1/templates/default/module/html/box_info.erb +37 -0
  901. data/vendor/bundle/gems/yard-0.8.6.1/templates/default/module/html/children.erb +8 -0
  902. data/vendor/bundle/gems/yard-0.8.6.1/templates/default/module/html/constant_summary.erb +13 -0
  903. data/vendor/bundle/gems/yard-0.8.6.1/templates/default/module/html/defines.erb +3 -0
  904. data/vendor/bundle/gems/yard-0.8.6.1/templates/default/module/html/header.erb +5 -0
  905. data/vendor/bundle/gems/yard-0.8.6.1/templates/default/module/html/inherited_attributes.erb +14 -0
  906. data/vendor/bundle/gems/yard-0.8.6.1/templates/default/module/html/inherited_constants.erb +8 -0
  907. data/vendor/bundle/gems/yard-0.8.6.1/templates/default/module/html/inherited_methods.erb +19 -0
  908. data/vendor/bundle/gems/yard-0.8.6.1/templates/default/module/html/item_summary.erb +40 -0
  909. data/vendor/bundle/gems/yard-0.8.6.1/templates/default/module/html/method_details_list.erb +9 -0
  910. data/vendor/bundle/gems/yard-0.8.6.1/templates/default/module/html/method_summary.erb +14 -0
  911. data/vendor/bundle/gems/yard-0.8.6.1/templates/default/module/html/methodmissing.erb +12 -0
  912. data/vendor/bundle/gems/yard-0.8.6.1/templates/default/module/html/pre_docstring.erb +1 -0
  913. data/vendor/bundle/gems/yard-0.8.6.1/templates/default/module/setup.rb +164 -0
  914. data/vendor/bundle/gems/yard-0.8.6.1/templates/default/module/text/children.erb +10 -0
  915. data/vendor/bundle/gems/yard-0.8.6.1/templates/default/module/text/class_meths_list.erb +8 -0
  916. data/vendor/bundle/gems/yard-0.8.6.1/templates/default/module/text/extends.erb +8 -0
  917. data/vendor/bundle/gems/yard-0.8.6.1/templates/default/module/text/header.erb +7 -0
  918. data/vendor/bundle/gems/yard-0.8.6.1/templates/default/module/text/includes.erb +8 -0
  919. data/vendor/bundle/gems/yard-0.8.6.1/templates/default/module/text/instance_meths_list.erb +8 -0
  920. data/vendor/bundle/gems/yard-0.8.6.1/templates/default/module/text/setup.rb +12 -0
  921. data/vendor/bundle/gems/yard-0.8.6.1/templates/default/onefile/html/files.erb +5 -0
  922. data/vendor/bundle/gems/yard-0.8.6.1/templates/default/onefile/html/headers.erb +6 -0
  923. data/vendor/bundle/gems/yard-0.8.6.1/templates/default/onefile/html/layout.erb +17 -0
  924. data/vendor/bundle/gems/yard-0.8.6.1/templates/default/onefile/html/readme.erb +3 -0
  925. data/vendor/bundle/gems/yard-0.8.6.1/templates/default/onefile/html/setup.rb +61 -0
  926. data/vendor/bundle/gems/yard-0.8.6.1/templates/default/root/dot/child.erb +3 -0
  927. data/vendor/bundle/gems/yard-0.8.6.1/templates/default/root/dot/setup.rb +5 -0
  928. data/vendor/bundle/gems/yard-0.8.6.1/templates/default/root/html/setup.rb +1 -0
  929. data/vendor/bundle/gems/yard-0.8.6.1/templates/default/tags/html/example.erb +11 -0
  930. data/vendor/bundle/gems/yard-0.8.6.1/templates/default/tags/html/index.erb +3 -0
  931. data/vendor/bundle/gems/yard-0.8.6.1/templates/default/tags/html/option.erb +24 -0
  932. data/vendor/bundle/gems/yard-0.8.6.1/templates/default/tags/html/overload.erb +14 -0
  933. data/vendor/bundle/gems/yard-0.8.6.1/templates/default/tags/html/see.erb +8 -0
  934. data/vendor/bundle/gems/yard-0.8.6.1/templates/default/tags/html/tag.erb +20 -0
  935. data/vendor/bundle/gems/yard-0.8.6.1/templates/default/tags/setup.rb +55 -0
  936. data/vendor/bundle/gems/yard-0.8.6.1/templates/default/tags/text/example.erb +12 -0
  937. data/vendor/bundle/gems/yard-0.8.6.1/templates/default/tags/text/index.erb +1 -0
  938. data/vendor/bundle/gems/yard-0.8.6.1/templates/default/tags/text/option.erb +20 -0
  939. data/vendor/bundle/gems/yard-0.8.6.1/templates/default/tags/text/overload.erb +19 -0
  940. data/vendor/bundle/gems/yard-0.8.6.1/templates/default/tags/text/see.erb +11 -0
  941. data/vendor/bundle/gems/yard-0.8.6.1/templates/default/tags/text/tag.erb +13 -0
  942. data/vendor/bundle/gems/yard-0.8.6.1/templates/guide/class/html/setup.rb +1 -0
  943. data/vendor/bundle/gems/yard-0.8.6.1/templates/guide/docstring/html/setup.rb +1 -0
  944. data/vendor/bundle/gems/yard-0.8.6.1/templates/guide/fulldoc/html/css/style.css +108 -0
  945. data/vendor/bundle/gems/yard-0.8.6.1/templates/guide/fulldoc/html/js/app.js +33 -0
  946. data/vendor/bundle/gems/yard-0.8.6.1/templates/guide/fulldoc/html/setup.rb +73 -0
  947. data/vendor/bundle/gems/yard-0.8.6.1/templates/guide/layout/html/layout.erb +81 -0
  948. data/vendor/bundle/gems/yard-0.8.6.1/templates/guide/layout/html/setup.rb +28 -0
  949. data/vendor/bundle/gems/yard-0.8.6.1/templates/guide/method/html/header.erb +18 -0
  950. data/vendor/bundle/gems/yard-0.8.6.1/templates/guide/method/html/setup.rb +21 -0
  951. data/vendor/bundle/gems/yard-0.8.6.1/templates/guide/module/html/header.erb +7 -0
  952. data/vendor/bundle/gems/yard-0.8.6.1/templates/guide/module/html/method_list.erb +5 -0
  953. data/vendor/bundle/gems/yard-0.8.6.1/templates/guide/module/html/setup.rb +26 -0
  954. data/vendor/bundle/gems/yard-0.8.6.1/templates/guide/onefile/html/files.erb +4 -0
  955. data/vendor/bundle/gems/yard-0.8.6.1/templates/guide/onefile/html/setup.rb +5 -0
  956. data/vendor/bundle/gems/yard-0.8.6.1/templates/guide/onefile/html/toc.erb +3 -0
  957. data/vendor/bundle/gems/yard-0.8.6.1/templates/guide/tags/html/setup.rb +8 -0
  958. data/vendor/bundle/gems/yard-0.8.6.1/yard.gemspec +25 -0
  959. data/vendor/bundle/specifications/highline-1.6.18.gemspec +21 -0
  960. data/vendor/bundle/specifications/mime-types-1.23.gemspec +67 -0
  961. data/vendor/bundle/specifications/minitest-4.7.4.gemspec +36 -0
  962. data/vendor/bundle/specifications/multi_json-1.7.3.gemspec +30 -0
  963. data/vendor/bundle/specifications/rdiscount-2.0.7.3.gemspec +21 -0
  964. data/vendor/bundle/specifications/shoulda-3.5.0.gemspec +50 -0
  965. data/vendor/bundle/specifications/shoulda-matchers-2.1.0.gemspec +57 -0
  966. data/vendor/bundle/specifications/tilt-1.4.1.gemspec +98 -0
  967. data/vendor/bundle/specifications/yard-0.8.6.1.gemspec +20 -0
  968. metadata +964 -2
@@ -0,0 +1,1860 @@
1
+ require 'pathname'
2
+ require 'minitest/metametameta'
3
+
4
+ module MyModule; end
5
+ class AnError < StandardError; include MyModule; end
6
+ class ImmutableString < String; def inspect; super.freeze; end; end
7
+
8
+ class TestMiniTestUnit < MetaMetaMetaTestCase
9
+ parallelize_me!
10
+
11
+ pwd = Pathname.new File.expand_path Dir.pwd
12
+ basedir = Pathname.new(File.expand_path "lib/minitest") + 'mini'
13
+ basedir = basedir.relative_path_from(pwd).to_s
14
+ MINITEST_BASE_DIR = basedir[/\A\./] ? basedir : "./#{basedir}"
15
+ BT_MIDDLE = ["#{MINITEST_BASE_DIR}/test.rb:161:in `each'",
16
+ "#{MINITEST_BASE_DIR}/test.rb:158:in `each'",
17
+ "#{MINITEST_BASE_DIR}/test.rb:139:in `run'",
18
+ "#{MINITEST_BASE_DIR}/test.rb:106:in `run'"]
19
+
20
+ def test_class_puke_with_assertion_failed
21
+ exception = MiniTest::Assertion.new "Oh no!"
22
+ exception.set_backtrace ["unhappy"]
23
+ assert_equal 'F', @tu.puke('SomeClass', 'method_name', exception)
24
+ assert_equal 1, @tu.failures
25
+ assert_match(/^Failure.*Oh no!/m, @tu.report.first)
26
+ assert_match("SomeClass#method_name [unhappy]", @tu.report.first)
27
+ end
28
+
29
+ def test_class_puke_with_assertion_failed_and_long_backtrace
30
+ bt = (["test/test_some_class.rb:615:in `method_name'",
31
+ "#{MINITEST_BASE_DIR}/unit.rb:140:in `assert_raises'",
32
+ "test/test_some_class.rb:615:in `each'",
33
+ "test/test_some_class.rb:614:in `test_method_name'",
34
+ "#{MINITEST_BASE_DIR}/test.rb:165:in `__send__'"] +
35
+ BT_MIDDLE +
36
+ ["#{MINITEST_BASE_DIR}/test.rb:29"])
37
+ bt = util_expand_bt bt
38
+
39
+ ex_location = util_expand_bt(["test/test_some_class.rb:615"]).first
40
+
41
+ exception = MiniTest::Assertion.new "Oh no!"
42
+ exception.set_backtrace bt
43
+ assert_equal 'F', @tu.puke('TestSomeClass', 'test_method_name', exception)
44
+ assert_equal 1, @tu.failures
45
+ assert_match(/^Failure.*Oh no!/m, @tu.report.first)
46
+ assert_match("TestSomeClass#test_method_name [#{ex_location}]", @tu.report.first)
47
+ end
48
+
49
+ def test_class_puke_with_assertion_failed_and_user_defined_assertions
50
+ bt = (["lib/test/my/util.rb:16:in `another_method_name'",
51
+ "#{MINITEST_BASE_DIR}/unit.rb:140:in `assert_raises'",
52
+ "lib/test/my/util.rb:15:in `block in assert_something'",
53
+ "lib/test/my/util.rb:14:in `each'",
54
+ "lib/test/my/util.rb:14:in `assert_something'",
55
+ "test/test_some_class.rb:615:in `each'",
56
+ "test/test_some_class.rb:614:in `test_method_name'",
57
+ "#{MINITEST_BASE_DIR}/test.rb:165:in `__send__'"] +
58
+ BT_MIDDLE +
59
+ ["#{MINITEST_BASE_DIR}/test.rb:29"])
60
+ bt = util_expand_bt bt
61
+
62
+ ex_location = util_expand_bt(["test/test_some_class.rb:615"]).first
63
+
64
+ exception = MiniTest::Assertion.new "Oh no!"
65
+ exception.set_backtrace bt
66
+ assert_equal 'F', @tu.puke('TestSomeClass', 'test_method_name', exception)
67
+ assert_equal 1, @tu.failures
68
+ assert_match(/^Failure.*Oh no!/m, @tu.report.first)
69
+ assert_match("TestSomeClass#test_method_name [#{ex_location}]", @tu.report.first)
70
+ end
71
+
72
+ def test_class_puke_with_failure_and_flunk_in_backtrace
73
+ exception = begin
74
+ MiniTest::Unit::TestCase.new('fake tc').flunk
75
+ rescue MiniTest::Assertion => failure
76
+ failure
77
+ end
78
+ assert_equal 'F', @tu.puke('SomeClass', 'method_name', exception)
79
+ refute @tu.report.any?{|line| line =~ /in .flunk/}
80
+ end
81
+
82
+ def test_class_puke_with_flunk_and_user_defined_assertions
83
+ bt = (["lib/test/my/util.rb:16:in `flunk'",
84
+ "#{MINITEST_BASE_DIR}/unit.rb:140:in `assert_raises'",
85
+ "lib/test/my/util.rb:15:in `block in assert_something'",
86
+ "lib/test/my/util.rb:14:in `each'",
87
+ "lib/test/my/util.rb:14:in `assert_something'",
88
+ "test/test_some_class.rb:615:in `each'",
89
+ "test/test_some_class.rb:614:in `test_method_name'",
90
+ "#{MINITEST_BASE_DIR}/test.rb:165:in `__send__'"] +
91
+ BT_MIDDLE +
92
+ ["#{MINITEST_BASE_DIR}/test.rb:29"])
93
+ bt = util_expand_bt bt
94
+
95
+ ex_location = util_expand_bt(["test/test_some_class.rb:615"]).first
96
+
97
+ exception = MiniTest::Assertion.new "Oh no!"
98
+ exception.set_backtrace bt
99
+ assert_equal 'F', @tu.puke('TestSomeClass', 'test_method_name', exception)
100
+ assert_equal 1, @tu.failures
101
+ assert_match(/^Failure.*Oh no!/m, @tu.report.first)
102
+ assert_match("TestSomeClass#test_method_name [#{ex_location}]", @tu.report.first)
103
+ end
104
+
105
+ def test_class_puke_with_non_failure_exception
106
+ exception = Exception.new("Oh no again!")
107
+ assert_equal 'E', @tu.puke('SomeClass', 'method_name', exception)
108
+ assert_equal 1, @tu.errors
109
+ assert_match(/^Exception.*Oh no again!/m, @tu.report.first)
110
+ end
111
+
112
+ def test_filter_backtrace
113
+ # this is a semi-lame mix of relative paths.
114
+ # I cheated by making the autotest parts not have ./
115
+ bt = (["lib/autotest.rb:571:in `add_exception'",
116
+ "test/test_autotest.rb:62:in `test_add_exception'",
117
+ "#{MINITEST_BASE_DIR}/test.rb:165:in `__send__'"] +
118
+ BT_MIDDLE +
119
+ ["#{MINITEST_BASE_DIR}/test.rb:29",
120
+ "test/test_autotest.rb:422"])
121
+ bt = util_expand_bt bt
122
+
123
+ ex = ["lib/autotest.rb:571:in `add_exception'",
124
+ "test/test_autotest.rb:62:in `test_add_exception'"]
125
+ ex = util_expand_bt ex
126
+
127
+ fu = MiniTest::filter_backtrace(bt)
128
+
129
+ assert_equal ex, fu
130
+ end
131
+
132
+ def test_filter_backtrace_all_unit
133
+ bt = (["#{MINITEST_BASE_DIR}/test.rb:165:in `__send__'"] +
134
+ BT_MIDDLE +
135
+ ["#{MINITEST_BASE_DIR}/test.rb:29"])
136
+ ex = bt.clone
137
+ fu = MiniTest::filter_backtrace(bt)
138
+ assert_equal ex, fu
139
+ end
140
+
141
+ def test_filter_backtrace_unit_starts
142
+ bt = (["#{MINITEST_BASE_DIR}/test.rb:165:in `__send__'"] +
143
+ BT_MIDDLE +
144
+ ["#{MINITEST_BASE_DIR}/mini/test.rb:29",
145
+ "-e:1"])
146
+
147
+ bt = util_expand_bt bt
148
+
149
+ ex = ["-e:1"]
150
+ fu = MiniTest::filter_backtrace bt
151
+ assert_equal ex, fu
152
+ end
153
+
154
+ def test_default_runner_is_minitest_unit
155
+ assert_instance_of MiniTest::Unit, MiniTest::Unit.runner
156
+ end
157
+
158
+
159
+ def test_passed_eh_teardown_good
160
+ test_class = Class.new MiniTest::Unit::TestCase do
161
+ def teardown; assert true; end
162
+ def test_omg; assert true; end
163
+ end
164
+
165
+ test = test_class.new :test_omg
166
+ test.run @tu
167
+ assert test.passed?
168
+ end
169
+
170
+ def test_passed_eh_teardown_skipped
171
+ test_class = Class.new MiniTest::Unit::TestCase do
172
+ def teardown; assert true; end
173
+ def test_omg; skip "bork"; end
174
+ end
175
+
176
+ test = test_class.new :test_omg
177
+ test.run @tu
178
+ assert test.passed?
179
+ end
180
+
181
+ def test_passed_eh_teardown_flunked
182
+ test_class = Class.new MiniTest::Unit::TestCase do
183
+ def teardown; flunk; end
184
+ def test_omg; assert true; end
185
+ end
186
+
187
+ test = test_class.new :test_omg
188
+ test.run @tu
189
+ refute test.passed?
190
+ end
191
+
192
+ def util_expand_bt bt
193
+ if RUBY_VERSION >= '1.9.0' then
194
+ bt.map { |f| (f =~ /^\./) ? File.expand_path(f) : f }
195
+ else
196
+ bt
197
+ end
198
+ end
199
+ end
200
+
201
+ class TestMiniTestUnitInherited < MetaMetaMetaTestCase
202
+ def with_overridden_include
203
+ Class.class_eval do
204
+ def inherited_with_hacks klass
205
+ throw :inherited_hook
206
+ end
207
+
208
+ alias inherited_without_hacks inherited
209
+ alias inherited inherited_with_hacks
210
+ alias IGNORE_ME! inherited # 1.8 bug. god I love venture bros
211
+ end
212
+
213
+ yield
214
+ ensure
215
+ Class.class_eval do
216
+ alias inherited inherited_without_hacks
217
+
218
+ undef_method :inherited_with_hacks
219
+ undef_method :inherited_without_hacks
220
+ end
221
+
222
+ refute_respond_to Class, :inherited_with_hacks
223
+ refute_respond_to Class, :inherited_without_hacks
224
+ end
225
+
226
+ def test_inherited_hook_plays_nice_with_others
227
+ with_overridden_include do
228
+ assert_throws :inherited_hook do
229
+ Class.new MiniTest::Unit::TestCase
230
+ end
231
+ end
232
+ end
233
+ end
234
+
235
+ class TestMiniTestRunner < MetaMetaMetaTestCase
236
+ # do not parallelize this suite... it just can't handle it.
237
+
238
+ def test_class_test_suites
239
+ @assertion_count = 0
240
+
241
+ tc = Class.new(MiniTest::Unit::TestCase)
242
+
243
+ assert_equal 1, MiniTest::Unit::TestCase.test_suites.size
244
+ assert_equal [tc], MiniTest::Unit::TestCase.test_suites
245
+ end
246
+
247
+ def test_run_test
248
+ Class.new MiniTest::Unit::TestCase do
249
+ attr_reader :foo
250
+
251
+ def run_test name
252
+ @foo = "hi mom!"
253
+ super
254
+ @foo = "okay"
255
+ end
256
+
257
+ def test_something
258
+ assert_equal "hi mom!", foo
259
+ end
260
+ end
261
+
262
+ expected = clean <<-EOM
263
+ .
264
+
265
+ Finished tests in 0.00
266
+
267
+ 1 tests, 1 assertions, 0 failures, 0 errors, 0 skips
268
+ EOM
269
+
270
+ assert_report expected
271
+ end
272
+
273
+ def test_run_error
274
+ Class.new MiniTest::Unit::TestCase do
275
+ def test_something
276
+ assert true
277
+ end
278
+
279
+ def test_error
280
+ raise "unhandled exception"
281
+ end
282
+ end
283
+
284
+ expected = clean <<-EOM
285
+ E.
286
+
287
+ Finished tests in 0.00
288
+
289
+ 1) Error:
290
+ #<Class:0xXXX>#test_error:
291
+ RuntimeError: unhandled exception
292
+ FILE:LINE:in \`test_error\'
293
+
294
+ 2 tests, 1 assertions, 0 failures, 1 errors, 0 skips
295
+ EOM
296
+
297
+ assert_report expected
298
+ end
299
+
300
+ def test_run_error_teardown
301
+ Class.new MiniTest::Unit::TestCase do
302
+ def test_something
303
+ assert true
304
+ end
305
+
306
+ def teardown
307
+ raise "unhandled exception"
308
+ end
309
+ end
310
+
311
+ expected = clean <<-EOM
312
+ E
313
+
314
+ Finished tests in 0.00
315
+
316
+ 1) Error:
317
+ #<Class:0xXXX>#test_something:
318
+ RuntimeError: unhandled exception
319
+ FILE:LINE:in \`teardown\'
320
+
321
+ 1 tests, 1 assertions, 0 failures, 1 errors, 0 skips
322
+ EOM
323
+
324
+ assert_report expected
325
+ end
326
+
327
+ def test_run_failing
328
+ Class.new MiniTest::Unit::TestCase do
329
+ def test_something
330
+ assert true
331
+ end
332
+
333
+ def test_failure
334
+ assert false
335
+ end
336
+ end
337
+
338
+ expected = clean <<-EOM
339
+ F.
340
+
341
+ Finished tests in 0.00
342
+
343
+ 1) Failure:
344
+ #<Class:0xXXX>#test_failure [FILE:LINE]:
345
+ Failed assertion, no message given.
346
+
347
+ 2 tests, 2 assertions, 1 failures, 0 errors, 0 skips
348
+ EOM
349
+
350
+ assert_report expected
351
+ end
352
+
353
+ def test_run_failing_filtered
354
+ Class.new MiniTest::Unit::TestCase do
355
+ def test_something
356
+ assert true
357
+ end
358
+
359
+ def test_failure
360
+ assert false
361
+ end
362
+ end
363
+
364
+ expected = clean <<-EOM
365
+ .
366
+
367
+ Finished tests in 0.00
368
+
369
+ 1 tests, 1 assertions, 0 failures, 0 errors, 0 skips
370
+ EOM
371
+
372
+ assert_report expected, %w[--name /some|thing/ --seed 42]
373
+ end
374
+
375
+ def assert_filtering name, expected, a = false
376
+ args = %W[--name #{name} --seed 42]
377
+
378
+ alpha = Class.new MiniTest::Unit::TestCase do
379
+ define_method :test_something do
380
+ assert a
381
+ end
382
+ end
383
+ Object.const_set(:Alpha, alpha)
384
+
385
+ beta = Class.new MiniTest::Unit::TestCase do
386
+ define_method :test_something do
387
+ assert true
388
+ end
389
+ end
390
+ Object.const_set(:Beta, beta)
391
+
392
+ assert_report expected, args
393
+ ensure
394
+ Object.send :remove_const, :Alpha
395
+ Object.send :remove_const, :Beta
396
+ end
397
+
398
+ def test_run_filtered_including_suite_name
399
+ expected = clean <<-EOM
400
+ .
401
+
402
+ Finished tests in 0.00
403
+
404
+ 1 tests, 1 assertions, 0 failures, 0 errors, 0 skips
405
+ EOM
406
+
407
+ assert_filtering "/Beta#test_something/", expected
408
+ end
409
+
410
+ def test_run_filtered_including_suite_name_string
411
+ expected = clean <<-EOM
412
+ .
413
+
414
+ Finished tests in 0.00
415
+
416
+ 1 tests, 1 assertions, 0 failures, 0 errors, 0 skips
417
+ EOM
418
+
419
+ assert_filtering "Beta#test_something", expected
420
+ end
421
+
422
+ def test_run_filtered_string_method_only
423
+ expected = clean <<-EOM
424
+ ..
425
+
426
+ Finished tests in 0.00
427
+
428
+ 2 tests, 2 assertions, 0 failures, 0 errors, 0 skips
429
+ EOM
430
+
431
+ assert_filtering "test_something", expected, :pass
432
+ end
433
+
434
+ def test_run_passing
435
+ Class.new MiniTest::Unit::TestCase do
436
+ def test_something
437
+ assert true
438
+ end
439
+ end
440
+
441
+ expected = clean <<-EOM
442
+ .
443
+
444
+ Finished tests in 0.00
445
+
446
+ 1 tests, 1 assertions, 0 failures, 0 errors, 0 skips
447
+ EOM
448
+
449
+ assert_report expected
450
+ end
451
+
452
+ def test_run_skip
453
+ Class.new MiniTest::Unit::TestCase do
454
+ def test_something
455
+ assert true
456
+ end
457
+
458
+ def test_skip
459
+ skip "not yet"
460
+ end
461
+ end
462
+
463
+ expected = clean <<-EOM
464
+ S.
465
+
466
+ Finished tests in 0.00
467
+
468
+ 2 tests, 1 assertions, 0 failures, 0 errors, 1 skips
469
+ EOM
470
+
471
+ assert_report expected
472
+ end
473
+
474
+ def test_run_skip_verbose
475
+ Class.new MiniTest::Unit::TestCase do
476
+ def test_something
477
+ assert true
478
+ end
479
+
480
+ def test_skip
481
+ skip "not yet"
482
+ end
483
+ end
484
+
485
+ expected = clean <<-EOM
486
+ #<Class:0xXXX>#test_skip = 0.00 s = S
487
+ #<Class:0xXXX>#test_something = 0.00 s = .
488
+
489
+
490
+ Finished tests in 0.00
491
+
492
+ 1) Skipped:
493
+ #<Class:0xXXX>#test_skip [FILE:LINE]:
494
+ not yet
495
+
496
+ 2 tests, 1 assertions, 0 failures, 0 errors, 1 skips
497
+ EOM
498
+
499
+ assert_report expected, %w[--seed 42 --verbose]
500
+ end
501
+
502
+ def test_run_with_other_runner
503
+ MiniTest::Unit.runner = Class.new MiniTest::Unit do
504
+ def _run_suite suite, type
505
+ suite.before_suite # Run once before each suite
506
+ super suite, type
507
+ end
508
+ end.new
509
+
510
+ Class.new MiniTest::Unit::TestCase do
511
+ def self.name; "wacky!" end
512
+
513
+ def self.before_suite
514
+ MiniTest::Unit.output.puts "Running #{self.name} tests"
515
+ @@foo = 1
516
+ end
517
+
518
+ def test_something
519
+ assert_equal 1, @@foo
520
+ end
521
+
522
+ def test_something_else
523
+ assert_equal 1, @@foo
524
+ end
525
+ end
526
+
527
+ expected = clean <<-EOM
528
+ Running wacky! tests
529
+ ..
530
+
531
+ Finished tests in 0.00
532
+
533
+ 2 tests, 2 assertions, 0 failures, 0 errors, 0 skips
534
+ EOM
535
+
536
+ assert_report expected
537
+ end
538
+
539
+ require 'monitor'
540
+
541
+ class Latch
542
+ def initialize count = 1
543
+ @count = count
544
+ @lock = Monitor.new
545
+ @cv = @lock.new_cond
546
+ end
547
+
548
+ def release
549
+ @lock.synchronize do
550
+ @count -= 1 if @count > 0
551
+ @cv.broadcast if @count == 0
552
+ end
553
+ end
554
+
555
+ def await
556
+ @lock.synchronize { @cv.wait_while { @count > 0 } }
557
+ end
558
+ end
559
+
560
+ def test_parallel_each_size
561
+ assert_equal 0, ParallelEach.new([]).size
562
+ end
563
+
564
+ def test_run_parallel
565
+ skip "I don't have ParallelEach debugged yet" if maglev?
566
+
567
+ test_count = 2
568
+ test_latch = Latch.new test_count
569
+ main_latch = Latch.new
570
+
571
+ thread = Thread.new {
572
+ Thread.current.abort_on_exception = true
573
+
574
+ # This latch waits until both test latches have been released. Both
575
+ # latches can't be released unless done in separate threads because
576
+ # `main_latch` keeps the test method from finishing.
577
+ test_latch.await
578
+ main_latch.release
579
+ }
580
+
581
+ Class.new MiniTest::Unit::TestCase do
582
+ parallelize_me!
583
+
584
+ test_count.times do |i|
585
+ define_method :"test_wait_on_main_thread_#{i}" do
586
+ test_latch.release
587
+
588
+ # This latch blocks until the "main thread" releases it. The main
589
+ # thread can't release this latch until both test latches have
590
+ # been released. This forces the latches to be released in separate
591
+ # threads.
592
+ main_latch.await
593
+ assert true
594
+ end
595
+ end
596
+ end
597
+
598
+ expected = clean <<-EOM
599
+ ..
600
+
601
+ Finished tests in 0.00
602
+
603
+ 2 tests, 2 assertions, 0 failures, 0 errors, 0 skips
604
+ EOM
605
+
606
+ assert_report expected
607
+ assert thread.join
608
+ end
609
+ end
610
+
611
+ class TestMiniTestUnitOrder < MetaMetaMetaTestCase
612
+ # do not parallelize this suite... it just can't handle it.
613
+
614
+ def test_before_setup
615
+ call_order = []
616
+ Class.new MiniTest::Unit::TestCase do
617
+ define_method :setup do
618
+ super()
619
+ call_order << :setup
620
+ end
621
+
622
+ define_method :before_setup do
623
+ call_order << :before_setup
624
+ end
625
+
626
+ def test_omg; assert true; end
627
+ end
628
+
629
+ with_output do
630
+ @tu.run %w[--seed 42]
631
+ end
632
+
633
+ expected = [:before_setup, :setup]
634
+ assert_equal expected, call_order
635
+ end
636
+
637
+ def test_after_teardown
638
+ call_order = []
639
+ Class.new MiniTest::Unit::TestCase do
640
+ define_method :teardown do
641
+ super()
642
+ call_order << :teardown
643
+ end
644
+
645
+ define_method :after_teardown do
646
+ call_order << :after_teardown
647
+ end
648
+
649
+ def test_omg; assert true; end
650
+ end
651
+
652
+ with_output do
653
+ @tu.run %w[--seed 42]
654
+ end
655
+
656
+ expected = [:teardown, :after_teardown]
657
+ assert_equal expected, call_order
658
+ end
659
+
660
+ def test_all_teardowns_are_guaranteed_to_run
661
+ call_order = []
662
+ Class.new MiniTest::Unit::TestCase do
663
+ define_method :after_teardown do
664
+ super()
665
+ call_order << :after_teardown
666
+ raise
667
+ end
668
+
669
+ define_method :teardown do
670
+ super()
671
+ call_order << :teardown
672
+ raise
673
+ end
674
+
675
+ define_method :before_teardown do
676
+ super()
677
+ call_order << :before_teardown
678
+ raise
679
+ end
680
+
681
+ def test_omg; assert true; end
682
+ end
683
+
684
+ with_output do
685
+ @tu.run %w[--seed 42]
686
+ end
687
+
688
+ expected = [:before_teardown, :teardown, :after_teardown]
689
+ assert_equal expected, call_order
690
+ end
691
+
692
+ def test_setup_and_teardown_survive_inheritance
693
+ call_order = []
694
+
695
+ parent = Class.new MiniTest::Unit::TestCase do
696
+ define_method :setup do
697
+ call_order << :setup_method
698
+ end
699
+
700
+ define_method :teardown do
701
+ call_order << :teardown_method
702
+ end
703
+
704
+ define_method :test_something do
705
+ call_order << :test
706
+ end
707
+ end
708
+
709
+ _ = Class.new parent
710
+
711
+ with_output do
712
+ @tu.run %w[--seed 42]
713
+ end
714
+
715
+ # Once for the parent class, once for the child
716
+ expected = [:setup_method, :test, :teardown_method] * 2
717
+
718
+ assert_equal expected, call_order
719
+ end
720
+ end
721
+
722
+ class TestMiniTestUnitTestCase < MiniTest::Unit::TestCase
723
+ # do not call parallelize_me! - teardown accesses @tc._assertions
724
+ # which is not threadsafe. Nearly every method in here is an
725
+ # assertion test so it isn't worth splitting it out further.
726
+
727
+ RUBY18 = ! defined? Encoding
728
+
729
+ def setup
730
+ super
731
+
732
+ MiniTest::Unit::TestCase.reset
733
+
734
+ @tc = MiniTest::Unit::TestCase.new 'fake tc'
735
+ @zomg = "zomg ponies!"
736
+ @assertion_count = 1
737
+ end
738
+
739
+ def teardown
740
+ assert_equal(@assertion_count, @tc._assertions,
741
+ "expected #{@assertion_count} assertions to be fired during the test, not #{@tc._assertions}") if @tc.passed?
742
+ end
743
+
744
+ def non_verbose
745
+ orig_verbose = $VERBOSE
746
+ $VERBOSE = false
747
+
748
+ yield
749
+ ensure
750
+ $VERBOSE = orig_verbose
751
+ end
752
+
753
+ def test_assert
754
+ @assertion_count = 2
755
+
756
+ @tc.assert_equal true, @tc.assert(true), "returns true on success"
757
+ end
758
+
759
+ def test_assert__triggered
760
+ util_assert_triggered "Failed assertion, no message given." do
761
+ @tc.assert false
762
+ end
763
+ end
764
+
765
+ def test_assert__triggered_message
766
+ util_assert_triggered @zomg do
767
+ @tc.assert false, @zomg
768
+ end
769
+ end
770
+
771
+ def test_assert_empty
772
+ @assertion_count = 2
773
+
774
+ @tc.assert_empty []
775
+ end
776
+
777
+ def test_assert_empty_triggered
778
+ @assertion_count = 2
779
+
780
+ util_assert_triggered "Expected [1] to be empty." do
781
+ @tc.assert_empty [1]
782
+ end
783
+ end
784
+
785
+ def test_assert_equal
786
+ @tc.assert_equal 1, 1
787
+ end
788
+
789
+ def test_assert_equal_different_collection_array_hex_invisible
790
+ object1 = Object.new
791
+ object2 = Object.new
792
+ msg = "No visible difference in the Array#inspect output.
793
+ You should look at the implementation of #== on Array or its members.
794
+ [#<Object:0xXXXXXX>]".gsub(/^ +/, "")
795
+ util_assert_triggered msg do
796
+ @tc.assert_equal [object1], [object2]
797
+ end
798
+ end
799
+
800
+ def test_assert_equal_different_collection_hash_hex_invisible
801
+ h1, h2 = {}, {}
802
+ h1[1] = Object.new
803
+ h2[1] = Object.new
804
+ msg = "No visible difference in the Hash#inspect output.
805
+ You should look at the implementation of #== on Hash or its members.
806
+ {1=>#<Object:0xXXXXXX>}".gsub(/^ +/, "")
807
+
808
+ util_assert_triggered msg do
809
+ @tc.assert_equal h1, h2
810
+ end
811
+ end
812
+
813
+ def test_assert_equal_different_diff_deactivated
814
+ skip "https://github.com/MagLev/maglev/issues/209" if maglev?
815
+
816
+ without_diff do
817
+ util_assert_triggered util_msg("haha" * 10, "blah" * 10) do
818
+ o1 = "haha" * 10
819
+ o2 = "blah" * 10
820
+
821
+ @tc.assert_equal o1, o2
822
+ end
823
+ end
824
+ end
825
+
826
+ def test_assert_equal_different_hex
827
+ c = Class.new do
828
+ def initialize s; @name = s; end
829
+ end
830
+
831
+ o1 = c.new "a"
832
+ o2 = c.new "b"
833
+ msg = "--- expected
834
+ +++ actual
835
+ @@ -1 +1 @@
836
+ -#<#<Class:0xXXXXXX>:0xXXXXXX @name=\"a\">
837
+ +#<#<Class:0xXXXXXX>:0xXXXXXX @name=\"b\">
838
+ ".gsub(/^ +/, "")
839
+
840
+ util_assert_triggered msg do
841
+ @tc.assert_equal o1, o2
842
+ end
843
+ end
844
+
845
+ def test_assert_equal_different_hex_invisible
846
+ o1 = Object.new
847
+ o2 = Object.new
848
+
849
+ msg = "No visible difference in the Object#inspect output.
850
+ You should look at the implementation of #== on Object or its members.
851
+ #<Object:0xXXXXXX>".gsub(/^ +/, "")
852
+
853
+ util_assert_triggered msg do
854
+ @tc.assert_equal o1, o2
855
+ end
856
+ end
857
+
858
+ def test_assert_equal_different_long
859
+ msg = "--- expected
860
+ +++ actual
861
+ @@ -1 +1 @@
862
+ -\"hahahahahahahahahahahahahahahahahahahaha\"
863
+ +\"blahblahblahblahblahblahblahblahblahblah\"
864
+ ".gsub(/^ +/, "")
865
+
866
+ util_assert_triggered msg do
867
+ o1 = "haha" * 10
868
+ o2 = "blah" * 10
869
+
870
+ @tc.assert_equal o1, o2
871
+ end
872
+ end
873
+
874
+ def test_assert_equal_different_long_invisible
875
+ msg = "No visible difference in the String#inspect output.
876
+ You should look at the implementation of #== on String or its members.
877
+ \"blahblahblahblahblahblahblahblahblahblah\"".gsub(/^ +/, "")
878
+
879
+ util_assert_triggered msg do
880
+ o1 = "blah" * 10
881
+ o2 = "blah" * 10
882
+ def o1.== o
883
+ false
884
+ end
885
+ @tc.assert_equal o1, o2
886
+ end
887
+ end
888
+
889
+ def test_assert_equal_different_long_msg
890
+ msg = "message.
891
+ --- expected
892
+ +++ actual
893
+ @@ -1 +1 @@
894
+ -\"hahahahahahahahahahahahahahahahahahahaha\"
895
+ +\"blahblahblahblahblahblahblahblahblahblah\"
896
+ ".gsub(/^ +/, "")
897
+
898
+ util_assert_triggered msg do
899
+ o1 = "haha" * 10
900
+ o2 = "blah" * 10
901
+ @tc.assert_equal o1, o2, "message"
902
+ end
903
+ end
904
+
905
+ def test_assert_equal_different_short
906
+ util_assert_triggered util_msg(1, 2) do
907
+ @tc.assert_equal 1, 2
908
+ end
909
+ end
910
+
911
+ def test_assert_equal_different_short_msg
912
+ util_assert_triggered util_msg(1, 2, "message") do
913
+ @tc.assert_equal 1, 2, "message"
914
+ end
915
+ end
916
+
917
+ def test_assert_equal_different_short_multiline
918
+ msg = "--- expected\n+++ actual\n@@ -1,2 +1,2 @@\n \"a\n-b\"\n+c\"\n"
919
+ util_assert_triggered msg do
920
+ @tc.assert_equal "a\nb", "a\nc"
921
+ end
922
+ end
923
+
924
+ def test_assert_in_delta
925
+ @tc.assert_in_delta 0.0, 1.0 / 1000, 0.1
926
+ end
927
+
928
+ def test_delta_consistency
929
+ @tc.assert_in_delta 0, 1, 1
930
+
931
+ util_assert_triggered "Expected |0 - 1| (1) to not be <= 1." do
932
+ @tc.refute_in_delta 0, 1, 1
933
+ end
934
+ end
935
+
936
+ def test_assert_in_delta_triggered
937
+ x = maglev? ? "9.999999xxxe-07" : "1.0e-06"
938
+ util_assert_triggered "Expected |0.0 - 0.001| (0.001) to be <= #{x}." do
939
+ @tc.assert_in_delta 0.0, 1.0 / 1000, 0.000001
940
+ end
941
+ end
942
+
943
+ def test_assert_in_epsilon
944
+ @assertion_count = 10
945
+
946
+ @tc.assert_in_epsilon 10000, 9991
947
+ @tc.assert_in_epsilon 9991, 10000
948
+ @tc.assert_in_epsilon 1.0, 1.001
949
+ @tc.assert_in_epsilon 1.001, 1.0
950
+
951
+ @tc.assert_in_epsilon 10000, 9999.1, 0.0001
952
+ @tc.assert_in_epsilon 9999.1, 10000, 0.0001
953
+ @tc.assert_in_epsilon 1.0, 1.0001, 0.0001
954
+ @tc.assert_in_epsilon 1.0001, 1.0, 0.0001
955
+
956
+ @tc.assert_in_epsilon(-1, -1)
957
+ @tc.assert_in_epsilon(-10000, -9991)
958
+ end
959
+
960
+ def test_epsilon_consistency
961
+ @tc.assert_in_epsilon 1.0, 1.001
962
+
963
+ msg = "Expected |1.0 - 1.001| (0.000999xxx) to not be <= 0.001."
964
+ util_assert_triggered msg do
965
+ @tc.refute_in_epsilon 1.0, 1.001
966
+ end
967
+ end
968
+
969
+ def test_assert_in_epsilon_triggered
970
+ util_assert_triggered 'Expected |10000 - 9990| (10) to be <= 9.99.' do
971
+ @tc.assert_in_epsilon 10000, 9990
972
+ end
973
+ end
974
+
975
+ def test_assert_in_epsilon_triggered_negative_case
976
+ x = (RUBY18 and not maglev?) ? "0.1" : "0.100000xxx"
977
+ y = maglev? ? "0.100000xxx" : "0.1"
978
+ util_assert_triggered "Expected |-1.1 - -1| (#{x}) to be <= #{y}." do
979
+ @tc.assert_in_epsilon(-1.1, -1, 0.1)
980
+ end
981
+ end
982
+
983
+ def test_assert_includes
984
+ @assertion_count = 2
985
+
986
+ @tc.assert_includes [true], true
987
+ end
988
+
989
+ def test_assert_includes_triggered
990
+ @assertion_count = 3
991
+
992
+ e = @tc.assert_raises MiniTest::Assertion do
993
+ @tc.assert_includes [true], false
994
+ end
995
+
996
+ expected = "Expected [true] to include false."
997
+ assert_equal expected, e.message
998
+ end
999
+
1000
+ def test_assert_instance_of
1001
+ @tc.assert_instance_of String, "blah"
1002
+ end
1003
+
1004
+ def test_assert_instance_of_triggered
1005
+ util_assert_triggered 'Expected "blah" to be an instance of Array, not String.' do
1006
+ @tc.assert_instance_of Array, "blah"
1007
+ end
1008
+ end
1009
+
1010
+ def test_assert_kind_of
1011
+ @tc.assert_kind_of String, "blah"
1012
+ end
1013
+
1014
+ def test_assert_kind_of_triggered
1015
+ util_assert_triggered 'Expected "blah" to be a kind of Array, not String.' do
1016
+ @tc.assert_kind_of Array, "blah"
1017
+ end
1018
+ end
1019
+
1020
+ def test_assert_match
1021
+ @assertion_count = 2
1022
+ @tc.assert_match(/\w+/, "blah blah blah")
1023
+ end
1024
+
1025
+ def test_assert_match_matcher_object
1026
+ @assertion_count = 2
1027
+
1028
+ pattern = Object.new
1029
+ def pattern.=~(other) true end
1030
+
1031
+ @tc.assert_match pattern, 5
1032
+ end
1033
+
1034
+ def test_assert_match_matchee_to_str
1035
+ @assertion_count = 2
1036
+
1037
+ obj = Object.new
1038
+ def obj.to_str; "blah" end
1039
+
1040
+ @tc.assert_match "blah", obj
1041
+ end
1042
+
1043
+ def test_assert_match_object_triggered
1044
+ @assertion_count = 2
1045
+
1046
+ pattern = Object.new
1047
+ def pattern.=~(other) false end
1048
+ def pattern.inspect; "[Object]" end
1049
+
1050
+ util_assert_triggered 'Expected [Object] to match 5.' do
1051
+ @tc.assert_match pattern, 5
1052
+ end
1053
+ end
1054
+
1055
+ def test_assert_match_triggered
1056
+ @assertion_count = 2
1057
+ util_assert_triggered 'Expected /\d+/ to match "blah blah blah".' do
1058
+ @tc.assert_match(/\d+/, "blah blah blah")
1059
+ end
1060
+ end
1061
+
1062
+ def test_assert_nil
1063
+ @tc.assert_nil nil
1064
+ end
1065
+
1066
+ def test_assert_nil_triggered
1067
+ util_assert_triggered 'Expected 42 to be nil.' do
1068
+ @tc.assert_nil 42
1069
+ end
1070
+ end
1071
+
1072
+ def test_assert_operator
1073
+ @tc.assert_operator 2, :>, 1
1074
+ end
1075
+
1076
+ def test_assert_operator_bad_object
1077
+ bad = Object.new
1078
+ def bad.==(other) true end
1079
+
1080
+ @tc.assert_operator bad, :equal?, bad
1081
+ end
1082
+
1083
+ def test_assert_operator_triggered
1084
+ util_assert_triggered "Expected 2 to be < 1." do
1085
+ @tc.assert_operator 2, :<, 1
1086
+ end
1087
+ end
1088
+
1089
+ def test_assert_output_both
1090
+ @assertion_count = 2
1091
+
1092
+ @tc.assert_output "yay", "blah" do
1093
+ print "yay"
1094
+ $stderr.print "blah"
1095
+ end
1096
+ end
1097
+
1098
+ def test_assert_output_both_regexps
1099
+ @assertion_count = 4
1100
+
1101
+ @tc.assert_output(/y.y/, /bl.h/) do
1102
+ print "yay"
1103
+ $stderr.print "blah"
1104
+ end
1105
+ end
1106
+
1107
+ def test_assert_output_err
1108
+ @tc.assert_output nil, "blah" do
1109
+ $stderr.print "blah"
1110
+ end
1111
+ end
1112
+
1113
+ def test_assert_output_neither
1114
+ @assertion_count = 0
1115
+
1116
+ @tc.assert_output do
1117
+ # do nothing
1118
+ end
1119
+ end
1120
+
1121
+ def test_assert_output_out
1122
+ @tc.assert_output "blah" do
1123
+ print "blah"
1124
+ end
1125
+ end
1126
+
1127
+ def test_assert_output_triggered_both
1128
+ util_assert_triggered util_msg("blah", "blah blah", "In stderr") do
1129
+ @tc.assert_output "yay", "blah" do
1130
+ print "boo"
1131
+ $stderr.print "blah blah"
1132
+ end
1133
+ end
1134
+ end
1135
+
1136
+ def test_assert_output_triggered_err
1137
+ util_assert_triggered util_msg("blah", "blah blah", "In stderr") do
1138
+ @tc.assert_output nil, "blah" do
1139
+ $stderr.print "blah blah"
1140
+ end
1141
+ end
1142
+ end
1143
+
1144
+ def test_assert_output_triggered_out
1145
+ util_assert_triggered util_msg("blah", "blah blah", "In stdout") do
1146
+ @tc.assert_output "blah" do
1147
+ print "blah blah"
1148
+ end
1149
+ end
1150
+ end
1151
+
1152
+ def test_assert_predicate
1153
+ @tc.assert_predicate "", :empty?
1154
+ end
1155
+
1156
+ def test_assert_predicate_triggered
1157
+ util_assert_triggered 'Expected "blah" to be empty?.' do
1158
+ @tc.assert_predicate "blah", :empty?
1159
+ end
1160
+ end
1161
+
1162
+ def test_assert_raises
1163
+ @tc.assert_raises RuntimeError do
1164
+ raise "blah"
1165
+ end
1166
+ end
1167
+
1168
+ def test_assert_raises_module
1169
+ @tc.assert_raises MyModule do
1170
+ raise AnError
1171
+ end
1172
+ end
1173
+
1174
+ ##
1175
+ # *sigh* This is quite an odd scenario, but it is from real (albeit
1176
+ # ugly) test code in ruby-core:
1177
+ #
1178
+ # http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=rev&revision=29259
1179
+
1180
+ def test_assert_raises_skip
1181
+ @assertion_count = 0
1182
+
1183
+ util_assert_triggered "skipped", MiniTest::Skip do
1184
+ @tc.assert_raises ArgumentError do
1185
+ begin
1186
+ raise "blah"
1187
+ rescue
1188
+ skip "skipped"
1189
+ end
1190
+ end
1191
+ end
1192
+ end
1193
+
1194
+ def test_assert_raises_triggered_different
1195
+ e = assert_raises MiniTest::Assertion do
1196
+ @tc.assert_raises RuntimeError do
1197
+ raise SyntaxError, "icky"
1198
+ end
1199
+ end
1200
+
1201
+ expected = clean <<-EOM.chomp
1202
+ [RuntimeError] exception expected, not
1203
+ Class: <SyntaxError>
1204
+ Message: <\"icky\">
1205
+ ---Backtrace---
1206
+ FILE:LINE:in \`test_assert_raises_triggered_different\'
1207
+ ---------------
1208
+ EOM
1209
+
1210
+ actual = e.message.gsub(/^.+:\d+/, 'FILE:LINE')
1211
+ actual.gsub!(/block \(\d+ levels\) in /, '') if RUBY_VERSION >= '1.9.0'
1212
+
1213
+ assert_equal expected, actual
1214
+ end
1215
+
1216
+ def test_assert_raises_triggered_different_msg
1217
+ e = assert_raises MiniTest::Assertion do
1218
+ @tc.assert_raises RuntimeError, "XXX" do
1219
+ raise SyntaxError, "icky"
1220
+ end
1221
+ end
1222
+
1223
+ expected = clean <<-EOM
1224
+ XXX.
1225
+ [RuntimeError] exception expected, not
1226
+ Class: <SyntaxError>
1227
+ Message: <\"icky\">
1228
+ ---Backtrace---
1229
+ FILE:LINE:in \`test_assert_raises_triggered_different_msg\'
1230
+ ---------------
1231
+ EOM
1232
+
1233
+ actual = e.message.gsub(/^.+:\d+/, 'FILE:LINE')
1234
+ actual.gsub!(/block \(\d+ levels\) in /, '') if RUBY_VERSION >= '1.9.0'
1235
+
1236
+ assert_equal expected.chomp, actual
1237
+ end
1238
+
1239
+ def test_assert_raises_triggered_none
1240
+ e = assert_raises MiniTest::Assertion do
1241
+ @tc.assert_raises MiniTest::Assertion do
1242
+ # do nothing
1243
+ end
1244
+ end
1245
+
1246
+ expected = "MiniTest::Assertion expected but nothing was raised."
1247
+
1248
+ assert_equal expected, e.message
1249
+ end
1250
+
1251
+ def test_assert_raises_triggered_none_msg
1252
+ e = assert_raises MiniTest::Assertion do
1253
+ @tc.assert_raises MiniTest::Assertion, "XXX" do
1254
+ # do nothing
1255
+ end
1256
+ end
1257
+
1258
+ expected = "XXX.\nMiniTest::Assertion expected but nothing was raised."
1259
+
1260
+ assert_equal expected, e.message
1261
+ end
1262
+
1263
+ def test_assert_raises_triggered_subclass
1264
+ e = assert_raises MiniTest::Assertion do
1265
+ @tc.assert_raises StandardError do
1266
+ raise AnError
1267
+ end
1268
+ end
1269
+
1270
+ expected = clean <<-EOM.chomp
1271
+ [StandardError] exception expected, not
1272
+ Class: <AnError>
1273
+ Message: <\"AnError\">
1274
+ ---Backtrace---
1275
+ FILE:LINE:in \`test_assert_raises_triggered_subclass\'
1276
+ ---------------
1277
+ EOM
1278
+
1279
+ actual = e.message.gsub(/^.+:\d+/, 'FILE:LINE')
1280
+ actual.gsub!(/block \(\d+ levels\) in /, '') if RUBY_VERSION >= '1.9.0'
1281
+
1282
+ assert_equal expected, actual
1283
+ end
1284
+
1285
+ def test_assert_respond_to
1286
+ @tc.assert_respond_to "blah", :empty?
1287
+ end
1288
+
1289
+ def test_assert_respond_to_triggered
1290
+ util_assert_triggered 'Expected "blah" (String) to respond to #rawr!.' do
1291
+ @tc.assert_respond_to "blah", :rawr!
1292
+ end
1293
+ end
1294
+
1295
+ def test_assert_same
1296
+ @assertion_count = 3
1297
+
1298
+ o = "blah"
1299
+ @tc.assert_same 1, 1
1300
+ @tc.assert_same :blah, :blah
1301
+ @tc.assert_same o, o
1302
+ end
1303
+
1304
+ def test_assert_same_triggered
1305
+ @assertion_count = 2
1306
+
1307
+ util_assert_triggered 'Expected 2 (oid=N) to be the same as 1 (oid=N).' do
1308
+ @tc.assert_same 1, 2
1309
+ end
1310
+
1311
+ s1 = "blah"
1312
+ s2 = "blah"
1313
+
1314
+ util_assert_triggered 'Expected "blah" (oid=N) to be the same as "blah" (oid=N).' do
1315
+ @tc.assert_same s1, s2
1316
+ end
1317
+ end
1318
+
1319
+ def test_assert_send
1320
+ @tc.assert_send [1, :<, 2]
1321
+ end
1322
+
1323
+ def test_assert_send_bad
1324
+ util_assert_triggered "Expected 1.>(*[2]) to return true." do
1325
+ @tc.assert_send [1, :>, 2]
1326
+ end
1327
+ end
1328
+
1329
+ def test_assert_silent
1330
+ @assertion_count = 2
1331
+
1332
+ @tc.assert_silent do
1333
+ # do nothing
1334
+ end
1335
+ end
1336
+
1337
+ def test_assert_silent_triggered_err
1338
+ util_assert_triggered util_msg("", "blah blah", "In stderr") do
1339
+ @tc.assert_silent do
1340
+ $stderr.print "blah blah"
1341
+ end
1342
+ end
1343
+ end
1344
+
1345
+ def test_assert_silent_triggered_out
1346
+ @assertion_count = 2
1347
+
1348
+ util_assert_triggered util_msg("", "blah blah", "In stdout") do
1349
+ @tc.assert_silent do
1350
+ print "blah blah"
1351
+ end
1352
+ end
1353
+ end
1354
+
1355
+ def test_assert_throws
1356
+ @tc.assert_throws :blah do
1357
+ throw :blah
1358
+ end
1359
+ end
1360
+
1361
+ def test_assert_throws_different
1362
+ util_assert_triggered 'Expected :blah to have been thrown, not :not_blah.' do
1363
+ @tc.assert_throws :blah do
1364
+ throw :not_blah
1365
+ end
1366
+ end
1367
+ end
1368
+
1369
+ def test_assert_throws_unthrown
1370
+ util_assert_triggered 'Expected :blah to have been thrown.' do
1371
+ @tc.assert_throws :blah do
1372
+ # do nothing
1373
+ end
1374
+ end
1375
+ end
1376
+
1377
+ def test_capture_io
1378
+ @assertion_count = 0
1379
+
1380
+ non_verbose do
1381
+ out, err = capture_io do
1382
+ puts 'hi'
1383
+ $stderr.puts 'bye!'
1384
+ end
1385
+
1386
+ assert_equal "hi\n", out
1387
+ assert_equal "bye!\n", err
1388
+ end
1389
+ end
1390
+
1391
+ def test_capture_subprocess_io
1392
+ @assertion_count = 0
1393
+ skip "Dunno why but the parallel run of this fails"
1394
+
1395
+ non_verbose do
1396
+ out, err = capture_subprocess_io do
1397
+ system("echo 'hi'")
1398
+ system("echo 'bye!' 1>&2")
1399
+ end
1400
+
1401
+ assert_equal "hi\n", out
1402
+ assert_equal "bye!\n", err
1403
+ end
1404
+ end
1405
+
1406
+ def test_class_asserts_match_refutes
1407
+ @assertion_count = 0
1408
+
1409
+ methods = MiniTest::Assertions.public_instance_methods
1410
+ methods.map! { |m| m.to_s } if Symbol === methods.first
1411
+
1412
+ # These don't have corresponding refutes _on purpose_. They're
1413
+ # useless and will never be added, so don't bother.
1414
+ ignores = %w[assert_output assert_raises assert_send
1415
+ assert_silent assert_throws]
1416
+
1417
+ # These are test/unit methods. I'm not actually sure why they're still here
1418
+ ignores += %w[assert_no_match assert_not_equal assert_not_nil
1419
+ assert_not_same assert_nothing_raised
1420
+ assert_nothing_thrown assert_raise]
1421
+
1422
+ asserts = methods.grep(/^assert/).sort - ignores
1423
+ refutes = methods.grep(/^refute/).sort - ignores
1424
+
1425
+ assert_empty refutes.map { |n| n.sub(/^refute/, 'assert') } - asserts
1426
+ assert_empty asserts.map { |n| n.sub(/^assert/, 'refute') } - refutes
1427
+ end
1428
+
1429
+ def test_flunk
1430
+ util_assert_triggered 'Epic Fail!' do
1431
+ @tc.flunk
1432
+ end
1433
+ end
1434
+
1435
+ def test_flunk_message
1436
+ util_assert_triggered @zomg do
1437
+ @tc.flunk @zomg
1438
+ end
1439
+ end
1440
+
1441
+ def test_message
1442
+ @assertion_count = 0
1443
+
1444
+ assert_equal "blah2.", @tc.message { "blah2" }.call
1445
+ assert_equal "blah2.", @tc.message("") { "blah2" }.call
1446
+ assert_equal "blah1.\nblah2.", @tc.message(:blah1) { "blah2" }.call
1447
+ assert_equal "blah1.\nblah2.", @tc.message("blah1") { "blah2" }.call
1448
+
1449
+ message = proc { "blah1" }
1450
+ assert_equal "blah1.\nblah2.", @tc.message(message) { "blah2" }.call
1451
+
1452
+ message = @tc.message { "blah1" }
1453
+ assert_equal "blah1.\nblah2.", @tc.message(message) { "blah2" }.call
1454
+ end
1455
+
1456
+ def test_message_message
1457
+ util_assert_triggered "whoops.\nExpected: 1\n Actual: 2" do
1458
+ @tc.assert_equal 1, 2, message { "whoops" }
1459
+ end
1460
+ end
1461
+
1462
+ def test_message_lambda
1463
+ util_assert_triggered "whoops.\nExpected: 1\n Actual: 2" do
1464
+ @tc.assert_equal 1, 2, lambda { "whoops" }
1465
+ end
1466
+ end
1467
+
1468
+ def test_message_deferred
1469
+ @assertion_count, var = 0, nil
1470
+
1471
+ msg = message { var = "blah" }
1472
+
1473
+ assert_nil var
1474
+
1475
+ msg.call
1476
+
1477
+ assert_equal "blah", var
1478
+ end
1479
+
1480
+ def test_pass
1481
+ @tc.pass
1482
+ end
1483
+
1484
+ def test_prints
1485
+ printer = Class.new { extend MiniTest::Assertions }
1486
+ @tc.assert_equal '"test"', printer.mu_pp(ImmutableString.new 'test')
1487
+ end
1488
+
1489
+ def test_refute
1490
+ @assertion_count = 2
1491
+
1492
+ @tc.assert_equal false, @tc.refute(false), "returns false on success"
1493
+ end
1494
+
1495
+ def test_refute_empty
1496
+ @assertion_count = 2
1497
+
1498
+ @tc.refute_empty [1]
1499
+ end
1500
+
1501
+ def test_refute_empty_triggered
1502
+ @assertion_count = 2
1503
+
1504
+ util_assert_triggered "Expected [] to not be empty." do
1505
+ @tc.refute_empty []
1506
+ end
1507
+ end
1508
+
1509
+ def test_refute_equal
1510
+ @tc.refute_equal "blah", "yay"
1511
+ end
1512
+
1513
+ def test_refute_equal_triggered
1514
+ util_assert_triggered 'Expected "blah" to not be equal to "blah".' do
1515
+ @tc.refute_equal "blah", "blah"
1516
+ end
1517
+ end
1518
+
1519
+ def test_refute_in_delta
1520
+ @tc.refute_in_delta 0.0, 1.0 / 1000, 0.000001
1521
+ end
1522
+
1523
+ def test_refute_in_delta_triggered
1524
+ x = maglev? ? "0.100000xxx" : "0.1"
1525
+ util_assert_triggered "Expected |0.0 - 0.001| (0.001) to not be <= #{x}." do
1526
+ @tc.refute_in_delta 0.0, 1.0 / 1000, 0.1
1527
+ end
1528
+ end
1529
+
1530
+ def test_refute_in_epsilon
1531
+ @tc.refute_in_epsilon 10000, 9990-1
1532
+ end
1533
+
1534
+ def test_refute_in_epsilon_triggered
1535
+ util_assert_triggered 'Expected |10000 - 9990| (10) to not be <= 10.0.' do
1536
+ @tc.refute_in_epsilon 10000, 9990
1537
+ fail
1538
+ end
1539
+ end
1540
+
1541
+ def test_refute_includes
1542
+ @assertion_count = 2
1543
+
1544
+ @tc.refute_includes [true], false
1545
+ end
1546
+
1547
+ def test_refute_includes_triggered
1548
+ @assertion_count = 3
1549
+
1550
+ e = @tc.assert_raises MiniTest::Assertion do
1551
+ @tc.refute_includes [true], true
1552
+ end
1553
+
1554
+ expected = "Expected [true] to not include true."
1555
+ assert_equal expected, e.message
1556
+ end
1557
+
1558
+ def test_refute_instance_of
1559
+ @tc.refute_instance_of Array, "blah"
1560
+ end
1561
+
1562
+ def test_refute_instance_of_triggered
1563
+ util_assert_triggered 'Expected "blah" to not be an instance of String.' do
1564
+ @tc.refute_instance_of String, "blah"
1565
+ end
1566
+ end
1567
+
1568
+ def test_refute_kind_of
1569
+ @tc.refute_kind_of Array, "blah"
1570
+ end
1571
+
1572
+ def test_refute_kind_of_triggered
1573
+ util_assert_triggered 'Expected "blah" to not be a kind of String.' do
1574
+ @tc.refute_kind_of String, "blah"
1575
+ end
1576
+ end
1577
+
1578
+ def test_refute_match
1579
+ @assertion_count = 2
1580
+ @tc.refute_match(/\d+/, "blah blah blah")
1581
+ end
1582
+
1583
+ def test_refute_match_matcher_object
1584
+ @assertion_count = 2
1585
+ @tc.refute_match Object.new, 5 # default #=~ returns false
1586
+ end
1587
+
1588
+ def test_refute_match_object_triggered
1589
+ @assertion_count = 2
1590
+
1591
+ pattern = Object.new
1592
+ def pattern.=~(other) true end
1593
+ def pattern.inspect; "[Object]" end
1594
+
1595
+ util_assert_triggered 'Expected [Object] to not match 5.' do
1596
+ @tc.refute_match pattern, 5
1597
+ end
1598
+ end
1599
+
1600
+ def test_refute_match_triggered
1601
+ @assertion_count = 2
1602
+ util_assert_triggered 'Expected /\w+/ to not match "blah blah blah".' do
1603
+ @tc.refute_match(/\w+/, "blah blah blah")
1604
+ end
1605
+ end
1606
+
1607
+ def test_refute_nil
1608
+ @tc.refute_nil 42
1609
+ end
1610
+
1611
+ def test_refute_nil_triggered
1612
+ util_assert_triggered 'Expected nil to not be nil.' do
1613
+ @tc.refute_nil nil
1614
+ end
1615
+ end
1616
+
1617
+ def test_refute_predicate
1618
+ @tc.refute_predicate "42", :empty?
1619
+ end
1620
+
1621
+ def test_refute_predicate_triggered
1622
+ util_assert_triggered 'Expected "" to not be empty?.' do
1623
+ @tc.refute_predicate "", :empty?
1624
+ end
1625
+ end
1626
+
1627
+ def test_refute_operator
1628
+ @tc.refute_operator 2, :<, 1
1629
+ end
1630
+
1631
+ def test_refute_operator_bad_object
1632
+ bad = Object.new
1633
+ def bad.==(other) true end
1634
+
1635
+ @tc.refute_operator true, :equal?, bad
1636
+ end
1637
+
1638
+ def test_refute_operator_triggered
1639
+ util_assert_triggered "Expected 2 to not be > 1." do
1640
+ @tc.refute_operator 2, :>, 1
1641
+ end
1642
+ end
1643
+
1644
+ def test_refute_respond_to
1645
+ @tc.refute_respond_to "blah", :rawr!
1646
+ end
1647
+
1648
+ def test_refute_respond_to_triggered
1649
+ util_assert_triggered 'Expected "blah" to not respond to empty?.' do
1650
+ @tc.refute_respond_to "blah", :empty?
1651
+ end
1652
+ end
1653
+
1654
+ def test_refute_same
1655
+ @tc.refute_same 1, 2
1656
+ end
1657
+
1658
+ def test_refute_same_triggered
1659
+ util_assert_triggered 'Expected 1 (oid=N) to not be the same as 1 (oid=N).' do
1660
+ @tc.refute_same 1, 1
1661
+ end
1662
+ end
1663
+
1664
+ def test_skip
1665
+ @assertion_count = 0
1666
+
1667
+ util_assert_triggered "haha!", MiniTest::Skip do
1668
+ @tc.skip "haha!"
1669
+ end
1670
+ end
1671
+
1672
+ def test_test_methods_random
1673
+ @assertion_count = 0
1674
+
1675
+ sample_test_case = Class.new MiniTest::Unit::TestCase do
1676
+ def self.test_order; :random; end
1677
+ def test_test1; assert "does not matter" end
1678
+ def test_test2; assert "does not matter" end
1679
+ def test_test3; assert "does not matter" end
1680
+ end
1681
+
1682
+ srand 42
1683
+ expected = case
1684
+ when maglev? then
1685
+ %w(test_test2 test_test3 test_test1)
1686
+ else
1687
+ %w(test_test2 test_test1 test_test3)
1688
+ end
1689
+ assert_equal expected, sample_test_case.test_methods
1690
+ end
1691
+
1692
+ def test_test_methods_sorted
1693
+ @assertion_count = 0
1694
+
1695
+ sample_test_case = Class.new MiniTest::Unit::TestCase do
1696
+ def self.test_order; :sorted end
1697
+ def test_test3; assert "does not matter" end
1698
+ def test_test2; assert "does not matter" end
1699
+ def test_test1; assert "does not matter" end
1700
+ end
1701
+
1702
+ expected = %w(test_test1 test_test2 test_test3)
1703
+ assert_equal expected, sample_test_case.test_methods
1704
+ end
1705
+
1706
+ def test_i_suck_and_my_tests_are_order_dependent_bang_sets_test_order_alpha
1707
+ @assertion_count = 0
1708
+
1709
+ shitty_test_case = Class.new MiniTest::Unit::TestCase
1710
+
1711
+ shitty_test_case.i_suck_and_my_tests_are_order_dependent!
1712
+
1713
+ assert_equal :alpha, shitty_test_case.test_order
1714
+ end
1715
+
1716
+ def test_i_suck_and_my_tests_are_order_dependent_bang_does_not_warn
1717
+ @assertion_count = 0
1718
+
1719
+ shitty_test_case = Class.new MiniTest::Unit::TestCase
1720
+
1721
+ def shitty_test_case.test_order ; :lol end
1722
+
1723
+ assert_silent do
1724
+ shitty_test_case.i_suck_and_my_tests_are_order_dependent!
1725
+ end
1726
+ end
1727
+
1728
+ def util_assert_triggered expected, klass = MiniTest::Assertion
1729
+ e = assert_raises klass do
1730
+ yield
1731
+ end
1732
+
1733
+ msg = e.message.sub(/(---Backtrace---).*/m, '\1')
1734
+ msg.gsub!(/\(oid=[-0-9]+\)/, '(oid=N)')
1735
+ msg.gsub!(/(\d\.\d{6})\d+/, '\1xxx') # normalize: ruby version, impl, platform
1736
+
1737
+ assert_equal expected, msg
1738
+ end
1739
+
1740
+ def util_msg exp, act, msg = nil
1741
+ s = "Expected: #{exp.inspect}\n Actual: #{act.inspect}"
1742
+ s = "#{msg}.\n#{s}" if msg
1743
+ s
1744
+ end
1745
+
1746
+ def without_diff
1747
+ old_diff = MiniTest::Assertions.diff
1748
+ MiniTest::Assertions.diff = nil
1749
+
1750
+ yield
1751
+ ensure
1752
+ MiniTest::Assertions.diff = old_diff
1753
+ end
1754
+ end
1755
+
1756
+ class TestMiniTestGuard < MiniTest::Unit::TestCase
1757
+ parallelize_me!
1758
+
1759
+ def test_mri_eh
1760
+ assert self.class.mri? "ruby blah"
1761
+ assert self.mri? "ruby blah"
1762
+ end
1763
+
1764
+ def test_jruby_eh
1765
+ assert self.class.jruby? "java"
1766
+ assert self.jruby? "java"
1767
+ end
1768
+
1769
+ def test_rubinius_eh
1770
+ assert self.class.rubinius? "rbx"
1771
+ assert self.rubinius? "rbx"
1772
+ end
1773
+
1774
+ def test_windows_eh
1775
+ assert self.class.windows? "mswin"
1776
+ assert self.windows? "mswin"
1777
+ end
1778
+ end
1779
+
1780
+ class TestMiniTestUnitRecording < MetaMetaMetaTestCase
1781
+ # do not parallelize this suite... it just can't handle it.
1782
+
1783
+ def assert_run_record(*expected, &block)
1784
+ def @tu.record suite, method, assertions, time, error
1785
+ recording[method] << error
1786
+ end
1787
+
1788
+ def @tu.recording
1789
+ @recording ||= Hash.new { |h,k| h[k] = [] }
1790
+ end
1791
+
1792
+ MiniTest::Unit.runner = @tu
1793
+
1794
+ Class.new MiniTest::Unit::TestCase, &block
1795
+
1796
+ with_output do
1797
+ @tu.run
1798
+ end
1799
+
1800
+ recorded = @tu.recording.fetch("test_method").map(&:class)
1801
+
1802
+ assert_equal expected, recorded
1803
+ end
1804
+
1805
+ def test_record_passing
1806
+ assert_run_record NilClass do
1807
+ def test_method
1808
+ assert true
1809
+ end
1810
+ end
1811
+ end
1812
+
1813
+ def test_record_failing
1814
+ assert_run_record MiniTest::Assertion do
1815
+ def test_method
1816
+ assert false
1817
+ end
1818
+ end
1819
+ end
1820
+
1821
+ def test_record_error
1822
+ assert_run_record RuntimeError do
1823
+ def test_method
1824
+ raise "unhandled exception"
1825
+ end
1826
+ end
1827
+ end
1828
+
1829
+ def test_record_error_teardown
1830
+ assert_run_record NilClass, RuntimeError do
1831
+ def test_method
1832
+ assert true
1833
+ end
1834
+
1835
+ def teardown
1836
+ raise "unhandled exception"
1837
+ end
1838
+ end
1839
+ end
1840
+
1841
+ def test_record_error_in_test_and_teardown
1842
+ assert_run_record AnError, RuntimeError do
1843
+ def test_method
1844
+ raise AnError
1845
+ end
1846
+
1847
+ def teardown
1848
+ raise "unhandled exception"
1849
+ end
1850
+ end
1851
+ end
1852
+
1853
+ def test_record_skip
1854
+ assert_run_record MiniTest::Skip do
1855
+ def test_method
1856
+ skip "not yet"
1857
+ end
1858
+ end
1859
+ end
1860
+ end