paynow_sdk 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 (286) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +8 -0
  3. data/.travis.yml +6 -0
  4. data/Gemfile +8 -0
  5. data/Gemfile.lock +30 -0
  6. data/README.md +36 -0
  7. data/Rakefile +10 -0
  8. data/bin/console +14 -0
  9. data/bin/setup +8 -0
  10. data/lib/paynow_sdk.rb +269 -0
  11. data/lib/paynow_sdk/version.rb +3 -0
  12. data/paynow_sdk.gemspec +27 -0
  13. data/vendor/cache/ansi-1.5.0.gem +0 -0
  14. data/vendor/cache/builder-3.2.4.gem +0 -0
  15. data/vendor/cache/minitest-5.14.1.gem +0 -0
  16. data/vendor/cache/minitest-reporters-1.4.2.gem +0 -0
  17. data/vendor/cache/rake-12.3.3.gem +0 -0
  18. data/vendor/cache/ruby-progressbar-1.10.1.gem +0 -0
  19. data/vendor/cache/ruby/2.7.0/bin/rake +27 -0
  20. data/vendor/cache/ruby/2.7.0/cache/ansi-1.5.0.gem +0 -0
  21. data/vendor/cache/ruby/2.7.0/cache/builder-3.2.4.gem +0 -0
  22. data/vendor/cache/ruby/2.7.0/cache/minitest-5.14.1.gem +0 -0
  23. data/vendor/cache/ruby/2.7.0/cache/minitest-reporters-1.4.2.gem +0 -0
  24. data/vendor/cache/ruby/2.7.0/cache/rake-12.3.3.gem +0 -0
  25. data/vendor/cache/ruby/2.7.0/cache/ruby-progressbar-1.10.1.gem +0 -0
  26. data/vendor/cache/ruby/2.7.0/gems/ansi-1.5.0/.index +77 -0
  27. data/vendor/cache/ruby/2.7.0/gems/ansi-1.5.0/.yardopts +8 -0
  28. data/vendor/cache/ruby/2.7.0/gems/ansi-1.5.0/DEMO.md +451 -0
  29. data/vendor/cache/ruby/2.7.0/gems/ansi-1.5.0/HISTORY.md +217 -0
  30. data/vendor/cache/ruby/2.7.0/gems/ansi-1.5.0/LICENSE.txt +23 -0
  31. data/vendor/cache/ruby/2.7.0/gems/ansi-1.5.0/NOTICE.md +170 -0
  32. data/vendor/cache/ruby/2.7.0/gems/ansi-1.5.0/README.md +91 -0
  33. data/vendor/cache/ruby/2.7.0/gems/ansi-1.5.0/demo/01_ansicode.md +65 -0
  34. data/vendor/cache/ruby/2.7.0/gems/ansi-1.5.0/demo/02_core.md +11 -0
  35. data/vendor/cache/ruby/2.7.0/gems/ansi-1.5.0/demo/03_logger.md +30 -0
  36. data/vendor/cache/ruby/2.7.0/gems/ansi-1.5.0/demo/04_progressbar.md +62 -0
  37. data/vendor/cache/ruby/2.7.0/gems/ansi-1.5.0/demo/05_mixin.md +37 -0
  38. data/vendor/cache/ruby/2.7.0/gems/ansi-1.5.0/demo/06_string.md +56 -0
  39. data/vendor/cache/ruby/2.7.0/gems/ansi-1.5.0/demo/07_columns.md +89 -0
  40. data/vendor/cache/ruby/2.7.0/gems/ansi-1.5.0/demo/08_table.md +28 -0
  41. data/vendor/cache/ruby/2.7.0/gems/ansi-1.5.0/demo/09_diff.md +47 -0
  42. data/vendor/cache/ruby/2.7.0/gems/ansi-1.5.0/demo/10_bbcode.md +24 -0
  43. data/vendor/cache/ruby/2.7.0/gems/ansi-1.5.0/demo/11_terminal.md +8 -0
  44. data/vendor/cache/ruby/2.7.0/gems/ansi-1.5.0/demo/applique/ae.rb +1 -0
  45. data/vendor/cache/ruby/2.7.0/gems/ansi-1.5.0/demo/applique/output.rb +5 -0
  46. data/vendor/cache/ruby/2.7.0/gems/ansi-1.5.0/lib/ansi.rb +22 -0
  47. data/vendor/cache/ruby/2.7.0/gems/ansi-1.5.0/lib/ansi.yml +77 -0
  48. data/vendor/cache/ruby/2.7.0/gems/ansi-1.5.0/lib/ansi/bbcode.rb +334 -0
  49. data/vendor/cache/ruby/2.7.0/gems/ansi-1.5.0/lib/ansi/chain.rb +50 -0
  50. data/vendor/cache/ruby/2.7.0/gems/ansi-1.5.0/lib/ansi/chart.rb +100 -0
  51. data/vendor/cache/ruby/2.7.0/gems/ansi-1.5.0/lib/ansi/code.rb +349 -0
  52. data/vendor/cache/ruby/2.7.0/gems/ansi-1.5.0/lib/ansi/columns.rb +197 -0
  53. data/vendor/cache/ruby/2.7.0/gems/ansi-1.5.0/lib/ansi/constants.rb +25 -0
  54. data/vendor/cache/ruby/2.7.0/gems/ansi-1.5.0/lib/ansi/core.rb +30 -0
  55. data/vendor/cache/ruby/2.7.0/gems/ansi-1.5.0/lib/ansi/diff.rb +215 -0
  56. data/vendor/cache/ruby/2.7.0/gems/ansi-1.5.0/lib/ansi/hexdump.rb +122 -0
  57. data/vendor/cache/ruby/2.7.0/gems/ansi-1.5.0/lib/ansi/logger.rb +211 -0
  58. data/vendor/cache/ruby/2.7.0/gems/ansi-1.5.0/lib/ansi/mixin.rb +121 -0
  59. data/vendor/cache/ruby/2.7.0/gems/ansi-1.5.0/lib/ansi/progressbar.rb +292 -0
  60. data/vendor/cache/ruby/2.7.0/gems/ansi-1.5.0/lib/ansi/string.rb +254 -0
  61. data/vendor/cache/ruby/2.7.0/gems/ansi-1.5.0/lib/ansi/table.rb +179 -0
  62. data/vendor/cache/ruby/2.7.0/gems/ansi-1.5.0/lib/ansi/terminal.rb +44 -0
  63. data/vendor/cache/ruby/2.7.0/gems/ansi-1.5.0/lib/ansi/terminal/curses.rb +26 -0
  64. data/vendor/cache/ruby/2.7.0/gems/ansi-1.5.0/lib/ansi/terminal/stty.rb +62 -0
  65. data/vendor/cache/ruby/2.7.0/gems/ansi-1.5.0/lib/ansi/terminal/termios.rb +68 -0
  66. data/vendor/cache/ruby/2.7.0/gems/ansi-1.5.0/lib/ansi/terminal/win32.rb +107 -0
  67. data/vendor/cache/ruby/2.7.0/gems/ansi-1.5.0/lib/ansi/version.rb +15 -0
  68. data/vendor/cache/ruby/2.7.0/gems/ansi-1.5.0/test/case_ansicode.rb +43 -0
  69. data/vendor/cache/ruby/2.7.0/gems/ansi-1.5.0/test/case_bbcode.rb +35 -0
  70. data/vendor/cache/ruby/2.7.0/gems/ansi-1.5.0/test/case_mixin.rb +35 -0
  71. data/vendor/cache/ruby/2.7.0/gems/ansi-1.5.0/test/case_progressbar.rb +21 -0
  72. data/vendor/cache/ruby/2.7.0/gems/ansi-1.5.0/test/test_helper.rb +3 -0
  73. data/vendor/cache/ruby/2.7.0/gems/builder-3.2.4/CHANGES +119 -0
  74. data/vendor/cache/ruby/2.7.0/gems/builder-3.2.4/MIT-LICENSE +20 -0
  75. data/vendor/cache/ruby/2.7.0/gems/builder-3.2.4/README.md +258 -0
  76. data/vendor/cache/ruby/2.7.0/gems/builder-3.2.4/Rakefile +194 -0
  77. data/vendor/cache/ruby/2.7.0/gems/builder-3.2.4/builder.blurb +27 -0
  78. data/vendor/cache/ruby/2.7.0/gems/builder-3.2.4/builder.gemspec +45 -0
  79. data/vendor/cache/ruby/2.7.0/gems/builder-3.2.4/doc/jamis.rb +592 -0
  80. data/vendor/cache/ruby/2.7.0/gems/builder-3.2.4/doc/releases/builder-1.2.4.rdoc +31 -0
  81. data/vendor/cache/ruby/2.7.0/gems/builder-3.2.4/doc/releases/builder-2.0.0.rdoc +46 -0
  82. data/vendor/cache/ruby/2.7.0/gems/builder-3.2.4/doc/releases/builder-2.1.1.rdoc +58 -0
  83. data/vendor/cache/ruby/2.7.0/gems/builder-3.2.4/lib/blankslate.rb +138 -0
  84. data/vendor/cache/ruby/2.7.0/gems/builder-3.2.4/lib/builder.rb +14 -0
  85. data/vendor/cache/ruby/2.7.0/gems/builder-3.2.4/lib/builder/blankslate.rb +24 -0
  86. data/vendor/cache/ruby/2.7.0/gems/builder-3.2.4/lib/builder/version.rb +9 -0
  87. data/vendor/cache/ruby/2.7.0/gems/builder-3.2.4/lib/builder/xchar.rb +198 -0
  88. data/vendor/cache/ruby/2.7.0/gems/builder-3.2.4/lib/builder/xmlbase.rb +200 -0
  89. data/vendor/cache/ruby/2.7.0/gems/builder-3.2.4/lib/builder/xmlevents.rb +64 -0
  90. data/vendor/cache/ruby/2.7.0/gems/builder-3.2.4/lib/builder/xmlmarkup.rb +345 -0
  91. data/vendor/cache/ruby/2.7.0/gems/builder-3.2.4/rakelib/publish.rake +21 -0
  92. data/vendor/cache/ruby/2.7.0/gems/builder-3.2.4/rakelib/tags.rake +63 -0
  93. data/vendor/cache/ruby/2.7.0/gems/builder-3.2.4/rakelib/testing.rake +8 -0
  94. data/vendor/cache/ruby/2.7.0/gems/builder-3.2.4/test/helper.rb +13 -0
  95. data/vendor/cache/ruby/2.7.0/gems/builder-3.2.4/test/performance.rb +42 -0
  96. data/vendor/cache/ruby/2.7.0/gems/builder-3.2.4/test/preload.rb +40 -0
  97. data/vendor/cache/ruby/2.7.0/gems/builder-3.2.4/test/test_blankslate.rb +208 -0
  98. data/vendor/cache/ruby/2.7.0/gems/builder-3.2.4/test/test_eventbuilder.rb +151 -0
  99. data/vendor/cache/ruby/2.7.0/gems/builder-3.2.4/test/test_markupbuilder.rb +617 -0
  100. data/vendor/cache/ruby/2.7.0/gems/builder-3.2.4/test/test_method_caching.rb +63 -0
  101. data/vendor/cache/ruby/2.7.0/gems/builder-3.2.4/test/test_namecollision.rb +40 -0
  102. data/vendor/cache/ruby/2.7.0/gems/builder-3.2.4/test/test_xchar.rb +85 -0
  103. data/vendor/cache/ruby/2.7.0/gems/minitest-5.14.1/.autotest +34 -0
  104. data/vendor/cache/ruby/2.7.0/gems/minitest-5.14.1/History.rdoc +1392 -0
  105. data/vendor/cache/ruby/2.7.0/gems/minitest-5.14.1/Manifest.txt +27 -0
  106. data/vendor/cache/ruby/2.7.0/gems/minitest-5.14.1/README.rdoc +764 -0
  107. data/vendor/cache/ruby/2.7.0/gems/minitest-5.14.1/Rakefile +74 -0
  108. data/vendor/cache/ruby/2.7.0/gems/minitest-5.14.1/design_rationale.rb +52 -0
  109. data/vendor/cache/ruby/2.7.0/gems/minitest-5.14.1/lib/hoe/minitest.rb +32 -0
  110. data/vendor/cache/ruby/2.7.0/gems/minitest-5.14.1/lib/minitest.rb +1056 -0
  111. data/vendor/cache/ruby/2.7.0/gems/minitest-5.14.1/lib/minitest/assertions.rb +807 -0
  112. data/vendor/cache/ruby/2.7.0/gems/minitest-5.14.1/lib/minitest/autorun.rb +13 -0
  113. data/vendor/cache/ruby/2.7.0/gems/minitest-5.14.1/lib/minitest/benchmark.rb +455 -0
  114. data/vendor/cache/ruby/2.7.0/gems/minitest-5.14.1/lib/minitest/expectations.rb +303 -0
  115. data/vendor/cache/ruby/2.7.0/gems/minitest-5.14.1/lib/minitest/hell.rb +11 -0
  116. data/vendor/cache/ruby/2.7.0/gems/minitest-5.14.1/lib/minitest/mock.rb +240 -0
  117. data/vendor/cache/ruby/2.7.0/gems/minitest-5.14.1/lib/minitest/parallel.rb +70 -0
  118. data/vendor/cache/ruby/2.7.0/gems/minitest-5.14.1/lib/minitest/pride.rb +4 -0
  119. data/vendor/cache/ruby/2.7.0/gems/minitest-5.14.1/lib/minitest/pride_plugin.rb +142 -0
  120. data/vendor/cache/ruby/2.7.0/gems/minitest-5.14.1/lib/minitest/spec.rb +342 -0
  121. data/vendor/cache/ruby/2.7.0/gems/minitest-5.14.1/lib/minitest/test.rb +220 -0
  122. data/vendor/cache/ruby/2.7.0/gems/minitest-5.14.1/lib/minitest/unit.rb +45 -0
  123. data/vendor/cache/ruby/2.7.0/gems/minitest-5.14.1/test/minitest/metametameta.rb +136 -0
  124. data/vendor/cache/ruby/2.7.0/gems/minitest-5.14.1/test/minitest/test_minitest_assertions.rb +1567 -0
  125. data/vendor/cache/ruby/2.7.0/gems/minitest-5.14.1/test/minitest/test_minitest_benchmark.rb +137 -0
  126. data/vendor/cache/ruby/2.7.0/gems/minitest-5.14.1/test/minitest/test_minitest_mock.rb +872 -0
  127. data/vendor/cache/ruby/2.7.0/gems/minitest-5.14.1/test/minitest/test_minitest_reporter.rb +299 -0
  128. data/vendor/cache/ruby/2.7.0/gems/minitest-5.14.1/test/minitest/test_minitest_spec.rb +1061 -0
  129. data/vendor/cache/ruby/2.7.0/gems/minitest-5.14.1/test/minitest/test_minitest_test.rb +1084 -0
  130. data/vendor/cache/ruby/2.7.0/gems/minitest-reporters-1.4.2/.gitignore +28 -0
  131. data/vendor/cache/ruby/2.7.0/gems/minitest-reporters-1.4.2/.rubocop.yml +77 -0
  132. data/vendor/cache/ruby/2.7.0/gems/minitest-reporters-1.4.2/.ruby-gemset +1 -0
  133. data/vendor/cache/ruby/2.7.0/gems/minitest-reporters-1.4.2/.travis.yml +15 -0
  134. data/vendor/cache/ruby/2.7.0/gems/minitest-reporters-1.4.2/.yardopts +6 -0
  135. data/vendor/cache/ruby/2.7.0/gems/minitest-reporters-1.4.2/CHANGELOG.md +120 -0
  136. data/vendor/cache/ruby/2.7.0/gems/minitest-reporters-1.4.2/Gemfile +2 -0
  137. data/vendor/cache/ruby/2.7.0/gems/minitest-reporters-1.4.2/LICENSE +20 -0
  138. data/vendor/cache/ruby/2.7.0/gems/minitest-reporters-1.4.2/README.md +135 -0
  139. data/vendor/cache/ruby/2.7.0/gems/minitest-reporters-1.4.2/Rakefile +70 -0
  140. data/vendor/cache/ruby/2.7.0/gems/minitest-reporters-1.4.2/appveyor.yml +22 -0
  141. data/vendor/cache/ruby/2.7.0/gems/minitest-reporters-1.4.2/assets/default-reporter.png +0 -0
  142. data/vendor/cache/ruby/2.7.0/gems/minitest-reporters-1.4.2/assets/mean_time_reporter.png +0 -0
  143. data/vendor/cache/ruby/2.7.0/gems/minitest-reporters-1.4.2/assets/progress-reporter.png +0 -0
  144. data/vendor/cache/ruby/2.7.0/gems/minitest-reporters-1.4.2/assets/spec-reporter.png +0 -0
  145. data/vendor/cache/ruby/2.7.0/gems/minitest-reporters-1.4.2/lib/minitest/extensible_backtrace_filter.rb +67 -0
  146. data/vendor/cache/ruby/2.7.0/gems/minitest-reporters-1.4.2/lib/minitest/minitest_reporter_plugin.rb +82 -0
  147. data/vendor/cache/ruby/2.7.0/gems/minitest-reporters-1.4.2/lib/minitest/old_activesupport_fix.rb +24 -0
  148. data/vendor/cache/ruby/2.7.0/gems/minitest-reporters-1.4.2/lib/minitest/relative_position.rb +26 -0
  149. data/vendor/cache/ruby/2.7.0/gems/minitest-reporters-1.4.2/lib/minitest/reporters.rb +91 -0
  150. data/vendor/cache/ruby/2.7.0/gems/minitest-reporters-1.4.2/lib/minitest/reporters/ansi.rb +30 -0
  151. data/vendor/cache/ruby/2.7.0/gems/minitest-reporters-1.4.2/lib/minitest/reporters/base_reporter.rb +136 -0
  152. data/vendor/cache/ruby/2.7.0/gems/minitest-reporters-1.4.2/lib/minitest/reporters/default_reporter.rb +245 -0
  153. data/vendor/cache/ruby/2.7.0/gems/minitest-reporters-1.4.2/lib/minitest/reporters/html_reporter.rb +224 -0
  154. data/vendor/cache/ruby/2.7.0/gems/minitest-reporters-1.4.2/lib/minitest/reporters/junit_reporter.rb +174 -0
  155. data/vendor/cache/ruby/2.7.0/gems/minitest-reporters-1.4.2/lib/minitest/reporters/mean_time_reporter.rb +388 -0
  156. data/vendor/cache/ruby/2.7.0/gems/minitest-reporters-1.4.2/lib/minitest/reporters/progress_reporter.rb +104 -0
  157. data/vendor/cache/ruby/2.7.0/gems/minitest-reporters-1.4.2/lib/minitest/reporters/ruby_mate_reporter.rb +54 -0
  158. data/vendor/cache/ruby/2.7.0/gems/minitest-reporters-1.4.2/lib/minitest/reporters/rubymine_reporter.rb +116 -0
  159. data/vendor/cache/ruby/2.7.0/gems/minitest-reporters-1.4.2/lib/minitest/reporters/spec_reporter.rb +61 -0
  160. data/vendor/cache/ruby/2.7.0/gems/minitest-reporters-1.4.2/lib/minitest/reporters/version.rb +5 -0
  161. data/vendor/cache/ruby/2.7.0/gems/minitest-reporters-1.4.2/lib/minitest/templates/index.html.erb +85 -0
  162. data/vendor/cache/ruby/2.7.0/gems/minitest-reporters-1.4.2/minitest-reporters.gemspec +31 -0
  163. data/vendor/cache/ruby/2.7.0/gems/minitest-reporters-1.4.2/test/fixtures/junit_filename_bug_example_test.rb +41 -0
  164. data/vendor/cache/ruby/2.7.0/gems/minitest-reporters-1.4.2/test/fixtures/mean_time_test.rb +36 -0
  165. data/vendor/cache/ruby/2.7.0/gems/minitest-reporters-1.4.2/test/fixtures/progress_detailed_skip_test.rb +8 -0
  166. data/vendor/cache/ruby/2.7.0/gems/minitest-reporters-1.4.2/test/fixtures/progress_test.rb +8 -0
  167. data/vendor/cache/ruby/2.7.0/gems/minitest-reporters-1.4.2/test/fixtures/sample_test.rb +15 -0
  168. data/vendor/cache/ruby/2.7.0/gems/minitest-reporters-1.4.2/test/fixtures/spec_test.rb +18 -0
  169. data/vendor/cache/ruby/2.7.0/gems/minitest-reporters-1.4.2/test/gallery/bad_test.rb +25 -0
  170. data/vendor/cache/ruby/2.7.0/gems/minitest-reporters-1.4.2/test/gallery/good_test.rb +14 -0
  171. data/vendor/cache/ruby/2.7.0/gems/minitest-reporters-1.4.2/test/integration/reporters/junit_reporter_test.rb +12 -0
  172. data/vendor/cache/ruby/2.7.0/gems/minitest-reporters-1.4.2/test/integration/reporters/mean_time_reporter_test.rb +7 -0
  173. data/vendor/cache/ruby/2.7.0/gems/minitest-reporters-1.4.2/test/integration/reporters/progress_reporter_test.rb +40 -0
  174. data/vendor/cache/ruby/2.7.0/gems/minitest-reporters-1.4.2/test/test_helper.rb +22 -0
  175. data/vendor/cache/ruby/2.7.0/gems/minitest-reporters-1.4.2/test/unit/minitest/extensible_backtrace_filter_test.rb +42 -0
  176. data/vendor/cache/ruby/2.7.0/gems/minitest-reporters-1.4.2/test/unit/minitest/junit_reporter_test.rb +46 -0
  177. data/vendor/cache/ruby/2.7.0/gems/minitest-reporters-1.4.2/test/unit/minitest/mean_time_reporter_unit_test.rb +149 -0
  178. data/vendor/cache/ruby/2.7.0/gems/minitest-reporters-1.4.2/test/unit/minitest/minitest_reporter_plugin_test.rb +14 -0
  179. data/vendor/cache/ruby/2.7.0/gems/minitest-reporters-1.4.2/test/unit/minitest/reporters_test.rb +65 -0
  180. data/vendor/cache/ruby/2.7.0/gems/minitest-reporters-1.4.2/test/unit/minitest/spec_reporter_test.rb +62 -0
  181. data/vendor/cache/ruby/2.7.0/gems/rake-12.3.3/CONTRIBUTING.rdoc +43 -0
  182. data/vendor/cache/ruby/2.7.0/gems/rake-12.3.3/Gemfile +3 -0
  183. data/vendor/cache/ruby/2.7.0/gems/rake-12.3.3/History.rdoc +2344 -0
  184. data/vendor/cache/ruby/2.7.0/gems/rake-12.3.3/MIT-LICENSE +21 -0
  185. data/vendor/cache/ruby/2.7.0/gems/rake-12.3.3/README.rdoc +156 -0
  186. data/vendor/cache/ruby/2.7.0/gems/rake-12.3.3/Rakefile +41 -0
  187. data/vendor/cache/ruby/2.7.0/gems/rake-12.3.3/azure-pipelines.yml +11 -0
  188. data/vendor/cache/ruby/2.7.0/gems/rake-12.3.3/bin/bundle +105 -0
  189. data/vendor/cache/ruby/2.7.0/gems/rake-12.3.3/bin/console +7 -0
  190. data/vendor/cache/ruby/2.7.0/gems/rake-12.3.3/bin/rake +29 -0
  191. data/vendor/cache/ruby/2.7.0/gems/rake-12.3.3/bin/rdoc +29 -0
  192. data/vendor/cache/ruby/2.7.0/gems/rake-12.3.3/bin/rubocop +29 -0
  193. data/vendor/cache/ruby/2.7.0/gems/rake-12.3.3/bin/setup +6 -0
  194. data/vendor/cache/ruby/2.7.0/gems/rake-12.3.3/doc/command_line_usage.rdoc +158 -0
  195. data/vendor/cache/ruby/2.7.0/gems/rake-12.3.3/doc/example/Rakefile1 +38 -0
  196. data/vendor/cache/ruby/2.7.0/gems/rake-12.3.3/doc/example/Rakefile2 +35 -0
  197. data/vendor/cache/ruby/2.7.0/gems/rake-12.3.3/doc/example/a.c +6 -0
  198. data/vendor/cache/ruby/2.7.0/gems/rake-12.3.3/doc/example/b.c +6 -0
  199. data/vendor/cache/ruby/2.7.0/gems/rake-12.3.3/doc/example/main.c +11 -0
  200. data/vendor/cache/ruby/2.7.0/gems/rake-12.3.3/doc/glossary.rdoc +42 -0
  201. data/vendor/cache/ruby/2.7.0/gems/rake-12.3.3/doc/jamis.rb +592 -0
  202. data/vendor/cache/ruby/2.7.0/gems/rake-12.3.3/doc/proto_rake.rdoc +127 -0
  203. data/vendor/cache/ruby/2.7.0/gems/rake-12.3.3/doc/rake.1 +156 -0
  204. data/vendor/cache/ruby/2.7.0/gems/rake-12.3.3/doc/rakefile.rdoc +622 -0
  205. data/vendor/cache/ruby/2.7.0/gems/rake-12.3.3/doc/rational.rdoc +151 -0
  206. data/vendor/cache/ruby/2.7.0/gems/rake-12.3.3/exe/rake +27 -0
  207. data/vendor/cache/ruby/2.7.0/gems/rake-12.3.3/lib/rake.rb +71 -0
  208. data/vendor/cache/ruby/2.7.0/gems/rake-12.3.3/lib/rake/application.rb +824 -0
  209. data/vendor/cache/ruby/2.7.0/gems/rake-12.3.3/lib/rake/backtrace.rb +24 -0
  210. data/vendor/cache/ruby/2.7.0/gems/rake-12.3.3/lib/rake/clean.rb +78 -0
  211. data/vendor/cache/ruby/2.7.0/gems/rake-12.3.3/lib/rake/cloneable.rb +17 -0
  212. data/vendor/cache/ruby/2.7.0/gems/rake-12.3.3/lib/rake/cpu_counter.rb +107 -0
  213. data/vendor/cache/ruby/2.7.0/gems/rake-12.3.3/lib/rake/default_loader.rb +15 -0
  214. data/vendor/cache/ruby/2.7.0/gems/rake-12.3.3/lib/rake/dsl_definition.rb +195 -0
  215. data/vendor/cache/ruby/2.7.0/gems/rake-12.3.3/lib/rake/early_time.rb +22 -0
  216. data/vendor/cache/ruby/2.7.0/gems/rake-12.3.3/lib/rake/ext/core.rb +26 -0
  217. data/vendor/cache/ruby/2.7.0/gems/rake-12.3.3/lib/rake/ext/string.rb +176 -0
  218. data/vendor/cache/ruby/2.7.0/gems/rake-12.3.3/lib/rake/file_creation_task.rb +25 -0
  219. data/vendor/cache/ruby/2.7.0/gems/rake-12.3.3/lib/rake/file_list.rb +435 -0
  220. data/vendor/cache/ruby/2.7.0/gems/rake-12.3.3/lib/rake/file_task.rb +54 -0
  221. data/vendor/cache/ruby/2.7.0/gems/rake-12.3.3/lib/rake/file_utils.rb +137 -0
  222. data/vendor/cache/ruby/2.7.0/gems/rake-12.3.3/lib/rake/file_utils_ext.rb +145 -0
  223. data/vendor/cache/ruby/2.7.0/gems/rake-12.3.3/lib/rake/invocation_chain.rb +57 -0
  224. data/vendor/cache/ruby/2.7.0/gems/rake-12.3.3/lib/rake/invocation_exception_mixin.rb +17 -0
  225. data/vendor/cache/ruby/2.7.0/gems/rake-12.3.3/lib/rake/late_time.rb +18 -0
  226. data/vendor/cache/ruby/2.7.0/gems/rake-12.3.3/lib/rake/linked_list.rb +112 -0
  227. data/vendor/cache/ruby/2.7.0/gems/rake-12.3.3/lib/rake/loaders/makefile.rb +54 -0
  228. data/vendor/cache/ruby/2.7.0/gems/rake-12.3.3/lib/rake/multi_task.rb +14 -0
  229. data/vendor/cache/ruby/2.7.0/gems/rake-12.3.3/lib/rake/name_space.rb +38 -0
  230. data/vendor/cache/ruby/2.7.0/gems/rake-12.3.3/lib/rake/packagetask.rb +207 -0
  231. data/vendor/cache/ruby/2.7.0/gems/rake-12.3.3/lib/rake/phony.rb +16 -0
  232. data/vendor/cache/ruby/2.7.0/gems/rake-12.3.3/lib/rake/private_reader.rb +21 -0
  233. data/vendor/cache/ruby/2.7.0/gems/rake-12.3.3/lib/rake/promise.rb +100 -0
  234. data/vendor/cache/ruby/2.7.0/gems/rake-12.3.3/lib/rake/pseudo_status.rb +30 -0
  235. data/vendor/cache/ruby/2.7.0/gems/rake-12.3.3/lib/rake/rake_module.rb +67 -0
  236. data/vendor/cache/ruby/2.7.0/gems/rake-12.3.3/lib/rake/rake_test_loader.rb +27 -0
  237. data/vendor/cache/ruby/2.7.0/gems/rake-12.3.3/lib/rake/rule_recursion_overflow_error.rb +20 -0
  238. data/vendor/cache/ruby/2.7.0/gems/rake-12.3.3/lib/rake/scope.rb +43 -0
  239. data/vendor/cache/ruby/2.7.0/gems/rake-12.3.3/lib/rake/task.rb +413 -0
  240. data/vendor/cache/ruby/2.7.0/gems/rake-12.3.3/lib/rake/task_argument_error.rb +8 -0
  241. data/vendor/cache/ruby/2.7.0/gems/rake-12.3.3/lib/rake/task_arguments.rb +109 -0
  242. data/vendor/cache/ruby/2.7.0/gems/rake-12.3.3/lib/rake/task_manager.rb +324 -0
  243. data/vendor/cache/ruby/2.7.0/gems/rake-12.3.3/lib/rake/tasklib.rb +12 -0
  244. data/vendor/cache/ruby/2.7.0/gems/rake-12.3.3/lib/rake/testtask.rb +224 -0
  245. data/vendor/cache/ruby/2.7.0/gems/rake-12.3.3/lib/rake/thread_history_display.rb +49 -0
  246. data/vendor/cache/ruby/2.7.0/gems/rake-12.3.3/lib/rake/thread_pool.rb +163 -0
  247. data/vendor/cache/ruby/2.7.0/gems/rake-12.3.3/lib/rake/trace_output.rb +23 -0
  248. data/vendor/cache/ruby/2.7.0/gems/rake-12.3.3/lib/rake/version.rb +10 -0
  249. data/vendor/cache/ruby/2.7.0/gems/rake-12.3.3/lib/rake/win32.rb +51 -0
  250. data/vendor/cache/ruby/2.7.0/gems/rake-12.3.3/rake.gemspec +42 -0
  251. data/vendor/cache/ruby/2.7.0/gems/ruby-progressbar-1.10.1/LICENSE.txt +19 -0
  252. data/vendor/cache/ruby/2.7.0/gems/ruby-progressbar-1.10.1/README.md +38 -0
  253. data/vendor/cache/ruby/2.7.0/gems/ruby-progressbar-1.10.1/Rakefile +2 -0
  254. data/vendor/cache/ruby/2.7.0/gems/ruby-progressbar-1.10.1/lib/ruby-progressbar.rb +22 -0
  255. data/vendor/cache/ruby/2.7.0/gems/ruby-progressbar-1.10.1/lib/ruby-progressbar/base.rb +183 -0
  256. data/vendor/cache/ruby/2.7.0/gems/ruby-progressbar-1.10.1/lib/ruby-progressbar/calculators/length.rb +100 -0
  257. data/vendor/cache/ruby/2.7.0/gems/ruby-progressbar-1.10.1/lib/ruby-progressbar/calculators/running_average.rb +9 -0
  258. data/vendor/cache/ruby/2.7.0/gems/ruby-progressbar-1.10.1/lib/ruby-progressbar/components.rb +5 -0
  259. data/vendor/cache/ruby/2.7.0/gems/ruby-progressbar-1.10.1/lib/ruby-progressbar/components/bar.rb +102 -0
  260. data/vendor/cache/ruby/2.7.0/gems/ruby-progressbar-1.10.1/lib/ruby-progressbar/components/percentage.rb +29 -0
  261. data/vendor/cache/ruby/2.7.0/gems/ruby-progressbar-1.10.1/lib/ruby-progressbar/components/rate.rb +43 -0
  262. data/vendor/cache/ruby/2.7.0/gems/ruby-progressbar-1.10.1/lib/ruby-progressbar/components/time.rb +107 -0
  263. data/vendor/cache/ruby/2.7.0/gems/ruby-progressbar-1.10.1/lib/ruby-progressbar/components/title.rb +13 -0
  264. data/vendor/cache/ruby/2.7.0/gems/ruby-progressbar-1.10.1/lib/ruby-progressbar/errors/invalid_progress_error.rb +4 -0
  265. data/vendor/cache/ruby/2.7.0/gems/ruby-progressbar-1.10.1/lib/ruby-progressbar/format.rb +3 -0
  266. data/vendor/cache/ruby/2.7.0/gems/ruby-progressbar-1.10.1/lib/ruby-progressbar/format/formatter.rb +27 -0
  267. data/vendor/cache/ruby/2.7.0/gems/ruby-progressbar-1.10.1/lib/ruby-progressbar/format/molecule.rb +60 -0
  268. data/vendor/cache/ruby/2.7.0/gems/ruby-progressbar-1.10.1/lib/ruby-progressbar/format/string.rb +36 -0
  269. data/vendor/cache/ruby/2.7.0/gems/ruby-progressbar-1.10.1/lib/ruby-progressbar/output.rb +68 -0
  270. data/vendor/cache/ruby/2.7.0/gems/ruby-progressbar-1.10.1/lib/ruby-progressbar/outputs/non_tty.rb +47 -0
  271. data/vendor/cache/ruby/2.7.0/gems/ruby-progressbar-1.10.1/lib/ruby-progressbar/outputs/null.rb +33 -0
  272. data/vendor/cache/ruby/2.7.0/gems/ruby-progressbar-1.10.1/lib/ruby-progressbar/outputs/tty.rb +32 -0
  273. data/vendor/cache/ruby/2.7.0/gems/ruby-progressbar-1.10.1/lib/ruby-progressbar/progress.rb +118 -0
  274. data/vendor/cache/ruby/2.7.0/gems/ruby-progressbar-1.10.1/lib/ruby-progressbar/refinements.rb +1 -0
  275. data/vendor/cache/ruby/2.7.0/gems/ruby-progressbar-1.10.1/lib/ruby-progressbar/refinements/enumerator.rb +23 -0
  276. data/vendor/cache/ruby/2.7.0/gems/ruby-progressbar-1.10.1/lib/ruby-progressbar/throttle.rb +25 -0
  277. data/vendor/cache/ruby/2.7.0/gems/ruby-progressbar-1.10.1/lib/ruby-progressbar/time.rb +32 -0
  278. data/vendor/cache/ruby/2.7.0/gems/ruby-progressbar-1.10.1/lib/ruby-progressbar/timer.rb +72 -0
  279. data/vendor/cache/ruby/2.7.0/gems/ruby-progressbar-1.10.1/lib/ruby-progressbar/version.rb +3 -0
  280. data/vendor/cache/ruby/2.7.0/specifications/ansi-1.5.0.gemspec +42 -0
  281. data/vendor/cache/ruby/2.7.0/specifications/builder-3.2.4.gemspec +23 -0
  282. data/vendor/cache/ruby/2.7.0/specifications/minitest-5.14.1.gemspec +38 -0
  283. data/vendor/cache/ruby/2.7.0/specifications/minitest-reporters-1.4.2.gemspec +43 -0
  284. data/vendor/cache/ruby/2.7.0/specifications/rake-12.3.3.gemspec +43 -0
  285. data/vendor/cache/ruby/2.7.0/specifications/ruby-progressbar-1.10.1.gemspec +40 -0
  286. metadata +330 -0
