brakeman 4.3.1 → 4.4.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (990) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGES.md +24 -1
  3. data/README.md +35 -6
  4. data/bin/brakeman +2 -0
  5. data/bundle/load.rb +5 -5
  6. data/bundle/ruby/2.5.0/gems/{ruby_parser-3.11.0 → ruby_parser-3.12.0}/History.rdoc +12 -0
  7. data/bundle/ruby/2.5.0/gems/{ruby_parser-3.11.0 → ruby_parser-3.12.0}/Manifest.txt +0 -0
  8. data/bundle/ruby/2.5.0/gems/{ruby_parser-3.11.0 → ruby_parser-3.12.0}/README.rdoc +0 -0
  9. data/bundle/ruby/2.5.0/gems/{ruby_parser-3.11.0 → ruby_parser-3.12.0}/compare/normalize.rb +0 -0
  10. data/bundle/ruby/2.5.0/gems/{ruby_parser-3.11.0 → ruby_parser-3.12.0}/lib/rp_extensions.rb +0 -0
  11. data/bundle/ruby/2.5.0/gems/{ruby_parser-3.11.0 → ruby_parser-3.12.0}/lib/rp_stringscanner.rb +0 -0
  12. data/bundle/ruby/2.5.0/gems/{ruby_parser-3.11.0 → ruby_parser-3.12.0}/lib/ruby18_parser.rb +472 -472
  13. data/bundle/ruby/2.5.0/gems/{ruby_parser-3.11.0 → ruby_parser-3.12.0}/lib/ruby18_parser.y +0 -0
  14. data/bundle/ruby/2.5.0/gems/{ruby_parser-3.11.0 → ruby_parser-3.12.0}/lib/ruby19_parser.rb +0 -0
  15. data/bundle/ruby/2.5.0/gems/{ruby_parser-3.11.0 → ruby_parser-3.12.0}/lib/ruby19_parser.y +0 -0
  16. data/bundle/ruby/2.5.0/gems/{ruby_parser-3.11.0 → ruby_parser-3.12.0}/lib/ruby20_parser.rb +0 -0
  17. data/bundle/ruby/2.5.0/gems/{ruby_parser-3.11.0 → ruby_parser-3.12.0}/lib/ruby20_parser.y +0 -0
  18. data/bundle/ruby/2.5.0/gems/{ruby_parser-3.11.0 → ruby_parser-3.12.0}/lib/ruby21_parser.rb +47 -47
  19. data/bundle/ruby/2.5.0/gems/{ruby_parser-3.11.0 → ruby_parser-3.12.0}/lib/ruby21_parser.y +0 -0
  20. data/bundle/ruby/2.5.0/gems/{ruby_parser-3.11.0 → ruby_parser-3.12.0}/lib/ruby22_parser.rb +0 -0
  21. data/bundle/ruby/2.5.0/gems/{ruby_parser-3.11.0 → ruby_parser-3.12.0}/lib/ruby22_parser.y +0 -0
  22. data/bundle/ruby/2.5.0/gems/{ruby_parser-3.11.0 → ruby_parser-3.12.0}/lib/ruby23_parser.rb +0 -0
  23. data/bundle/ruby/2.5.0/gems/{ruby_parser-3.11.0 → ruby_parser-3.12.0}/lib/ruby23_parser.y +0 -0
  24. data/bundle/ruby/2.5.0/gems/{ruby_parser-3.11.0 → ruby_parser-3.12.0}/lib/ruby24_parser.rb +0 -0
  25. data/bundle/ruby/2.5.0/gems/{ruby_parser-3.11.0 → ruby_parser-3.12.0}/lib/ruby24_parser.y +0 -0
  26. data/bundle/ruby/2.5.0/gems/{ruby_parser-3.11.0 → ruby_parser-3.12.0}/lib/ruby25_parser.rb +71 -71
  27. data/bundle/ruby/2.5.0/gems/{ruby_parser-3.11.0 → ruby_parser-3.12.0}/lib/ruby25_parser.y +1 -1
  28. data/bundle/ruby/2.5.0/gems/{ruby_parser-3.11.0 → ruby_parser-3.12.0}/lib/ruby_lexer.rb +16 -3
  29. data/bundle/ruby/2.5.0/gems/{ruby_parser-3.11.0 → ruby_parser-3.12.0}/lib/ruby_lexer.rex +2 -2
  30. data/bundle/ruby/2.5.0/gems/{ruby_parser-3.11.0 → ruby_parser-3.12.0}/lib/ruby_lexer.rex.rb +2 -2
  31. data/bundle/ruby/2.5.0/gems/{ruby_parser-3.11.0 → ruby_parser-3.12.0}/lib/ruby_parser.rb +5 -1
  32. data/bundle/ruby/2.5.0/gems/{ruby_parser-3.11.0 → ruby_parser-3.12.0}/lib/ruby_parser.yy +4 -0
  33. data/bundle/ruby/2.5.0/gems/{ruby_parser-3.11.0 → ruby_parser-3.12.0}/lib/ruby_parser_extras.rb +4 -3
  34. data/bundle/ruby/2.5.0/gems/{slim-3.0.7 → slim-4.0.1}/CHANGES +25 -0
  35. data/bundle/ruby/2.5.0/gems/{slim-3.0.7 → slim-4.0.1}/Gemfile +15 -13
  36. data/bundle/ruby/2.5.0/gems/{slim-3.0.7 → slim-4.0.1}/LICENSE +1 -1
  37. data/bundle/ruby/2.5.0/gems/{slim-3.0.7 → slim-4.0.1}/README.jp.md +177 -118
  38. data/bundle/ruby/2.5.0/gems/{slim-3.0.7 → slim-4.0.1}/README.md +81 -21
  39. data/bundle/ruby/2.5.0/gems/{slim-3.0.7 → slim-4.0.1}/lib/slim.rb +0 -0
  40. data/bundle/ruby/2.5.0/gems/{slim-3.0.7 → slim-4.0.1}/lib/slim/code_attributes.rb +0 -0
  41. data/bundle/ruby/2.5.0/gems/{slim-3.0.7 → slim-4.0.1}/lib/slim/command.rb +0 -0
  42. data/bundle/ruby/2.5.0/gems/{slim-3.0.7 → slim-4.0.1}/lib/slim/controls.rb +0 -0
  43. data/bundle/ruby/2.5.0/gems/{slim-3.0.7 → slim-4.0.1}/lib/slim/do_inserter.rb +0 -0
  44. data/bundle/ruby/2.5.0/gems/{slim-3.0.7 → slim-4.0.1}/lib/slim/embedded.rb +20 -45
  45. data/bundle/ruby/2.5.0/gems/{slim-3.0.7 → slim-4.0.1}/lib/slim/end_inserter.rb +0 -0
  46. data/bundle/ruby/2.5.0/gems/{slim-3.0.7 → slim-4.0.1}/lib/slim/engine.rb +1 -1
  47. data/bundle/ruby/2.5.0/gems/{slim-3.0.7 → slim-4.0.1}/lib/slim/erb_converter.rb +0 -0
  48. data/bundle/ruby/2.5.0/gems/{slim-3.0.7 → slim-4.0.1}/lib/slim/filter.rb +2 -2
  49. data/bundle/ruby/2.5.0/gems/slim-4.0.1/lib/slim/grammar.rb +23 -0
  50. data/bundle/ruby/2.5.0/gems/{slim-3.0.7 → slim-4.0.1}/lib/slim/include.rb +0 -0
  51. data/bundle/ruby/2.5.0/gems/{slim-3.0.7 → slim-4.0.1}/lib/slim/interpolation.rb +0 -0
  52. data/bundle/ruby/2.5.0/gems/{slim-3.0.7 → slim-4.0.1}/lib/slim/logic_less.rb +0 -0
  53. data/bundle/ruby/2.5.0/gems/{slim-3.0.7 → slim-4.0.1}/lib/slim/logic_less/context.rb +2 -2
  54. data/bundle/ruby/2.5.0/gems/{slim-3.0.7 → slim-4.0.1}/lib/slim/logic_less/filter.rb +0 -0
  55. data/bundle/ruby/2.5.0/gems/{slim-3.0.7 → slim-4.0.1}/lib/slim/parser.rb +21 -10
  56. data/bundle/ruby/2.5.0/gems/{slim-3.0.7 → slim-4.0.1}/lib/slim/smart.rb +0 -0
  57. data/bundle/ruby/2.5.0/gems/{slim-3.0.7 → slim-4.0.1}/lib/slim/smart/escaper.rb +0 -0
  58. data/bundle/ruby/2.5.0/gems/{slim-3.0.7 → slim-4.0.1}/lib/slim/smart/filter.rb +0 -0
  59. data/bundle/ruby/2.5.0/gems/{slim-3.0.7 → slim-4.0.1}/lib/slim/smart/parser.rb +0 -2
  60. data/bundle/ruby/2.5.0/gems/{slim-3.0.7 → slim-4.0.1}/lib/slim/splat/builder.rb +7 -1
  61. data/bundle/ruby/2.5.0/gems/{slim-3.0.7 → slim-4.0.1}/lib/slim/splat/filter.rb +0 -0
  62. data/bundle/ruby/2.5.0/gems/{slim-3.0.7 → slim-4.0.1}/lib/slim/template.rb +0 -0
  63. data/bundle/ruby/2.5.0/gems/{slim-3.0.7 → slim-4.0.1}/lib/slim/translator.rb +0 -0
  64. data/bundle/ruby/2.5.0/gems/{slim-3.0.7 → slim-4.0.1}/lib/slim/version.rb +1 -1
  65. data/bundle/ruby/2.5.0/gems/{slim-3.0.7 → slim-4.0.1}/slim.gemspec +3 -3
  66. data/bundle/ruby/2.5.0/gems/{temple-0.7.7 → temple-0.8.0}/CHANGES +10 -1
  67. data/bundle/ruby/2.5.0/gems/{temple-0.7.7 → temple-0.8.0}/EXPRESSIONS.md +1 -0
  68. data/bundle/ruby/2.5.0/gems/{temple-0.7.7 → temple-0.8.0}/Gemfile +0 -0
  69. data/bundle/ruby/2.5.0/gems/{temple-0.7.7 → temple-0.8.0}/LICENSE +0 -0
  70. data/bundle/ruby/2.5.0/gems/{temple-0.7.7 → temple-0.8.0}/README.md +0 -0
  71. data/bundle/ruby/2.5.0/gems/{temple-0.7.7 → temple-0.8.0}/lib/temple.rb +1 -0
  72. data/bundle/ruby/2.5.0/gems/{temple-0.7.7 → temple-0.8.0}/lib/temple/engine.rb +0 -0
  73. data/bundle/ruby/2.5.0/gems/{temple-0.7.7 → temple-0.8.0}/lib/temple/erb/engine.rb +0 -0
  74. data/bundle/ruby/2.5.0/gems/{temple-0.7.7 → temple-0.8.0}/lib/temple/erb/parser.rb +0 -0
  75. data/bundle/ruby/2.5.0/gems/{temple-0.7.7 → temple-0.8.0}/lib/temple/erb/template.rb +0 -0
  76. data/bundle/ruby/2.5.0/gems/{temple-0.7.7 → temple-0.8.0}/lib/temple/erb/trimming.rb +0 -0
  77. data/bundle/ruby/2.5.0/gems/{temple-0.7.7 → temple-0.8.0}/lib/temple/exceptions.rb +0 -0
  78. data/bundle/ruby/2.5.0/gems/{temple-0.7.7 → temple-0.8.0}/lib/temple/filter.rb +0 -0
  79. data/bundle/ruby/2.5.0/gems/{temple-0.7.7 → temple-0.8.0}/lib/temple/filters/code_merger.rb +0 -0
  80. data/bundle/ruby/2.5.0/gems/{temple-0.7.7 → temple-0.8.0}/lib/temple/filters/control_flow.rb +0 -0
  81. data/bundle/ruby/2.5.0/gems/{temple-0.7.7 → temple-0.8.0}/lib/temple/filters/dynamic_inliner.rb +0 -0
  82. data/bundle/ruby/2.5.0/gems/{temple-0.7.7 → temple-0.8.0}/lib/temple/filters/encoding.rb +0 -0
  83. data/bundle/ruby/2.5.0/gems/{temple-0.7.7 → temple-0.8.0}/lib/temple/filters/eraser.rb +0 -0
  84. data/bundle/ruby/2.5.0/gems/{temple-0.7.7 → temple-0.8.0}/lib/temple/filters/escapable.rb +0 -0
  85. data/bundle/ruby/2.5.0/gems/{temple-0.7.7 → temple-0.8.0}/lib/temple/filters/multi_flattener.rb +0 -0
  86. data/bundle/ruby/2.5.0/gems/{temple-0.7.7 → temple-0.8.0}/lib/temple/filters/remove_bom.rb +0 -0
  87. data/bundle/ruby/2.5.0/gems/temple-0.8.0/lib/temple/filters/static_analyzer.rb +30 -0
  88. data/bundle/ruby/2.5.0/gems/{temple-0.7.7 → temple-0.8.0}/lib/temple/filters/static_merger.rb +0 -0
  89. data/bundle/ruby/2.5.0/gems/{temple-0.7.7 → temple-0.8.0}/lib/temple/filters/string_splitter.rb +3 -3
  90. data/bundle/ruby/2.5.0/gems/{temple-0.7.7 → temple-0.8.0}/lib/temple/filters/validator.rb +0 -0
  91. data/bundle/ruby/2.5.0/gems/{temple-0.7.7 → temple-0.8.0}/lib/temple/generator.rb +0 -0
  92. data/bundle/ruby/2.5.0/gems/{temple-0.7.7 → temple-0.8.0}/lib/temple/generators/array.rb +0 -0
  93. data/bundle/ruby/2.5.0/gems/{temple-0.7.7 → temple-0.8.0}/lib/temple/generators/array_buffer.rb +0 -0
  94. data/bundle/ruby/2.5.0/gems/{temple-0.7.7 → temple-0.8.0}/lib/temple/generators/erb.rb +0 -0
  95. data/bundle/ruby/2.5.0/gems/{temple-0.7.7 → temple-0.8.0}/lib/temple/generators/rails_output_buffer.rb +0 -0
  96. data/bundle/ruby/2.5.0/gems/{temple-0.7.7 → temple-0.8.0}/lib/temple/generators/string_buffer.rb +0 -0
  97. data/bundle/ruby/2.5.0/gems/{temple-0.7.7 → temple-0.8.0}/lib/temple/grammar.rb +0 -0
  98. data/bundle/ruby/2.5.0/gems/{temple-0.7.7 → temple-0.8.0}/lib/temple/html/attribute_merger.rb +0 -0
  99. data/bundle/ruby/2.5.0/gems/{temple-0.7.7 → temple-0.8.0}/lib/temple/html/attribute_remover.rb +0 -0
  100. data/bundle/ruby/2.5.0/gems/{temple-0.7.7 → temple-0.8.0}/lib/temple/html/attribute_sorter.rb +0 -0
  101. data/bundle/ruby/2.5.0/gems/{temple-0.7.7 → temple-0.8.0}/lib/temple/html/dispatcher.rb +0 -0
  102. data/bundle/ruby/2.5.0/gems/{temple-0.7.7 → temple-0.8.0}/lib/temple/html/fast.rb +0 -0
  103. data/bundle/ruby/2.5.0/gems/{temple-0.7.7 → temple-0.8.0}/lib/temple/html/filter.rb +0 -0
  104. data/bundle/ruby/2.5.0/gems/{temple-0.7.7 → temple-0.8.0}/lib/temple/html/pretty.rb +0 -0
  105. data/bundle/ruby/2.5.0/gems/{temple-0.7.7 → temple-0.8.0}/lib/temple/html/safe.rb +0 -0
  106. data/bundle/ruby/2.5.0/gems/{temple-0.7.7 → temple-0.8.0}/lib/temple/map.rb +0 -0
  107. data/bundle/ruby/2.5.0/gems/{temple-0.7.7 → temple-0.8.0}/lib/temple/mixins/dispatcher.rb +0 -0
  108. data/bundle/ruby/2.5.0/gems/{temple-0.7.7 → temple-0.8.0}/lib/temple/mixins/engine_dsl.rb +0 -0
  109. data/bundle/ruby/2.5.0/gems/{temple-0.7.7 → temple-0.8.0}/lib/temple/mixins/grammar_dsl.rb +0 -0
  110. data/bundle/ruby/2.5.0/gems/{temple-0.7.7 → temple-0.8.0}/lib/temple/mixins/options.rb +0 -0
  111. data/bundle/ruby/2.5.0/gems/{temple-0.7.7 → temple-0.8.0}/lib/temple/mixins/template.rb +0 -0
  112. data/bundle/ruby/2.5.0/gems/{temple-0.7.7 → temple-0.8.0}/lib/temple/parser.rb +0 -0
  113. data/bundle/ruby/2.5.0/gems/temple-0.8.0/lib/temple/static_analyzer.rb +77 -0
  114. data/bundle/ruby/2.5.0/gems/{temple-0.7.7 → temple-0.8.0}/lib/temple/templates.rb +0 -0
  115. data/bundle/ruby/2.5.0/gems/{temple-0.7.7 → temple-0.8.0}/lib/temple/templates/rails.rb +0 -0
  116. data/bundle/ruby/2.5.0/gems/{temple-0.7.7 → temple-0.8.0}/lib/temple/templates/tilt.rb +0 -0
  117. data/bundle/ruby/2.5.0/gems/{temple-0.7.7 → temple-0.8.0}/lib/temple/utils.rb +0 -0
  118. data/bundle/ruby/2.5.0/gems/temple-0.8.0/lib/temple/version.rb +3 -0
  119. data/bundle/ruby/2.5.0/gems/{temple-0.7.7 → temple-0.8.0}/temple.gemspec +0 -0
  120. data/bundle/ruby/2.5.0/gems/{tilt-2.0.8 → tilt-2.0.9}/CHANGELOG.md +5 -0
  121. data/bundle/ruby/2.5.0/gems/{tilt-2.0.8 → tilt-2.0.9}/COPYING +0 -0
  122. data/bundle/ruby/2.5.0/gems/{tilt-2.0.8 → tilt-2.0.9}/Gemfile +6 -1
  123. data/bundle/ruby/2.5.0/gems/{tilt-2.0.8 → tilt-2.0.9}/HACKING +0 -0
  124. data/bundle/ruby/2.5.0/gems/{tilt-2.0.8 → tilt-2.0.9}/README.md +1 -1
  125. data/bundle/ruby/2.5.0/gems/{tilt-2.0.8 → tilt-2.0.9}/lib/tilt.rb +1 -1
  126. data/bundle/ruby/2.5.0/gems/{tilt-2.0.8 → tilt-2.0.9}/lib/tilt/asciidoc.rb +0 -0
  127. data/bundle/ruby/2.5.0/gems/{tilt-2.0.8 → tilt-2.0.9}/lib/tilt/babel.rb +0 -0
  128. data/bundle/ruby/2.5.0/gems/{tilt-2.0.8 → tilt-2.0.9}/lib/tilt/bluecloth.rb +0 -0
  129. data/bundle/ruby/2.5.0/gems/{tilt-2.0.8 → tilt-2.0.9}/lib/tilt/builder.rb +0 -0
  130. data/bundle/ruby/2.5.0/gems/{tilt-2.0.8 → tilt-2.0.9}/lib/tilt/coffee.rb +0 -0
  131. data/bundle/ruby/2.5.0/gems/tilt-2.0.9/lib/tilt/commonmarker.rb +78 -0
  132. data/bundle/ruby/2.5.0/gems/{tilt-2.0.8 → tilt-2.0.9}/lib/tilt/creole.rb +0 -0
  133. data/bundle/ruby/2.5.0/gems/{tilt-2.0.8 → tilt-2.0.9}/lib/tilt/csv.rb +0 -0
  134. data/bundle/ruby/2.5.0/gems/{tilt-2.0.8 → tilt-2.0.9}/lib/tilt/dummy.rb +0 -0
  135. data/bundle/ruby/2.5.0/gems/{tilt-2.0.8 → tilt-2.0.9}/lib/tilt/erb.rb +7 -1
  136. data/bundle/ruby/2.5.0/gems/{tilt-2.0.8 → tilt-2.0.9}/lib/tilt/erubi.rb +0 -0
  137. data/bundle/ruby/2.5.0/gems/{tilt-2.0.8 → tilt-2.0.9}/lib/tilt/erubis.rb +0 -0
  138. data/bundle/ruby/2.5.0/gems/{tilt-2.0.8 → tilt-2.0.9}/lib/tilt/etanni.rb +0 -0
  139. data/bundle/ruby/2.5.0/gems/{tilt-2.0.8 → tilt-2.0.9}/lib/tilt/haml.rb +2 -2
  140. data/bundle/ruby/2.5.0/gems/{tilt-2.0.8 → tilt-2.0.9}/lib/tilt/kramdown.rb +0 -0
  141. data/bundle/ruby/2.5.0/gems/{tilt-2.0.8 → tilt-2.0.9}/lib/tilt/less.rb +0 -0
  142. data/bundle/ruby/2.5.0/gems/{tilt-2.0.8 → tilt-2.0.9}/lib/tilt/liquid.rb +0 -0
  143. data/bundle/ruby/2.5.0/gems/{tilt-2.0.8 → tilt-2.0.9}/lib/tilt/livescript.rb +0 -0
  144. data/bundle/ruby/2.5.0/gems/{tilt-2.0.8 → tilt-2.0.9}/lib/tilt/mapping.rb +0 -0
  145. data/bundle/ruby/2.5.0/gems/{tilt-2.0.8 → tilt-2.0.9}/lib/tilt/markaby.rb +0 -0
  146. data/bundle/ruby/2.5.0/gems/{tilt-2.0.8 → tilt-2.0.9}/lib/tilt/maruku.rb +0 -0
  147. data/bundle/ruby/2.5.0/gems/{tilt-2.0.8 → tilt-2.0.9}/lib/tilt/nokogiri.rb +0 -0
  148. data/bundle/ruby/2.5.0/gems/{tilt-2.0.8 → tilt-2.0.9}/lib/tilt/pandoc.rb +0 -0
  149. data/bundle/ruby/2.5.0/gems/{tilt-2.0.8 → tilt-2.0.9}/lib/tilt/plain.rb +0 -0
  150. data/bundle/ruby/2.5.0/gems/{tilt-2.0.8 → tilt-2.0.9}/lib/tilt/prawn.rb +0 -0
  151. data/bundle/ruby/2.5.0/gems/{tilt-2.0.8 → tilt-2.0.9}/lib/tilt/radius.rb +0 -0
  152. data/bundle/ruby/2.5.0/gems/{tilt-2.0.8 → tilt-2.0.9}/lib/tilt/rdiscount.rb +0 -0
  153. data/bundle/ruby/2.5.0/gems/{tilt-2.0.8 → tilt-2.0.9}/lib/tilt/rdoc.rb +0 -0
  154. data/bundle/ruby/2.5.0/gems/{tilt-2.0.8 → tilt-2.0.9}/lib/tilt/redcarpet.rb +0 -0
  155. data/bundle/ruby/2.5.0/gems/{tilt-2.0.8 → tilt-2.0.9}/lib/tilt/redcloth.rb +0 -0
  156. data/bundle/ruby/2.5.0/gems/{tilt-2.0.8 → tilt-2.0.9}/lib/tilt/rst-pandoc.rb +0 -0
  157. data/bundle/ruby/2.5.0/gems/{tilt-2.0.8 → tilt-2.0.9}/lib/tilt/sass.rb +13 -2
  158. data/bundle/ruby/2.5.0/gems/{tilt-2.0.8 → tilt-2.0.9}/lib/tilt/sigil.rb +0 -0
  159. data/bundle/ruby/2.5.0/gems/{tilt-2.0.8 → tilt-2.0.9}/lib/tilt/string.rb +0 -0
  160. data/bundle/ruby/2.5.0/gems/{tilt-2.0.8 → tilt-2.0.9}/lib/tilt/template.rb +0 -0
  161. data/bundle/ruby/2.5.0/gems/{tilt-2.0.8 → tilt-2.0.9}/lib/tilt/typescript.rb +0 -0
  162. data/bundle/ruby/2.5.0/gems/{tilt-2.0.8 → tilt-2.0.9}/lib/tilt/wikicloth.rb +0 -0
  163. data/bundle/ruby/2.5.0/gems/{tilt-2.0.8 → tilt-2.0.9}/lib/tilt/yajl.rb +0 -0
  164. data/bundle/ruby/2.5.0/gems/{tilt-2.0.8 → tilt-2.0.9}/tilt.gemspec +2 -2
  165. data/bundle/ruby/2.5.0/gems/{unicode-display_width-1.4.0 → unicode-display_width-1.4.1}/CHANGELOG.md +4 -0
  166. data/bundle/ruby/2.5.0/gems/{unicode-display_width-1.4.0 → unicode-display_width-1.4.1}/MIT-LICENSE.txt +0 -0
  167. data/bundle/ruby/2.5.0/gems/{unicode-display_width-1.4.0 → unicode-display_width-1.4.1}/README.md +0 -0
  168. data/bundle/ruby/2.5.0/gems/{unicode-display_width-1.4.0 → unicode-display_width-1.4.1}/data/display_width.marshal.gz +0 -0
  169. data/bundle/ruby/2.5.0/gems/{unicode-display_width-1.4.0 → unicode-display_width-1.4.1}/lib/unicode/display_width.rb +0 -0
  170. data/bundle/ruby/2.5.0/gems/{unicode-display_width-1.4.0 → unicode-display_width-1.4.1}/lib/unicode/display_width/constants.rb +1 -1
  171. data/bundle/ruby/2.5.0/gems/{unicode-display_width-1.4.0 → unicode-display_width-1.4.1}/lib/unicode/display_width/index.rb +0 -0
  172. data/bundle/ruby/2.5.0/gems/{unicode-display_width-1.4.0 → unicode-display_width-1.4.1}/lib/unicode/display_width/no_string_ext.rb +0 -0
  173. data/bundle/ruby/2.5.0/gems/{unicode-display_width-1.4.0 → unicode-display_width-1.4.1}/lib/unicode/display_width/string_ext.rb +0 -0
  174. data/lib/brakeman.rb +5 -3
  175. data/lib/brakeman/app_tree.rb +15 -1
  176. data/lib/brakeman/call_index.rb +7 -4
  177. data/lib/brakeman/checks.rb +16 -8
  178. data/lib/brakeman/checks/base_check.rb +2 -19
  179. data/lib/brakeman/checks/check_basic_auth_timing_attack.rb +1 -1
  180. data/lib/brakeman/checks/check_content_tag.rb +4 -4
  181. data/lib/brakeman/checks/check_create_with.rb +1 -1
  182. data/lib/brakeman/checks/check_cross_site_scripting.rb +3 -3
  183. data/lib/brakeman/checks/check_default_routes.rb +3 -3
  184. data/lib/brakeman/checks/check_deserialize.rb +1 -1
  185. data/lib/brakeman/checks/check_detailed_exceptions.rb +1 -1
  186. data/lib/brakeman/checks/check_digest_dos.rb +4 -4
  187. data/lib/brakeman/checks/check_escape_function.rb +1 -1
  188. data/lib/brakeman/checks/check_execute.rb +5 -4
  189. data/lib/brakeman/checks/check_file_access.rb +13 -3
  190. data/lib/brakeman/checks/check_file_disclosure.rb +1 -1
  191. data/lib/brakeman/checks/check_filter_skipping.rb +1 -1
  192. data/lib/brakeman/checks/check_forgery_setting.rb +3 -3
  193. data/lib/brakeman/checks/check_header_dos.rb +3 -3
  194. data/lib/brakeman/checks/check_i18n_xss.rb +3 -3
  195. data/lib/brakeman/checks/check_jruby_xml.rb +1 -1
  196. data/lib/brakeman/checks/check_json_encoding.rb +3 -3
  197. data/lib/brakeman/checks/check_json_parsing.rb +8 -11
  198. data/lib/brakeman/checks/check_link_to.rb +3 -3
  199. data/lib/brakeman/checks/check_link_to_href.rb +2 -2
  200. data/lib/brakeman/checks/check_mail_to.rb +3 -3
  201. data/lib/brakeman/checks/check_mime_type_dos.rb +1 -1
  202. data/lib/brakeman/checks/check_model_attributes.rb +4 -4
  203. data/lib/brakeman/checks/check_model_serialize.rb +1 -1
  204. data/lib/brakeman/checks/check_nested_attributes.rb +3 -3
  205. data/lib/brakeman/checks/check_nested_attributes_bypass.rb +1 -1
  206. data/lib/brakeman/checks/check_number_to_currency.rb +4 -4
  207. data/lib/brakeman/checks/check_quote_table_name.rb +2 -2
  208. data/lib/brakeman/checks/check_regex_dos.rb +1 -1
  209. data/lib/brakeman/checks/check_render.rb +2 -2
  210. data/lib/brakeman/checks/check_render_dos.rb +1 -1
  211. data/lib/brakeman/checks/check_render_inline.rb +1 -1
  212. data/lib/brakeman/checks/check_response_splitting.rb +1 -1
  213. data/lib/brakeman/checks/check_route_dos.rb +1 -1
  214. data/lib/brakeman/checks/check_safe_buffer_manipulation.rb +1 -1
  215. data/lib/brakeman/checks/check_sanitize_methods.rb +3 -3
  216. data/lib/brakeman/checks/check_secrets.rb +1 -1
  217. data/lib/brakeman/checks/check_select_tag.rb +1 -1
  218. data/lib/brakeman/checks/check_select_vulnerability.rb +1 -1
  219. data/lib/brakeman/checks/check_session_manipulation.rb +1 -1
  220. data/lib/brakeman/checks/check_session_settings.rb +1 -1
  221. data/lib/brakeman/checks/check_simple_format.rb +2 -2
  222. data/lib/brakeman/checks/check_single_quotes.rb +14 -10
  223. data/lib/brakeman/checks/check_skip_before_filter.rb +2 -2
  224. data/lib/brakeman/checks/check_sprockets_path_traversal.rb +39 -0
  225. data/lib/brakeman/checks/check_sql.rb +1 -1
  226. data/lib/brakeman/checks/check_sql_cves.rb +2 -2
  227. data/lib/brakeman/checks/check_strip_tags.rb +10 -8
  228. data/lib/brakeman/checks/check_symbol_dos.rb +1 -1
  229. data/lib/brakeman/checks/check_symbol_dos_cve.rb +1 -1
  230. data/lib/brakeman/checks/check_translate_bug.rb +7 -7
  231. data/lib/brakeman/checks/check_unsafe_reflection.rb +1 -1
  232. data/lib/brakeman/checks/check_unscoped_find.rb +1 -1
  233. data/lib/brakeman/checks/check_validation_regex.rb +1 -1
  234. data/lib/brakeman/checks/check_weak_hash.rb +18 -19
  235. data/lib/brakeman/checks/check_xml_dos.rb +1 -1
  236. data/lib/brakeman/checks/check_yaml_parsing.rb +1 -1
  237. data/lib/brakeman/format/style.css +8 -0
  238. data/lib/brakeman/messages.rb +220 -0
  239. data/lib/brakeman/options.rb +13 -0
  240. data/lib/brakeman/parsers/template_parser.rb +2 -2
  241. data/lib/brakeman/processors/alias_processor.rb +7 -0
  242. data/lib/brakeman/processors/config_processor.rb +4 -1
  243. data/lib/brakeman/processors/gem_processor.rb +30 -2
  244. data/lib/brakeman/processors/lib/call_conversion_helper.rb +2 -1
  245. data/lib/brakeman/processors/lib/rails3_route_processor.rb +0 -2
  246. data/lib/brakeman/processors/lib/rails4_config_processor.rb +18 -0
  247. data/lib/brakeman/processors/lib/render_helper.rb +5 -0
  248. data/lib/brakeman/processors/lib/render_path.rb +15 -0
  249. data/lib/brakeman/processors/library_processor.rb +1 -1
  250. data/lib/brakeman/report/report_base.rb +17 -161
  251. data/lib/brakeman/report/report_csv.rb +17 -0
  252. data/lib/brakeman/report/report_html.rb +34 -31
  253. data/lib/brakeman/report/report_json.rb +21 -0
  254. data/lib/brakeman/report/report_markdown.rb +13 -6
  255. data/lib/brakeman/report/report_table.rb +157 -0
  256. data/lib/brakeman/report/report_tabs.rb +3 -1
  257. data/lib/brakeman/report/report_text.rb +16 -0
  258. data/lib/brakeman/scanner.rb +5 -1
  259. data/lib/brakeman/tracker/config.rb +1 -1
  260. data/lib/brakeman/util.rb +0 -17
  261. data/lib/brakeman/version.rb +1 -1
  262. data/lib/brakeman/warning.rb +9 -4
  263. data/lib/brakeman/warning_codes.rb +1 -0
  264. metadata +175 -893
  265. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/benchmark/Makefile +0 -6
  266. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/benchmark/bench.rb +0 -313
  267. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/benchmark/bench_context.yaml +0 -141
  268. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/benchmark/templates/_footer.html +0 -4
  269. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/benchmark/templates/_header.html +0 -52
  270. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/benchmark/templates/bench_erb.rhtml +0 -29
  271. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/benchmark/templates/bench_erubis.rhtml +0 -29
  272. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/benchmark/templates/bench_eruby.rhtml +0 -29
  273. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/bin/erubis +0 -10
  274. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/doc-api/classes/ActionView.html +0 -105
  275. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/doc-api/classes/ActionView/TemplateHandlers/ErubisHandler.html +0 -209
  276. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/doc-api/classes/ERB.html +0 -101
  277. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/doc-api/classes/Erubis.html +0 -362
  278. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/doc-api/classes/Erubis/ArrayBufferEnhancer.html +0 -175
  279. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/doc-api/classes/Erubis/ArrayBufferEruby.html +0 -120
  280. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/doc-api/classes/Erubis/ArrayEnhancer.html +0 -174
  281. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/doc-api/classes/Erubis/ArrayEruby.html +0 -120
  282. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/doc-api/classes/Erubis/Basic.html +0 -112
  283. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/doc-api/classes/Erubis/Basic/Converter.html +0 -327
  284. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/doc-api/classes/Erubis/Basic/Engine.html +0 -130
  285. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/doc-api/classes/Erubis/BiPatternEnhancer.html +0 -215
  286. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/doc-api/classes/Erubis/BiPatternEruby.html +0 -120
  287. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/doc-api/classes/Erubis/CGenerator.html +0 -386
  288. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/doc-api/classes/Erubis/CommandOptionError.html +0 -113
  289. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/doc-api/classes/Erubis/Context.html +0 -344
  290. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/doc-api/classes/Erubis/Converter.html +0 -283
  291. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/doc-api/classes/Erubis/CppGenerator.html +0 -382
  292. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/doc-api/classes/Erubis/DeleteIndentEnhancer.html +0 -150
  293. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/doc-api/classes/Erubis/DeleteIndentEruby.html +0 -120
  294. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/doc-api/classes/Erubis/Ec.html +0 -126
  295. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/doc-api/classes/Erubis/Ecpp.html +0 -126
  296. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/doc-api/classes/Erubis/Ejava.html +0 -126
  297. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/doc-api/classes/Erubis/Ejavascript.html +0 -126
  298. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/doc-api/classes/Erubis/Engine.html +0 -305
  299. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/doc-api/classes/Erubis/Eperl.html +0 -126
  300. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/doc-api/classes/Erubis/Ephp.html +0 -126
  301. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/doc-api/classes/Erubis/ErboutEnhancer.html +0 -175
  302. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/doc-api/classes/Erubis/ErboutEruby.html +0 -120
  303. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/doc-api/classes/Erubis/ErubisError.html +0 -117
  304. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/doc-api/classes/Erubis/Eruby.html +0 -132
  305. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/doc-api/classes/Erubis/EscapeEnhancer.html +0 -165
  306. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/doc-api/classes/Erubis/EscapedEc.html +0 -120
  307. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/doc-api/classes/Erubis/EscapedEcpp.html +0 -120
  308. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/doc-api/classes/Erubis/EscapedEjava.html +0 -120
  309. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/doc-api/classes/Erubis/EscapedEjavascript.html +0 -120
  310. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/doc-api/classes/Erubis/EscapedEperl.html +0 -120
  311. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/doc-api/classes/Erubis/EscapedEphp.html +0 -120
  312. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/doc-api/classes/Erubis/EscapedEruby.html +0 -127
  313. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/doc-api/classes/Erubis/EscapedEscheme.html +0 -120
  314. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/doc-api/classes/Erubis/Escheme.html +0 -126
  315. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/doc-api/classes/Erubis/Evaluator.html +0 -212
  316. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/doc-api/classes/Erubis/FastEruby.html +0 -131
  317. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/doc-api/classes/Erubis/Generator.html +0 -416
  318. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/doc-api/classes/Erubis/HeaderFooterEnhancer.html +0 -267
  319. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/doc-api/classes/Erubis/HeaderFooterEruby.html +0 -120
  320. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/doc-api/classes/Erubis/Helpers.html +0 -116
  321. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/doc-api/classes/Erubis/Helpers/RailsFormHelper.html +0 -787
  322. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/doc-api/classes/Erubis/Helpers/RailsHelper.html +0 -349
  323. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/doc-api/classes/Erubis/Helpers/RailsHelper/TemplateConverter.html +0 -213
  324. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/doc-api/classes/Erubis/InterpolationEnhancer.html +0 -305
  325. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/doc-api/classes/Erubis/InterpolationEruby.html +0 -120
  326. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/doc-api/classes/Erubis/JavaGenerator.html +0 -359
  327. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/doc-api/classes/Erubis/JavascriptGenerator.html +0 -386
  328. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/doc-api/classes/Erubis/Main.html +0 -341
  329. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/doc-api/classes/Erubis/NoCodeEnhancer.html +0 -249
  330. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/doc-api/classes/Erubis/NoCodeEruby.html +0 -120
  331. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/doc-api/classes/Erubis/NoTextEnhancer.html +0 -159
  332. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/doc-api/classes/Erubis/NoTextEruby.html +0 -120
  333. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/doc-api/classes/Erubis/NotSupportedError.html +0 -119
  334. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/doc-api/classes/Erubis/OptimizedEruby.html +0 -163
  335. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/doc-api/classes/Erubis/OptimizedGenerator.html +0 -439
  336. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/doc-api/classes/Erubis/OptimizedXmlEruby.html +0 -163
  337. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/doc-api/classes/Erubis/PI.html +0 -125
  338. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/doc-api/classes/Erubis/PI/Converter.html +0 -266
  339. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/doc-api/classes/Erubis/PI/Ec.html +0 -166
  340. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/doc-api/classes/Erubis/PI/Ecpp.html +0 -166
  341. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/doc-api/classes/Erubis/PI/Ejava.html +0 -166
  342. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/doc-api/classes/Erubis/PI/Ejavascript.html +0 -166
  343. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/doc-api/classes/Erubis/PI/Engine.html +0 -122
  344. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/doc-api/classes/Erubis/PI/Eperl.html +0 -166
  345. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/doc-api/classes/Erubis/PI/Ephp.html +0 -166
  346. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/doc-api/classes/Erubis/PI/Eruby.html +0 -155
  347. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/doc-api/classes/Erubis/PI/Escheme.html +0 -166
  348. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/doc-api/classes/Erubis/PI/TinyEruby.html +0 -293
  349. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/doc-api/classes/Erubis/PercentLineEnhancer.html +0 -163
  350. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/doc-api/classes/Erubis/PercentLineEruby.html +0 -120
  351. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/doc-api/classes/Erubis/PerlGenerator.html +0 -344
  352. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/doc-api/classes/Erubis/PhpGenerator.html +0 -350
  353. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/doc-api/classes/Erubis/PrefixedLineEnhancer.html +0 -210
  354. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/doc-api/classes/Erubis/PrefixedLineEruby.html +0 -120
  355. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/doc-api/classes/Erubis/PreprocessingEruby.html +0 -183
  356. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/doc-api/classes/Erubis/PreprocessingHelper.html +0 -212
  357. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/doc-api/classes/Erubis/PrintEnabledEnhancer.html +0 -212
  358. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/doc-api/classes/Erubis/PrintEnabledEruby.html +0 -120
  359. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/doc-api/classes/Erubis/PrintOutEnhancer.html +0 -244
  360. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/doc-api/classes/Erubis/PrintOutEruby.html +0 -120
  361. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/doc-api/classes/Erubis/PrintOutSimplifiedEruby.html +0 -121
  362. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/doc-api/classes/Erubis/RubyEvaluator.html +0 -227
  363. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/doc-api/classes/Erubis/RubyGenerator.html +0 -328
  364. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/doc-api/classes/Erubis/SchemeGenerator.html +0 -382
  365. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/doc-api/classes/Erubis/SimplifiedEruby.html +0 -120
  366. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/doc-api/classes/Erubis/SimplifyEnhancer.html +0 -191
  367. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/doc-api/classes/Erubis/StdoutEnhancer.html +0 -173
  368. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/doc-api/classes/Erubis/StdoutEruby.html +0 -120
  369. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/doc-api/classes/Erubis/StdoutSimplifiedEruby.html +0 -121
  370. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/doc-api/classes/Erubis/StringBufferEnhancer.html +0 -174
  371. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/doc-api/classes/Erubis/StringBufferEruby.html +0 -120
  372. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/doc-api/classes/Erubis/StringIOEruby.html +0 -120
  373. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/doc-api/classes/Erubis/TinyEruby.html +0 -298
  374. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/doc-api/classes/Erubis/XmlEruby.html +0 -130
  375. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/doc-api/classes/Erubis/XmlHelper.html +0 -255
  376. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/doc-api/classes/Kernel.html +0 -155
  377. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/doc-api/created.rid +0 -1
  378. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/doc-api/files/README_txt.html +0 -247
  379. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/doc-api/files/erubis/context_rb.html +0 -107
  380. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/doc-api/files/erubis/converter_rb.html +0 -114
  381. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/doc-api/files/erubis/engine/ec_rb.html +0 -115
  382. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/doc-api/files/erubis/engine/ecpp_rb.html +0 -115
  383. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/doc-api/files/erubis/engine/ejava_rb.html +0 -115
  384. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/doc-api/files/erubis/engine/ejavascript_rb.html +0 -115
  385. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/doc-api/files/erubis/engine/enhanced_rb.html +0 -115
  386. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/doc-api/files/erubis/engine/eperl_rb.html +0 -115
  387. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/doc-api/files/erubis/engine/ephp_rb.html +0 -115
  388. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/doc-api/files/erubis/engine/eruby_rb.html +0 -115
  389. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/doc-api/files/erubis/engine/escheme_rb.html +0 -115
  390. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/doc-api/files/erubis/engine/optimized_rb.html +0 -114
  391. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/doc-api/files/erubis/engine_rb.html +0 -117
  392. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/doc-api/files/erubis/enhancer_rb.html +0 -107
  393. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/doc-api/files/erubis/error_rb.html +0 -107
  394. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/doc-api/files/erubis/evaluator_rb.html +0 -115
  395. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/doc-api/files/erubis/generator_rb.html +0 -114
  396. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/doc-api/files/erubis/helper_rb.html +0 -107
  397. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/doc-api/files/erubis/helpers/rails_form_helper_rb.html +0 -107
  398. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/doc-api/files/erubis/helpers/rails_helper_rb.html +0 -116
  399. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/doc-api/files/erubis/local-setting_rb.html +0 -107
  400. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/doc-api/files/erubis/main_rb.html +0 -129
  401. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/doc-api/files/erubis/preprocessing_rb.html +0 -114
  402. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/doc-api/files/erubis/tiny_rb.html +0 -107
  403. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/doc-api/files/erubis/util_rb.html +0 -107
  404. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/doc-api/files/erubis_rb.html +0 -118
  405. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/doc-api/fr_class_index.html +0 -129
  406. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/doc-api/fr_file_index.html +0 -53
  407. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/doc-api/fr_method_index.html +0 -265
  408. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/doc-api/index.html +0 -24
  409. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/doc-api/rdoc-style.css +0 -208
  410. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/doc/docstyle.css +0 -209
  411. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/doc/users-guide.html +0 -3551
  412. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/examples/basic/Makefile +0 -58
  413. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/examples/basic/example.ec +0 -42
  414. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/examples/basic/example.ecpp +0 -33
  415. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/examples/basic/example.ejava +0 -45
  416. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/examples/basic/example.ejs +0 -16
  417. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/examples/basic/example.eperl +0 -16
  418. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/examples/basic/example.ephp +0 -17
  419. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/examples/basic/example.eruby +0 -15
  420. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/examples/basic/example.escheme +0 -26
  421. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/examples/pi/Makefile +0 -54
  422. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/examples/pi/example.ec +0 -42
  423. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/examples/pi/example.ejava +0 -45
  424. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/examples/pi/example.ejs +0 -16
  425. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/examples/pi/example.eperl +0 -16
  426. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/examples/pi/example.ephp +0 -17
  427. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/examples/pi/example.eruby +0 -15
  428. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/examples/pi/example.escheme +0 -26
  429. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/test/assert-text-equal.rb +0 -44
  430. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/test/data/users-guide/Example.ejava +0 -55
  431. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/test/data/users-guide/array_example.result +0 -9
  432. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/test/data/users-guide/arraybuffer_example.result +0 -9
  433. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/test/data/users-guide/bipattern-example.rhtml +0 -4
  434. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/test/data/users-guide/bipattern_example.result +0 -6
  435. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/test/data/users-guide/bufvar-example.rb +0 -10
  436. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/test/data/users-guide/bufvar-example.result +0 -17
  437. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/test/data/users-guide/context.rb +0 -6
  438. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/test/data/users-guide/context.yaml +0 -8
  439. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/test/data/users-guide/def_method.rb +0 -14
  440. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/test/data/users-guide/def_method.result +0 -3
  441. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/test/data/users-guide/escape_example.result +0 -9
  442. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/test/data/users-guide/example.ec +0 -27
  443. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/test/data/users-guide/example.ecpp +0 -30
  444. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/test/data/users-guide/example.ejs +0 -20
  445. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/test/data/users-guide/example.eperl +0 -18
  446. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/test/data/users-guide/example.ephp +0 -18
  447. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/test/data/users-guide/example.eruby +0 -6
  448. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/test/data/users-guide/example.escheme +0 -28
  449. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/test/data/users-guide/example1.eruby +0 -6
  450. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/test/data/users-guide/example1.rb +0 -17
  451. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/test/data/users-guide/example1.result +0 -16
  452. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/test/data/users-guide/example10.rb +0 -4
  453. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/test/data/users-guide/example10.result +0 -17
  454. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/test/data/users-guide/example10.xhtml +0 -14
  455. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/test/data/users-guide/example10_x.result +0 -17
  456. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/test/data/users-guide/example11.php +0 -20
  457. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/test/data/users-guide/example11.result +0 -23
  458. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/test/data/users-guide/example11.rhtml +0 -21
  459. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/test/data/users-guide/example11_C.result +0 -10
  460. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/test/data/users-guide/example11_N.result +0 -16
  461. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/test/data/users-guide/example11_U.result +0 -16
  462. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/test/data/users-guide/example11_php.result +0 -15
  463. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/test/data/users-guide/example1_x.result +0 -9
  464. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/test/data/users-guide/example2.eruby +0 -7
  465. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/test/data/users-guide/example2.rb +0 -10
  466. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/test/data/users-guide/example2.result +0 -27
  467. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/test/data/users-guide/example2_trim.result +0 -10
  468. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/test/data/users-guide/example2_x.result +0 -10
  469. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/test/data/users-guide/example3.eruby +0 -6
  470. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/test/data/users-guide/example3.rb +0 -10
  471. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/test/data/users-guide/example31.result +0 -22
  472. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/test/data/users-guide/example32.result +0 -4
  473. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/test/data/users-guide/example3_e.result +0 -8
  474. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/test/data/users-guide/example4.eruby +0 -3
  475. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/test/data/users-guide/example4.rb +0 -11
  476. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/test/data/users-guide/example4.result +0 -10
  477. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/test/data/users-guide/example4_x.result +0 -5
  478. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/test/data/users-guide/example5.eruby +0 -6
  479. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/test/data/users-guide/example5.rb +0 -16
  480. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/test/data/users-guide/example5.result +0 -7
  481. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/test/data/users-guide/example6.rb +0 -12
  482. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/test/data/users-guide/example6.result +0 -7
  483. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/test/data/users-guide/example7.eruby +0 -8
  484. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/test/data/users-guide/example71.result +0 -13
  485. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/test/data/users-guide/example72.result +0 -13
  486. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/test/data/users-guide/example8.eruby +0 -6
  487. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/test/data/users-guide/example8_ruby.result +0 -7
  488. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/test/data/users-guide/example8_yaml.result +0 -7
  489. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/test/data/users-guide/example9.eruby +0 -3
  490. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/test/data/users-guide/example9.rb +0 -8
  491. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/test/data/users-guide/example9.result +0 -9
  492. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/test/data/users-guide/example91.result +0 -5
  493. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/test/data/users-guide/example92.result +0 -4
  494. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/test/data/users-guide/example_c.result +0 -32
  495. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/test/data/users-guide/example_java.result +0 -56
  496. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/test/data/users-guide/example_js.result +0 -22
  497. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/test/data/users-guide/example_perl.result +0 -20
  498. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/test/data/users-guide/example_php.result +0 -19
  499. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/test/data/users-guide/example_scheme.result +0 -30
  500. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/test/data/users-guide/example_scheme_display.result +0 -29
  501. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/test/data/users-guide/fasteruby-example.rb +0 -8
  502. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/test/data/users-guide/fasteruby-example.result +0 -18
  503. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/test/data/users-guide/fasteruby.rb +0 -11
  504. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/test/data/users-guide/fasteruby.result +0 -38
  505. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/test/data/users-guide/fasteruby.rhtml +0 -15
  506. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/test/data/users-guide/headerfooter-example.eruby +0 -9
  507. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/test/data/users-guide/headerfooter-example2.rb +0 -8
  508. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/test/data/users-guide/headerfooter-example2.rhtml +0 -10
  509. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/test/data/users-guide/headerfooter_example.result +0 -11
  510. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/test/data/users-guide/headerfooter_example2.result +0 -13
  511. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/test/data/users-guide/interpolation_example.result +0 -9
  512. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/test/data/users-guide/main_program1.rb +0 -8
  513. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/test/data/users-guide/main_program1.result +0 -6
  514. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/test/data/users-guide/main_program2.rb +0 -8
  515. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/test/data/users-guide/main_program2.result +0 -6
  516. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/test/data/users-guide/nocode-example.eruby +0 -14
  517. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/test/data/users-guide/nocode-php.result +0 -20
  518. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/test/data/users-guide/nocode_example.result +0 -15
  519. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/test/data/users-guide/normal-eruby-test.eruby +0 -9
  520. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/test/data/users-guide/normal_eruby_test.result +0 -11
  521. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/test/data/users-guide/notext-example.eruby +0 -14
  522. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/test/data/users-guide/notext-example.php +0 -19
  523. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/test/data/users-guide/notext-php.result +0 -20
  524. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/test/data/users-guide/notext_example.result +0 -16
  525. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/test/data/users-guide/percentline-example.rhtml +0 -6
  526. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/test/data/users-guide/percentline_example.result +0 -9
  527. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/test/data/users-guide/prefixedline-example.rb +0 -9
  528. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/test/data/users-guide/prefixedline-example.rhtml +0 -6
  529. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/test/data/users-guide/prefixedline_example.result +0 -9
  530. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/test/data/users-guide/printenable_example.result +0 -4
  531. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/test/data/users-guide/printenabled-example.eruby +0 -3
  532. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/test/data/users-guide/printenabled-example.rb +0 -8
  533. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/test/data/users-guide/printstatement_example.result +0 -8
  534. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/test/data/users-guide/simplify_example.result +0 -9
  535. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/test/data/users-guide/stderr.log +0 -3
  536. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/test/data/users-guide/stdout_exmple.result +0 -9
  537. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/test/data/users-guide/stringbuffer_example.result +0 -9
  538. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/test/data/users-guide/tail_260.result +0 -4
  539. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/test/data/users-guide/tailnewline.rhtml +0 -3
  540. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/test/data/users-guide/template1.rhtml +0 -4
  541. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/test/data/users-guide/template2.rhtml +0 -4
  542. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/test/test-engines.rb +0 -425
  543. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/test/test-enhancers.rb +0 -646
  544. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/test/test-erubis.rb +0 -887
  545. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/test/test-index-cgi.rb +0 -191
  546. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/test/test-main.rb +0 -752
  547. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/test/test-users-guide.rb +0 -73
  548. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/test/test.rb +0 -45
  549. data/bundle/ruby/2.5.0/gems/erubis-2.7.0/test/testutil.rb +0 -111
  550. data/bundle/ruby/2.5.0/gems/haml-4.0.7/Rakefile +0 -134
  551. data/bundle/ruby/2.5.0/gems/haml-4.0.7/bin/haml +0 -9
  552. data/bundle/ruby/2.5.0/gems/haml-4.0.7/test/engine_test.rb +0 -2013
  553. data/bundle/ruby/2.5.0/gems/haml-4.0.7/test/erb/_av_partial_1.erb +0 -12
  554. data/bundle/ruby/2.5.0/gems/haml-4.0.7/test/erb/_av_partial_2.erb +0 -8
  555. data/bundle/ruby/2.5.0/gems/haml-4.0.7/test/erb/action_view.erb +0 -62
  556. data/bundle/ruby/2.5.0/gems/haml-4.0.7/test/erb/standard.erb +0 -55
  557. data/bundle/ruby/2.5.0/gems/haml-4.0.7/test/filters_test.rb +0 -254
  558. data/bundle/ruby/2.5.0/gems/haml-4.0.7/test/gemfiles/Gemfile.rails-3.0.x +0 -5
  559. data/bundle/ruby/2.5.0/gems/haml-4.0.7/test/gemfiles/Gemfile.rails-3.1.x +0 -6
  560. data/bundle/ruby/2.5.0/gems/haml-4.0.7/test/gemfiles/Gemfile.rails-3.2.x +0 -5
  561. data/bundle/ruby/2.5.0/gems/haml-4.0.7/test/gemfiles/Gemfile.rails-4.0.x +0 -5
  562. data/bundle/ruby/2.5.0/gems/haml-4.0.7/test/haml-spec/LICENSE +0 -14
  563. data/bundle/ruby/2.5.0/gems/haml-4.0.7/test/haml-spec/README.md +0 -106
  564. data/bundle/ruby/2.5.0/gems/haml-4.0.7/test/haml-spec/lua_haml_spec.lua +0 -38
  565. data/bundle/ruby/2.5.0/gems/haml-4.0.7/test/haml-spec/perl_haml_test.pl +0 -81
  566. data/bundle/ruby/2.5.0/gems/haml-4.0.7/test/haml-spec/ruby_haml_test.rb +0 -23
  567. data/bundle/ruby/2.5.0/gems/haml-4.0.7/test/haml-spec/tests.json +0 -660
  568. data/bundle/ruby/2.5.0/gems/haml-4.0.7/test/helper_test.rb +0 -583
  569. data/bundle/ruby/2.5.0/gems/haml-4.0.7/test/markaby/standard.mab +0 -52
  570. data/bundle/ruby/2.5.0/gems/haml-4.0.7/test/mocks/article.rb +0 -6
  571. data/bundle/ruby/2.5.0/gems/haml-4.0.7/test/parser_test.rb +0 -105
  572. data/bundle/ruby/2.5.0/gems/haml-4.0.7/test/results/content_for_layout.xhtml +0 -12
  573. data/bundle/ruby/2.5.0/gems/haml-4.0.7/test/results/eval_suppressed.xhtml +0 -9
  574. data/bundle/ruby/2.5.0/gems/haml-4.0.7/test/results/helpers.xhtml +0 -70
  575. data/bundle/ruby/2.5.0/gems/haml-4.0.7/test/results/helpful.xhtml +0 -10
  576. data/bundle/ruby/2.5.0/gems/haml-4.0.7/test/results/just_stuff.xhtml +0 -70
  577. data/bundle/ruby/2.5.0/gems/haml-4.0.7/test/results/list.xhtml +0 -12
  578. data/bundle/ruby/2.5.0/gems/haml-4.0.7/test/results/nuke_inner_whitespace.xhtml +0 -40
  579. data/bundle/ruby/2.5.0/gems/haml-4.0.7/test/results/nuke_outer_whitespace.xhtml +0 -148
  580. data/bundle/ruby/2.5.0/gems/haml-4.0.7/test/results/original_engine.xhtml +0 -20
  581. data/bundle/ruby/2.5.0/gems/haml-4.0.7/test/results/partial_layout.xhtml +0 -5
  582. data/bundle/ruby/2.5.0/gems/haml-4.0.7/test/results/partial_layout_erb.xhtml +0 -5
  583. data/bundle/ruby/2.5.0/gems/haml-4.0.7/test/results/partials.xhtml +0 -21
  584. data/bundle/ruby/2.5.0/gems/haml-4.0.7/test/results/render_layout.xhtml +0 -3
  585. data/bundle/ruby/2.5.0/gems/haml-4.0.7/test/results/silent_script.xhtml +0 -74
  586. data/bundle/ruby/2.5.0/gems/haml-4.0.7/test/results/standard.xhtml +0 -162
  587. data/bundle/ruby/2.5.0/gems/haml-4.0.7/test/results/tag_parsing.xhtml +0 -23
  588. data/bundle/ruby/2.5.0/gems/haml-4.0.7/test/results/very_basic.xhtml +0 -5
  589. data/bundle/ruby/2.5.0/gems/haml-4.0.7/test/results/whitespace_handling.xhtml +0 -90
  590. data/bundle/ruby/2.5.0/gems/haml-4.0.7/test/template_test.rb +0 -354
  591. data/bundle/ruby/2.5.0/gems/haml-4.0.7/test/templates/_av_partial_1.haml +0 -9
  592. data/bundle/ruby/2.5.0/gems/haml-4.0.7/test/templates/_av_partial_1_ugly.haml +0 -9
  593. data/bundle/ruby/2.5.0/gems/haml-4.0.7/test/templates/_av_partial_2.haml +0 -5
  594. data/bundle/ruby/2.5.0/gems/haml-4.0.7/test/templates/_av_partial_2_ugly.haml +0 -5
  595. data/bundle/ruby/2.5.0/gems/haml-4.0.7/test/templates/_layout.erb +0 -3
  596. data/bundle/ruby/2.5.0/gems/haml-4.0.7/test/templates/_layout_for_partial.haml +0 -3
  597. data/bundle/ruby/2.5.0/gems/haml-4.0.7/test/templates/_partial.haml +0 -8
  598. data/bundle/ruby/2.5.0/gems/haml-4.0.7/test/templates/_text_area.haml +0 -3
  599. data/bundle/ruby/2.5.0/gems/haml-4.0.7/test/templates/_text_area_helper.html.haml +0 -4
  600. data/bundle/ruby/2.5.0/gems/haml-4.0.7/test/templates/action_view.haml +0 -47
  601. data/bundle/ruby/2.5.0/gems/haml-4.0.7/test/templates/action_view_ugly.haml +0 -47
  602. data/bundle/ruby/2.5.0/gems/haml-4.0.7/test/templates/breakage.haml +0 -8
  603. data/bundle/ruby/2.5.0/gems/haml-4.0.7/test/templates/content_for_layout.haml +0 -8
  604. data/bundle/ruby/2.5.0/gems/haml-4.0.7/test/templates/eval_suppressed.haml +0 -11
  605. data/bundle/ruby/2.5.0/gems/haml-4.0.7/test/templates/helpers.haml +0 -55
  606. data/bundle/ruby/2.5.0/gems/haml-4.0.7/test/templates/helpful.haml +0 -11
  607. data/bundle/ruby/2.5.0/gems/haml-4.0.7/test/templates/just_stuff.haml +0 -85
  608. data/bundle/ruby/2.5.0/gems/haml-4.0.7/test/templates/list.haml +0 -12
  609. data/bundle/ruby/2.5.0/gems/haml-4.0.7/test/templates/nuke_inner_whitespace.haml +0 -32
  610. data/bundle/ruby/2.5.0/gems/haml-4.0.7/test/templates/nuke_outer_whitespace.haml +0 -144
  611. data/bundle/ruby/2.5.0/gems/haml-4.0.7/test/templates/original_engine.haml +0 -17
  612. data/bundle/ruby/2.5.0/gems/haml-4.0.7/test/templates/partial_layout.haml +0 -3
  613. data/bundle/ruby/2.5.0/gems/haml-4.0.7/test/templates/partial_layout_erb.erb +0 -4
  614. data/bundle/ruby/2.5.0/gems/haml-4.0.7/test/templates/partialize.haml +0 -1
  615. data/bundle/ruby/2.5.0/gems/haml-4.0.7/test/templates/partials.haml +0 -12
  616. data/bundle/ruby/2.5.0/gems/haml-4.0.7/test/templates/render_layout.haml +0 -2
  617. data/bundle/ruby/2.5.0/gems/haml-4.0.7/test/templates/silent_script.haml +0 -45
  618. data/bundle/ruby/2.5.0/gems/haml-4.0.7/test/templates/standard.haml +0 -43
  619. data/bundle/ruby/2.5.0/gems/haml-4.0.7/test/templates/standard_ugly.haml +0 -43
  620. data/bundle/ruby/2.5.0/gems/haml-4.0.7/test/templates/tag_parsing.haml +0 -21
  621. data/bundle/ruby/2.5.0/gems/haml-4.0.7/test/templates/very_basic.haml +0 -4
  622. data/bundle/ruby/2.5.0/gems/haml-4.0.7/test/templates/whitespace_handling.haml +0 -87
  623. data/bundle/ruby/2.5.0/gems/haml-4.0.7/test/test_helper.rb +0 -81
  624. data/bundle/ruby/2.5.0/gems/haml-4.0.7/test/util_test.rb +0 -63
  625. data/bundle/ruby/2.5.0/gems/highline-1.7.10/Rakefile +0 -30
  626. data/bundle/ruby/2.5.0/gems/highline-1.7.10/examples/ansi_colors.rb +0 -38
  627. data/bundle/ruby/2.5.0/gems/highline-1.7.10/examples/asking_for_arrays.rb +0 -18
  628. data/bundle/ruby/2.5.0/gems/highline-1.7.10/examples/basic_usage.rb +0 -75
  629. data/bundle/ruby/2.5.0/gems/highline-1.7.10/examples/color_scheme.rb +0 -32
  630. data/bundle/ruby/2.5.0/gems/highline-1.7.10/examples/get_character.rb +0 -12
  631. data/bundle/ruby/2.5.0/gems/highline-1.7.10/examples/limit.rb +0 -12
  632. data/bundle/ruby/2.5.0/gems/highline-1.7.10/examples/menus.rb +0 -65
  633. data/bundle/ruby/2.5.0/gems/highline-1.7.10/examples/overwrite.rb +0 -19
  634. data/bundle/ruby/2.5.0/gems/highline-1.7.10/examples/page_and_wrap.rb +0 -322
  635. data/bundle/ruby/2.5.0/gems/highline-1.7.10/examples/password.rb +0 -7
  636. data/bundle/ruby/2.5.0/gems/highline-1.7.10/examples/repeat_entry.rb +0 -21
  637. data/bundle/ruby/2.5.0/gems/highline-1.7.10/examples/trapping_eof.rb +0 -22
  638. data/bundle/ruby/2.5.0/gems/highline-1.7.10/examples/using_readline.rb +0 -17
  639. data/bundle/ruby/2.5.0/gems/highline-1.7.10/site/highline.css +0 -65
  640. data/bundle/ruby/2.5.0/gems/highline-1.7.10/site/images/logo.png +0 -0
  641. data/bundle/ruby/2.5.0/gems/highline-1.7.10/site/index.html +0 -58
  642. data/bundle/ruby/2.5.0/gems/highline-1.7.10/test/string_methods.rb +0 -32
  643. data/bundle/ruby/2.5.0/gems/highline-1.7.10/test/tc_color_scheme.rb +0 -96
  644. data/bundle/ruby/2.5.0/gems/highline-1.7.10/test/tc_highline.rb +0 -1402
  645. data/bundle/ruby/2.5.0/gems/highline-1.7.10/test/tc_import.rb +0 -52
  646. data/bundle/ruby/2.5.0/gems/highline-1.7.10/test/tc_menu.rb +0 -439
  647. data/bundle/ruby/2.5.0/gems/highline-1.7.10/test/tc_simulator.rb +0 -33
  648. data/bundle/ruby/2.5.0/gems/highline-1.7.10/test/tc_string_extension.rb +0 -33
  649. data/bundle/ruby/2.5.0/gems/highline-1.7.10/test/tc_string_highline.rb +0 -38
  650. data/bundle/ruby/2.5.0/gems/highline-1.7.10/test/tc_style.rb +0 -578
  651. data/bundle/ruby/2.5.0/gems/ruby2ruby-2.4.1/Rakefile +0 -93
  652. data/bundle/ruby/2.5.0/gems/ruby2ruby-2.4.1/bin/r2r_show +0 -33
  653. data/bundle/ruby/2.5.0/gems/ruby2ruby-2.4.1/test/test_ruby2ruby.rb +0 -847
  654. data/bundle/ruby/2.5.0/gems/ruby_parser-3.11.0/Rakefile +0 -247
  655. data/bundle/ruby/2.5.0/gems/ruby_parser-3.11.0/bin/ruby_parse +0 -96
  656. data/bundle/ruby/2.5.0/gems/ruby_parser-3.11.0/bin/ruby_parse_extract_error +0 -156
  657. data/bundle/ruby/2.5.0/gems/ruby_parser-3.11.0/test/test_ruby_lexer.rb +0 -2899
  658. data/bundle/ruby/2.5.0/gems/ruby_parser-3.11.0/test/test_ruby_parser.rb +0 -3805
  659. data/bundle/ruby/2.5.0/gems/ruby_parser-3.11.0/test/test_ruby_parser_extras.rb +0 -226
  660. data/bundle/ruby/2.5.0/gems/safe_yaml-1.0.4/Rakefile +0 -26
  661. data/bundle/ruby/2.5.0/gems/safe_yaml-1.0.4/bin/safe_yaml +0 -75
  662. data/bundle/ruby/2.5.0/gems/safe_yaml-1.0.4/spec/exploit.1.9.2.yaml +0 -2
  663. data/bundle/ruby/2.5.0/gems/safe_yaml-1.0.4/spec/exploit.1.9.3.yaml +0 -2
  664. data/bundle/ruby/2.5.0/gems/safe_yaml-1.0.4/spec/issue48.txt +0 -20
  665. data/bundle/ruby/2.5.0/gems/safe_yaml-1.0.4/spec/issue49.yml +0 -0
  666. data/bundle/ruby/2.5.0/gems/safe_yaml-1.0.4/spec/libyaml_checker_spec.rb +0 -69
  667. data/bundle/ruby/2.5.0/gems/safe_yaml-1.0.4/spec/psych_resolver_spec.rb +0 -10
  668. data/bundle/ruby/2.5.0/gems/safe_yaml-1.0.4/spec/resolver_specs.rb +0 -278
  669. data/bundle/ruby/2.5.0/gems/safe_yaml-1.0.4/spec/safe_yaml_spec.rb +0 -731
  670. data/bundle/ruby/2.5.0/gems/safe_yaml-1.0.4/spec/spec_helper.rb +0 -42
  671. data/bundle/ruby/2.5.0/gems/safe_yaml-1.0.4/spec/support/exploitable_back_door.rb +0 -29
  672. data/bundle/ruby/2.5.0/gems/safe_yaml-1.0.4/spec/syck_resolver_spec.rb +0 -10
  673. data/bundle/ruby/2.5.0/gems/safe_yaml-1.0.4/spec/transform/base64_spec.rb +0 -11
  674. data/bundle/ruby/2.5.0/gems/safe_yaml-1.0.4/spec/transform/to_date_spec.rb +0 -60
  675. data/bundle/ruby/2.5.0/gems/safe_yaml-1.0.4/spec/transform/to_float_spec.rb +0 -42
  676. data/bundle/ruby/2.5.0/gems/safe_yaml-1.0.4/spec/transform/to_integer_spec.rb +0 -64
  677. data/bundle/ruby/2.5.0/gems/safe_yaml-1.0.4/spec/transform/to_symbol_spec.rb +0 -51
  678. data/bundle/ruby/2.5.0/gems/safe_yaml-1.0.4/spec/yaml_spec.rb +0 -15
  679. data/bundle/ruby/2.5.0/gems/sass-3.4.25/Rakefile +0 -453
  680. data/bundle/ruby/2.5.0/gems/sass-3.4.25/bin/sass +0 -13
  681. data/bundle/ruby/2.5.0/gems/sass-3.4.25/bin/sass-convert +0 -12
  682. data/bundle/ruby/2.5.0/gems/sass-3.4.25/bin/scss +0 -13
  683. data/bundle/ruby/2.5.0/gems/sass-3.4.25/test/sass-spec.yml +0 -3
  684. data/bundle/ruby/2.5.0/gems/sass-3.4.25/test/sass/cache_test.rb +0 -131
  685. data/bundle/ruby/2.5.0/gems/sass-3.4.25/test/sass/callbacks_test.rb +0 -61
  686. data/bundle/ruby/2.5.0/gems/sass-3.4.25/test/sass/compiler_test.rb +0 -236
  687. data/bundle/ruby/2.5.0/gems/sass-3.4.25/test/sass/conversion_test.rb +0 -2188
  688. data/bundle/ruby/2.5.0/gems/sass-3.4.25/test/sass/css2sass_test.rb +0 -526
  689. data/bundle/ruby/2.5.0/gems/sass-3.4.25/test/sass/css_variable_test.rb +0 -132
  690. data/bundle/ruby/2.5.0/gems/sass-3.4.25/test/sass/data/hsl-rgb.txt +0 -319
  691. data/bundle/ruby/2.5.0/gems/sass-3.4.25/test/sass/encoding_test.rb +0 -219
  692. data/bundle/ruby/2.5.0/gems/sass-3.4.25/test/sass/engine_test.rb +0 -3447
  693. data/bundle/ruby/2.5.0/gems/sass-3.4.25/test/sass/exec_test.rb +0 -96
  694. data/bundle/ruby/2.5.0/gems/sass-3.4.25/test/sass/extend_test.rb +0 -1733
  695. data/bundle/ruby/2.5.0/gems/sass-3.4.25/test/sass/fixtures/test_staleness_check_across_importers.css +0 -1
  696. data/bundle/ruby/2.5.0/gems/sass-3.4.25/test/sass/fixtures/test_staleness_check_across_importers.scss +0 -1
  697. data/bundle/ruby/2.5.0/gems/sass-3.4.25/test/sass/functions_test.rb +0 -1977
  698. data/bundle/ruby/2.5.0/gems/sass-3.4.25/test/sass/importer_test.rb +0 -421
  699. data/bundle/ruby/2.5.0/gems/sass-3.4.25/test/sass/logger_test.rb +0 -58
  700. data/bundle/ruby/2.5.0/gems/sass-3.4.25/test/sass/mock_importer.rb +0 -49
  701. data/bundle/ruby/2.5.0/gems/sass-3.4.25/test/sass/more_results/more1.css +0 -9
  702. data/bundle/ruby/2.5.0/gems/sass-3.4.25/test/sass/more_results/more1_with_line_comments.css +0 -26
  703. data/bundle/ruby/2.5.0/gems/sass-3.4.25/test/sass/more_results/more_import.css +0 -29
  704. data/bundle/ruby/2.5.0/gems/sass-3.4.25/test/sass/more_templates/_more_partial.sass +0 -2
  705. data/bundle/ruby/2.5.0/gems/sass-3.4.25/test/sass/more_templates/more1.sass +0 -23
  706. data/bundle/ruby/2.5.0/gems/sass-3.4.25/test/sass/more_templates/more_import.sass +0 -11
  707. data/bundle/ruby/2.5.0/gems/sass-3.4.25/test/sass/plugin_test.rb +0 -556
  708. data/bundle/ruby/2.5.0/gems/sass-3.4.25/test/sass/results/alt.css +0 -4
  709. data/bundle/ruby/2.5.0/gems/sass-3.4.25/test/sass/results/basic.css +0 -9
  710. data/bundle/ruby/2.5.0/gems/sass-3.4.25/test/sass/results/cached_import_option.css +0 -3
  711. data/bundle/ruby/2.5.0/gems/sass-3.4.25/test/sass/results/compact.css +0 -5
  712. data/bundle/ruby/2.5.0/gems/sass-3.4.25/test/sass/results/complex.css +0 -86
  713. data/bundle/ruby/2.5.0/gems/sass-3.4.25/test/sass/results/compressed.css +0 -1
  714. data/bundle/ruby/2.5.0/gems/sass-3.4.25/test/sass/results/expanded.css +0 -19
  715. data/bundle/ruby/2.5.0/gems/sass-3.4.25/test/sass/results/filename_fn.css +0 -3
  716. data/bundle/ruby/2.5.0/gems/sass-3.4.25/test/sass/results/if.css +0 -3
  717. data/bundle/ruby/2.5.0/gems/sass-3.4.25/test/sass/results/import.css +0 -31
  718. data/bundle/ruby/2.5.0/gems/sass-3.4.25/test/sass/results/import_charset.css +0 -5
  719. data/bundle/ruby/2.5.0/gems/sass-3.4.25/test/sass/results/import_charset_1_8.css +0 -5
  720. data/bundle/ruby/2.5.0/gems/sass-3.4.25/test/sass/results/import_charset_ibm866.css +0 -5
  721. data/bundle/ruby/2.5.0/gems/sass-3.4.25/test/sass/results/import_content.css +0 -1
  722. data/bundle/ruby/2.5.0/gems/sass-3.4.25/test/sass/results/line_numbers.css +0 -49
  723. data/bundle/ruby/2.5.0/gems/sass-3.4.25/test/sass/results/mixins.css +0 -95
  724. data/bundle/ruby/2.5.0/gems/sass-3.4.25/test/sass/results/multiline.css +0 -24
  725. data/bundle/ruby/2.5.0/gems/sass-3.4.25/test/sass/results/nested.css +0 -22
  726. data/bundle/ruby/2.5.0/gems/sass-3.4.25/test/sass/results/options.css +0 -1
  727. data/bundle/ruby/2.5.0/gems/sass-3.4.25/test/sass/results/parent_ref.css +0 -13
  728. data/bundle/ruby/2.5.0/gems/sass-3.4.25/test/sass/results/script.css +0 -16
  729. data/bundle/ruby/2.5.0/gems/sass-3.4.25/test/sass/results/scss_import.css +0 -31
  730. data/bundle/ruby/2.5.0/gems/sass-3.4.25/test/sass/results/scss_importee.css +0 -2
  731. data/bundle/ruby/2.5.0/gems/sass-3.4.25/test/sass/results/subdir/nested_subdir/nested_subdir.css +0 -1
  732. data/bundle/ruby/2.5.0/gems/sass-3.4.25/test/sass/results/subdir/subdir.css +0 -3
  733. data/bundle/ruby/2.5.0/gems/sass-3.4.25/test/sass/results/units.css +0 -11
  734. data/bundle/ruby/2.5.0/gems/sass-3.4.25/test/sass/results/warn.css +0 -0
  735. data/bundle/ruby/2.5.0/gems/sass-3.4.25/test/sass/results/warn_imported.css +0 -0
  736. data/bundle/ruby/2.5.0/gems/sass-3.4.25/test/sass/script_conversion_test.rb +0 -357
  737. data/bundle/ruby/2.5.0/gems/sass-3.4.25/test/sass/script_test.rb +0 -1431
  738. data/bundle/ruby/2.5.0/gems/sass-3.4.25/test/sass/scss/css_test.rb +0 -1281
  739. data/bundle/ruby/2.5.0/gems/sass-3.4.25/test/sass/scss/rx_test.rb +0 -160
  740. data/bundle/ruby/2.5.0/gems/sass-3.4.25/test/sass/scss/scss_test.rb +0 -4205
  741. data/bundle/ruby/2.5.0/gems/sass-3.4.25/test/sass/scss/test_helper.rb +0 -37
  742. data/bundle/ruby/2.5.0/gems/sass-3.4.25/test/sass/source_map_test.rb +0 -1055
  743. data/bundle/ruby/2.5.0/gems/sass-3.4.25/test/sass/superselector_test.rb +0 -210
  744. data/bundle/ruby/2.5.0/gems/sass-3.4.25/test/sass/templates/_cached_import_option_partial.scss +0 -1
  745. data/bundle/ruby/2.5.0/gems/sass-3.4.25/test/sass/templates/_double_import_loop2.sass +0 -1
  746. data/bundle/ruby/2.5.0/gems/sass-3.4.25/test/sass/templates/_filename_fn_import.scss +0 -11
  747. data/bundle/ruby/2.5.0/gems/sass-3.4.25/test/sass/templates/_imported_charset_ibm866.sass +0 -4
  748. data/bundle/ruby/2.5.0/gems/sass-3.4.25/test/sass/templates/_imported_charset_utf8.sass +0 -4
  749. data/bundle/ruby/2.5.0/gems/sass-3.4.25/test/sass/templates/_imported_content.sass +0 -3
  750. data/bundle/ruby/2.5.0/gems/sass-3.4.25/test/sass/templates/_partial.sass +0 -2
  751. data/bundle/ruby/2.5.0/gems/sass-3.4.25/test/sass/templates/_same_name_different_partiality.scss +0 -1
  752. data/bundle/ruby/2.5.0/gems/sass-3.4.25/test/sass/templates/alt.sass +0 -16
  753. data/bundle/ruby/2.5.0/gems/sass-3.4.25/test/sass/templates/basic.sass +0 -23
  754. data/bundle/ruby/2.5.0/gems/sass-3.4.25/test/sass/templates/bork1.sass +0 -2
  755. data/bundle/ruby/2.5.0/gems/sass-3.4.25/test/sass/templates/bork2.sass +0 -2
  756. data/bundle/ruby/2.5.0/gems/sass-3.4.25/test/sass/templates/bork3.sass +0 -2
  757. data/bundle/ruby/2.5.0/gems/sass-3.4.25/test/sass/templates/bork4.sass +0 -2
  758. data/bundle/ruby/2.5.0/gems/sass-3.4.25/test/sass/templates/bork5.sass +0 -3
  759. data/bundle/ruby/2.5.0/gems/sass-3.4.25/test/sass/templates/cached_import_option.scss +0 -3
  760. data/bundle/ruby/2.5.0/gems/sass-3.4.25/test/sass/templates/compact.sass +0 -17
  761. data/bundle/ruby/2.5.0/gems/sass-3.4.25/test/sass/templates/complex.sass +0 -305
  762. data/bundle/ruby/2.5.0/gems/sass-3.4.25/test/sass/templates/compressed.sass +0 -15
  763. data/bundle/ruby/2.5.0/gems/sass-3.4.25/test/sass/templates/double_import_loop1.sass +0 -1
  764. data/bundle/ruby/2.5.0/gems/sass-3.4.25/test/sass/templates/expanded.sass +0 -17
  765. data/bundle/ruby/2.5.0/gems/sass-3.4.25/test/sass/templates/filename_fn.scss +0 -18
  766. data/bundle/ruby/2.5.0/gems/sass-3.4.25/test/sass/templates/if.sass +0 -11
  767. data/bundle/ruby/2.5.0/gems/sass-3.4.25/test/sass/templates/import.sass +0 -12
  768. data/bundle/ruby/2.5.0/gems/sass-3.4.25/test/sass/templates/import_charset.sass +0 -9
  769. data/bundle/ruby/2.5.0/gems/sass-3.4.25/test/sass/templates/import_charset_1_8.sass +0 -6
  770. data/bundle/ruby/2.5.0/gems/sass-3.4.25/test/sass/templates/import_charset_ibm866.sass +0 -11
  771. data/bundle/ruby/2.5.0/gems/sass-3.4.25/test/sass/templates/import_content.sass +0 -4
  772. data/bundle/ruby/2.5.0/gems/sass-3.4.25/test/sass/templates/importee.less +0 -2
  773. data/bundle/ruby/2.5.0/gems/sass-3.4.25/test/sass/templates/importee.sass +0 -19
  774. data/bundle/ruby/2.5.0/gems/sass-3.4.25/test/sass/templates/line_numbers.sass +0 -13
  775. data/bundle/ruby/2.5.0/gems/sass-3.4.25/test/sass/templates/mixin_bork.sass +0 -5
  776. data/bundle/ruby/2.5.0/gems/sass-3.4.25/test/sass/templates/mixins.sass +0 -76
  777. data/bundle/ruby/2.5.0/gems/sass-3.4.25/test/sass/templates/multiline.sass +0 -20
  778. data/bundle/ruby/2.5.0/gems/sass-3.4.25/test/sass/templates/nested.sass +0 -25
  779. data/bundle/ruby/2.5.0/gems/sass-3.4.25/test/sass/templates/nested_bork1.sass +0 -2
  780. data/bundle/ruby/2.5.0/gems/sass-3.4.25/test/sass/templates/nested_bork2.sass +0 -2
  781. data/bundle/ruby/2.5.0/gems/sass-3.4.25/test/sass/templates/nested_bork3.sass +0 -2
  782. data/bundle/ruby/2.5.0/gems/sass-3.4.25/test/sass/templates/nested_bork4.sass +0 -2
  783. data/bundle/ruby/2.5.0/gems/sass-3.4.25/test/sass/templates/nested_import.sass +0 -2
  784. data/bundle/ruby/2.5.0/gems/sass-3.4.25/test/sass/templates/nested_mixin_bork.sass +0 -6
  785. data/bundle/ruby/2.5.0/gems/sass-3.4.25/test/sass/templates/options.sass +0 -2
  786. data/bundle/ruby/2.5.0/gems/sass-3.4.25/test/sass/templates/parent_ref.sass +0 -25
  787. data/bundle/ruby/2.5.0/gems/sass-3.4.25/test/sass/templates/same_name_different_ext.sass +0 -2
  788. data/bundle/ruby/2.5.0/gems/sass-3.4.25/test/sass/templates/same_name_different_ext.scss +0 -1
  789. data/bundle/ruby/2.5.0/gems/sass-3.4.25/test/sass/templates/same_name_different_partiality.scss +0 -1
  790. data/bundle/ruby/2.5.0/gems/sass-3.4.25/test/sass/templates/script.sass +0 -101
  791. data/bundle/ruby/2.5.0/gems/sass-3.4.25/test/sass/templates/scss_import.scss +0 -12
  792. data/bundle/ruby/2.5.0/gems/sass-3.4.25/test/sass/templates/scss_importee.scss +0 -1
  793. data/bundle/ruby/2.5.0/gems/sass-3.4.25/test/sass/templates/single_import_loop.sass +0 -1
  794. data/bundle/ruby/2.5.0/gems/sass-3.4.25/test/sass/templates/subdir/import_up1.scss +0 -1
  795. data/bundle/ruby/2.5.0/gems/sass-3.4.25/test/sass/templates/subdir/import_up2.scss +0 -1
  796. data/bundle/ruby/2.5.0/gems/sass-3.4.25/test/sass/templates/subdir/nested_subdir/_nested_partial.sass +0 -2
  797. data/bundle/ruby/2.5.0/gems/sass-3.4.25/test/sass/templates/subdir/nested_subdir/nested_subdir.sass +0 -3
  798. data/bundle/ruby/2.5.0/gems/sass-3.4.25/test/sass/templates/subdir/subdir.sass +0 -6
  799. data/bundle/ruby/2.5.0/gems/sass-3.4.25/test/sass/templates/units.sass +0 -11
  800. data/bundle/ruby/2.5.0/gems/sass-3.4.25/test/sass/templates/warn.sass +0 -3
  801. data/bundle/ruby/2.5.0/gems/sass-3.4.25/test/sass/templates/warn_imported.sass +0 -4
  802. data/bundle/ruby/2.5.0/gems/sass-3.4.25/test/sass/test_helper.rb +0 -8
  803. data/bundle/ruby/2.5.0/gems/sass-3.4.25/test/sass/util/multibyte_string_scanner_test.rb +0 -155
  804. data/bundle/ruby/2.5.0/gems/sass-3.4.25/test/sass/util/normalized_map_test.rb +0 -51
  805. data/bundle/ruby/2.5.0/gems/sass-3.4.25/test/sass/util/subset_map_test.rb +0 -91
  806. data/bundle/ruby/2.5.0/gems/sass-3.4.25/test/sass/util_test.rb +0 -438
  807. data/bundle/ruby/2.5.0/gems/sass-3.4.25/test/sass/value_helpers_test.rb +0 -179
  808. data/bundle/ruby/2.5.0/gems/sass-3.4.25/test/test_helper.rb +0 -110
  809. data/bundle/ruby/2.5.0/gems/sexp_processor-4.11.0/Rakefile +0 -17
  810. data/bundle/ruby/2.5.0/gems/sexp_processor-4.11.0/test/test_composite_sexp_processor.rb +0 -66
  811. data/bundle/ruby/2.5.0/gems/sexp_processor-4.11.0/test/test_environment.rb +0 -94
  812. data/bundle/ruby/2.5.0/gems/sexp_processor-4.11.0/test/test_sexp.rb +0 -1643
  813. data/bundle/ruby/2.5.0/gems/sexp_processor-4.11.0/test/test_sexp_processor.rb +0 -399
  814. data/bundle/ruby/2.5.0/gems/slim-3.0.7/Rakefile +0 -100
  815. data/bundle/ruby/2.5.0/gems/slim-3.0.7/benchmarks/context.rb +0 -11
  816. data/bundle/ruby/2.5.0/gems/slim-3.0.7/benchmarks/profile-parser.rb +0 -10
  817. data/bundle/ruby/2.5.0/gems/slim-3.0.7/benchmarks/profile-render.rb +0 -12
  818. data/bundle/ruby/2.5.0/gems/slim-3.0.7/benchmarks/run-benchmarks.rb +0 -126
  819. data/bundle/ruby/2.5.0/gems/slim-3.0.7/benchmarks/run-diffbench.rb +0 -21
  820. data/bundle/ruby/2.5.0/gems/slim-3.0.7/benchmarks/view.erb +0 -23
  821. data/bundle/ruby/2.5.0/gems/slim-3.0.7/benchmarks/view.haml +0 -18
  822. data/bundle/ruby/2.5.0/gems/slim-3.0.7/benchmarks/view.slim +0 -17
  823. data/bundle/ruby/2.5.0/gems/slim-3.0.7/bin/slimrb +0 -6
  824. data/bundle/ruby/2.5.0/gems/slim-3.0.7/doc/include.md +0 -20
  825. data/bundle/ruby/2.5.0/gems/slim-3.0.7/doc/jp/include.md +0 -20
  826. data/bundle/ruby/2.5.0/gems/slim-3.0.7/doc/jp/logic_less.md +0 -137
  827. data/bundle/ruby/2.5.0/gems/slim-3.0.7/doc/jp/smart.md +0 -102
  828. data/bundle/ruby/2.5.0/gems/slim-3.0.7/doc/jp/translator.md +0 -28
  829. data/bundle/ruby/2.5.0/gems/slim-3.0.7/doc/logic_less.md +0 -137
  830. data/bundle/ruby/2.5.0/gems/slim-3.0.7/doc/smart.md +0 -103
  831. data/bundle/ruby/2.5.0/gems/slim-3.0.7/doc/translator.md +0 -28
  832. data/bundle/ruby/2.5.0/gems/slim-3.0.7/lib/slim/grammar.rb +0 -20
  833. data/bundle/ruby/2.5.0/gems/slim-3.0.7/test/core/helper.rb +0 -211
  834. data/bundle/ruby/2.5.0/gems/slim-3.0.7/test/core/test_code_blocks.rb +0 -183
  835. data/bundle/ruby/2.5.0/gems/slim-3.0.7/test/core/test_code_escaping.rb +0 -150
  836. data/bundle/ruby/2.5.0/gems/slim-3.0.7/test/core/test_code_evaluation.rb +0 -180
  837. data/bundle/ruby/2.5.0/gems/slim-3.0.7/test/core/test_code_output.rb +0 -168
  838. data/bundle/ruby/2.5.0/gems/slim-3.0.7/test/core/test_code_structure.rb +0 -186
  839. data/bundle/ruby/2.5.0/gems/slim-3.0.7/test/core/test_commands.rb +0 -223
  840. data/bundle/ruby/2.5.0/gems/slim-3.0.7/test/core/test_embedded_engines.rb +0 -242
  841. data/bundle/ruby/2.5.0/gems/slim-3.0.7/test/core/test_encoding.rb +0 -28
  842. data/bundle/ruby/2.5.0/gems/slim-3.0.7/test/core/test_erb_converter.rb +0 -67
  843. data/bundle/ruby/2.5.0/gems/slim-3.0.7/test/core/test_html_attributes.rb +0 -268
  844. data/bundle/ruby/2.5.0/gems/slim-3.0.7/test/core/test_html_escaping.rb +0 -65
  845. data/bundle/ruby/2.5.0/gems/slim-3.0.7/test/core/test_html_structure.rb +0 -553
  846. data/bundle/ruby/2.5.0/gems/slim-3.0.7/test/core/test_parser_errors.rb +0 -148
  847. data/bundle/ruby/2.5.0/gems/slim-3.0.7/test/core/test_pretty.rb +0 -166
  848. data/bundle/ruby/2.5.0/gems/slim-3.0.7/test/core/test_ruby_errors.rb +0 -207
  849. data/bundle/ruby/2.5.0/gems/slim-3.0.7/test/core/test_slim_template.rb +0 -77
  850. data/bundle/ruby/2.5.0/gems/slim-3.0.7/test/core/test_tabs.rb +0 -169
  851. data/bundle/ruby/2.5.0/gems/slim-3.0.7/test/core/test_text_interpolation.rb +0 -79
  852. data/bundle/ruby/2.5.0/gems/slim-3.0.7/test/core/test_thread_options.rb +0 -18
  853. data/bundle/ruby/2.5.0/gems/slim-3.0.7/test/core/test_unicode.rb +0 -16
  854. data/bundle/ruby/2.5.0/gems/slim-3.0.7/test/include/files/recursive.slim +0 -1
  855. data/bundle/ruby/2.5.0/gems/slim-3.0.7/test/include/files/slimfile.slim +0 -3
  856. data/bundle/ruby/2.5.0/gems/slim-3.0.7/test/include/files/subdir/test.slim +0 -1
  857. data/bundle/ruby/2.5.0/gems/slim-3.0.7/test/include/files/textfile +0 -1
  858. data/bundle/ruby/2.5.0/gems/slim-3.0.7/test/include/test_include.rb +0 -24
  859. data/bundle/ruby/2.5.0/gems/slim-3.0.7/test/literate/TESTS.md +0 -1290
  860. data/bundle/ruby/2.5.0/gems/slim-3.0.7/test/literate/helper.rb +0 -15
  861. data/bundle/ruby/2.5.0/gems/slim-3.0.7/test/literate/run.rb +0 -92
  862. data/bundle/ruby/2.5.0/gems/slim-3.0.7/test/logic_less/test_logic_less.rb +0 -295
  863. data/bundle/ruby/2.5.0/gems/slim-3.0.7/test/rails/Rakefile +0 -7
  864. data/bundle/ruby/2.5.0/gems/slim-3.0.7/test/rails/app/controllers/application_controller.rb +0 -2
  865. data/bundle/ruby/2.5.0/gems/slim-3.0.7/test/rails/app/controllers/entries_controller.rb +0 -5
  866. data/bundle/ruby/2.5.0/gems/slim-3.0.7/test/rails/app/controllers/slim_controller.rb +0 -40
  867. data/bundle/ruby/2.5.0/gems/slim-3.0.7/test/rails/app/helpers/application_helper.rb +0 -5
  868. data/bundle/ruby/2.5.0/gems/slim-3.0.7/test/rails/app/models/entry.rb +0 -16
  869. data/bundle/ruby/2.5.0/gems/slim-3.0.7/test/rails/app/views/entries/edit.html.slim +0 -3
  870. data/bundle/ruby/2.5.0/gems/slim-3.0.7/test/rails/app/views/layouts/application.html.slim +0 -10
  871. data/bundle/ruby/2.5.0/gems/slim-3.0.7/test/rails/app/views/slim/_partial.html.slim +0 -1
  872. data/bundle/ruby/2.5.0/gems/slim-3.0.7/test/rails/app/views/slim/content_for.html.slim +0 -7
  873. data/bundle/ruby/2.5.0/gems/slim-3.0.7/test/rails/app/views/slim/erb.html.erb +0 -1
  874. data/bundle/ruby/2.5.0/gems/slim-3.0.7/test/rails/app/views/slim/form_for.html.slim +0 -2
  875. data/bundle/ruby/2.5.0/gems/slim-3.0.7/test/rails/app/views/slim/helper.html.slim +0 -4
  876. data/bundle/ruby/2.5.0/gems/slim-3.0.7/test/rails/app/views/slim/integers.html.slim +0 -1
  877. data/bundle/ruby/2.5.0/gems/slim-3.0.7/test/rails/app/views/slim/no_layout.html.slim +0 -1
  878. data/bundle/ruby/2.5.0/gems/slim-3.0.7/test/rails/app/views/slim/normal.html.slim +0 -1
  879. data/bundle/ruby/2.5.0/gems/slim-3.0.7/test/rails/app/views/slim/partial.html.slim +0 -2
  880. data/bundle/ruby/2.5.0/gems/slim-3.0.7/test/rails/app/views/slim/splat.html.slim +0 -2
  881. data/bundle/ruby/2.5.0/gems/slim-3.0.7/test/rails/app/views/slim/thread_options.html.slim +0 -1
  882. data/bundle/ruby/2.5.0/gems/slim-3.0.7/test/rails/app/views/slim/variables.html.slim +0 -1
  883. data/bundle/ruby/2.5.0/gems/slim-3.0.7/test/rails/app/views/slim/xml.slim +0 -1
  884. data/bundle/ruby/2.5.0/gems/slim-3.0.7/test/rails/config.ru +0 -4
  885. data/bundle/ruby/2.5.0/gems/slim-3.0.7/test/rails/config/application.rb +0 -44
  886. data/bundle/ruby/2.5.0/gems/slim-3.0.7/test/rails/config/boot.rb +0 -10
  887. data/bundle/ruby/2.5.0/gems/slim-3.0.7/test/rails/config/environment.rb +0 -5
  888. data/bundle/ruby/2.5.0/gems/slim-3.0.7/test/rails/config/environments/test.rb +0 -34
  889. data/bundle/ruby/2.5.0/gems/slim-3.0.7/test/rails/config/initializers/backtrace_silencers.rb +0 -7
  890. data/bundle/ruby/2.5.0/gems/slim-3.0.7/test/rails/config/initializers/inflections.rb +0 -10
  891. data/bundle/ruby/2.5.0/gems/slim-3.0.7/test/rails/config/initializers/mime_types.rb +0 -5
  892. data/bundle/ruby/2.5.0/gems/slim-3.0.7/test/rails/config/initializers/secret_token.rb +0 -7
  893. data/bundle/ruby/2.5.0/gems/slim-3.0.7/test/rails/config/initializers/session_store.rb +0 -8
  894. data/bundle/ruby/2.5.0/gems/slim-3.0.7/test/rails/config/locales/en.yml +0 -5
  895. data/bundle/ruby/2.5.0/gems/slim-3.0.7/test/rails/config/routes.rb +0 -60
  896. data/bundle/ruby/2.5.0/gems/slim-3.0.7/test/rails/script/rails +0 -6
  897. data/bundle/ruby/2.5.0/gems/slim-3.0.7/test/rails/test/helper.rb +0 -31
  898. data/bundle/ruby/2.5.0/gems/slim-3.0.7/test/rails/test/test_slim.rb +0 -90
  899. data/bundle/ruby/2.5.0/gems/slim-3.0.7/test/smart/test_smart_text.rb +0 -296
  900. data/bundle/ruby/2.5.0/gems/slim-3.0.7/test/translator/test_translator.rb +0 -76
  901. data/bundle/ruby/2.5.0/gems/temple-0.7.7/Rakefile +0 -25
  902. data/bundle/ruby/2.5.0/gems/temple-0.7.7/lib/temple/filters/static_analyzer.rb +0 -87
  903. data/bundle/ruby/2.5.0/gems/temple-0.7.7/lib/temple/version.rb +0 -3
  904. data/bundle/ruby/2.5.0/gems/temple-0.7.7/test/filters/test_code_merger.rb +0 -38
  905. data/bundle/ruby/2.5.0/gems/temple-0.7.7/test/filters/test_control_flow.rb +0 -90
  906. data/bundle/ruby/2.5.0/gems/temple-0.7.7/test/filters/test_dynamic_inliner.rb +0 -95
  907. data/bundle/ruby/2.5.0/gems/temple-0.7.7/test/filters/test_eraser.rb +0 -55
  908. data/bundle/ruby/2.5.0/gems/temple-0.7.7/test/filters/test_escapable.rb +0 -49
  909. data/bundle/ruby/2.5.0/gems/temple-0.7.7/test/filters/test_multi_flattener.rb +0 -33
  910. data/bundle/ruby/2.5.0/gems/temple-0.7.7/test/filters/test_static_analyzer.rb +0 -23
  911. data/bundle/ruby/2.5.0/gems/temple-0.7.7/test/filters/test_static_merger.rb +0 -41
  912. data/bundle/ruby/2.5.0/gems/temple-0.7.7/test/filters/test_string_splitter.rb +0 -18
  913. data/bundle/ruby/2.5.0/gems/temple-0.7.7/test/helper.rb +0 -30
  914. data/bundle/ruby/2.5.0/gems/temple-0.7.7/test/html/test_attribute_merger.rb +0 -76
  915. data/bundle/ruby/2.5.0/gems/temple-0.7.7/test/html/test_attribute_remover.rb +0 -43
  916. data/bundle/ruby/2.5.0/gems/temple-0.7.7/test/html/test_attribute_sorter.rb +0 -48
  917. data/bundle/ruby/2.5.0/gems/temple-0.7.7/test/html/test_fast.rb +0 -97
  918. data/bundle/ruby/2.5.0/gems/temple-0.7.7/test/html/test_pretty.rb +0 -55
  919. data/bundle/ruby/2.5.0/gems/temple-0.7.7/test/mixins/test_dispatcher.rb +0 -70
  920. data/bundle/ruby/2.5.0/gems/temple-0.7.7/test/mixins/test_grammar_dsl.rb +0 -86
  921. data/bundle/ruby/2.5.0/gems/temple-0.7.7/test/test_engine.rb +0 -189
  922. data/bundle/ruby/2.5.0/gems/temple-0.7.7/test/test_erb.rb +0 -61
  923. data/bundle/ruby/2.5.0/gems/temple-0.7.7/test/test_filter.rb +0 -29
  924. data/bundle/ruby/2.5.0/gems/temple-0.7.7/test/test_generator.rb +0 -158
  925. data/bundle/ruby/2.5.0/gems/temple-0.7.7/test/test_grammar.rb +0 -47
  926. data/bundle/ruby/2.5.0/gems/temple-0.7.7/test/test_map.rb +0 -39
  927. data/bundle/ruby/2.5.0/gems/temple-0.7.7/test/test_utils.rb +0 -39
  928. data/bundle/ruby/2.5.0/gems/terminal-table-1.8.0/Rakefile +0 -15
  929. data/bundle/ruby/2.5.0/gems/terminal-table-1.8.0/examples/examples.rb +0 -83
  930. data/bundle/ruby/2.5.0/gems/tilt-2.0.8/Rakefile +0 -106
  931. data/bundle/ruby/2.5.0/gems/tilt-2.0.8/bin/tilt +0 -122
  932. data/bundle/ruby/2.5.0/gems/tilt-2.0.8/docs/TEMPLATES.md +0 -555
  933. data/bundle/ruby/2.5.0/gems/tilt-2.0.8/docs/common.css +0 -14
  934. data/bundle/ruby/2.5.0/gems/tilt-2.0.8/lib/tilt/commonmarker.rb +0 -21
  935. data/bundle/ruby/2.5.0/gems/tilt-2.0.8/man/index.txt +0 -2
  936. data/bundle/ruby/2.5.0/gems/tilt-2.0.8/man/tilt.1.ronn +0 -59
  937. data/bundle/ruby/2.5.0/gems/tilt-2.0.8/test/markaby/locals.mab +0 -1
  938. data/bundle/ruby/2.5.0/gems/tilt-2.0.8/test/markaby/markaby.mab +0 -1
  939. data/bundle/ruby/2.5.0/gems/tilt-2.0.8/test/markaby/markaby_other_static.mab +0 -1
  940. data/bundle/ruby/2.5.0/gems/tilt-2.0.8/test/markaby/render_twice.mab +0 -1
  941. data/bundle/ruby/2.5.0/gems/tilt-2.0.8/test/markaby/scope.mab +0 -1
  942. data/bundle/ruby/2.5.0/gems/tilt-2.0.8/test/markaby/yielding.mab +0 -2
  943. data/bundle/ruby/2.5.0/gems/tilt-2.0.8/test/mytemplate.rb +0 -2
  944. data/bundle/ruby/2.5.0/gems/tilt-2.0.8/test/test_helper.rb +0 -64
  945. data/bundle/ruby/2.5.0/gems/tilt-2.0.8/test/tilt_asciidoctor_test.rb +0 -50
  946. data/bundle/ruby/2.5.0/gems/tilt-2.0.8/test/tilt_babeltemplate.rb +0 -33
  947. data/bundle/ruby/2.5.0/gems/tilt-2.0.8/test/tilt_blueclothtemplate_test.rb +0 -33
  948. data/bundle/ruby/2.5.0/gems/tilt-2.0.8/test/tilt_buildertemplate_test.rb +0 -72
  949. data/bundle/ruby/2.5.0/gems/tilt-2.0.8/test/tilt_cache_test.rb +0 -43
  950. data/bundle/ruby/2.5.0/gems/tilt-2.0.8/test/tilt_coffeescripttemplate_test.rb +0 -141
  951. data/bundle/ruby/2.5.0/gems/tilt-2.0.8/test/tilt_commonmarkertemplate_test.rb +0 -20
  952. data/bundle/ruby/2.5.0/gems/tilt-2.0.8/test/tilt_compilesite_test.rb +0 -51
  953. data/bundle/ruby/2.5.0/gems/tilt-2.0.8/test/tilt_creoletemplate_test.rb +0 -24
  954. data/bundle/ruby/2.5.0/gems/tilt-2.0.8/test/tilt_csv_test.rb +0 -77
  955. data/bundle/ruby/2.5.0/gems/tilt-2.0.8/test/tilt_erbtemplate_test.rb +0 -239
  956. data/bundle/ruby/2.5.0/gems/tilt-2.0.8/test/tilt_erubistemplate_test.rb +0 -151
  957. data/bundle/ruby/2.5.0/gems/tilt-2.0.8/test/tilt_erubitemplate_test.rb +0 -158
  958. data/bundle/ruby/2.5.0/gems/tilt-2.0.8/test/tilt_etannitemplate_test.rb +0 -174
  959. data/bundle/ruby/2.5.0/gems/tilt-2.0.8/test/tilt_hamltemplate_test.rb +0 -166
  960. data/bundle/ruby/2.5.0/gems/tilt-2.0.8/test/tilt_kramdown_test.rb +0 -20
  961. data/bundle/ruby/2.5.0/gems/tilt-2.0.8/test/tilt_lesstemplate_test.less +0 -1
  962. data/bundle/ruby/2.5.0/gems/tilt-2.0.8/test/tilt_lesstemplate_test.rb +0 -42
  963. data/bundle/ruby/2.5.0/gems/tilt-2.0.8/test/tilt_liquidtemplate_test.rb +0 -87
  964. data/bundle/ruby/2.5.0/gems/tilt-2.0.8/test/tilt_livescripttemplate_test.rb +0 -37
  965. data/bundle/ruby/2.5.0/gems/tilt-2.0.8/test/tilt_mapping_test.rb +0 -232
  966. data/bundle/ruby/2.5.0/gems/tilt-2.0.8/test/tilt_markaby_test.rb +0 -88
  967. data/bundle/ruby/2.5.0/gems/tilt-2.0.8/test/tilt_markdown_test.rb +0 -186
  968. data/bundle/ruby/2.5.0/gems/tilt-2.0.8/test/tilt_marukutemplate_test.rb +0 -36
  969. data/bundle/ruby/2.5.0/gems/tilt-2.0.8/test/tilt_metadata_test.rb +0 -42
  970. data/bundle/ruby/2.5.0/gems/tilt-2.0.8/test/tilt_nokogiritemplate_test.rb +0 -87
  971. data/bundle/ruby/2.5.0/gems/tilt-2.0.8/test/tilt_pandoctemplate_test.rb +0 -67
  972. data/bundle/ruby/2.5.0/gems/tilt-2.0.8/test/tilt_prawntemplate.prawn +0 -1
  973. data/bundle/ruby/2.5.0/gems/tilt-2.0.8/test/tilt_prawntemplate_test.rb +0 -75
  974. data/bundle/ruby/2.5.0/gems/tilt-2.0.8/test/tilt_radiustemplate_test.rb +0 -75
  975. data/bundle/ruby/2.5.0/gems/tilt-2.0.8/test/tilt_rdiscounttemplate_test.rb +0 -43
  976. data/bundle/ruby/2.5.0/gems/tilt-2.0.8/test/tilt_rdoctemplate_test.rb +0 -29
  977. data/bundle/ruby/2.5.0/gems/tilt-2.0.8/test/tilt_redcarpettemplate_test.rb +0 -54
  978. data/bundle/ruby/2.5.0/gems/tilt-2.0.8/test/tilt_redclothtemplate_test.rb +0 -36
  979. data/bundle/ruby/2.5.0/gems/tilt-2.0.8/test/tilt_rstpandoctemplate_test.rb +0 -32
  980. data/bundle/ruby/2.5.0/gems/tilt-2.0.8/test/tilt_sasstemplate_test.rb +0 -41
  981. data/bundle/ruby/2.5.0/gems/tilt-2.0.8/test/tilt_sigil_test.rb +0 -41
  982. data/bundle/ruby/2.5.0/gems/tilt-2.0.8/test/tilt_stringtemplate_test.rb +0 -171
  983. data/bundle/ruby/2.5.0/gems/tilt-2.0.8/test/tilt_template_test.rb +0 -314
  984. data/bundle/ruby/2.5.0/gems/tilt-2.0.8/test/tilt_test.rb +0 -60
  985. data/bundle/ruby/2.5.0/gems/tilt-2.0.8/test/tilt_typescript_test.rb +0 -38
  986. data/bundle/ruby/2.5.0/gems/tilt-2.0.8/test/tilt_wikiclothtemplate_test.rb +0 -32
  987. data/bundle/ruby/2.5.0/gems/tilt-2.0.8/test/tilt_yajltemplate_test.rb +0 -101
  988. data/bundle/ruby/2.5.0/gems/unicode-display_width-1.4.0/Rakefile +0 -64
  989. data/bundle/ruby/2.5.0/gems/unicode-display_width-1.4.0/spec/display_width_spec.rb +0 -156
  990. data/bundle/ruby/2.5.0/gems/unicode-display_width-1.4.0/unicode-display_width.gemspec +0 -18
