lgrgic_palindrome_detector 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (376) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +8 -0
  3. data/.travis.yml +7 -0
  4. data/Gemfile +8 -0
  5. data/Gemfile.lock +31 -0
  6. data/README.md +39 -0
  7. data/Rakefile +10 -0
  8. data/bin/console +14 -0
  9. data/bin/setup +8 -0
  10. data/lgrgic_palindrome_detector.gemspec +37 -0
  11. data/lib/lgrgic_palindrome_detector.rb +16 -0
  12. data/lib/lgrgic_palindrome_detector/version.rb +3 -0
  13. data/vendor/cache/ansi-1.5.0.gem +0 -0
  14. data/vendor/cache/bin/rake +27 -0
  15. data/vendor/cache/builder-3.2.3.gem +0 -0
  16. data/vendor/cache/cache/ansi-1.5.0.gem +0 -0
  17. data/vendor/cache/cache/builder-3.2.3.gem +0 -0
  18. data/vendor/cache/cache/minitest-5.11.3.gem +0 -0
  19. data/vendor/cache/cache/minitest-reporters-1.2.0.gem +0 -0
  20. data/vendor/cache/cache/rake-10.5.0.gem +0 -0
  21. data/vendor/cache/cache/ruby-progressbar-1.10.0.gem +0 -0
  22. data/vendor/cache/gems/ansi-1.5.0/.index +77 -0
  23. data/vendor/cache/gems/ansi-1.5.0/.yardopts +8 -0
  24. data/vendor/cache/gems/ansi-1.5.0/DEMO.md +451 -0
  25. data/vendor/cache/gems/ansi-1.5.0/HISTORY.md +217 -0
  26. data/vendor/cache/gems/ansi-1.5.0/LICENSE.txt +23 -0
  27. data/vendor/cache/gems/ansi-1.5.0/NOTICE.md +170 -0
  28. data/vendor/cache/gems/ansi-1.5.0/README.md +91 -0
  29. data/vendor/cache/gems/ansi-1.5.0/demo/01_ansicode.md +65 -0
  30. data/vendor/cache/gems/ansi-1.5.0/demo/02_core.md +11 -0
  31. data/vendor/cache/gems/ansi-1.5.0/demo/03_logger.md +30 -0
  32. data/vendor/cache/gems/ansi-1.5.0/demo/04_progressbar.md +62 -0
  33. data/vendor/cache/gems/ansi-1.5.0/demo/05_mixin.md +37 -0
  34. data/vendor/cache/gems/ansi-1.5.0/demo/06_string.md +56 -0
  35. data/vendor/cache/gems/ansi-1.5.0/demo/07_columns.md +89 -0
  36. data/vendor/cache/gems/ansi-1.5.0/demo/08_table.md +28 -0
  37. data/vendor/cache/gems/ansi-1.5.0/demo/09_diff.md +47 -0
  38. data/vendor/cache/gems/ansi-1.5.0/demo/10_bbcode.md +24 -0
  39. data/vendor/cache/gems/ansi-1.5.0/demo/11_terminal.md +8 -0
  40. data/vendor/cache/gems/ansi-1.5.0/demo/applique/ae.rb +1 -0
  41. data/vendor/cache/gems/ansi-1.5.0/demo/applique/output.rb +5 -0
  42. data/vendor/cache/gems/ansi-1.5.0/lib/ansi.rb +22 -0
  43. data/vendor/cache/gems/ansi-1.5.0/lib/ansi.yml +77 -0
  44. data/vendor/cache/gems/ansi-1.5.0/lib/ansi/bbcode.rb +334 -0
  45. data/vendor/cache/gems/ansi-1.5.0/lib/ansi/chain.rb +50 -0
  46. data/vendor/cache/gems/ansi-1.5.0/lib/ansi/chart.rb +100 -0
  47. data/vendor/cache/gems/ansi-1.5.0/lib/ansi/code.rb +349 -0
  48. data/vendor/cache/gems/ansi-1.5.0/lib/ansi/columns.rb +197 -0
  49. data/vendor/cache/gems/ansi-1.5.0/lib/ansi/constants.rb +25 -0
  50. data/vendor/cache/gems/ansi-1.5.0/lib/ansi/core.rb +30 -0
  51. data/vendor/cache/gems/ansi-1.5.0/lib/ansi/diff.rb +215 -0
  52. data/vendor/cache/gems/ansi-1.5.0/lib/ansi/hexdump.rb +122 -0
  53. data/vendor/cache/gems/ansi-1.5.0/lib/ansi/logger.rb +211 -0
  54. data/vendor/cache/gems/ansi-1.5.0/lib/ansi/mixin.rb +121 -0
  55. data/vendor/cache/gems/ansi-1.5.0/lib/ansi/progressbar.rb +292 -0
  56. data/vendor/cache/gems/ansi-1.5.0/lib/ansi/string.rb +254 -0
  57. data/vendor/cache/gems/ansi-1.5.0/lib/ansi/table.rb +179 -0
  58. data/vendor/cache/gems/ansi-1.5.0/lib/ansi/terminal.rb +44 -0
  59. data/vendor/cache/gems/ansi-1.5.0/lib/ansi/terminal/curses.rb +26 -0
  60. data/vendor/cache/gems/ansi-1.5.0/lib/ansi/terminal/stty.rb +62 -0
  61. data/vendor/cache/gems/ansi-1.5.0/lib/ansi/terminal/termios.rb +68 -0
  62. data/vendor/cache/gems/ansi-1.5.0/lib/ansi/terminal/win32.rb +107 -0
  63. data/vendor/cache/gems/ansi-1.5.0/lib/ansi/version.rb +15 -0
  64. data/vendor/cache/gems/ansi-1.5.0/test/case_ansicode.rb +43 -0
  65. data/vendor/cache/gems/ansi-1.5.0/test/case_bbcode.rb +35 -0
  66. data/vendor/cache/gems/ansi-1.5.0/test/case_mixin.rb +35 -0
  67. data/vendor/cache/gems/ansi-1.5.0/test/case_progressbar.rb +21 -0
  68. data/vendor/cache/gems/ansi-1.5.0/test/test_helper.rb +3 -0
  69. data/vendor/cache/gems/builder-3.2.3/CHANGES +107 -0
  70. data/vendor/cache/gems/builder-3.2.3/MIT-LICENSE +20 -0
  71. data/vendor/cache/gems/builder-3.2.3/README.md +258 -0
  72. data/vendor/cache/gems/builder-3.2.3/Rakefile +195 -0
  73. data/vendor/cache/gems/builder-3.2.3/doc/jamis.rb +591 -0
  74. data/vendor/cache/gems/builder-3.2.3/doc/releases/builder-1.2.4.rdoc +31 -0
  75. data/vendor/cache/gems/builder-3.2.3/doc/releases/builder-2.0.0.rdoc +46 -0
  76. data/vendor/cache/gems/builder-3.2.3/doc/releases/builder-2.1.1.rdoc +58 -0
  77. data/vendor/cache/gems/builder-3.2.3/lib/blankslate.rb +137 -0
  78. data/vendor/cache/gems/builder-3.2.3/lib/builder.rb +13 -0
  79. data/vendor/cache/gems/builder-3.2.3/lib/builder/blankslate.rb +23 -0
  80. data/vendor/cache/gems/builder-3.2.3/lib/builder/version.rb +8 -0
  81. data/vendor/cache/gems/builder-3.2.3/lib/builder/xchar.rb +197 -0
  82. data/vendor/cache/gems/builder-3.2.3/lib/builder/xmlbase.rb +199 -0
  83. data/vendor/cache/gems/builder-3.2.3/lib/builder/xmlevents.rb +63 -0
  84. data/vendor/cache/gems/builder-3.2.3/lib/builder/xmlmarkup.rb +339 -0
  85. data/vendor/cache/gems/builder-3.2.3/rakelib/publish.rake +20 -0
  86. data/vendor/cache/gems/builder-3.2.3/rakelib/tags.rake +62 -0
  87. data/vendor/cache/gems/builder-3.2.3/rakelib/testing.rake +7 -0
  88. data/vendor/cache/gems/builder-3.2.3/test/helper.rb +12 -0
  89. data/vendor/cache/gems/builder-3.2.3/test/performance.rb +41 -0
  90. data/vendor/cache/gems/builder-3.2.3/test/preload.rb +39 -0
  91. data/vendor/cache/gems/builder-3.2.3/test/test_blankslate.rb +213 -0
  92. data/vendor/cache/gems/builder-3.2.3/test/test_eventbuilder.rb +150 -0
  93. data/vendor/cache/gems/builder-3.2.3/test/test_markupbuilder.rb +611 -0
  94. data/vendor/cache/gems/builder-3.2.3/test/test_method_caching.rb +62 -0
  95. data/vendor/cache/gems/builder-3.2.3/test/test_namecollision.rb +39 -0
  96. data/vendor/cache/gems/builder-3.2.3/test/test_xchar.rb +78 -0
  97. data/vendor/cache/gems/minitest-5.11.3/.autotest +34 -0
  98. data/vendor/cache/gems/minitest-5.11.3/History.rdoc +1310 -0
  99. data/vendor/cache/gems/minitest-5.11.3/Manifest.txt +26 -0
  100. data/vendor/cache/gems/minitest-5.11.3/README.rdoc +746 -0
  101. data/vendor/cache/gems/minitest-5.11.3/Rakefile +86 -0
  102. data/vendor/cache/gems/minitest-5.11.3/design_rationale.rb +52 -0
  103. data/vendor/cache/gems/minitest-5.11.3/lib/hoe/minitest.rb +32 -0
  104. data/vendor/cache/gems/minitest-5.11.3/lib/minitest.rb +987 -0
  105. data/vendor/cache/gems/minitest-5.11.3/lib/minitest/assertions.rb +693 -0
  106. data/vendor/cache/gems/minitest-5.11.3/lib/minitest/autorun.rb +13 -0
  107. data/vendor/cache/gems/minitest-5.11.3/lib/minitest/benchmark.rb +455 -0
  108. data/vendor/cache/gems/minitest-5.11.3/lib/minitest/expectations.rb +284 -0
  109. data/vendor/cache/gems/minitest-5.11.3/lib/minitest/hell.rb +11 -0
  110. data/vendor/cache/gems/minitest-5.11.3/lib/minitest/mock.rb +240 -0
  111. data/vendor/cache/gems/minitest-5.11.3/lib/minitest/parallel.rb +70 -0
  112. data/vendor/cache/gems/minitest-5.11.3/lib/minitest/pride.rb +4 -0
  113. data/vendor/cache/gems/minitest-5.11.3/lib/minitest/pride_plugin.rb +142 -0
  114. data/vendor/cache/gems/minitest-5.11.3/lib/minitest/spec.rb +331 -0
  115. data/vendor/cache/gems/minitest-5.11.3/lib/minitest/test.rb +220 -0
  116. data/vendor/cache/gems/minitest-5.11.3/lib/minitest/unit.rb +45 -0
  117. data/vendor/cache/gems/minitest-5.11.3/test/minitest/metametameta.rb +102 -0
  118. data/vendor/cache/gems/minitest-5.11.3/test/minitest/test_minitest_benchmark.rb +137 -0
  119. data/vendor/cache/gems/minitest-5.11.3/test/minitest/test_minitest_mock.rb +874 -0
  120. data/vendor/cache/gems/minitest-5.11.3/test/minitest/test_minitest_reporter.rb +299 -0
  121. data/vendor/cache/gems/minitest-5.11.3/test/minitest/test_minitest_spec.rb +987 -0
  122. data/vendor/cache/gems/minitest-5.11.3/test/minitest/test_minitest_test.rb +2142 -0
  123. data/vendor/cache/gems/minitest-reporters-1.2.0/.gitignore +27 -0
  124. data/vendor/cache/gems/minitest-reporters-1.2.0/.ruby-gemset +1 -0
  125. data/vendor/cache/gems/minitest-reporters-1.2.0/.travis.yml +10 -0
  126. data/vendor/cache/gems/minitest-reporters-1.2.0/.yardopts +6 -0
  127. data/vendor/cache/gems/minitest-reporters-1.2.0/CHANGELOG.md +40 -0
  128. data/vendor/cache/gems/minitest-reporters-1.2.0/Gemfile +2 -0
  129. data/vendor/cache/gems/minitest-reporters-1.2.0/LICENSE +20 -0
  130. data/vendor/cache/gems/minitest-reporters-1.2.0/README.md +115 -0
  131. data/vendor/cache/gems/minitest-reporters-1.2.0/Rakefile +60 -0
  132. data/vendor/cache/gems/minitest-reporters-1.2.0/assets/default-reporter.png +0 -0
  133. data/vendor/cache/gems/minitest-reporters-1.2.0/assets/mean_time_reporter.png +0 -0
  134. data/vendor/cache/gems/minitest-reporters-1.2.0/assets/progress-reporter.png +0 -0
  135. data/vendor/cache/gems/minitest-reporters-1.2.0/assets/spec-reporter.png +0 -0
  136. data/vendor/cache/gems/minitest-reporters-1.2.0/lib/minitest/extensible_backtrace_filter.rb +67 -0
  137. data/vendor/cache/gems/minitest-reporters-1.2.0/lib/minitest/minitest_reporter_plugin.rb +75 -0
  138. data/vendor/cache/gems/minitest-reporters-1.2.0/lib/minitest/old_activesupport_fix.rb +24 -0
  139. data/vendor/cache/gems/minitest-reporters-1.2.0/lib/minitest/relative_position.rb +26 -0
  140. data/vendor/cache/gems/minitest-reporters-1.2.0/lib/minitest/reporters.rb +89 -0
  141. data/vendor/cache/gems/minitest-reporters-1.2.0/lib/minitest/reporters/ansi.rb +31 -0
  142. data/vendor/cache/gems/minitest-reporters-1.2.0/lib/minitest/reporters/base_reporter.rb +117 -0
  143. data/vendor/cache/gems/minitest-reporters-1.2.0/lib/minitest/reporters/default_reporter.rb +228 -0
  144. data/vendor/cache/gems/minitest-reporters-1.2.0/lib/minitest/reporters/html_reporter.rb +221 -0
  145. data/vendor/cache/gems/minitest-reporters-1.2.0/lib/minitest/reporters/junit_reporter.rb +157 -0
  146. data/vendor/cache/gems/minitest-reporters-1.2.0/lib/minitest/reporters/mean_time_reporter.rb +392 -0
  147. data/vendor/cache/gems/minitest-reporters-1.2.0/lib/minitest/reporters/progress_reporter.rb +96 -0
  148. data/vendor/cache/gems/minitest-reporters-1.2.0/lib/minitest/reporters/ruby_mate_reporter.rb +54 -0
  149. data/vendor/cache/gems/minitest-reporters-1.2.0/lib/minitest/reporters/rubymine_reporter.rb +117 -0
  150. data/vendor/cache/gems/minitest-reporters-1.2.0/lib/minitest/reporters/spec_reporter.rb +61 -0
  151. data/vendor/cache/gems/minitest-reporters-1.2.0/lib/minitest/reporters/version.rb +5 -0
  152. data/vendor/cache/gems/minitest-reporters-1.2.0/lib/minitest/templates/index.html.erb +83 -0
  153. data/vendor/cache/gems/minitest-reporters-1.2.0/minitest-reporters.gemspec +31 -0
  154. data/vendor/cache/gems/minitest-reporters-1.2.0/test/fixtures/junit_filename_bug_example_test.rb +21 -0
  155. data/vendor/cache/gems/minitest-reporters-1.2.0/test/fixtures/mean_time_test.rb +8 -0
  156. data/vendor/cache/gems/minitest-reporters-1.2.0/test/fixtures/progress_detailed_skip_test.rb +8 -0
  157. data/vendor/cache/gems/minitest-reporters-1.2.0/test/fixtures/progress_test.rb +8 -0
  158. data/vendor/cache/gems/minitest-reporters-1.2.0/test/fixtures/sample_test.rb +15 -0
  159. data/vendor/cache/gems/minitest-reporters-1.2.0/test/fixtures/spec_test.rb +13 -0
  160. data/vendor/cache/gems/minitest-reporters-1.2.0/test/gallery/bad_test.rb +25 -0
  161. data/vendor/cache/gems/minitest-reporters-1.2.0/test/gallery/good_test.rb +14 -0
  162. data/vendor/cache/gems/minitest-reporters-1.2.0/test/integration/reporters/junit_reporter_test.rb +12 -0
  163. data/vendor/cache/gems/minitest-reporters-1.2.0/test/integration/reporters/mean_time_reporter_test.rb +7 -0
  164. data/vendor/cache/gems/minitest-reporters-1.2.0/test/integration/reporters/progress_reporter_test.rb +34 -0
  165. data/vendor/cache/gems/minitest-reporters-1.2.0/test/test_helper.rb +22 -0
  166. data/vendor/cache/gems/minitest-reporters-1.2.0/test/unit/minitest/extensible_backtrace_filter_test.rb +42 -0
  167. data/vendor/cache/gems/minitest-reporters-1.2.0/test/unit/minitest/mean_time_reporter_unit_test.rb +152 -0
  168. data/vendor/cache/gems/minitest-reporters-1.2.0/test/unit/minitest/minitest_reporter_plugin_test.rb +14 -0
  169. data/vendor/cache/gems/minitest-reporters-1.2.0/test/unit/minitest/reporters_test.rb +52 -0
  170. data/vendor/cache/gems/minitest-reporters-1.2.0/test/unit/minitest/spec_reporter_test.rb +41 -0
  171. data/vendor/cache/gems/rake-10.5.0/.autotest +7 -0
  172. data/vendor/cache/gems/rake-10.5.0/.rubocop.yml +27 -0
  173. data/vendor/cache/gems/rake-10.5.0/.togglerc +7 -0
  174. data/vendor/cache/gems/rake-10.5.0/CONTRIBUTING.rdoc +38 -0
  175. data/vendor/cache/gems/rake-10.5.0/History.rdoc +659 -0
  176. data/vendor/cache/gems/rake-10.5.0/MIT-LICENSE +21 -0
  177. data/vendor/cache/gems/rake-10.5.0/Manifest.txt +166 -0
  178. data/vendor/cache/gems/rake-10.5.0/README.rdoc +139 -0
  179. data/vendor/cache/gems/rake-10.5.0/Rakefile +81 -0
  180. data/vendor/cache/gems/rake-10.5.0/bin/rake +33 -0
  181. data/vendor/cache/gems/rake-10.5.0/doc/command_line_usage.rdoc +158 -0
  182. data/vendor/cache/gems/rake-10.5.0/doc/example/Rakefile1 +38 -0
  183. data/vendor/cache/gems/rake-10.5.0/doc/example/Rakefile2 +35 -0
  184. data/vendor/cache/gems/rake-10.5.0/doc/example/a.c +6 -0
  185. data/vendor/cache/gems/rake-10.5.0/doc/example/b.c +6 -0
  186. data/vendor/cache/gems/rake-10.5.0/doc/example/main.c +11 -0
  187. data/vendor/cache/gems/rake-10.5.0/doc/glossary.rdoc +42 -0
  188. data/vendor/cache/gems/rake-10.5.0/doc/jamis.rb +591 -0
  189. data/vendor/cache/gems/rake-10.5.0/doc/proto_rake.rdoc +127 -0
  190. data/vendor/cache/gems/rake-10.5.0/doc/rake.1 +141 -0
  191. data/vendor/cache/gems/rake-10.5.0/doc/rakefile.rdoc +624 -0
  192. data/vendor/cache/gems/rake-10.5.0/doc/rational.rdoc +151 -0
  193. data/vendor/cache/gems/rake-10.5.0/doc/release_notes/rake-0.4.14.rdoc +23 -0
  194. data/vendor/cache/gems/rake-10.5.0/doc/release_notes/rake-0.4.15.rdoc +35 -0
  195. data/vendor/cache/gems/rake-10.5.0/doc/release_notes/rake-0.5.0.rdoc +53 -0
  196. data/vendor/cache/gems/rake-10.5.0/doc/release_notes/rake-0.5.3.rdoc +78 -0
  197. data/vendor/cache/gems/rake-10.5.0/doc/release_notes/rake-0.5.4.rdoc +46 -0
  198. data/vendor/cache/gems/rake-10.5.0/doc/release_notes/rake-0.6.0.rdoc +141 -0
  199. data/vendor/cache/gems/rake-10.5.0/doc/release_notes/rake-0.7.0.rdoc +119 -0
  200. data/vendor/cache/gems/rake-10.5.0/doc/release_notes/rake-0.7.1.rdoc +59 -0
  201. data/vendor/cache/gems/rake-10.5.0/doc/release_notes/rake-0.7.2.rdoc +121 -0
  202. data/vendor/cache/gems/rake-10.5.0/doc/release_notes/rake-0.7.3.rdoc +47 -0
  203. data/vendor/cache/gems/rake-10.5.0/doc/release_notes/rake-0.8.0.rdoc +114 -0
  204. data/vendor/cache/gems/rake-10.5.0/doc/release_notes/rake-0.8.2.rdoc +165 -0
  205. data/vendor/cache/gems/rake-10.5.0/doc/release_notes/rake-0.8.3.rdoc +112 -0
  206. data/vendor/cache/gems/rake-10.5.0/doc/release_notes/rake-0.8.4.rdoc +147 -0
  207. data/vendor/cache/gems/rake-10.5.0/doc/release_notes/rake-0.8.5.rdoc +53 -0
  208. data/vendor/cache/gems/rake-10.5.0/doc/release_notes/rake-0.8.6.rdoc +37 -0
  209. data/vendor/cache/gems/rake-10.5.0/doc/release_notes/rake-0.8.7.rdoc +55 -0
  210. data/vendor/cache/gems/rake-10.5.0/doc/release_notes/rake-0.9.0.rdoc +112 -0
  211. data/vendor/cache/gems/rake-10.5.0/doc/release_notes/rake-0.9.1.rdoc +52 -0
  212. data/vendor/cache/gems/rake-10.5.0/doc/release_notes/rake-0.9.2.2.rdoc +55 -0
  213. data/vendor/cache/gems/rake-10.5.0/doc/release_notes/rake-0.9.2.rdoc +49 -0
  214. data/vendor/cache/gems/rake-10.5.0/doc/release_notes/rake-0.9.3.rdoc +102 -0
  215. data/vendor/cache/gems/rake-10.5.0/doc/release_notes/rake-0.9.4.rdoc +60 -0
  216. data/vendor/cache/gems/rake-10.5.0/doc/release_notes/rake-0.9.5.rdoc +55 -0
  217. data/vendor/cache/gems/rake-10.5.0/doc/release_notes/rake-0.9.6.rdoc +64 -0
  218. data/vendor/cache/gems/rake-10.5.0/doc/release_notes/rake-10.0.0.rdoc +178 -0
  219. data/vendor/cache/gems/rake-10.5.0/doc/release_notes/rake-10.0.1.rdoc +58 -0
  220. data/vendor/cache/gems/rake-10.5.0/doc/release_notes/rake-10.0.2.rdoc +53 -0
  221. data/vendor/cache/gems/rake-10.5.0/doc/release_notes/rake-10.0.3.rdoc +191 -0
  222. data/vendor/cache/gems/rake-10.5.0/doc/release_notes/rake-10.1.0.rdoc +61 -0
  223. data/vendor/cache/gems/rake-10.5.0/lib/rake.rb +79 -0
  224. data/vendor/cache/gems/rake-10.5.0/lib/rake/alt_system.rb +110 -0
  225. data/vendor/cache/gems/rake-10.5.0/lib/rake/application.rb +790 -0
  226. data/vendor/cache/gems/rake-10.5.0/lib/rake/backtrace.rb +23 -0
  227. data/vendor/cache/gems/rake-10.5.0/lib/rake/clean.rb +76 -0
  228. data/vendor/cache/gems/rake-10.5.0/lib/rake/cloneable.rb +16 -0
  229. data/vendor/cache/gems/rake-10.5.0/lib/rake/contrib/.document +1 -0
  230. data/vendor/cache/gems/rake-10.5.0/lib/rake/contrib/compositepublisher.rb +21 -0
  231. data/vendor/cache/gems/rake-10.5.0/lib/rake/contrib/ftptools.rb +137 -0
  232. data/vendor/cache/gems/rake-10.5.0/lib/rake/contrib/publisher.rb +81 -0
  233. data/vendor/cache/gems/rake-10.5.0/lib/rake/contrib/rubyforgepublisher.rb +18 -0
  234. data/vendor/cache/gems/rake-10.5.0/lib/rake/contrib/sshpublisher.rb +61 -0
  235. data/vendor/cache/gems/rake-10.5.0/lib/rake/contrib/sys.rb +4 -0
  236. data/vendor/cache/gems/rake-10.5.0/lib/rake/cpu_counter.rb +125 -0
  237. data/vendor/cache/gems/rake-10.5.0/lib/rake/default_loader.rb +14 -0
  238. data/vendor/cache/gems/rake-10.5.0/lib/rake/dsl_definition.rb +201 -0
  239. data/vendor/cache/gems/rake-10.5.0/lib/rake/early_time.rb +21 -0
  240. data/vendor/cache/gems/rake-10.5.0/lib/rake/ext/core.rb +25 -0
  241. data/vendor/cache/gems/rake-10.5.0/lib/rake/ext/module.rb +2 -0
  242. data/vendor/cache/gems/rake-10.5.0/lib/rake/ext/pathname.rb +25 -0
  243. data/vendor/cache/gems/rake-10.5.0/lib/rake/ext/string.rb +175 -0
  244. data/vendor/cache/gems/rake-10.5.0/lib/rake/ext/time.rb +18 -0
  245. data/vendor/cache/gems/rake-10.5.0/lib/rake/file_creation_task.rb +24 -0
  246. data/vendor/cache/gems/rake-10.5.0/lib/rake/file_list.rb +428 -0
  247. data/vendor/cache/gems/rake-10.5.0/lib/rake/file_task.rb +46 -0
  248. data/vendor/cache/gems/rake-10.5.0/lib/rake/file_utils.rb +128 -0
  249. data/vendor/cache/gems/rake-10.5.0/lib/rake/file_utils_ext.rb +144 -0
  250. data/vendor/cache/gems/rake-10.5.0/lib/rake/gempackagetask.rb +4 -0
  251. data/vendor/cache/gems/rake-10.5.0/lib/rake/invocation_chain.rb +56 -0
  252. data/vendor/cache/gems/rake-10.5.0/lib/rake/invocation_exception_mixin.rb +16 -0
  253. data/vendor/cache/gems/rake-10.5.0/lib/rake/late_time.rb +17 -0
  254. data/vendor/cache/gems/rake-10.5.0/lib/rake/linked_list.rb +103 -0
  255. data/vendor/cache/gems/rake-10.5.0/lib/rake/loaders/makefile.rb +53 -0
  256. data/vendor/cache/gems/rake-10.5.0/lib/rake/multi_task.rb +13 -0
  257. data/vendor/cache/gems/rake-10.5.0/lib/rake/name_space.rb +38 -0
  258. data/vendor/cache/gems/rake-10.5.0/lib/rake/packagetask.rb +199 -0
  259. data/vendor/cache/gems/rake-10.5.0/lib/rake/pathmap.rb +3 -0
  260. data/vendor/cache/gems/rake-10.5.0/lib/rake/phony.rb +15 -0
  261. data/vendor/cache/gems/rake-10.5.0/lib/rake/private_reader.rb +20 -0
  262. data/vendor/cache/gems/rake-10.5.0/lib/rake/promise.rb +99 -0
  263. data/vendor/cache/gems/rake-10.5.0/lib/rake/pseudo_status.rb +29 -0
  264. data/vendor/cache/gems/rake-10.5.0/lib/rake/rake_module.rb +38 -0
  265. data/vendor/cache/gems/rake-10.5.0/lib/rake/rake_test_loader.rb +22 -0
  266. data/vendor/cache/gems/rake-10.5.0/lib/rake/rdoctask.rb +4 -0
  267. data/vendor/cache/gems/rake-10.5.0/lib/rake/ruby182_test_unit_fix.rb +29 -0
  268. data/vendor/cache/gems/rake-10.5.0/lib/rake/rule_recursion_overflow_error.rb +20 -0
  269. data/vendor/cache/gems/rake-10.5.0/lib/rake/runtest.rb +27 -0
  270. data/vendor/cache/gems/rake-10.5.0/lib/rake/scope.rb +42 -0
  271. data/vendor/cache/gems/rake-10.5.0/lib/rake/task.rb +383 -0
  272. data/vendor/cache/gems/rake-10.5.0/lib/rake/task_argument_error.rb +7 -0
  273. data/vendor/cache/gems/rake-10.5.0/lib/rake/task_arguments.rb +98 -0
  274. data/vendor/cache/gems/rake-10.5.0/lib/rake/task_manager.rb +307 -0
  275. data/vendor/cache/gems/rake-10.5.0/lib/rake/tasklib.rb +24 -0
  276. data/vendor/cache/gems/rake-10.5.0/lib/rake/testtask.rb +213 -0
  277. data/vendor/cache/gems/rake-10.5.0/lib/rake/thread_history_display.rb +48 -0
  278. data/vendor/cache/gems/rake-10.5.0/lib/rake/thread_pool.rb +164 -0
  279. data/vendor/cache/gems/rake-10.5.0/lib/rake/trace_output.rb +22 -0
  280. data/vendor/cache/gems/rake-10.5.0/lib/rake/version.rb +7 -0
  281. data/vendor/cache/gems/rake-10.5.0/lib/rake/win32.rb +56 -0
  282. data/vendor/cache/gems/rake-10.5.0/rakelib/publish.rake +20 -0
  283. data/vendor/cache/gems/rake-10.5.0/rakelib/test_times.rake +25 -0
  284. data/vendor/cache/gems/rake-10.5.0/test/file_creation.rb +34 -0
  285. data/vendor/cache/gems/rake-10.5.0/test/helper.rb +129 -0
  286. data/vendor/cache/gems/rake-10.5.0/test/support/rakefile_definitions.rb +478 -0
  287. data/vendor/cache/gems/rake-10.5.0/test/support/ruby_runner.rb +34 -0
  288. data/vendor/cache/gems/rake-10.5.0/test/test_private_reader.rb +42 -0
  289. data/vendor/cache/gems/rake-10.5.0/test/test_rake.rb +40 -0
  290. data/vendor/cache/gems/rake-10.5.0/test/test_rake_application.rb +643 -0
  291. data/vendor/cache/gems/rake-10.5.0/test/test_rake_application_options.rb +468 -0
  292. data/vendor/cache/gems/rake-10.5.0/test/test_rake_backtrace.rb +119 -0
  293. data/vendor/cache/gems/rake-10.5.0/test/test_rake_clean.rb +61 -0
  294. data/vendor/cache/gems/rake-10.5.0/test/test_rake_cpu_counter.rb +68 -0
  295. data/vendor/cache/gems/rake-10.5.0/test/test_rake_definitions.rb +84 -0
  296. data/vendor/cache/gems/rake-10.5.0/test/test_rake_directory_task.rb +76 -0
  297. data/vendor/cache/gems/rake-10.5.0/test/test_rake_dsl.rb +40 -0
  298. data/vendor/cache/gems/rake-10.5.0/test/test_rake_early_time.rb +31 -0
  299. data/vendor/cache/gems/rake-10.5.0/test/test_rake_extension.rb +59 -0
  300. data/vendor/cache/gems/rake-10.5.0/test/test_rake_file_creation_task.rb +56 -0
  301. data/vendor/cache/gems/rake-10.5.0/test/test_rake_file_list.rb +670 -0
  302. data/vendor/cache/gems/rake-10.5.0/test/test_rake_file_list_path_map.rb +8 -0
  303. data/vendor/cache/gems/rake-10.5.0/test/test_rake_file_task.rb +197 -0
  304. data/vendor/cache/gems/rake-10.5.0/test/test_rake_file_utils.rb +314 -0
  305. data/vendor/cache/gems/rake-10.5.0/test/test_rake_ftp_file.rb +74 -0
  306. data/vendor/cache/gems/rake-10.5.0/test/test_rake_functional.rb +482 -0
  307. data/vendor/cache/gems/rake-10.5.0/test/test_rake_invocation_chain.rb +64 -0
  308. data/vendor/cache/gems/rake-10.5.0/test/test_rake_late_time.rb +18 -0
  309. data/vendor/cache/gems/rake-10.5.0/test/test_rake_linked_list.rb +84 -0
  310. data/vendor/cache/gems/rake-10.5.0/test/test_rake_makefile_loader.rb +46 -0
  311. data/vendor/cache/gems/rake-10.5.0/test/test_rake_multi_task.rb +64 -0
  312. data/vendor/cache/gems/rake-10.5.0/test/test_rake_name_space.rb +57 -0
  313. data/vendor/cache/gems/rake-10.5.0/test/test_rake_package_task.rb +79 -0
  314. data/vendor/cache/gems/rake-10.5.0/test/test_rake_path_map.rb +168 -0
  315. data/vendor/cache/gems/rake-10.5.0/test/test_rake_path_map_explode.rb +34 -0
  316. data/vendor/cache/gems/rake-10.5.0/test/test_rake_path_map_partial.rb +18 -0
  317. data/vendor/cache/gems/rake-10.5.0/test/test_rake_pathname_extensions.rb +15 -0
  318. data/vendor/cache/gems/rake-10.5.0/test/test_rake_pseudo_status.rb +21 -0
  319. data/vendor/cache/gems/rake-10.5.0/test/test_rake_rake_test_loader.rb +20 -0
  320. data/vendor/cache/gems/rake-10.5.0/test/test_rake_reduce_compat.rb +26 -0
  321. data/vendor/cache/gems/rake-10.5.0/test/test_rake_require.rb +40 -0
  322. data/vendor/cache/gems/rake-10.5.0/test/test_rake_rules.rb +388 -0
  323. data/vendor/cache/gems/rake-10.5.0/test/test_rake_scope.rb +44 -0
  324. data/vendor/cache/gems/rake-10.5.0/test/test_rake_task.rb +393 -0
  325. data/vendor/cache/gems/rake-10.5.0/test/test_rake_task_argument_parsing.rb +119 -0
  326. data/vendor/cache/gems/rake-10.5.0/test/test_rake_task_arguments.rb +127 -0
  327. data/vendor/cache/gems/rake-10.5.0/test/test_rake_task_lib.rb +9 -0
  328. data/vendor/cache/gems/rake-10.5.0/test/test_rake_task_manager.rb +178 -0
  329. data/vendor/cache/gems/rake-10.5.0/test/test_rake_task_manager_argument_resolution.rb +19 -0
  330. data/vendor/cache/gems/rake-10.5.0/test/test_rake_task_with_arguments.rb +172 -0
  331. data/vendor/cache/gems/rake-10.5.0/test/test_rake_test_task.rb +146 -0
  332. data/vendor/cache/gems/rake-10.5.0/test/test_rake_thread_pool.rb +145 -0
  333. data/vendor/cache/gems/rake-10.5.0/test/test_rake_top_level_functions.rb +71 -0
  334. data/vendor/cache/gems/rake-10.5.0/test/test_rake_win32.rb +72 -0
  335. data/vendor/cache/gems/rake-10.5.0/test/test_thread_history_display.rb +101 -0
  336. data/vendor/cache/gems/rake-10.5.0/test/test_trace_output.rb +52 -0
  337. data/vendor/cache/gems/ruby-progressbar-1.10.0/LICENSE.txt +19 -0
  338. data/vendor/cache/gems/ruby-progressbar-1.10.0/README.md +38 -0
  339. data/vendor/cache/gems/ruby-progressbar-1.10.0/Rakefile +2 -0
  340. data/vendor/cache/gems/ruby-progressbar-1.10.0/lib/ruby-progressbar.rb +18 -0
  341. data/vendor/cache/gems/ruby-progressbar-1.10.0/lib/ruby-progressbar/base.rb +183 -0
  342. data/vendor/cache/gems/ruby-progressbar-1.10.0/lib/ruby-progressbar/calculators/length.rb +100 -0
  343. data/vendor/cache/gems/ruby-progressbar-1.10.0/lib/ruby-progressbar/calculators/running_average.rb +9 -0
  344. data/vendor/cache/gems/ruby-progressbar-1.10.0/lib/ruby-progressbar/components.rb +5 -0
  345. data/vendor/cache/gems/ruby-progressbar-1.10.0/lib/ruby-progressbar/components/bar.rb +102 -0
  346. data/vendor/cache/gems/ruby-progressbar-1.10.0/lib/ruby-progressbar/components/percentage.rb +29 -0
  347. data/vendor/cache/gems/ruby-progressbar-1.10.0/lib/ruby-progressbar/components/rate.rb +43 -0
  348. data/vendor/cache/gems/ruby-progressbar-1.10.0/lib/ruby-progressbar/components/time.rb +107 -0
  349. data/vendor/cache/gems/ruby-progressbar-1.10.0/lib/ruby-progressbar/components/title.rb +13 -0
  350. data/vendor/cache/gems/ruby-progressbar-1.10.0/lib/ruby-progressbar/errors/invalid_progress_error.rb +4 -0
  351. data/vendor/cache/gems/ruby-progressbar-1.10.0/lib/ruby-progressbar/format.rb +3 -0
  352. data/vendor/cache/gems/ruby-progressbar-1.10.0/lib/ruby-progressbar/format/formatter.rb +27 -0
  353. data/vendor/cache/gems/ruby-progressbar-1.10.0/lib/ruby-progressbar/format/molecule.rb +60 -0
  354. data/vendor/cache/gems/ruby-progressbar-1.10.0/lib/ruby-progressbar/format/string.rb +36 -0
  355. data/vendor/cache/gems/ruby-progressbar-1.10.0/lib/ruby-progressbar/output.rb +68 -0
  356. data/vendor/cache/gems/ruby-progressbar-1.10.0/lib/ruby-progressbar/outputs/non_tty.rb +47 -0
  357. data/vendor/cache/gems/ruby-progressbar-1.10.0/lib/ruby-progressbar/outputs/null.rb +33 -0
  358. data/vendor/cache/gems/ruby-progressbar-1.10.0/lib/ruby-progressbar/outputs/tty.rb +32 -0
  359. data/vendor/cache/gems/ruby-progressbar-1.10.0/lib/ruby-progressbar/progress.rb +118 -0
  360. data/vendor/cache/gems/ruby-progressbar-1.10.0/lib/ruby-progressbar/refinements.rb +1 -0
  361. data/vendor/cache/gems/ruby-progressbar-1.10.0/lib/ruby-progressbar/refinements/enumerator.rb +23 -0
  362. data/vendor/cache/gems/ruby-progressbar-1.10.0/lib/ruby-progressbar/throttle.rb +25 -0
  363. data/vendor/cache/gems/ruby-progressbar-1.10.0/lib/ruby-progressbar/time.rb +32 -0
  364. data/vendor/cache/gems/ruby-progressbar-1.10.0/lib/ruby-progressbar/timer.rb +72 -0
  365. data/vendor/cache/gems/ruby-progressbar-1.10.0/lib/ruby-progressbar/version.rb +3 -0
  366. data/vendor/cache/minitest-5.11.3.gem +0 -0
  367. data/vendor/cache/minitest-reporters-1.2.0.gem +0 -0
  368. data/vendor/cache/rake-10.5.0.gem +0 -0
  369. data/vendor/cache/ruby-progressbar-1.10.0.gem +0 -0
  370. data/vendor/cache/specifications/ansi-1.5.0.gemspec +49 -0
  371. data/vendor/cache/specifications/builder-3.2.3.gemspec +21 -0
  372. data/vendor/cache/specifications/minitest-5.11.3.gemspec +39 -0
  373. data/vendor/cache/specifications/minitest-reporters-1.2.0.gemspec +49 -0
  374. data/vendor/cache/specifications/rake-10.5.0.gemspec +43 -0
  375. data/vendor/cache/specifications/ruby-progressbar-1.10.0.gemspec +46 -0
  376. metadata +460 -0