@@ -0,0 +1,41 @@
1
+ # This is a test for a bug that was happening when the JUnit Reporter was
2
+ # creating filenames from `describe`s that contained slashes, which would crash
3
+ # since it was trying to create directories then.
4
+
5
+ require 'bundler/setup'
6
+ require 'minitest/autorun'
7
+ require 'minitest/reporters'
8
+
9
+ Minitest::Reporters.use! Minitest::Reporters::JUnitReporter.new
10
+
11
+ describe 'something/other' do
12
+ it 'does something' do
13
+ 1.must_equal 1
14
+ end
15
+ end
16
+
17
+ describe 'something/other' do
18
+ it 'does something else' do
19
+ 1.must_equal 2
20
+ end
21
+ end
22
+
23
+ class Eval
24
+ class Issue258Tset < Minitest::Test
25
+ def test_true
26
+ assert true
27
+ end
28
+
29
+ [
30
+ ["bool1", "true", "true"],
31
+ ["bool2", "false", "false"]
32
+ ].each do |a|
33
+ (type, expectation1, expectation2) = a
34
+ eval(%{
35
+ def test_eval_#{type}_#{expectation1}
36
+ assert_equal(#{expectation1}, #{expectation2})
37
+ end
38
+ })
39
+ end
40
+ end
41
+ end
@@ -0,0 +1,36 @@
1
+ require 'bundler/setup'
2
+ require 'minitest/autorun'
3
+ require 'minitest/reporters'
4
+ require 'minitest/reporters/mean_time_reporter'
5
+
6
+ Minitest::Reporters.use! Minitest::Reporters::MeanTimeReporter.new
7
+
8
+ class TestClass < Minitest::Test
9
+ def test_assertion
10
+ assert true
11
+ end
12
+
13
+ def test_fail
14
+ fail
15
+ end
16
+ end
17
+
18
+ class AnotherTestClass < Minitest::Test
19
+ def test_assertion
20
+ assert true
21
+ end
22
+
23
+ def test_fail
24
+ fail
25
+ end
26
+ end
27
+
28
+ class LastTestClass < Minitest::Test
29
+ def test_assertion
30
+ assert true
31
+ end
32
+
33
+ def test_fail
34
+ fail
35
+ end
36
+ end
@@ -0,0 +1,8 @@
1
+ require 'bundler/setup'
2
+ require 'minitest/autorun'
3
+ require 'minitest/reporters'
4
+
5
+ Minitest::Reporters.use! Minitest::Reporters::ProgressReporter.new(detailed_skip: false)
6
+
7
+ require_relative 'sample_test'
8
+
@@ -0,0 +1,8 @@
1
+ require 'bundler/setup'
2
+ require 'minitest/autorun'
3
+ require 'minitest/reporters'
4
+
5
+ Minitest::Reporters.use! Minitest::Reporters::ProgressReporter.new
6
+
7
+ require_relative 'sample_test'
8
+
@@ -0,0 +1,15 @@
1
+ Class.new(Minitest::Test) do
2
+ def test_success
3
+ assert true
4
+ end
5
+ def test_failure
6
+ assert false
7
+ end
8
+ def test_skip
9
+ skip('Skipping rope')
10
+ end
11
+ def test_error
12
+ raise 'An unexpected error'
13
+ end
14
+ end
15
+
@@ -0,0 +1,18 @@
1
+ require 'bundler/setup'
2
+ require 'minitest'
3
+ require 'minitest/reporters'
4
+ require 'minitest/autorun'
5
+
6
+ Minitest::Reporters.use! Minitest::Reporters::SpecReporter.new
7
+
8
+ describe String do
9
+ describe '#length' do
10
+ it 'works' do
11
+ assert_equal 5, 'hello'.length
12
+ end
13
+
14
+ it 'doesn\'t works' do
15
+ assert_equal 6, 'hello'.length
16
+ end
17
+ end
18
+ end
@@ -0,0 +1,25 @@
1
+ require_relative "../test_helper"
2
+
3
+ module MinitestReportersTest
4
+ class BadTest < TestCase
5
+ def test_a
6
+ assert_equal 1, 2
7
+ end
8
+
9
+ def test_b
10
+ assert false # simple failure
11
+ end
12
+
13
+ def test_b
14
+ assert_equal "ab\nc", "ab\nd" # some nice diff
15
+ end
16
+
17
+ def test_boom
18
+ raise "A random exception"
19
+ end
20
+
21
+ def test_long_method_name
22
+ skip
23
+ end
24
+ end
25
+ end
@@ -0,0 +1,14 @@
1
+ require_relative "../test_helper"
2
+
3
+ module MinitestReportersTest
4
+ class GoodTest < TestCase
5
+ def test_a
6
+ assert_equal 1, 1
7
+ assert 1
8
+ end
9
+
10
+ def test_b
11
+ assert_equal 2, 2
12
+ end
13
+ end
14
+ end
@@ -0,0 +1,12 @@
1
+ require_relative "../../test_helper"
2
+
3
+ module MinitestReportersTest
4
+ class JUnitReporterTest < TestCase
5
+ def test_replaces_special_characters_for_filenames_and_doesnt_crash
6
+ fixtures_directory = File.expand_path('../../../fixtures', __FILE__)
7
+ test_filename = File.join(fixtures_directory, 'junit_filename_bug_example_test.rb')
8
+ output = `ruby #{test_filename} 2>&1`
9
+ refute_match 'No such file or directory', output
10
+ end
11
+ end
12
+ end
@@ -0,0 +1,7 @@
1
+ require_relative "../../test_helper"
2
+
3
+ module MinitestReportersTest
4
+ class MeanTimeReporterTest < TestCase
5
+
6
+ end
7
+ end
@@ -0,0 +1,40 @@
1
+ require_relative "../../test_helper"
2
+
3
+ module MinitestReportersTest
4
+ class ProgressReporterTest < TestCase
5
+ def test_all_failures_are_displayed
6
+ fixtures_directory = File.expand_path('../../../fixtures', __FILE__)
7
+ test_filename = File.join(fixtures_directory, 'progress_test.rb')
8
+ output = `#{ruby_executable} #{test_filename} 2>&1`
9
+ assert_match 'ERROR["test_error"', output, 'Errors should be displayed'
10
+ assert_match 'FAIL["test_failure"', output, 'Failures should be displayed'
11
+ assert_match 'SKIP["test_skip', output, 'Skipped tests should be displayed'
12
+ end
13
+ def test_skipped_tests_are_not_displayed
14
+ fixtures_directory = File.expand_path('../../../fixtures', __FILE__)
15
+ test_filename = File.join(fixtures_directory, 'progress_detailed_skip_test.rb')
16
+ output = `#{ruby_executable} #{test_filename} 2>&1`
17
+ assert_match 'ERROR["test_error"', output, 'Errors should be displayed'
18
+ assert_match 'FAIL["test_failure"', output, 'Failures should be displayed'
19
+ refute_match 'SKIP["test_skip', output, 'Skipped tests should not be displayed'
20
+ end
21
+ def test_progress_works_with_filter_and_specs
22
+ fixtures_directory = File.expand_path('../../../fixtures', __FILE__)
23
+ test_filename = File.join(fixtures_directory, 'spec_test.rb')
24
+ output = `#{ruby_executable} #{test_filename} -n /length/ 2>&1`
25
+ refute_match '0 out of 0', output, 'Progress should not puts a warning'
26
+ end
27
+ def test_progress_works_with_strict_filter
28
+ fixtures_directory = File.expand_path('../../../fixtures', __FILE__)
29
+ test_filename = File.join(fixtures_directory, 'spec_test.rb')
30
+ output = `#{ruby_executable} #{test_filename} -n /^test_0001_works$/ 2>&1`
31
+ refute_match '0 out of 0', output, 'Progress should not puts a warning'
32
+ end
33
+
34
+ private
35
+
36
+ def ruby_executable
37
+ defined?(JRUBY_VERSION) ? 'jruby' : 'ruby'
38
+ end
39
+ end
40
+ end
@@ -0,0 +1,22 @@
1
+ require "bundler/setup"
2
+ require "minitest/autorun"
3
+ require "minitest/reporters"
4
+
5
+ ENV['MINITEST_REPORTERS_MONO'] = 'yes'
6
+ module MinitestReportersTest
7
+ class TestCase < Minitest::Test
8
+ end
9
+ end
10
+
11
+ # Testing the built-in reporters using automated unit testing would be extremely
12
+ # brittle. Consequently, there are no unit tests for them. If you'd like to run
13
+ # all the reporters sequentially on a fake test suite, run `rake gallery`.
14
+
15
+ if ENV["REPORTER"] == "Pride"
16
+ require "minitest/pride"
17
+ elsif ENV["REPORTER"]
18
+ reporter_klass = Minitest::Reporters.const_get(ENV["REPORTER"])
19
+ Minitest::Reporters.use!(reporter_klass.new)
20
+ else
21
+ Minitest::Reporters.use!(Minitest::Reporters::DefaultReporter.new)
22
+ end
@@ -0,0 +1,42 @@
1
+ require_relative "../../test_helper"
2
+
3
+ module MinitestReportersTest
4
+ class ExtensibleBacktraceFilterTest < TestCase
5
+ def setup
6
+ @default_filter = Minitest::ExtensibleBacktraceFilter.default_filter
7
+ @filter = Minitest::ExtensibleBacktraceFilter.new
8
+ @backtrace = ["foo", "bar", "baz"]
9
+ end
10
+
11
+ def test_adding_filters
12
+ @filter.add_filter(/foo/)
13
+ assert @filter.filters?("foo")
14
+ refute @filter.filters?("baz")
15
+ end
16
+
17
+ def test_filter_backtrace_when_first_line_is_filtered
18
+ @filter.add_filter(/foo/)
19
+ assert_equal ["bar", "baz"], @filter.filter(@backtrace)
20
+ end
21
+
22
+ def test_filter_backtrace_when_middle_line_is_filtered
23
+ @filter.add_filter(/bar/)
24
+ assert_equal ["foo"], @filter.filter(@backtrace)
25
+ end
26
+
27
+ def test_filter_backtrace_when_all_lines_are_filtered
28
+ @filter.add_filter(/./)
29
+ assert_equal ["foo", "bar", "baz"], @filter.filter(@backtrace)
30
+ end
31
+
32
+ def test_default_filter
33
+ assert @default_filter.filters?("lib/minitest")
34
+ assert @default_filter.filters?("lib/minitest/reporters")
35
+ refute @default_filter.filters?("lib/my_gem")
36
+ end
37
+
38
+ def test_nil_backtrace
39
+ assert_equal [], @filter.filter(nil)
40
+ end
41
+ end
42
+ end
@@ -0,0 +1,46 @@
1
+ require_relative "../../test_helper"
2
+
3
+ module MinitestReportersTest
4
+ class JUnitReporterUnitTest < Minitest::Test
5
+ def setup
6
+ @reporter = Minitest::Reporters::JUnitReporter.new(
7
+ "report",
8
+ false,
9
+ :base_apath => Dir.pwd
10
+ )
11
+ @result = Minitest::Result.new("test_name")
12
+ end
13
+
14
+ def test_relative_path
15
+ path = Pathname.new(__FILE__).relative_path_from(Pathname.new(Dir.pwd)).to_s
16
+ @result.source_location = [path, 10]
17
+ relative_path = @reporter.get_relative_path(@result)
18
+ assert_equal path, relative_path.to_s
19
+ end
20
+
21
+ def test_defaults_reports_path
22
+ reporter = Minitest::Reporters::JUnitReporter.new
23
+ expected_reports_dir = Minitest::Reporters::JUnitReporter::DEFAULT_REPORTS_DIR
24
+ expected_reports_path = File.absolute_path(expected_reports_dir)
25
+ assert_equal expected_reports_path, reporter.reports_path
26
+ end
27
+
28
+ def test_accepts_custom_report_dir_using_env
29
+ expected_reports_dir = "test_reports"
30
+ expected_reports_path = File.absolute_path(expected_reports_dir)
31
+ with_env("MINITEST_REPORTERS_REPORTS_DIR" => expected_reports_dir) do
32
+ reporter = Minitest::Reporters::JUnitReporter.new
33
+ assert_equal expected_reports_path, reporter.reports_path
34
+ end
35
+ end
36
+
37
+ private
38
+
39
+ def with_env(hash)
40
+ original_env = ENV.to_hash
41
+ ENV.update(hash)
42
+ yield
43
+ ENV.replace(original_env)
44
+ end
45
+ end
46
+ end
@@ -0,0 +1,149 @@
1
+ require_relative '../../test_helper'
2
+
3
+ module MinitestReportersTest
4
+ class MeanTimeReporterUnitTest < Minitest::Test
5
+ def setup
6
+ @test_data = []
7
+ @test_data << { name: 'MIDDLE', prev_time: 5.0, cur_time: 5.0 }
8
+ @test_data << { name: 'MIN_FAST', prev_time: 0.5, cur_time: 3.5 }
9
+ @test_data << { name: 'MIN_SLOW', prev_time: 10.5, cur_time: 10.5 }
10
+ @test_data << { name: 'MAX_FAST', prev_time: 1.2, cur_time: 0.9 }
11
+ @test_data << { name: 'MAX_SLOW', prev_time: 16.3, cur_time: 6.3 }
12
+ @test_data << { name: 'AVG_FAST', prev_time: 1.3, cur_time: 0.65 }
13
+ @test_data << { name: 'AVG_SLOW', prev_time: 10.2, cur_time: 14.2 }
14
+ configure_report_paths
15
+ end
16
+
17
+ def teardown
18
+ File.delete(@previous_run_path) if File.exist?(@previous_run_path)
19
+ File.delete(@report_file_path) if File.exist?(@report_file_path)
20
+ end
21
+
22
+ def test_defaults
23
+ subject = Minitest::Reporters::MeanTimeReporter.new.send(:defaults)
24
+
25
+ expected_prefix = "#{Dir.tmpdir}#{File::Separator}"
26
+ assert_match expected_prefix, subject[:previous_runs_filename]
27
+ assert_match expected_prefix, subject[:report_filename]
28
+ end
29
+
30
+ def test_sorts_avg_numerically
31
+ prev_output = generate_report(:avg, :prev_time)
32
+ report_output = generate_report(:avg, :cur_time)
33
+
34
+ expected_order = [
35
+ 'AVG_SLOW',
36
+ 'MAX_SLOW',
37
+ 'MIN_SLOW',
38
+ 'MIDDLE',
39
+ 'MIN_FAST',
40
+ 'MAX_FAST',
41
+ 'AVG_FAST'
42
+ ]
43
+ verify_result_order(report_output, expected_order, prev_output)
44
+ end
45
+
46
+ def test_sorts_min_numerically
47
+ prev_output = generate_report(:min, :prev_time)
48
+ report_output = generate_report(:min, :cur_time)
49
+
50
+ expected_order = [
51
+ 'MIN_SLOW',
52
+ 'AVG_SLOW',
53
+ 'MAX_SLOW',
54
+ 'MIDDLE',
55
+ 'MAX_FAST',
56
+ 'AVG_FAST',
57
+ 'MIN_FAST'
58
+ ]
59
+ verify_result_order(report_output, expected_order, prev_output)
60
+ end
61
+
62
+ def test_sorts_max_numerically
63
+ prev_output = generate_report(:max, :prev_time)
64
+ report_output = generate_report(:max, :cur_time)
65
+
66
+ expected_order = [
67
+ 'MAX_SLOW',
68
+ 'AVG_SLOW',
69
+ 'MIN_SLOW',
70
+ 'MIDDLE',
71
+ 'MIN_FAST',
72
+ 'AVG_FAST',
73
+ 'MAX_FAST'
74
+ ]
75
+ verify_result_order(report_output, expected_order, prev_output)
76
+ end
77
+
78
+ def test_sorts_last_numerically
79
+ prev_output = generate_report(:last, :prev_time)
80
+ report_output = generate_report(:last, :cur_time)
81
+
82
+ expected_order = [
83
+ 'AVG_SLOW',
84
+ 'MIN_SLOW',
85
+ 'MAX_SLOW',
86
+ 'MIDDLE',
87
+ 'MIN_FAST',
88
+ 'MAX_FAST',
89
+ 'AVG_FAST'
90
+ ]
91
+ verify_result_order(report_output, expected_order, prev_output)
92
+ end
93
+
94
+ private
95
+
96
+ def simulate_suite_runtime(suite_name, run_time)
97
+ test_suite = Minitest::Test.new(suite_name)
98
+ base_clock_time = Minitest::Reporters.clock_time
99
+ Minitest::Reporters.stub(:clock_time, base_clock_time - run_time) do
100
+ @reporter.before_suite(test_suite)
101
+ end
102
+ Minitest::Reporters.stub(:clock_time, base_clock_time) do
103
+ @reporter.after_suite(test_suite)
104
+ end
105
+ end
106
+
107
+ def configure_report_paths
108
+ @previous_run_path = File.expand_path("../minitest-mean-time-previous-runs", File.realpath(__FILE__))
109
+ File.delete(@previous_run_path) if File.exist?(@previous_run_path)
110
+ @report_file_path = File.expand_path("../minitest-mean-time-report", File.realpath(__FILE__))
111
+ File.delete(@report_file_path) if File.exist?(@report_file_path)
112
+ end
113
+
114
+ def generate_report(sort_column, time_name)
115
+ # Reset the reporter for the test run
116
+ @reporter = Minitest::Reporters::MeanTimeReporter.new(
117
+ previous_runs_filename: @previous_run_path,
118
+ report_filename: @report_file_path,
119
+ sort_column: sort_column
120
+ )
121
+ @test_data.each { |hash| simulate_suite_runtime(hash[:name], hash[time_name])}
122
+ @reporter.tests << Minitest::Test.new('Final')
123
+
124
+ report_output = StringIO.new
125
+ @reporter.io = report_output
126
+ @reporter.start
127
+ @reporter.report
128
+ report_output
129
+ end
130
+
131
+ def verify_result_order(report_output, expected_order, prev_output)
132
+ prev_lines = extract_test_lines(prev_output)
133
+ test_lines = extract_test_lines(report_output)
134
+
135
+ actual_order = test_lines.map { |line| line.gsub(/.*Description: /, '') }
136
+
137
+ assert_equal(expected_order, actual_order, "\nCurrent report:\n#{test_lines.join("\n")}\n\nPrevious report:\n#{prev_lines.join("\n")}")
138
+ end
139
+
140
+ def extract_test_lines(report_output)
141
+ report_output.rewind
142
+ test_lines = report_output.read.split("\n")
143
+ test_lines.select! {|line| line.start_with?('Avg:')}
144
+ # Exclude the final placeholder 0 second test from assertions
145
+ test_lines.reject! {|line| line.end_with?('Minitest::Test')}
146
+ test_lines
147
+ end
148
+ end
149
+ end