@@ -1,1643 +0,0 @@
1
- $TESTING = true
2
-
3
- if ENV["COV"]
4
- require "simplecov"
5
- SimpleCov.start do
6
- add_filter "lib/sexp_processor"
7
- add_filter "test"
8
- end
9
- warn "Running simplecov"
10
- end
11
-
12
- require "minitest/autorun"
13
- require "minitest/hell" # beat these up
14
- require "minitest/benchmark" if ENV["BENCH"]
15
- require "sexp_processor" # for deep_clone (TODO: why is that on SP and not S?)
16
- require "sexp"
17
-
18
- def pyramid_sexp max
19
- # s(:array,
20
- # s(:array, s(:s, 1)),
21
- # s(:array, s(:s, 1), s(:s, 2)),
22
- # ...
23
- # s(:array, s(:s, 1), s(:s, 2), ... s(:s, max-1)))
24
-
25
- s(:array,
26
- *(1...max).map { |n|
27
- s(:array, *(1..n).map { |m|
28
- s(:s, m) })})
29
- end
30
-
31
- class SexpTestCase < Minitest::Test
32
- M = Sexp::Matcher
33
- MC = Sexp::MatchCollection
34
- MR = Sexp # ::MatchResult
35
-
36
- CLASS_SEXP = s(:class, :cake, nil,
37
- s(:defn, :foo, s(:args), s(:add, :a, :b)),
38
- s(:defn, :bar, s(:args), s(:sub, :a, :b)))
39
-
40
- def skip_if_strict n = 1
41
- strict = ENV["STRICT_SEXP"].to_i
42
-
43
- skip "Can't pass on STRICT_SEXP mode" if strict >= n
44
- end
45
-
46
- # KEY for regex tests
47
- # :a == no change
48
- # :b == will change (but sometimes ONLY once)
49
- # :c == change to
50
-
51
- def assert_equal3 x, y
52
- skip_if_strict
53
-
54
- assert_operator x, :===, y
55
- end
56
-
57
- def refute_equal3 x, y
58
- refute_operator x, :===, y
59
- end
60
-
61
- def assert_pretty_print expect, input
62
- assert_equal expect, input.pretty_inspect.chomp
63
- end
64
-
65
- def assert_inspect expect, input
66
- assert_equal expect, input.inspect
67
- end
68
-
69
- def assert_search count, sexp, pattern
70
- assert_equal count, sexp.search_each(pattern).count
71
- end
72
-
73
- def assert_satisfy pattern, sexp
74
- assert_operator pattern, :satisfy?, sexp
75
- end
76
-
77
- def refute_satisfy pattern, sexp
78
- refute_operator pattern, :satisfy?, sexp
79
- end
80
- end # class SexpTestCase
81
-
82
- class MatcherTestCase < SexpTestCase
83
- def self.abstract_test_case! klass = self # REFACTOR: push this up to minitest
84
- extend Module.new {
85
- define_method :run do |*args|
86
- super(*args) unless self == klass
87
- end
88
- }
89
- end
90
-
91
- abstract_test_case!
92
-
93
- def matcher
94
- raise "Subclass responsibility"
95
- end
96
-
97
- def inspect_str
98
- raise "Subclass responsibility"
99
- end
100
-
101
- def pretty_str
102
- inspect_str
103
- end
104
-
105
- def sexp
106
- s(:a)
107
- end
108
-
109
- def bad_sexp
110
- s(:b)
111
- end
112
-
113
- def test_satisfy_eh
114
- assert_equal3 matcher, sexp
115
- end
116
-
117
- def test_satisfy_eh_fail
118
- skip "not applicable" unless bad_sexp
119
- refute_equal3 matcher, bad_sexp
120
- end
121
-
122
- def test_greedy
123
- refute_operator matcher, :greedy?
124
- end
125
-
126
- def test_inspect
127
- assert_inspect inspect_str, matcher
128
- end
129
-
130
- def test_pretty_print
131
- assert_pretty_print pretty_str, matcher
132
- end
133
- end # class MatcherTestCase
134
-
135
- class TestSexp < SexpTestCase # ZenTest FULL
136
- def setup
137
- super
138
- @sexp_class = Object.const_get(self.class.name[4..-1])
139
- @sexp = @sexp_class.new(1, 2, 3)
140
- @basic_sexp = s(:lasgn, :var, s(:lit, 42).line(1)).line(1)
141
- @basic_sexp.each_sexp do |s|
142
- s.file = "file.rb"
143
- end
144
-
145
- @complex_sexp = s(:block,
146
- s(:lasgn, :foo, s(:str, "foo").line(1)).line(1),
147
- s(:if, s(:and, s(:true).line(2), s(:lit, 1).line(2)).line(2),
148
- s(:if, s(:lvar, :foo).line(3),
149
- s(:str, "bar").line(3),
150
- nil).line(3),
151
- s(:true).line(5)).line(2)).line(1)
152
-
153
- @re = s(:lit, 42)
154
- @bad1 = s(:lit, 24)
155
- @bad1 = s(:blah, 42)
156
- end
157
-
158
- def assert_from_array exp, input
159
- assert_equal exp, Sexp.from_array(input)
160
- end
161
-
162
- def test_class_from_array
163
- assert_from_array s(), []
164
- assert_from_array s(:s), [:s]
165
- assert_from_array s(:s, s(:m)), [:s, [:m]]
166
- assert_from_array s(:s, s(:m)), [:s, s(:m)]
167
- assert_from_array s(:s, s(:m, [:not_converted])), [:s, s(:m, [:not_converted])]
168
- end
169
-
170
- def test_compact
171
- input = s(:a, nil, :b)
172
-
173
- actual = input.compact
174
-
175
- assert_equal s(:a, :b), actual
176
- assert_same input, actual # returns mutated result
177
- end
178
-
179
- def test_array_type_eh
180
- capture_io do # HACK
181
- assert_equal false, s(:lit, 42).array_type?
182
- assert_equal true, s(:array, 42).array_type?
183
- end
184
- end
185
-
186
- def test_each_of_type
187
- # TODO: huh... this tests fails if top level sexp :b is removed
188
- @sexp = s(:b, s(:a, s(:b, s(:a), :a, s(:b, :a), s(:b, s(:a)))))
189
- count = 0
190
- @sexp.each_of_type :a do
191
- count += 1
192
- end
193
- assert_equal(3, count, "must find 3 a's in #{@sexp.inspect}")
194
- end
195
-
196
- def test_equals2_array
197
- refute_equal @sexp, [1, 2, 3] # Sexp == Array
198
- assert_raises Minitest::Assertion do # Array == Sexp.
199
- refute_equal [1, 2, 3], @sexp # This is a bug in ruby:
200
- end
201
- # TODO: test if it is calling to_ary first? seems not to
202
- end
203
-
204
- def test_equals2_not_body
205
- sexp2 = s(1, 2, 5)
206
- refute_equal(@sexp, sexp2)
207
- end
208
-
209
- def test_equals2_sexp
210
- sexp2 = s(1, 2, 3)
211
- if @sexp.class == Sexp then
212
- skip "Not applicable to this target."
213
- else
214
- refute_equal(@sexp, sexp2)
215
- end
216
- end
217
-
218
- def test_equal3_full_match
219
- assert_equal3 s(), s() # 0
220
- assert_equal3 s(:blah), s(:blah) # 1
221
- assert_equal3 s(:a, :b), s(:a, :b) # 2
222
- assert_equal3 @basic_sexp, @basic_sexp.dup # deeper structure
223
- end
224
-
225
- def test_equal3_mismatch
226
- refute_equal3 s(), s(:a)
227
- refute_equal3 s(:a), s()
228
- refute_equal3 s(:blah1), s(:blah2)
229
- refute_equal3 s(:a), s(:a, :b)
230
- refute_equal3 s(:a, :b), s(:a)
231
- refute_equal3 s(:a1, :b), s(:a2, :b)
232
- refute_equal3 s(:a, :b1), s(:a, :b2)
233
- end
234
-
235
- def test_equal3_subset_match
236
- assert_match s{s(:a)}, s(s(:a), s(:b)) # left - =~
237
- assert_equal3 s{s(:a)}, s(s(:a), s(:b)) # left - ===
238
- assert_equal3 s{s(:a)}, s(:blah, s(:a ), s(:b)) # mid 1
239
- assert_equal3 s{s(:a, 1)}, s(:blah, s(:a, 1), s(:b)) # mid 2
240
- assert_equal3 s{s(:a)}, s(:blah, s(:blah, s(:a))) # left deeper
241
- end
242
-
243
- def test_equalstilde_fancy
244
- assert_match s{ s(:b) }, s(:a, s(:b), :c)
245
- assert_match s(:a, s(:b), :c), s{ s(:b) }
246
-
247
- e = assert_raises ArgumentError do
248
- s(:b) =~ s(:a, s(:b), :c)
249
- end
250
- assert_equal "Not a pattern: s(:a, s(:b), :c)", e.message
251
-
252
- e = assert_raises ArgumentError do
253
- s(:a, s(:b), :c) =~ s(:b)
254
- end
255
- assert_equal "Not a pattern: s(:b)", e.message
256
- end
257
-
258
- def test_equalstilde_plain
259
- s{ s(:re) } =~ s(:data) # pattern on LHS
260
- s(:data) =~ s{ s(:re) } # pattern on RHS
261
-
262
- e = assert_raises ArgumentError do
263
- s(:re) =~ s(:data) # no pattern
264
- end
265
-
266
- assert_equal "Not a pattern: s(:data)", e.message
267
- end
268
-
269
- def test_find_and_replace_all
270
- skip_if_strict 2
271
-
272
- @sexp = s(:a, s(:a, :b, s(:a, :b), s(:a), :b, s(:a, s(:a))))
273
- expected = s(:a, s(:a, :a, s(:a, :a), s(:a), :a, s(:a, s(:a))))
274
-
275
- @sexp.find_and_replace_all(:b, :a)
276
-
277
- assert_equal(expected, @sexp)
278
- end
279
-
280
- def assert_gsub exp, sexp, from, to
281
- assert_equal exp, sexp.gsub(from, to)
282
- end
283
-
284
- def test_gsub
285
- assert_gsub s(:c), s(:b), s(:b), s(:c)
286
- assert_gsub s(:a), s(:a), s(:b), s(:c)
287
- assert_gsub s(:a, s(:c)), s(:a, s(:b)), s(:b), s(:c)
288
- end
289
-
290
- def test_gsub_empty
291
- assert_gsub s(:c), s(), s(), s(:c)
292
- end
293
-
294
- def test_gsub_multiple
295
- assert_gsub s(:a, s(:c), s(:c)), s(:a, s(:b), s(:b)), s(:b), s(:c)
296
- assert_gsub s(:a, s(:c), s(:a, s(:c))), s(:a, s(:b), s(:a, s(:b))), s(:b), s(:c)
297
- end
298
-
299
- def test_gsub_matcher
300
- assert_gsub s(:a, :b, :c), s(:a, s(:b, 42), :c), s{ s(:b, _) }, :b
301
- assert_gsub s(:a, s(:b), :c), s(:a, s(:b), :c), s{ s(:b, _) }, :b
302
- assert_gsub s(:a, s(:c, :b), :d), s(:a, s(:c, s(:b, 42)), :d), s{ s(:b, _) }, :b
303
- assert_gsub s(:a, s(:q), :c), s(:a, s(:q), :c), s{ s(:b, _) }, :b
304
- end
305
-
306
- def with_env key
307
- old_val, ENV[key] = ENV[key], "1"
308
- yield
309
- ensure
310
- ENV[key] = old_val
311
- end
312
-
313
- def with_verbose &block
314
- with_env "VERBOSE", &block
315
- end
316
-
317
- def with_debug &block
318
- with_env "DEBUG", &block
319
- end
320
-
321
- def test_inspect
322
- k = @sexp_class
323
- n = k.name[0].chr.downcase
324
- assert_equal("#{n}()",
325
- k.new().inspect)
326
- assert_equal("#{n}(:a)",
327
- k.new(:a).inspect)
328
- assert_equal("#{n}(:a, :b)",
329
- k.new(:a, :b).inspect)
330
- assert_equal("#{n}(:a, #{n}(:b))",
331
- k.new(:a, k.new(:b)).inspect)
332
-
333
- with_verbose do
334
- assert_equal("#{n}().line(42)",
335
- k.new().line(42).inspect)
336
- assert_equal("#{n}(:a).line(42)",
337
- k.new(:a).line(42).inspect)
338
- assert_equal("#{n}(:a, :b).line(42)",
339
- k.new(:a, :b).line(42).inspect)
340
- assert_equal("#{n}(:a, #{n}(:b).line(43)).line(42)",
341
- k.new(:a, k.new(:b).line(43)).line(42).inspect)
342
- end
343
- end
344
-
345
- def test_line
346
- assert_nil @sexp.line
347
- assert_equal 1, @basic_sexp.line
348
- assert_equal 1, @complex_sexp.line
349
- end
350
-
351
- def test_line_max
352
- assert_nil @sexp.line_max
353
- assert_equal 1, @basic_sexp.line_max
354
- assert_equal 5, @complex_sexp.line_max
355
- end
356
-
357
- def test_new
358
- file = "file.rb"
359
-
360
- old = s(:lasgn, :var, s(:lit, 42).line(2)).line(1)
361
- old.file = file
362
- old.each_sexp do |x|
363
- x.file = file
364
- end
365
- old.comments = "do the thing"
366
-
367
- assert_same file, old.file
368
- assert_equal 1, old.line
369
- assert_same file, old.last.file
370
- assert_equal 2, old.last.line
371
-
372
- new = old.new(1, 2, 3)
373
-
374
- assert_equal s(1, 2, 3), new
375
-
376
- assert_same file, new.file
377
- assert_equal 1, new.line
378
- assert_same old.comments, new.comments
379
- end
380
-
381
- def test_map
382
- file = "file.rb"
383
-
384
- old = s(:lasgn, :var, s(:lit, 42).line(2)).line(1)
385
- old.file = file
386
- old.each_sexp do |x|
387
- x.file = file
388
- end
389
- old.comments = "do the thing"
390
-
391
- assert_same file, old.file
392
- assert_equal 1, old.line
393
- assert_same file, old.last.file
394
- assert_equal 2, old.last.line
395
-
396
- new = old.map { |x| x }
397
-
398
- assert_same file, new.file
399
- assert_equal 1, new.line
400
- assert_same file, new.last.file
401
- assert_equal 2, new.last.line
402
- assert_same old.comments, new.comments
403
- end
404
-
405
- def test_mass
406
- assert_equal 1, s(:a).mass
407
- assert_equal 3, s(:a, s(:b), s(:c)).mass
408
-
409
- s = s(:iter,
410
- s(:call, nil, :a, s(:arglist, s(:lit, 1))),
411
- s(:lasgn, :c),
412
- s(:call, nil, :d, s(:arglist)))
413
-
414
- assert_equal 7, s.mass
415
- end
416
-
417
- def test_mass_auto_shift
418
- assert_equal 1, s(:a).mass
419
- assert_equal 3, s(s(:b), s(:c)).mass
420
-
421
- s = s(s(:call, nil, :a, s(:arglist, s(:lit, 1))),
422
- s(:lasgn, :c),
423
- s(:call, nil, :d, s(:arglist)))
424
-
425
- assert_equal 7, s.mass
426
- end
427
-
428
- def test_mass_huge
429
- max = 100
430
- sexp = pyramid_sexp max
431
-
432
- exp = (max*max + max)/2 # pyramid number 1+2+3+...+m
433
-
434
- assert_equal exp, sexp.mass
435
- end
436
-
437
- def test_method_missing
438
- skip_if_strict 3
439
-
440
- capture_io do
441
- assert_nil @sexp.not_there
442
- assert_equal s(:lit, 42), @basic_sexp.lit
443
- end
444
- end
445
-
446
- def test_method_missing_missing
447
- skip_if_strict 3
448
- skip "debugging for now" if ENV["DEBUG"]
449
-
450
- assert_silent do
451
- assert_nil @basic_sexp.missing
452
- end
453
- end
454
-
455
- def test_method_missing_missing_debug
456
- skip_if_strict 3
457
-
458
- exp = /#{Regexp.escape @basic_sexp.to_s}.method_missing\(:missing\) => nil from/
459
-
460
- with_debug do
461
- assert_output "", exp do
462
- assert_nil @basic_sexp.missing
463
- end
464
- end
465
- end
466
-
467
- def test_method_missing_hit_debug_verbose
468
- skip_if_strict 3
469
-
470
- with_debug do
471
- with_verbose do
472
- exp = /#{Regexp.escape @basic_sexp.to_s}.method_missing\(:lit\) from/
473
-
474
- assert_output "", exp do
475
- assert_equal s(:lit, 42), @basic_sexp.lit
476
- end
477
- end
478
- end
479
- end
480
-
481
- def test_method_missing_ambigious
482
- skip_if_strict 3
483
-
484
- assert_raises NoMethodError do
485
- pirate = s(:says, s(:arrr!), s(:arrr!), s(:arrr!))
486
- pirate.arrr!
487
- end
488
- end
489
-
490
- def test_method_missing_deep
491
- skip_if_strict 3
492
-
493
- capture_io do
494
- sexp = s(:blah, s(:a, s(:b, s(:c, :yay!))))
495
- assert_equal(s(:c, :yay!), sexp.a.b.c)
496
- end
497
- end
498
-
499
- def test_method_missing_delete
500
- skip_if_strict 3
501
-
502
- sexp = s(:blah, s(:a, s(:b, s(:c, :yay!))))
503
-
504
- capture_io do
505
- assert_equal(s(:c, :yay!), sexp.a.b.c(true))
506
- assert_equal(s(:blah, s(:a, s(:b))), sexp)
507
- end
508
- end
509
-
510
- def test_pretty_print
511
- assert_pretty_print("s()",
512
- s())
513
- assert_pretty_print("s(:a)",
514
- s(:a))
515
- assert_pretty_print("s(:a, :b)",
516
- s(:a, :b))
517
- assert_pretty_print("s(:a, s(:b))",
518
- s(:a, s(:b)))
519
- end
520
-
521
- def test_sexp_body
522
- assert_equal [2, 3], @sexp.sexp_body
523
- end
524
-
525
- def test_shift
526
- skip_if_strict 5
527
-
528
- skip "https://github.com/MagLev/maglev/issues/250" if maglev?
529
-
530
- assert_equal(1, @sexp.shift)
531
- assert_equal(2, @sexp.shift)
532
- assert_equal(3, @sexp.shift)
533
-
534
- assert_raises(RuntimeError) do
535
- @sexp.shift
536
- end
537
- end
538
-
539
- def test_deep_clone
540
- @sexp = s(:a, 1, 2, s(:b, 3, 4), 5, 6)
541
- backup = @sexp.deep_clone
542
- refute_same @sexp, backup, "deep clone is broken again?"
543
- assert_equal @sexp, backup, "deep clone is broken again?"
544
- end
545
-
546
- def test_structure
547
- @sexp = s(:a, 1, 2, s(:b, 3, 4), 5, 6)
548
- backup = @sexp.deep_clone
549
- refute_same @sexp, backup, "deep clone is broken again?"
550
- assert_equal @sexp, backup, "deep clone is broken again?"
551
- expected = s(:a, s(:b))
552
-
553
- assert_equal(expected, @sexp.structure)
554
- assert_equal(backup, @sexp)
555
- end
556
-
557
- def test_structure_deprecated
558
- exp_err = "NOTE: form s(s(:subsexp)).structure is deprecated. Removing in 5.0\n"
559
-
560
- assert_output "", exp_err do
561
- sexp = s(s(:subsexp))
562
- act = sexp.structure
563
-
564
- assert_equal s(:bogus, s(:subsexp)), act
565
- end
566
- end
567
-
568
- def test_sub
569
- assert_equal s(:c), s(:b). sub(s(:b), s(:c))
570
- assert_equal s(:a, s(:c), s(:b)), s(:a, s(:b), s(:b)). sub(s(:b), s(:c))
571
- assert_equal s(:a, s(:c), s(:a)), s(:a, s(:b), s(:a)). sub(s(:b), s(:c))
572
- end
573
-
574
- def test_sub_miss
575
- assert_equal s(:a), s(:a). sub(s(:b), s(:c))
576
- assert_equal s(:a, s(:c)), s(:a, s(:c)). sub(s(:b), s(:c))
577
- end
578
-
579
- def test_sub_empty
580
- assert_equal s(:c), s(). sub(s(), s(:c))
581
- end
582
-
583
- def assert_sub exp, sexp, from, to
584
- assert_equal exp, sexp.sub(from, to)
585
- end
586
-
587
- def test_sub_matcher
588
- assert_sub s(:c), s(:b), s{ s(:b) }, s(:c)
589
- assert_sub s(:a, s(:c), s(:b)), s(:a, s(:b), s(:b)), s{ s(:b) }, s(:c)
590
- assert_sub s(:a, s(:c), s(:a)), s(:a, s(:b), s(:a)), s{ s(:b) }, s(:c)
591
-
592
- assert_sub s(:a, :b, :c), s(:a, s(:b, 42), :c), s{ s(:b, _) }, :b
593
- assert_sub s(:a, s(:b), :c), s(:a, s(:b), :c), s{ s(:b, _) }, :b
594
- assert_sub s(:a, s(:c, :b), :d), s(:a, s(:c, s(:b, 42)), :d), s{ s(:b, _) }, :b
595
- assert_sub s(:a, s(:q), :c), s(:a, s(:q), :c), s{ s(:b, _) }, :b
596
- end
597
-
598
- def test_sub_structure
599
- assert_sub s(:a, s(:c, s(:b))), s(:a, s(:b)), s(:b), s(:c, s(:b))
600
- end
601
-
602
- def test_sexp_type_eq
603
- sexp = s(:bad_type, 42)
604
-
605
- sexp.sexp_type = :good_type
606
-
607
- assert_equal s(:good_type, 42), sexp
608
- end
609
-
610
- def test_sexp_body_eq
611
- sexp = s(:type, 42)
612
-
613
- sexp.sexp_body = [1, 2, 3]
614
-
615
- assert_equal s(:type, 1, 2, 3), sexp
616
- end
617
-
618
- def test_to_a
619
- assert_equal([1, 2, 3], @sexp.to_a)
620
- end
621
-
622
- def test_to_s
623
- test_inspect
624
- end
625
-
626
- def test_each_sexp
627
- result = []
628
- @basic_sexp.each_sexp { |_, val| result << val }
629
- assert_equal [42], result
630
- end
631
-
632
- def test_each_sexp_without_block
633
- assert_kind_of Enumerator, @basic_sexp.each_sexp
634
- assert_equal [42], @basic_sexp.each_sexp.map { |_, n| n }
635
- end
636
-
637
- def test_depth
638
- assert_equal 1, s(:a).depth
639
- assert_equal 2, s(:a, s(:b)).depth
640
- assert_equal 3, s(:a, s(:b1, s(:c)), s(:b2)).depth
641
- assert_equal 5, s(:a, s(:b, s(:c, s(:d, s(:e))))).depth
642
- end
643
-
644
- DEEP_EXP = [:lasgn, :str, :if,
645
- :and, :true, :lit,
646
- :if, :lvar, :str, :true]
647
-
648
- def test_deep_each
649
- act = []
650
-
651
- @complex_sexp.deep_each { |s| act << s }
652
- assert_equal DEEP_EXP, act.map { |k, _| k }
653
- end
654
-
655
- def test_deep_each_skip
656
- exp = DEEP_EXP.first(3) + DEEP_EXP.last(4)
657
- act = []
658
-
659
- @complex_sexp.deep_each { |s| next :skip if s.sexp_type == :and; act << s }
660
- assert_equal exp, act.map { |k, _| k }
661
- end
662
-
663
- def test_deep_each_without_block
664
- assert_kind_of Enumerator, @complex_sexp.deep_each
665
- assert_equal DEEP_EXP, @complex_sexp.deep_each.map(&:first)
666
- end
667
-
668
- def test_unary_not
669
- skip "TODO?"
670
- assert_equal M::Not.new(M.q(:a)), s{ !s(:a) }
671
- end
672
-
673
- def test_unary_not_outside
674
- skip "TODO?"
675
- assert_equal M::Not.new(s(:a)), !s(:a)
676
- end
677
- end # TestSexp
678
-
679
- class TestSexpMatcher < SexpTestCase
680
- def test_cls_s
681
- assert_equal M.s(:x), s{ s(:x) }
682
- end
683
-
684
- def test_cls_underscore
685
- assert_equal M::Wild.new, s{ _ }
686
- end
687
-
688
- def test_cls_underscore3
689
- assert_equal M::Remaining.new, s{ ___ }
690
- end
691
-
692
- def test_cls_include
693
- assert_equal M::Include.new(:a), s{ include(:a) }
694
- end
695
-
696
- def test_cls_atom
697
- assert_equal M::Atom.new, s{ atom }
698
- end
699
-
700
- def test_cls_any
701
- assert_equal M::Any.new(M.s(:a), M.s(:b)), s{ any(s(:a), s(:b)) }
702
- end
703
-
704
- def test_cls_all
705
- assert_equal M::All.new(M.s(:a), M.s(:b)), s{ all(s(:a), s(:b)) }
706
- end
707
-
708
- def test_cls_not_eh
709
- assert_equal M::Not.new(M.s(:a)), s{ not?(s(:a)) }
710
- end
711
-
712
- def test_cls_child
713
- assert_equal M::Child.new(M.s(:a)), s{ child(s(:a)) }
714
- end
715
-
716
- def test_cls_t
717
- assert_equal M::Type.new(:a), s{ t(:a) }
718
- end
719
-
720
- def test_cls_m
721
- assert_equal M::Pattern.new(/a/), s{ m(/a/) }
722
- assert_equal M::Pattern.new(/\Aa\Z/), s{ m(:a) }
723
- assert_equal M::Pattern.new(/test_\w/), s{ m(/test_\w/) }
724
- re = Regexp.union [/\w/, /\d/]
725
- assert_equal M::Pattern.new(re), s{ m(/\w/,/\d/) }
726
- end
727
-
728
- def test_amp
729
- m = s{ s(:a) & s(:b) }
730
- e = M::All.new(M.s(:a), M.s(:b))
731
-
732
- assert_equal e, m
733
- end
734
-
735
- def test_pipe
736
- m = s{ s(:a) | s(:b) }
737
- e = M::Any.new(M.s(:a), M.s(:b))
738
-
739
- assert_equal e, m
740
- end
741
-
742
- def test_unary_minus
743
- assert_equal M::Not.new(M.s(:a)), s{ -s(:a) }
744
- end
745
-
746
- def test_rchevron
747
- assert_equal M::Sibling.new(M.s(:a), M.s(:b)), s{ s(:a) >> s(:b) }
748
- end
749
-
750
- def test_greedy_eh
751
- refute_operator s{ s(:a) }, :greedy?
752
- end
753
-
754
- def test_inspect
755
- assert_inspect "q(:a)", s{ s(:a) }
756
- end
757
-
758
- def test_pretty_print
759
- assert_pretty_print "q(:a)", s{ s(:a) }
760
- end
761
- end # class TestSexpMatcher
762
-
763
- class TestWild < MatcherTestCase
764
- def matcher
765
- s{ _ }
766
- end
767
-
768
- def bad_sexp
769
- nil
770
- end
771
-
772
- def inspect_str
773
- "_"
774
- end
775
-
776
- def test_wild_satisfy_eh # TODO: possibly remove
777
- w = Sexp::Wild.new
778
-
779
- assert_satisfy w, :a
780
- assert_satisfy w, 1
781
- assert_satisfy w, nil
782
- assert_satisfy w, []
783
- assert_satisfy w, s()
784
- end
785
-
786
- def test_wild_search # TODO: possibly remove
787
- sexp = CLASS_SEXP.dup
788
-
789
- assert_search 1, s(:add, :a, :b), s{ s(:add, _, :b) }
790
- assert_search 1, sexp, s{ s(:defn, :bar, _, _) }
791
- assert_search 2, sexp, s{ s(:defn, _, _, s(_, :a, :b) ) }
792
- assert_search 1, s(:a, s()), s{ s(:a, _) }
793
- assert_search 1, s(:a, :b, :c), s{ s(_, _, _) }
794
- assert_search 7, sexp, s{ _ }
795
- end
796
- end
797
-
798
- class TestRemaining < MatcherTestCase
799
- def matcher
800
- s{ ___ }
801
- end
802
-
803
- def bad_sexp
804
- nil
805
- end
806
-
807
- def inspect_str
808
- "___"
809
- end
810
-
811
- def test_remaining_satisfy_eh # TODO: possibly remove
812
- assert_satisfy s{ ___ }, s(:a)
813
- assert_satisfy s{ ___ }, s(:a, :b, :c)
814
- assert_satisfy s{ s(:x, ___ ) }, s(:x, :y)
815
- refute_satisfy s{ s(:y, ___ ) }, s(:x, :y)
816
- end
817
-
818
- def test_greedy
819
- assert_operator matcher, :greedy?
820
- end
821
- end
822
-
823
- class TestAny < MatcherTestCase
824
- def matcher
825
- s{ s(:a) | s(:c) }
826
- end
827
-
828
- def inspect_str
829
- "q(:a) | q(:c)"
830
- end
831
-
832
- def pretty_str
833
- "any(q(:a), q(:c))"
834
- end
835
-
836
- def test_any_search # TODO: possibly remove
837
- assert_search 2, s(:foo, s(:a), s(:b)), s{ s(any(:a, :b)) }
838
- assert_search 1, s(:foo, s(:a), s(:b)), s{ any( s(:a), s(:c)) }
839
- end
840
-
841
- def test_or_satisfy_eh # TODO: possibly remove
842
- assert_satisfy s{ s(:a) | s(:b) }, s(:a)
843
- refute_satisfy s{ s(:a) | s(:b) }, s(:c)
844
- end
845
-
846
- def test_or_search # TODO: possibly remove
847
- sexp = CLASS_SEXP.dup
848
-
849
- assert_search 2, s(:a, s(:b, :c), s(:b, :d)), s{ s(:b, :c) | s(:b, :d) }
850
- assert_search 2, sexp, s{ s(:add, :a, :b) | s(:defn, :bar, _, _) }
851
- end
852
- end
853
-
854
- class TestAll < MatcherTestCase
855
- def matcher
856
- s{ s(:a) & s(:a) }
857
- end
858
-
859
- def inspect_str
860
- "q(:a) & q(:a)"
861
- end
862
-
863
- def pretty_str
864
- "all(q(:a), q(:a))"
865
- end
866
-
867
- def test_and_satisfy_eh # TODO: possibly remove
868
- refute_satisfy s{ s(:a) & s(:b) }, s(:a)
869
- assert_satisfy s{ s(:a) & s(atom) }, s(:a)
870
- end
871
- end
872
-
873
- class TestNot < MatcherTestCase
874
- def matcher
875
- s{ not? s(:b) } # TODO: test unary minus
876
- end
877
-
878
- def inspect_str
879
- "not?(q(:b))" # TODO: change?
880
- end
881
-
882
- def pretty_str
883
- "not?(q(:b))" # TODO: change?
884
- end
885
-
886
- def test_not_satisfy_eh # TODO: possibly remove
887
- refute_satisfy s{ -_ }, s(:a)
888
- assert_satisfy s{ -s(:b) }, s(:a)
889
- assert_satisfy s{ not?(s(:b)) }, s(:a)
890
- refute_satisfy s{ -s(atom) }, s(:a)
891
- assert_satisfy s{ s(not?(:b)) }, s(:a)
892
- end
893
- end
894
-
895
- class TestChild < MatcherTestCase
896
- def matcher
897
- s{ child(s(:a)) }
898
- end
899
-
900
- def sexp
901
- s(:x, s(:a))
902
- end
903
-
904
- def bad_sexp
905
- s(:x, s(:b))
906
- end
907
-
908
- def inspect_str
909
- "child(q(:a))"
910
- end
911
-
912
- def test_child_search # TODO: possibly remove
913
- sexp = CLASS_SEXP.dup
914
-
915
- assert_search 1, sexp, s{ s(:class, :cake, _, _, child( s(:sub, :a, :b) ) ) }
916
- assert_search 1, sexp, s{ s(:class, :cake, _, _, child(include(:a))) }
917
- end
918
-
919
- def test_satisfy_eh_by_child
920
- assert_satisfy matcher, s(:a)
921
- end
922
- end
923
-
924
- class TestAtom < MatcherTestCase
925
- def matcher
926
- s{ atom }
927
- end
928
-
929
- def sexp
930
- 42
931
- end
932
-
933
- def bad_sexp
934
- s(:a)
935
- end
936
-
937
- def inspect_str
938
- "atom"
939
- end
940
-
941
- def test_atom_satisfy_eh # TODO: possibly remove
942
- a = s{ atom }
943
-
944
- assert_satisfy a, :a
945
- assert_satisfy a, 1
946
- assert_satisfy a, nil
947
- refute_satisfy a, s()
948
- end
949
-
950
- def test_atom_search # TODO: possibly remove
951
- sexp = CLASS_SEXP.dup
952
-
953
- assert_search 1, s(:add, :a, :b), s{ s(:add, atom, :b) }
954
- assert_search 2, sexp, s{ s(:defn, atom, _, s(atom, :a, :b) ) }
955
- assert_search 0, s(:a, s()), s{ s(:a, atom) }
956
- end
957
- end
958
-
959
- class TestPattern < MatcherTestCase
960
- def matcher
961
- s{ s(:a, m(/a/)) }
962
- end
963
-
964
- def sexp
965
- s(:a, :blah)
966
- end
967
-
968
- def inspect_str
969
- "q(:a, m(/a/))"
970
- end
971
-
972
- def test_pattern_satisfy_eh # TODO: possibly remove
973
- assert_satisfy s{ m(/a/) }, :a
974
- assert_satisfy s{ m(/^test/) }, :test_case
975
- assert_satisfy s{ m("test") }, :test
976
- refute_satisfy s{ m("test") }, :test_case
977
- refute_satisfy s{ m(/a/) }, s(:a)
978
- end
979
-
980
- def test_pattern_search # TODO: possibly remove
981
- sexp = CLASS_SEXP.dup
982
-
983
- assert_search 2, sexp, s{ s(m(/\w{3}/), :a, :b) }
984
-
985
- assert_search 0, s(:a), s{ m(/\w/) }
986
- assert_search 1, s(:a), s{ s(m(/\w/)) }
987
- assert_search 0, s(:a), s{ m(/\w/,/\d/) }
988
- assert_search 1, s(:a), s{ s(m(/\w/,/\d/)) }
989
-
990
- assert_search 0, s(:tests, s(s(:test_a), s(:test_b))), s{ m(/test_\w/) }
991
- assert_search 2, s(:tests, s(s(:test_a), s(:test_b))), s{ s(m(/test_\w/)) }
992
- end
993
- end
994
-
995
- class TestType < MatcherTestCase
996
- def matcher
997
- s{ t(:a) }
998
- end
999
-
1000
- def test_type_satisfy_eh # TODO: possibly remove
1001
- assert_satisfy s{ t(:a) }, s(:a)
1002
- assert_satisfy s{ t(:a) }, s(:a, :b, s(:oh_hai), :d)
1003
- end
1004
-
1005
- def test_type_search
1006
- assert_search 2, CLASS_SEXP.dup, s{ t(:defn) }
1007
- end
1008
-
1009
- def inspect_str
1010
- "t(:a)"
1011
- end
1012
- end
1013
-
1014
- class TestInclude < MatcherTestCase
1015
- def sexp
1016
- s(:x, s(:a))
1017
- end
1018
-
1019
- def matcher
1020
- s{ include(s(:a)) }
1021
- end
1022
-
1023
- def inspect_str
1024
- "include(q(:a))"
1025
- end
1026
-
1027
- def test_include_search # TODO: possibly remove
1028
- sexp = CLASS_SEXP.dup
1029
-
1030
- assert_search 1, s(:add, :a, :b), s{ include(:a) }
1031
- assert_search 1, sexp, s{ include(:bar) }
1032
- assert_search 2, sexp, s{ s(:defn, atom, _, include(:a)) }
1033
- assert_search 2, sexp, s{ include(:a) }
1034
- assert_search 0, s(:a, s(:b, s(:c))), s{ s(:a, include(:c)) }
1035
- end
1036
- end
1037
-
1038
- class TestSibling < MatcherTestCase
1039
- def sexp
1040
- s(:x, s(:a), s(:x), s(:b))
1041
- end
1042
-
1043
- def matcher
1044
- s{ s(:a) >> s(:b) }
1045
- end
1046
-
1047
- def inspect_str
1048
- "q(:a) >> q(:b)"
1049
- end
1050
-
1051
- def test_pretty_print_distance
1052
- m = s{ M::Sibling.new(s(:a), s(:b), 3) } # maybe s(:a) << s(:b) << 3 ?
1053
- assert_pretty_print "sibling(q(:a), q(:b), 3)", m
1054
- end
1055
-
1056
- def test_sibling_satisfy_eh # TODO: possibly remove
1057
- a_a = s{ s(:a) >> s(:a) }
1058
- a_b = s{ s(:a) >> s(:b) }
1059
- a_c = s{ s(:a) >> s(:c) }
1060
- c_a = s{ s(:c) >> s(:a) }
1061
-
1062
- assert_satisfy a_b, s(s(:a), s(:b))
1063
- assert_satisfy a_b, s(s(:a), s(:b), s(:c))
1064
- assert_satisfy a_c, s(s(:a), s(:b), s(:c))
1065
- refute_satisfy c_a, s(s(:a), s(:b), s(:c))
1066
- refute_satisfy a_a, s(s(:a))
1067
- assert_satisfy a_a, s(s(:a), s(:b), s(:a))
1068
- end
1069
-
1070
- def test_sibling_search # TODO: possibly remove
1071
- sexp = CLASS_SEXP.dup
1072
-
1073
- assert_search 1, sexp, s{ t(:defn) >> t(:defn) }
1074
- end
1075
- end
1076
-
1077
- class TestMatchCollection < SexpTestCase
1078
- attr_accessor :sexp, :pat, :act
1079
-
1080
- def setup
1081
- self.sexp = s(:a, :b, :c)
1082
- self.pat = s{ _ }
1083
- self.act = sexp / pat
1084
- end
1085
-
1086
- def test_slash
1087
- self.sexp =
1088
- s(:class, :cake, nil,
1089
- s(:defn, :foo, s(:args), s(:add, :a, :b)),
1090
- s(:defn, :bar, s(:args), s(:sub, :a, :b)))
1091
-
1092
- res = sexp / s{ s(:class, atom, _, ___) } # sexp / pat => MC
1093
- act = res / s{ s(:defn, atom, ___) } # MC / pat => MC
1094
-
1095
- _, _, _, defn1, defn2 = sexp
1096
-
1097
- exp = MC.new
1098
- exp << defn1.deep_clone
1099
- exp << defn2.deep_clone
1100
-
1101
- assert_equal exp, act
1102
- end
1103
-
1104
- def test_sanity
1105
- act = sexp / pat
1106
- exp = MC.new << sexp
1107
-
1108
- assert_equal exp, act
1109
- end
1110
-
1111
- STR = "MatchCollection.new(s(:a, :b, :c))"
1112
-
1113
- def test_to_s
1114
- assert_equal STR, act.to_s
1115
- end
1116
-
1117
- def test_inspect
1118
- assert_inspect STR, act
1119
- end
1120
-
1121
- def test_pretty_print
1122
- assert_pretty_print STR, act
1123
- end
1124
- end
1125
-
1126
- class TestSexpSearch < SexpTestCase
1127
- attr_accessor :sexp
1128
-
1129
- make_my_diffs_pretty!
1130
-
1131
- def setup
1132
- self.sexp = CLASS_SEXP.dup
1133
- end
1134
-
1135
- def coll *args
1136
- exp = MC.new
1137
-
1138
- args.each_slice 2 do |sexp, hash|
1139
- exp << res(sexp, hash)
1140
- end
1141
-
1142
- exp
1143
- end
1144
-
1145
- def res sexp, hash
1146
- MR.new sexp.deep_clone, hash
1147
- end
1148
-
1149
- def test_slash_simple
1150
- act = sexp / s{ s(:class, atom, _, ___) }
1151
-
1152
- exp = MC.new
1153
- exp << sexp.deep_clone
1154
-
1155
- assert_equal exp, act
1156
- end
1157
-
1158
- def test_slash_subsexp
1159
- act = sexp / s{ s(:defn, atom, ___) }
1160
-
1161
- exp = MC.new
1162
- exp << s(:defn, :foo, s(:args), s(:add, :a, :b))
1163
- exp << s(:defn, :bar, s(:args), s(:sub, :a, :b))
1164
-
1165
- assert_equal exp, act
1166
- end
1167
-
1168
- def test_slash_data
1169
- pat = s{ s(:defn, m(/^test_.+/), ___ ) }
1170
-
1171
- _, _, (_klass, _, _, _setup, t1, t2, t3) = TestUseCase.sexp.deep_clone
1172
- exp = [t1, t2, t3]
1173
-
1174
- assert_equal exp, TestUseCase.sexp.deep_clone / pat
1175
- end
1176
-
1177
- def test_search_each_no_block
1178
- assert_kind_of Enumerator, sexp.search_each(s{_})
1179
- assert_equal 7, sexp.search_each(s{_}).count
1180
- assert_equal 2, sexp.search_each(s{t(:defn)}).count
1181
- assert_search 7, sexp, s{_}
1182
- assert_search 2, sexp, s{t(:defn)}
1183
-
1184
- _, _, _, defn1, defn2 = sexp
1185
-
1186
- mc = []
1187
- mc << defn1.deep_clone
1188
- mc << defn2.deep_clone
1189
-
1190
- assert_equal mc, sexp.search_each(s{t(:defn)}).map { |x| x }
1191
- end
1192
-
1193
- def test_searching_simple_examples # TODO: possibly remove
1194
- assert_raises ArgumentError do
1195
- assert_search 0, sexp, :class # non-pattern should raise
1196
- end
1197
-
1198
- assert_search 0, sexp, s{ s(:class) }
1199
- assert_search 1, sexp, s{ s(:add, :a, :b) }
1200
- assert_search 1, s(:a, s(:b, s(:c))), s{ s(:b, s(:c)) }
1201
- assert_search 0, s(:a, s(:b, s(:c))), s{ s(:a, s(:c)) }
1202
- assert_search 1, sexp, s{ s(:defn, :bar, _, s(:sub, :a, :b)) }
1203
- end
1204
-
1205
- def test_satisfy_eh_any_capture # TODO: remove
1206
- sexp = s(:add, :a, :b)
1207
- assert_satisfy s{ any(s(:add, :a, :b), s(:sub, :a, :b)) }, sexp
1208
-
1209
- assert_satisfy s{ any(s(atom, :a, :b), s(:sub, :a, :b)) }, sexp
1210
- end
1211
-
1212
- def test_satisfy_eh_all_capture # TODO: remove
1213
- sexp = s(:add, :a, :b)
1214
- assert_satisfy s{ all(s(_, :a, :b), s(atom, :a, :b)) }, sexp
1215
-
1216
- assert_satisfy s{ all(s(_, :a, :b), s(atom, :a, :b)) }, sexp
1217
-
1218
- assert_search 1, sexp, s{ all(s(_, :a, :b), s(atom, :a, :b)) }
1219
- end
1220
- end
1221
-
1222
- class TestSexpPath < Minitest::Test
1223
- def test_global_s_block
1224
- sexp = s(:a, :b, :c) # s called outside block
1225
-
1226
- assert_instance_of Sexp, s{ sexp.deep_clone }
1227
- assert_instance_of Sexp::Matcher, s{ s(:a, :b, :c) }
1228
- assert_instance_of Sexp::Matcher, s{ s(:a, atom, :c) }
1229
- end
1230
- end
1231
-
1232
- class TestSexpReplaceSexp < SexpTestCase
1233
- def test_replace_sexp
1234
- sexp = s(:a, s(:b), :c)
1235
- actual = sexp.replace_sexp(s{ s(:b) }) { :b }
1236
-
1237
- assert_equal s(:a, :b, :c), actual
1238
- end
1239
-
1240
- def test_replace_sexp_root
1241
- sexp = s(:a, s(:b), :c)
1242
- actual = sexp.replace_sexp(s{ t(:a) }) { s(:new) }
1243
-
1244
- assert_equal s(:new), actual
1245
- end
1246
-
1247
- def test_replace_sexp_yields_match_result
1248
- sexp = s(:a, s(:b), :c)
1249
-
1250
- exp = sexp.deep_clone
1251
-
1252
- sexp.replace_sexp(s{ t(:a) }) { |x|
1253
- assert_equal exp, x
1254
- }
1255
- end
1256
-
1257
- def test_replace_sexp_non_matcher
1258
- e = assert_raises ArgumentError do
1259
- s(:a, s(:b), :c).replace_sexp(42) { :b }
1260
- end
1261
-
1262
- assert_equal "Needs a pattern", e.message
1263
- end
1264
-
1265
- def test_search_each_yields_match_result
1266
- sexp = s(:a, s(:b), :c)
1267
-
1268
- exp = sexp.deep_clone
1269
-
1270
- sexp.search_each(s{ t(:a) }) { |x|
1271
- assert_equal exp, x
1272
- }
1273
- end
1274
-
1275
- def test_search_each_no_pattern
1276
- e = assert_raises ArgumentError do
1277
- s(:a, s(:b), :c).search_each(42) { :b }
1278
- end
1279
-
1280
- assert_equal "Needs a pattern", e.message
1281
- end
1282
- end
1283
-
1284
- # Here's a crazy idea, these tests actually use sexp_path on some "real"
1285
- # code to see if it can satisfy my requirements.
1286
- #
1287
- # These tests are two fold:
1288
- # 1. Make sure it works
1289
- # 2. Make sure it's not painful to use
1290
-
1291
- class TestUseCase < SexpTestCase
1292
- @@sexp = eval File.read(__FILE__).split(/^__END__/).last
1293
-
1294
- def self.sexp
1295
- @@sexp
1296
- end
1297
-
1298
- def setup
1299
- @sexp = @@sexp.deep_clone
1300
- end
1301
-
1302
- def test_finding_methods
1303
- methods = @sexp / s{ t(:defn) }
1304
- assert_equal 5, methods.length
1305
- end
1306
-
1307
- def test_finding_classes_and_methods
1308
- res = @sexp / s{ s(:class, atom, ___ ) }
1309
-
1310
- _klass, name, * = res.first
1311
-
1312
- assert_equal 1, res.length
1313
- assert_equal :ExampleTest, name
1314
-
1315
- methods = res / s{ t(:defn) }
1316
- assert_equal 5, methods.length
1317
- end
1318
-
1319
- def test_finding_empty_test_methods
1320
- empty_test = s{ s(:defn, m(/^test_.+/), s(:args), s(:nil)) }
1321
- res = @sexp / empty_test
1322
-
1323
- _, _, (_klass, _, _, _setup, _t1, t2, _t3) = TestUseCase.sexp.deep_clone
1324
-
1325
- assert_equal [t2], res
1326
- end
1327
-
1328
- def test_search_each_finding_duplicate_test_names
1329
- pat = s{ s(:defn, m(/^test_.+/), ___ ) }
1330
- counts = Hash.new { |h, k| h[k] = 0 }
1331
-
1332
- @sexp.search_each pat do |x|
1333
- _, name, * = x
1334
- counts[name] += 1
1335
- end
1336
-
1337
- assert_equal 1, counts[:test_b], "Should have seen test_b once"
1338
- assert_equal 2, counts[:test_a], "Should have caught test_a being repeated"
1339
- end
1340
-
1341
- def test_finding_duplicate_test_names_via_res
1342
- pat = s{ s(:defn, m(/^test_.+/), ___ ) }
1343
- res = @sexp / pat
1344
- counts = Hash.new { |h, k| h[k] = 0 }
1345
-
1346
- _, _, (_klass, _, _, _setup, t1, t2, t3) = TestUseCase.sexp.deep_clone
1347
- exp = [t1, t2, t3]
1348
-
1349
- assert_equal exp, res
1350
-
1351
- res.each do |m|
1352
- _, name, * = m
1353
- counts[name] += 1
1354
- end
1355
-
1356
- assert_equal 1, counts[:test_b], "Should have seen test_b once"
1357
- assert_equal 2, counts[:test_a], "Should have caught test_a being repeated"
1358
- end
1359
-
1360
- def test_rewriting_colon2s
1361
- colon2 = s{ s(:colon2, s(:const, atom), atom) }
1362
- expected = s{ s(:const, "Minitest::Test") }
1363
-
1364
- new_sexp = @sexp.replace_sexp(colon2) { |r|
1365
- (_, (_, a), b) = r
1366
- s(:const, "%s::%s" % [a, b])
1367
- }
1368
-
1369
- assert_search 1, new_sexp, expected
1370
- assert_search 0, @sexp, expected
1371
- end
1372
- end
1373
-
1374
- ##
1375
- # NOTE: this entire class is now redundant, but it illustrates usage
1376
- # and edge cases well.
1377
-
1378
- class TestSexpMatchers < SexpTestCase
1379
- CLASS_LIT = s(:class, :X, nil,
1380
- s(:lasgn, :x, s(:lit, 42)),
1381
- s(:cdecl, :Y,
1382
- s(:hash, s(:lit, :a), s(:lit, 1), s(:lit, :b), s(:lit, 2))))
1383
-
1384
- SEXP = s(:class, :X, nil, s(:defn, :x, s(:args)))
1385
-
1386
- def test_match_subset
1387
- assert_match s{ child(s(:a)) }, s(:blah, s(:blah, s(:a)))
1388
- assert_match s{ child(s(:a)) }, s(:a)
1389
- end
1390
-
1391
- def test_match_simple
1392
- assert_match s{ s(:lit, _) }, s(:lit, 42)
1393
- end
1394
-
1395
- def test_match_mismatch_type
1396
- refute_match s{ s(:xxx, 42) }, s(:lit, 42)
1397
- end
1398
-
1399
- def test_match_mismatch_data
1400
- refute_match s{ s(:lit, 24) }, s(:lit, 42)
1401
- end
1402
-
1403
- def test_match_mismatch_length_shorter
1404
- refute_match s{ s(:a, :b) }, s(:a, :b, :c)
1405
- end
1406
-
1407
- def test_match_mismatch_length_longer
1408
- refute_match s{ s(:a, :b, :c) }, s(:a, :b)
1409
- end
1410
-
1411
- def test_match_wild
1412
- assert_match s{ s(:class, _, _, _) }, SEXP
1413
- end
1414
-
1415
- def test_match_rest_same_length
1416
- assert_match s{ s(:class, _, _, ___) }, SEXP
1417
- end
1418
-
1419
- def test_match_rest_diff_length
1420
- skip_if_strict
1421
-
1422
- assert_match s{ s(:class, ___) }, SEXP
1423
- end
1424
-
1425
- def test_match_reversed
1426
- assert_match SEXP, s{ s(:class, _, _, ___) }
1427
- end
1428
-
1429
- def assert_match_case pat, data
1430
- case data
1431
- when pat then
1432
- assert true
1433
- else
1434
- flunk "Expected %p to match %p" % [pat, data]
1435
- end
1436
- end
1437
-
1438
- def test_match_case
1439
- assert_match_case s{ s(:class, _, _, ___) }, SEXP
1440
- end
1441
-
1442
- # NOTE: eqt is =~ (equal-tilde)
1443
-
1444
- # cmt = create_match_test
1445
- def self.cmt e1, e2, e3, e4, lit, pat
1446
- Class.new SexpTestCase do
1447
- attr_accessor :lit, :pat
1448
-
1449
- define_method :setup do
1450
- self.lit = lit
1451
- self.pat = pat
1452
- end
1453
-
1454
- define_method :test_match_lit_eqt_pat do
1455
- skip_if_strict
1456
-
1457
- if e1 then
1458
- assert_match lit, pat
1459
- else
1460
- refute_match lit, pat
1461
- end
1462
- end
1463
-
1464
- define_method :test_match_pat_eqt_lit do
1465
- skip_if_strict
1466
-
1467
- if e2 then
1468
- assert_match pat, lit
1469
- else
1470
- refute_match pat, lit
1471
- end
1472
- end
1473
-
1474
- define_method :test_match_lit_eq3_pat do
1475
- if e3 then
1476
- assert_equal3 lit, pat
1477
- else
1478
- refute_equal3 lit, pat
1479
- end
1480
- end
1481
-
1482
- define_method :test_match_pat_eq3_lit do
1483
- if e4 then
1484
- assert_equal3 pat, lit
1485
- else
1486
- refute_equal3 pat, lit
1487
- end
1488
- end
1489
- end
1490
- end
1491
-
1492
- l_a = s(:a)
1493
- l_abc = s(:a, s(:b, s(:c)))
1494
- l_cls = s(:class, :X, nil,
1495
- s(:something_in_between),
1496
- s(:cdecl, :Y, s(:hash, s(:lit, :a), s(:lit, 1))))
1497
- p_cls1 = s{ s(:class, ___) & include(s(:cdecl, _, s(:hash, ___))) }
1498
- p_cls2 = s{ s(:class, _, _, s(:cdecl, _, s(:hash, ___))) }
1499
-
1500
- x, o = true, false
1501
- TestMatcherDirectMatch = cmt x, x, o, x, l_a, s{ s(:a) }
1502
- TestMatcherSubtree = cmt x, x, o, x, l_abc, s{ s(:c) }
1503
- TestMatcherSubtreeType = cmt x, x, o, x, l_abc, s{ t(:c) }
1504
- TestMatcherDisparateSubtree = cmt x, x, o, x, l_cls, p_cls1
1505
- TestMatcherDisparateSubtree2 = cmt o, o, o, o, l_cls, p_cls2 # TODO: make pass
1506
- end
1507
-
1508
- class TestSexpMatcherParser < Minitest::Test
1509
- def assert_parse exp, str
1510
- act = Sexp::Matcher.parse str
1511
-
1512
- if exp.nil? then
1513
- assert_nil act
1514
- else
1515
- assert_equal exp, act
1516
- end
1517
- end
1518
-
1519
- def self.test_parse name, exp_lambda, str
1520
- define_method "test_parse_#{name}" do
1521
- exp = exp_lambda && exp_lambda.call
1522
- assert_parse exp, str
1523
- end
1524
- end
1525
-
1526
- def self.test_bad_parse name, str
1527
- define_method "test_parse_bad_#{name}" do
1528
- assert_raises SyntaxError do
1529
- assert_parse :whatever, str
1530
- end
1531
- end
1532
- end
1533
-
1534
- def self.delay &b
1535
- lambda { s(&b) }
1536
- end
1537
-
1538
- test_parse "nothing", nil, ""
1539
- test_parse "nil", delay{ nil }, "nil"
1540
- test_parse "empty", delay{ s() }, "()"
1541
- test_parse "simple", delay{ s(:a) }, "(a)"
1542
- test_parse "number", delay{ s(:a, 42) }, "(a 42)"
1543
- test_parse "string", delay{ s(:a, "s") }, "(a \"s\")"
1544
- test_parse "compound", delay{ s(:b) }, "(a) (b)"
1545
- test_parse "complex", delay{ s(:a, _, s(:b, :cde), ___) }, "(a _ (b cde) ___)"
1546
- test_parse "type", delay{ s(:a, t(:b)) }, "(a [t b])"
1547
- test_parse "match", delay{ s(:a, m(/b/)) }, "(a [m /b/])"
1548
- test_parse "not_atom", delay{ s(:atom) }, "(atom)"
1549
- test_parse "atom", delay{ atom }, "[atom]"
1550
-
1551
- test_bad_parse "open_sexp", "(a"
1552
- test_bad_parse "closed_sexp", "a)"
1553
- test_bad_parse "open_cmd", "[a"
1554
- test_bad_parse "closed_cmd", "a]"
1555
- end # class TestSexpMatcherParser
1556
-
1557
- class BenchSexp < Minitest::Benchmark
1558
- def run
1559
- GC.disable
1560
- super
1561
- ensure
1562
- GC.enable
1563
- end
1564
-
1565
- def self.bench_range
1566
- bench_linear 100, 500, 50
1567
- end
1568
-
1569
- @@data = Hash[bench_range.map { |n| [n, pyramid_sexp(n)] }]
1570
-
1571
- def bench_pyramid
1572
- assert_performance_power do |max|
1573
- pyramid_sexp max
1574
- end
1575
- end
1576
-
1577
- def bench_mass
1578
- assert_performance_power do |max|
1579
- @@data[max].mass
1580
- end
1581
- end
1582
- end if ENV["BENCH"]
1583
-
1584
- # class ExampleTest < Minitest::Test
1585
- # def setup
1586
- # 1 + 2
1587
- # end
1588
- #
1589
- # def test_a
1590
- # assert_equal 1+2, 4
1591
- # end
1592
- #
1593
- # def test_b
1594
- # # assert 1+1
1595
- # end
1596
- #
1597
- # def test_a
1598
- # assert_equal 1+2, 3
1599
- # end
1600
- #
1601
- # private
1602
- #
1603
- # def helper_method apples, oranges, cakes = nil
1604
- # [apples, oranges, cakes].compact.map { |food| food.to_s.upcase }
1605
- # end
1606
- # end
1607
-
1608
- __END__
1609
- s(:block,
1610
- s(:call, nil, :require, s(:str, "minitest/autorun")),
1611
- s(:class,
1612
- :ExampleTest,
1613
- s(:colon2, s(:const, :Minitest), :Test),
1614
- s(:defn, :setup, s(:args), s(:call, s(:lit, 1), :+, s(:lit, 2))),
1615
- s(:defn,
1616
- :test_a,
1617
- s(:args),
1618
- s(:call,
1619
- nil,
1620
- :assert_equal,
1621
- s(:call, s(:lit, 1), :+, s(:lit, 2)),
1622
- s(:lit, 4))),
1623
- s(:defn, :test_b, s(:args), s(:nil)),
1624
- s(:defn,
1625
- :test_a,
1626
- s(:args),
1627
- s(:call,
1628
- nil,
1629
- :assert_equal,
1630
- s(:call, s(:lit, 1), :+, s(:lit, 2)),
1631
- s(:lit, 3))),
1632
- s(:call, nil, :private),
1633
- s(:defn,
1634
- :helper_method,
1635
- s(:args, :apples, :oranges, s(:lasgn, :cakes, s(:nil))),
1636
- s(:iter,
1637
- s(:call,
1638
- s(:call,
1639
- s(:array, s(:lvar, :apples), s(:lvar, :oranges), s(:lvar, :cakes)),
1640
- :compact),
1641
- :map),
1642
- s(:args, :food),
1643
- s(:call, s(:call, s(:lvar, :food), :to_s), :upcase)))))