@@ -0,0 +1,127 @@
1
+ require File.expand_path('../helper', __FILE__)
2
+
3
+ ######################################################################
4
+ class TestRakeTaskArguments < Rake::TestCase
5
+ def teardown
6
+ ENV.delete('rev')
7
+ ENV.delete('VER')
8
+
9
+ super
10
+ end
11
+
12
+ def test_empty_arg_list_is_empty
13
+ ta = Rake::TaskArguments.new([], [])
14
+ assert_equal({}, ta.to_hash)
15
+ end
16
+
17
+ def test_multiple_values_in_args
18
+ ta = Rake::TaskArguments.new([:a, :b, :c], [:one, :two, :three])
19
+ assert_equal({:a => :one, :b => :two, :c => :three}, ta.to_hash)
20
+ end
21
+
22
+ def test_has_key
23
+ ta = Rake::TaskArguments.new([:a], [:one])
24
+ assert(ta.has_key?(:a))
25
+ refute(ta.has_key?(:b))
26
+ end
27
+
28
+ def test_to_s
29
+ ta = Rake::TaskArguments.new([:a, :b, :c], [1, 2, 3])
30
+ assert_equal ta.to_hash.inspect, ta.to_s
31
+ assert_equal ta.to_hash.inspect, ta.inspect
32
+ end
33
+
34
+ def test_enumerable_behavior
35
+ ta = Rake::TaskArguments.new([:a, :b, :c], [1, 2, 3])
36
+ assert_equal [10, 20, 30], ta.map { |k, v| v * 10 }.sort
37
+ end
38
+
39
+ def test_named_args
40
+ ta = Rake::TaskArguments.new(["aa", "bb"], [1, 2])
41
+ assert_equal 1, ta.aa
42
+ assert_equal 1, ta[:aa]
43
+ assert_equal 1, ta["aa"]
44
+ assert_equal 2, ta.bb
45
+ assert_nil ta.cc
46
+ end
47
+
48
+ def test_args_knows_its_names
49
+ ta = Rake::TaskArguments.new(["aa", "bb"], [1, 2])
50
+ assert_equal ["aa", "bb"], ta.names
51
+ end
52
+
53
+ def test_extra_names_are_nil
54
+ ta = Rake::TaskArguments.new(["aa", "bb", "cc"], [1, 2])
55
+ assert_nil ta.cc
56
+ end
57
+
58
+ def test_args_do_not_reference_env_values
59
+ ta = Rake::TaskArguments.new(["aa"], [1])
60
+ ENV['rev'] = "1.2"
61
+ ENV['VER'] = "2.3"
62
+ assert_nil ta.rev
63
+ assert_nil ta.ver
64
+ end
65
+
66
+ def test_creating_new_argument_scopes
67
+ parent = Rake::TaskArguments.new(['p'], [1])
68
+ child = parent.new_scope(['c', 'p'])
69
+ assert_equal({:p=>1}, child.to_hash)
70
+ assert_equal 1, child.p
71
+ assert_equal 1, child["p"]
72
+ assert_equal 1, child[:p]
73
+ assert_nil child.c
74
+ end
75
+
76
+ def test_child_hides_parent_arg_names
77
+ parent = Rake::TaskArguments.new(['aa'], [1])
78
+ child = Rake::TaskArguments.new(['aa'], [2], parent)
79
+ assert_equal 2, child.aa
80
+ end
81
+
82
+ def test_default_arguments_values_can_be_merged
83
+ ta = Rake::TaskArguments.new(["aa", "bb"], [nil, "original_val"])
84
+ ta.with_defaults({ :aa => 'default_val' })
85
+ assert_equal 'default_val', ta[:aa]
86
+ assert_equal 'original_val', ta[:bb]
87
+ end
88
+
89
+ def test_default_arguments_that_dont_match_names_are_ignored
90
+ ta = Rake::TaskArguments.new(["aa", "bb"], [nil, "original_val"])
91
+ ta.with_defaults({ "cc" => "default_val" })
92
+ assert_nil ta[:cc]
93
+ end
94
+
95
+ def test_all_and_extra_arguments_without_named_arguments
96
+ app = Rake::Application.new
97
+ _, args = app.parse_task_string("task[1,two,more]")
98
+ ta = Rake::TaskArguments.new([], args)
99
+ assert_equal [], ta.names
100
+ assert_equal ['1', 'two', 'more'], ta.to_a
101
+ assert_equal ['1', 'two', 'more'], ta.extras
102
+ end
103
+
104
+ def test_all_and_extra_arguments_with_named_arguments
105
+ app = Rake::Application.new
106
+ _, args = app.parse_task_string("task[1,two,more,still more]")
107
+ ta = Rake::TaskArguments.new([:first, :second], args)
108
+ assert_equal [:first, :second], ta.names
109
+ assert_equal "1", ta[:first]
110
+ assert_equal "two", ta[:second]
111
+ assert_equal ['1', 'two', 'more', 'still more'], ta.to_a
112
+ assert_equal ['more', 'still more'], ta.extras
113
+ end
114
+
115
+ def test_extra_args_with_less_than_named_arguments
116
+ app = Rake::Application.new
117
+ _, args = app.parse_task_string("task[1,two]")
118
+ ta = Rake::TaskArguments.new([:first, :second, :third], args)
119
+ assert_equal [:first, :second, :third], ta.names
120
+ assert_equal "1", ta[:first]
121
+ assert_equal "two", ta[:second]
122
+ assert_equal nil, ta[:third]
123
+ assert_equal ['1', 'two'], ta.to_a
124
+ assert_equal [], ta.extras
125
+ end
126
+
127
+ end
@@ -0,0 +1,9 @@
1
+ require File.expand_path('../helper', __FILE__)
2
+ require 'rake/tasklib'
3
+
4
+ class TestRakeTaskLib < Rake::TestCase
5
+ def test_paste
6
+ tl = Rake::TaskLib.new
7
+ assert_equal :ab, tl.paste(:a, :b)
8
+ end
9
+ end
@@ -0,0 +1,178 @@
1
+ require File.expand_path('../helper', __FILE__)
2
+
3
+ class TestRakeTaskManager < Rake::TestCase
4
+
5
+ def setup
6
+ super
7
+
8
+ @tm = Rake::TestCase::TaskManager.new
9
+ end
10
+
11
+ def test_create_task_manager
12
+ refute_nil @tm
13
+ assert_equal [], @tm.tasks
14
+ end
15
+
16
+ def test_define_task
17
+ t = @tm.define_task(Rake::Task, :t)
18
+ assert_equal "t", t.name
19
+ assert_equal @tm, t.application
20
+ end
21
+
22
+ def test_index
23
+ e = assert_raises RuntimeError do
24
+ @tm['bad']
25
+ end
26
+
27
+ assert_equal "Don't know how to build task 'bad' (see --tasks)", e.message
28
+ end
29
+
30
+ def test_name_lookup
31
+ t = @tm.define_task(Rake::Task, :t)
32
+ assert_equal t, @tm[:t]
33
+ end
34
+
35
+ def test_namespace_task_create
36
+ @tm.in_namespace("x") do
37
+ t = @tm.define_task(Rake::Task, :t)
38
+ assert_equal "x:t", t.name
39
+ end
40
+ assert_equal ["x:t"], @tm.tasks.map { |t| t.name }
41
+ end
42
+
43
+ def test_define_namespaced_task
44
+ t = @tm.define_task(Rake::Task, 'n:a:m:e:t')
45
+ assert_equal Rake::Scope.make("e", "m", "a", "n"), t.scope
46
+ assert_equal "n:a:m:e:t", t.name
47
+ assert_equal @tm, t.application
48
+ end
49
+
50
+ def test_define_namespace_in_namespace
51
+ t = nil
52
+ @tm.in_namespace("n") do
53
+ t = @tm.define_task(Rake::Task, 'a:m:e:t')
54
+ end
55
+ assert_equal Rake::Scope.make("e", "m", "a", "n"), t.scope
56
+ assert_equal "n:a:m:e:t", t.name
57
+ assert_equal @tm, t.application
58
+ end
59
+
60
+ def test_anonymous_namespace
61
+ anon_ns = @tm.in_namespace(nil) do
62
+ t = @tm.define_task(Rake::Task, :t)
63
+ assert_equal "_anon_1:t", t.name
64
+ end
65
+ task = anon_ns[:t]
66
+ assert_equal "_anon_1:t", task.name
67
+ end
68
+
69
+ def test_create_filetask_in_namespace
70
+ @tm.in_namespace("x") do
71
+ t = @tm.define_task(Rake::FileTask, "fn")
72
+ assert_equal "fn", t.name
73
+ end
74
+
75
+ assert_equal ["fn"], @tm.tasks.map { |t| t.name }
76
+ end
77
+
78
+ def test_namespace_yields_same_namespace_as_returned
79
+ yielded_namespace = nil
80
+ returned_namespace = @tm.in_namespace("x") do |ns|
81
+ yielded_namespace = ns
82
+ end
83
+ assert_equal returned_namespace, yielded_namespace
84
+ end
85
+
86
+ def test_name_lookup_with_implicit_file_tasks
87
+ FileUtils.touch 'README.rdoc'
88
+
89
+ t = @tm["README.rdoc"]
90
+
91
+ assert_equal "README.rdoc", t.name
92
+ assert Rake::FileTask === t
93
+ end
94
+
95
+ def test_name_lookup_with_nonexistent_task
96
+ assert_raises(RuntimeError) {
97
+ @tm["DOES NOT EXIST"]
98
+ }
99
+ end
100
+
101
+ def test_name_lookup_in_multiple_scopes
102
+ aa = nil
103
+ bb = nil
104
+ xx = @tm.define_task(Rake::Task, :xx)
105
+ top_z = @tm.define_task(Rake::Task, :z)
106
+ @tm.in_namespace("a") do
107
+ aa = @tm.define_task(Rake::Task, :aa)
108
+ mid_z = @tm.define_task(Rake::Task, :z)
109
+ ns_d = @tm.define_task(Rake::Task, "n:t")
110
+ @tm.in_namespace("b") do
111
+ bb = @tm.define_task(Rake::Task, :bb)
112
+ bot_z = @tm.define_task(Rake::Task, :z)
113
+
114
+ assert_equal Rake::Scope.make("b", "a"), @tm.current_scope
115
+
116
+ assert_equal bb, @tm["a:b:bb"]
117
+ assert_equal aa, @tm["a:aa"]
118
+ assert_equal xx, @tm["xx"]
119
+ assert_equal bot_z, @tm["z"]
120
+ assert_equal mid_z, @tm["^z"]
121
+ assert_equal top_z, @tm["^^z"]
122
+ assert_equal top_z, @tm["^^^z"] # Over the top
123
+ assert_equal top_z, @tm["rake:z"]
124
+ end
125
+
126
+ assert_equal Rake::Scope.make("a"), @tm.current_scope
127
+
128
+ assert_equal bb, @tm["a:b:bb"]
129
+ assert_equal aa, @tm["a:aa"]
130
+ assert_equal xx, @tm["xx"]
131
+ assert_equal bb, @tm["b:bb"]
132
+ assert_equal aa, @tm["aa"]
133
+ assert_equal mid_z, @tm["z"]
134
+ assert_equal top_z, @tm["^z"]
135
+ assert_equal top_z, @tm["^^z"] # Over the top
136
+ assert_equal top_z, @tm["rake:z"]
137
+ assert_equal ns_d, @tm["n:t"]
138
+ assert_equal ns_d, @tm["a:n:t"]
139
+ end
140
+
141
+ assert_equal Rake::Scope.make, @tm.current_scope
142
+
143
+ assert_equal Rake::Scope.make, xx.scope
144
+ assert_equal Rake::Scope.make('a'), aa.scope
145
+ assert_equal Rake::Scope.make('b', 'a'), bb.scope
146
+ end
147
+
148
+ def test_lookup_with_explicit_scopes
149
+ t1, t2, t3, s = (0...4).map { nil }
150
+ t1 = @tm.define_task(Rake::Task, :t)
151
+ @tm.in_namespace("a") do
152
+ t2 = @tm.define_task(Rake::Task, :t)
153
+ s = @tm.define_task(Rake::Task, :s)
154
+ @tm.in_namespace("b") do
155
+ t3 = @tm.define_task(Rake::Task, :t)
156
+ end
157
+ end
158
+ assert_equal t1, @tm[:t, Rake::Scope.make]
159
+ assert_equal t2, @tm[:t, Rake::Scope.make("a")]
160
+ assert_equal t3, @tm[:t, Rake::Scope.make("b", "a")]
161
+ assert_equal s, @tm[:s, Rake::Scope.make("b", "a")]
162
+ assert_equal s, @tm[:s, Rake::Scope.make("a")]
163
+ end
164
+
165
+ def test_correctly_scoped_prerequisites_are_invoked
166
+ values = []
167
+ @tm = Rake::Application.new
168
+ @tm.define_task(Rake::Task, :z) do values << "top z" end
169
+ @tm.in_namespace("a") do
170
+ @tm.define_task(Rake::Task, :z) do values << "next z" end
171
+ @tm.define_task(Rake::Task, :x => :z)
172
+ end
173
+
174
+ @tm["a:x"].invoke
175
+ assert_equal ["next z"], values
176
+ end
177
+
178
+ end
@@ -0,0 +1,19 @@
1
+ require File.expand_path('../helper', __FILE__)
2
+
3
+ class TestRakeTaskManagerArgumentResolution < Rake::TestCase
4
+
5
+ def test_good_arg_patterns
6
+ assert_equal [:t, [], []], task(:t)
7
+ assert_equal [:t, [], [:x]], task(:t => :x)
8
+ assert_equal [:t, [], [:x, :y]], task(:t => [:x, :y])
9
+
10
+ assert_equal [:t, [:a, :b], []], task(:t, [:a, :b])
11
+ assert_equal [:t, [:a, :b], [:x]], task(:t, [:a, :b] => :x)
12
+ assert_equal [:t, [:a, :b], [:x, :y]], task(:t, [:a, :b] => [:x, :y])
13
+ end
14
+
15
+ def task(*args)
16
+ tm = Rake::TestCase::TaskManager.new
17
+ tm.resolve_args(args)
18
+ end
19
+ end
@@ -0,0 +1,172 @@
1
+ require File.expand_path('../helper', __FILE__)
2
+
3
+ class TestRakeTaskWithArguments < Rake::TestCase
4
+ include Rake
5
+
6
+ def setup
7
+ super
8
+
9
+ Task.clear
10
+ Rake::TaskManager.record_task_metadata = true
11
+ end
12
+
13
+ def teardown
14
+ Rake::TaskManager.record_task_metadata = false
15
+ Rake.application.thread_pool.join
16
+
17
+ super
18
+ end
19
+
20
+ def test_no_args_given
21
+ t = task :t
22
+ assert_equal [], t.arg_names
23
+ end
24
+
25
+ def test_args_given
26
+ t = task :t, :a, :b
27
+ assert_equal [:a, :b], t.arg_names
28
+ end
29
+
30
+ def test_name_and_needs
31
+ t = task(:t => [:pre])
32
+ assert_equal "t", t.name
33
+ assert_equal [], t.arg_names
34
+ assert_equal ["pre"], t.prerequisites
35
+ end
36
+
37
+ def test_name_args_and_prereqs
38
+ t = task(:t, [:x, :y] => [:pre])
39
+ assert_equal "t", t.name
40
+ assert_equal [:x, :y], t.arg_names
41
+ assert_equal ["pre"], t.prerequisites
42
+ end
43
+
44
+ def test_arg_list_is_empty_if_no_args_given
45
+ t = task(:t) { |tt, args| assert_equal({}, args.to_hash) }
46
+ t.invoke(1, 2, 3)
47
+ end
48
+
49
+ def test_tasks_can_access_arguments_as_hash
50
+ t = task :t, :a, :b, :c do |tt, args|
51
+ assert_equal({:a => 1, :b => 2, :c => 3}, args.to_hash)
52
+ assert_equal 1, args[:a]
53
+ assert_equal 2, args[:b]
54
+ assert_equal 3, args[:c]
55
+ assert_equal 1, args.a
56
+ assert_equal 2, args.b
57
+ assert_equal 3, args.c
58
+ end
59
+ t.invoke(1, 2, 3)
60
+ end
61
+
62
+ def test_actions_of_various_arity_are_ok_with_args
63
+ notes = []
64
+ t = task(:t, :x) do
65
+ notes << :a
66
+ end
67
+ t.enhance do | |
68
+ notes << :b
69
+ end
70
+ t.enhance do |task|
71
+ notes << :c
72
+ assert_kind_of Task, task
73
+ end
74
+ t.enhance do |t2, args|
75
+ notes << :d
76
+ assert_equal t, t2
77
+ assert_equal({:x => 1}, args.to_hash)
78
+ end
79
+ t.invoke(1)
80
+ assert_equal [:a, :b, :c, :d], notes
81
+ end
82
+
83
+ def test_arguments_are_passed_to_block
84
+ t = task(:t, :a, :b) { |tt, args|
85
+ assert_equal({ :a => 1, :b => 2 }, args.to_hash)
86
+ }
87
+ t.invoke(1, 2)
88
+ end
89
+
90
+ def test_extra_parameters_are_ignored
91
+ t = task(:t, :a) { |tt, args|
92
+ assert_equal 1, args.a
93
+ assert_nil args.b
94
+ }
95
+ t.invoke(1, 2)
96
+ end
97
+
98
+ def test_arguments_are_passed_to_all_blocks
99
+ counter = 0
100
+ t = task :t, :a
101
+ task :t do |tt, args|
102
+ assert_equal 1, args.a
103
+ counter += 1
104
+ end
105
+ task :t do |tt, args|
106
+ assert_equal 1, args.a
107
+ counter += 1
108
+ end
109
+ t.invoke(1)
110
+ assert_equal 2, counter
111
+ end
112
+
113
+ def test_block_with_no_parameters_is_ok
114
+ t = task(:t) { }
115
+ t.invoke(1, 2)
116
+ end
117
+
118
+ def test_name_with_args
119
+ desc "T"
120
+ t = task(:tt, :a, :b)
121
+ assert_equal "tt", t.name
122
+ assert_equal "T", t.comment
123
+ assert_equal "[a,b]", t.arg_description
124
+ assert_equal "tt[a,b]", t.name_with_args
125
+ assert_equal [:a, :b], t.arg_names
126
+ end
127
+
128
+ def test_named_args_are_passed_to_prereqs
129
+ value = nil
130
+ task(:pre, :rev) { |t, args| value = args.rev }
131
+ t = task(:t, [:name, :rev] => [:pre])
132
+ t.invoke("bill", "1.2")
133
+ assert_equal "1.2", value
134
+ end
135
+
136
+ def test_args_not_passed_if_no_prereq_names_on_task
137
+ task(:pre) { |t, args|
138
+ assert_equal({}, args.to_hash)
139
+ assert_equal "bill", args.name
140
+ }
141
+ t = task(:t, [:name, :rev] => [:pre])
142
+ t.invoke("bill", "1.2")
143
+ end
144
+
145
+ def test_args_not_passed_if_no_prereq_names_on_multitask
146
+ task(:pre) { |t, args|
147
+ assert_equal({}, args.to_hash)
148
+ assert_equal "bill", args.name
149
+ }
150
+ t = multitask(:t, [:name, :rev] => [:pre])
151
+ t.invoke("bill", "1.2")
152
+ end
153
+
154
+ def test_args_not_passed_if_no_arg_names
155
+ task(:pre, :rev) { |t, args|
156
+ assert_equal({}, args.to_hash)
157
+ }
158
+ t = task(:t => [:pre])
159
+ t.invoke("bill", "1.2")
160
+ end
161
+
162
+ def test_values_at
163
+ t = task(:pre, [:a, :b, :c]) { |task, args|
164
+ a, b, c = args.values_at(:a, :b, :c)
165
+ assert_equal %w[1 2 3], [a, b, c]
166
+ }
167
+
168
+ t.invoke(*%w[1 2 3])
169
+
170
+ # HACK no assertions
171
+ end
172
+ end