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,2899 +0,0 @@
1
- # encoding: US-ASCII
2
-
3
- require "minitest/autorun"
4
- require "ruby_lexer"
5
- require "ruby_parser"
6
-
7
- class TestRubyLexer < Minitest::Test
8
- attr_accessor :processor, :lex, :parser_class, :lex_state
9
-
10
- alias :lexer :lex # lets me copy/paste code from parser
11
- alias :lexer= :lex=
12
-
13
- def setup
14
- self.lex_state = :expr_beg
15
- setup_lexer_class RubyParser.latest.class
16
- end
17
-
18
- def setup_lexer input, exp_sexp = nil
19
- setup_new_parser
20
- lex.ss = RPStringScanner.new(input)
21
- lex.lex_state = self.lex_state
22
- end
23
-
24
- def setup_new_parser
25
- self.processor = parser_class.new
26
- self.lex = processor.lexer
27
- end
28
-
29
- def setup_lexer_class parser_class
30
- self.parser_class = parser_class
31
- setup_new_parser
32
- setup_lexer "blah blah"
33
- end
34
-
35
- def assert_lex input, exp_sexp, *args, &b
36
- setup_lexer input
37
- assert_parse input, exp_sexp if exp_sexp
38
-
39
- b.call if b
40
-
41
- args.each_slice(5) do |token, value, state, paren, brace|
42
- assert_next_lexeme token, value, state, paren, brace
43
- end
44
-
45
- refute_lexeme
46
- end
47
-
48
- def assert_lex3 input, exp_sexp, *args, &block
49
- args = args.each_slice(3).map { |a, b, c| [a, b, c, nil, nil] }.flatten
50
-
51
- assert_lex(input, exp_sexp, *args, &block)
52
- end
53
-
54
- def ruby18
55
- RubyParser::V18 === lexer.parser
56
- end
57
-
58
- def refute_lex input, *args # TODO: re-sort
59
- args = args.each_slice(2).map { |a, b| [a, b, nil, nil, nil] }.flatten
60
-
61
- assert_raises RubyParser::SyntaxError do
62
- assert_lex(input, nil, *args)
63
- end
64
- end
65
-
66
- def assert_lex_fname name, type, end_state = :expr_arg # TODO: swap name/type
67
- assert_lex3("def #{name} ",
68
- nil,
69
-
70
- :kDEF, "def", :expr_fname,
71
- type, name, end_state)
72
- end
73
-
74
- def assert_next_lexeme token=nil, value=nil, state=nil, paren=nil, brace=nil
75
- adv = @lex.next_token
76
-
77
- assert adv, "no more tokens"
78
-
79
- act_token, act_value = adv
80
-
81
- msg = message {
82
- act = [act_token, act_value, @lex.lex_state,
83
- @lex.paren_nest, @lex.brace_nest]
84
- exp = [token, value, state, paren, brace]
85
- "#{exp.inspect} vs #{act.inspect}"
86
- }
87
-
88
- act_value = act_value.first if Array === act_value
89
-
90
- assert_equal token, act_token, msg
91
- case value
92
- when Float then
93
- assert_in_epsilon value, act_value, 0.001, msg
94
- when NilClass then
95
- assert_nil act_value, msg
96
- else
97
- assert_equal value, act_value, msg
98
- end
99
- assert_equal state, @lex.lex_state, msg if state
100
- assert_equal paren, @lex.paren_nest, msg if paren
101
- assert_equal brace, @lex.brace_nest, msg if brace
102
- end
103
-
104
- def assert_parse input, exp_sexp
105
- assert_equal exp_sexp, processor.class.new.parse(input)
106
- end
107
-
108
- def assert_read_escape expected, input
109
- @lex.ss.string = input
110
- assert_equal expected, @lex.read_escape, input
111
- end
112
-
113
- def assert_read_escape_bad input # TODO: rename refute_read_escape
114
- @lex.ss.string = input
115
- assert_raises RubyParser::SyntaxError do
116
- @lex.read_escape
117
- end
118
- end
119
-
120
- def refute_lexeme
121
- x = y = @lex.next_token
122
-
123
- refute x, "not empty: #{y.inspect}"
124
- end
125
-
126
- ## Utility Methods:
127
-
128
- def emulate_string_interpolation
129
- lex_strterm = lexer.lex_strterm
130
- string_nest = lexer.string_nest
131
- brace_nest = lexer.brace_nest
132
-
133
- lexer.string_nest = 0
134
- lexer.brace_nest = 0
135
- lexer.cond.push false
136
- lexer.cmdarg.push false
137
-
138
- lexer.lex_strterm = nil
139
- lexer.lex_state = :expr_beg
140
-
141
- yield
142
-
143
- lexer.lex_state = :expr_endarg
144
- assert_next_lexeme :tRCURLY, "}", :expr_endarg, 0
145
-
146
- lexer.lex_strterm = lex_strterm
147
- lexer.lex_state = :expr_beg
148
- lexer.string_nest = string_nest
149
- lexer.brace_nest = brace_nest
150
-
151
- lexer.cond.lexpop
152
- lexer.cmdarg.lexpop
153
- end
154
-
155
- ## Tests:
156
-
157
- def test_next_token
158
- assert_equal [:tIDENTIFIER, "blah"], @lex.next_token
159
- assert_equal [:tIDENTIFIER, "blah"], @lex.next_token
160
- assert_nil @lex.next_token
161
- end
162
-
163
- def test_unicode_ident
164
- s = "@\u1088\u1077\u1093\u1072"
165
- assert_lex3(s.dup, nil, :tIVAR, s.dup, :expr_end)
166
- end
167
-
168
- def test_read_escape
169
- assert_read_escape "\\", "\\"
170
- assert_read_escape "\n", "n"
171
- assert_read_escape "\t", "t"
172
- assert_read_escape "\r", "r"
173
- assert_read_escape "\f", "f"
174
- assert_read_escape "\13", "v"
175
- assert_read_escape "\0", "0"
176
- assert_read_escape "\07", "a"
177
- assert_read_escape "\007", "a"
178
- assert_read_escape "\033", "e"
179
- assert_read_escape "\377", "377"
180
- assert_read_escape "\377", "xff"
181
- assert_read_escape "\010", "b"
182
- assert_read_escape " ", "s"
183
- assert_read_escape "q", "q" # plain vanilla escape
184
-
185
- assert_read_escape "8", "8" # ugh... mri... WHY?!?
186
- assert_read_escape "9", "9" # ugh... mri... WHY?!?
187
-
188
- assert_read_escape "$", "444" # ugh
189
- end
190
-
191
- def test_read_escape_c
192
- assert_read_escape "\030", "C-x"
193
- assert_read_escape "\030", "cx"
194
- assert_read_escape "\230", 'C-\M-x'
195
- assert_read_escape "\230", 'c\M-x'
196
-
197
- assert_read_escape "\177", "C-?"
198
- assert_read_escape "\177", "c?"
199
- end
200
-
201
- def test_read_escape_errors
202
- assert_read_escape_bad ""
203
-
204
- assert_read_escape_bad "M"
205
- assert_read_escape_bad "M-"
206
- assert_read_escape_bad "Mx"
207
-
208
- assert_read_escape_bad "Cx"
209
- assert_read_escape_bad "C"
210
- assert_read_escape_bad "C-"
211
-
212
- assert_read_escape_bad "c"
213
- end
214
-
215
- def test_read_escape_m
216
- assert_read_escape "\370", "M-x"
217
- assert_read_escape "\230", 'M-\C-x'
218
- assert_read_escape "\230", 'M-\cx'
219
- end
220
-
221
- def test_yylex_ambiguous_uminus
222
- assert_lex3("m -3",
223
- nil,
224
- :tIDENTIFIER, "m", :expr_cmdarg,
225
- :tUMINUS_NUM, "-", :expr_beg,
226
- :tINTEGER, 3, :expr_end)
227
-
228
- # TODO: verify warning
229
- end
230
-
231
- def test_yylex_ambiguous_uplus
232
- assert_lex3("m +3",
233
- nil,
234
- :tIDENTIFIER, "m", :expr_cmdarg,
235
- :tINTEGER, 3, :expr_end)
236
-
237
- # TODO: verify warning
238
- end
239
-
240
- def test_yylex_and
241
- assert_lex3("&", nil, :tAMPER, "&", :expr_beg)
242
- end
243
-
244
- def test_yylex_and2
245
- assert_lex3("&&", nil, :tANDOP, "&&", :expr_beg)
246
- end
247
-
248
- def test_yylex_and2_equals
249
- assert_lex3("&&=", nil, :tOP_ASGN, "&&", :expr_beg)
250
- end
251
-
252
- def test_yylex_and_dot
253
- setup_lexer_class RubyParser::V23
254
-
255
- assert_lex3("&.", nil, :tLONELY, "&.", :expr_dot)
256
- end
257
-
258
- def test_yylex_and_dot_call
259
- setup_lexer_class RubyParser::V23
260
-
261
- assert_lex3("x&.y", nil,
262
- :tIDENTIFIER, "x", :expr_cmdarg,
263
- :tLONELY, "&.", :expr_dot,
264
- :tIDENTIFIER, "y")
265
- end
266
-
267
- def test_yylex_and_dot_call_newline
268
- setup_lexer_class Ruby23Parser
269
-
270
- assert_lex3("x\n&.y", nil,
271
- :tIDENTIFIER, "x", :expr_cmdarg,
272
- :tLONELY, "&.", :expr_dot,
273
- :tIDENTIFIER, "y")
274
- end
275
-
276
- def test_yylex_and_arg
277
- self.lex_state = :expr_arg
278
-
279
- assert_lex3(" &y",
280
- nil,
281
- :tAMPER, "&", :expr_beg,
282
- :tIDENTIFIER, "y", :expr_arg)
283
- end
284
-
285
- def test_yylex_and_equals
286
- assert_lex3("&=", nil, :tOP_ASGN, "&", :expr_beg)
287
- end
288
-
289
- def test_yylex_and_expr
290
- self.lex_state = :expr_arg
291
-
292
- assert_lex3("x & y",
293
- nil,
294
- :tIDENTIFIER, "x", :expr_cmdarg,
295
- :tAMPER2, "&", :expr_beg,
296
- :tIDENTIFIER, "y", :expr_arg)
297
- end
298
-
299
- def test_yylex_and_meth
300
- assert_lex_fname "&", :tAMPER2
301
- end
302
-
303
- def test_yylex_assoc
304
- assert_lex3("=>", nil, :tASSOC, "=>", :expr_beg)
305
- end
306
-
307
- def test_yylex_label__18
308
- setup_lexer_class RubyParser::V18
309
-
310
- assert_lex3("{a:",
311
- nil,
312
- :tLBRACE, "{", :expr_beg,
313
- :tIDENTIFIER, "a", :expr_arg,
314
- :tSYMBEG, ":", :expr_fname)
315
- end
316
-
317
- def test_yylex_label_in_params__18
318
- setup_lexer_class RubyParser::V18
319
-
320
- assert_lex3("foo(a:",
321
- nil,
322
- :tIDENTIFIER, "foo", :expr_cmdarg,
323
- :tLPAREN2, "(", :expr_beg,
324
- :tIDENTIFIER, "a", :expr_cmdarg,
325
- :tSYMBEG, ":", :expr_fname)
326
- end
327
-
328
- def test_yylex_label__19
329
- setup_lexer_class RubyParser::V19
330
-
331
- assert_lex3("{a:",
332
- nil,
333
- :tLBRACE, "{", :expr_beg,
334
- :tLABEL, "a", :expr_labelarg)
335
- end
336
-
337
- def test_yylex_label_in_params__19
338
- setup_lexer_class RubyParser::V19
339
-
340
- assert_lex3("foo(a:",
341
- nil,
342
- :tIDENTIFIER, "foo", :expr_cmdarg,
343
- :tLPAREN2, "(", :expr_beg,
344
- :tLABEL, "a", :expr_labelarg)
345
- end
346
-
347
- def test_yylex_paren_string_parens_interpolated
348
- setup_lexer('%((#{b}#{d}))',
349
- s(:dstr,
350
- "(",
351
- s(:evstr, s(:call, nil, :b)),
352
- s(:evstr, s(:call, nil, :d)),
353
- s(:str, ")")))
354
-
355
- assert_next_lexeme :tSTRING_BEG, "%)", :expr_beg, 0, 0
356
- assert_next_lexeme :tSTRING_CONTENT, "(", :expr_beg, 0, 0
357
- assert_next_lexeme :tSTRING_DBEG, nil, :expr_beg, 0, 0
358
-
359
- emulate_string_interpolation do
360
- assert_next_lexeme :tIDENTIFIER, "b", :expr_arg, 0, 0
361
- end
362
-
363
- assert_next_lexeme :tSTRING_DBEG, nil, :expr_beg, 0, 0
364
-
365
- emulate_string_interpolation do
366
- assert_next_lexeme :tIDENTIFIER, "d", :expr_arg, 0, 0
367
- end
368
-
369
- assert_next_lexeme :tSTRING_CONTENT, ")", :expr_beg, 0, 0
370
- assert_next_lexeme :tSTRING_END, ")", :expr_end, 0, 0
371
-
372
- refute_lexeme
373
- end
374
-
375
- def test_yylex_paren_string_interpolated_regexp
376
- setup_lexer('%( #{(/abcd/)} )',
377
- s(:dstr, " ", s(:evstr, s(:lit, /abcd/)), s(:str, " ")))
378
-
379
- assert_next_lexeme :tSTRING_BEG, "%)", :expr_beg, 0, 0
380
- assert_next_lexeme :tSTRING_CONTENT, " ", :expr_beg, 0, 0
381
- assert_next_lexeme :tSTRING_DBEG, nil, :expr_beg, 0, 0
382
-
383
- emulate_string_interpolation do
384
- assert_next_lexeme :tLPAREN, "(", :expr_beg, 1, 0
385
- assert_next_lexeme :tREGEXP_BEG, "/", :expr_beg, 1, 0
386
- assert_next_lexeme :tSTRING_CONTENT, "abcd", :expr_beg, 1, 0
387
- assert_next_lexeme :tREGEXP_END, "", :expr_end, 1, 0
388
- assert_next_lexeme :tRPAREN, ")", :expr_endfn, 0, 0
389
- end
390
-
391
- assert_next_lexeme :tSTRING_CONTENT, " ", :expr_beg, 0, 0
392
- assert_next_lexeme :tSTRING_END, ")", :expr_end, 0, 0
393
-
394
- refute_lexeme
395
- end
396
-
397
- def test_yylex_not_at_defn__20
398
- setup_lexer_class RubyParser::V20
399
-
400
- assert_lex("def +@; end",
401
- s(:defn, :+@, s(:args), s(:nil)),
402
-
403
- :kDEF, "def", :expr_fname, 0, 0,
404
- :tUPLUS, "+@", :expr_arg, 0, 0,
405
- :tSEMI, ";", :expr_beg, 0, 0,
406
- :kEND, "end", :expr_end, 0, 0)
407
-
408
- assert_lex("def !@; end",
409
- s(:defn, :"!@", s(:args), s(:nil)),
410
-
411
- :kDEF, "def", :expr_fname, 0, 0,
412
- :tUBANG, "!@", :expr_arg, 0, 0,
413
- :tSEMI, ";", :expr_beg, 0, 0,
414
- :kEND, "end", :expr_end, 0, 0)
415
- end
416
-
417
- def test_yylex_not_at_ivar
418
- assert_lex("!@ivar",
419
- s(:call, s(:ivar, :@ivar), :"!"),
420
-
421
- :tBANG, "!", :expr_beg, 0, 0,
422
- :tIVAR, "@ivar", :expr_end, 0, 0)
423
- end
424
-
425
- def test_yylex_number_times_ident_times_return_number
426
- assert_lex("1 * b * 3",
427
- s(:call,
428
- s(:call, s(:lit, 1), :*, s(:call, nil, :b)),
429
- :*, s(:lit, 3)),
430
-
431
- :tINTEGER, 1, :expr_end, 0, 0,
432
- :tSTAR2, "*", :expr_beg, 0, 0,
433
- :tIDENTIFIER, "b", :expr_arg, 0, 0,
434
- :tSTAR2, "*", :expr_beg, 0, 0,
435
- :tINTEGER, 3, :expr_end, 0, 0)
436
-
437
- assert_lex("1 * b *\n 3",
438
- s(:call,
439
- s(:call, s(:lit, 1), :*, s(:call, nil, :b)),
440
- :*, s(:lit, 3)),
441
-
442
- :tINTEGER, 1, :expr_end, 0, 0,
443
- :tSTAR2, "*", :expr_beg, 0, 0,
444
- :tIDENTIFIER, "b", :expr_arg, 0, 0,
445
- :tSTAR2, "*", :expr_beg, 0, 0,
446
- :tINTEGER, 3, :expr_end, 0, 0)
447
- end
448
-
449
- def test_yylex_paren_string_parens_interpolated_regexp
450
- setup_lexer('%((#{(/abcd/)}))',
451
- s(:dstr, "(", s(:evstr, s(:lit, /abcd/)), s(:str, ")")))
452
-
453
- assert_next_lexeme :tSTRING_BEG, "%)", :expr_beg, 0, 0
454
- assert_next_lexeme :tSTRING_CONTENT, "(", :expr_beg, 0, 0
455
-
456
- assert_next_lexeme :tSTRING_DBEG, nil, :expr_beg, 0, 0
457
-
458
- emulate_string_interpolation do
459
- assert_next_lexeme :tLPAREN, "(", :expr_beg, 1, 0
460
- assert_next_lexeme :tREGEXP_BEG, "/", :expr_beg, 1, 0
461
- assert_next_lexeme :tSTRING_CONTENT, "abcd", :expr_beg, 1, 0
462
- assert_next_lexeme :tREGEXP_END, "", :expr_end, 1, 0
463
- assert_next_lexeme :tRPAREN, ")", :expr_endfn, 0, 0
464
- end
465
-
466
- assert_next_lexeme :tSTRING_CONTENT, ")", :expr_beg, 0, 0
467
- assert_next_lexeme :tSTRING_END, ")", :expr_end, 0, 0
468
-
469
- refute_lexeme
470
- end
471
-
472
- def test_yylex_method_parens_chevron
473
- assert_lex("a()<<1",
474
- s(:call, s(:call, nil, :a), :<<, s(:lit, 1)),
475
- :tIDENTIFIER, "a", :expr_cmdarg, 0, 0,
476
- :tLPAREN2, "(", :expr_beg, 1, 0,
477
- :tRPAREN, ")", :expr_endfn, 0, 0,
478
- :tLSHFT, "<<" , :expr_beg, 0, 0,
479
- :tINTEGER, 1, :expr_end, 0, 0)
480
- end
481
-
482
- def test_yylex_lambda_args__20
483
- setup_lexer_class RubyParser::V20
484
-
485
- assert_lex("-> (a) { }",
486
- s(:iter, s(:call, nil, :lambda),
487
- s(:args, :a)),
488
-
489
- :tLAMBDA, nil, :expr_endfn, 0, 0,
490
- :tLPAREN2, "(", :expr_beg, 1, 0,
491
- :tIDENTIFIER, "a", :expr_arg, 1, 0,
492
- :tRPAREN, ")", :expr_endfn, 0, 0,
493
- :tLCURLY, "{", :expr_beg, 0, 1,
494
- :tRCURLY, "}", :expr_endarg, 0, 0)
495
- end
496
-
497
- def test_yylex_lambda_args_opt__20
498
- setup_lexer_class RubyParser::V20
499
-
500
- assert_lex("-> (a=nil) { }",
501
- s(:iter, s(:call, nil, :lambda),
502
- s(:args, s(:lasgn, :a, s(:nil)))),
503
-
504
- :tLAMBDA, nil, :expr_endfn, 0, 0,
505
- :tLPAREN2, "(", :expr_beg, 1, 0,
506
- :tIDENTIFIER, "a", :expr_arg, 1, 0,
507
- :tEQL, "=", :expr_beg, 1, 0,
508
- :kNIL, "nil", :expr_end, 1, 0,
509
- :tRPAREN, ")", :expr_endfn, 0, 0,
510
- :tLCURLY, "{", :expr_beg, 0, 1,
511
- :tRCURLY, "}", :expr_endarg, 0, 0)
512
- end
513
-
514
- def test_yylex_lambda_hash__20
515
- setup_lexer_class RubyParser::V20
516
-
517
- assert_lex("-> (a={}) { }",
518
- s(:iter, s(:call, nil, :lambda),
519
- s(:args, s(:lasgn, :a, s(:hash)))),
520
-
521
- :tLAMBDA, nil, :expr_endfn, 0, 0,
522
- :tLPAREN2, "(", :expr_beg, 1, 0,
523
- :tIDENTIFIER, "a", :expr_arg, 1, 0,
524
- :tEQL, "=", :expr_beg, 1, 0,
525
- :tLBRACE, "{", :expr_beg, 1, 1,
526
- :tRCURLY, "}", :expr_endarg, 1, 0,
527
- :tRPAREN, ")", :expr_endfn, 0, 0,
528
- :tLCURLY, "{", :expr_beg, 0, 1,
529
- :tRCURLY, "}", :expr_endarg, 0, 0)
530
- end
531
-
532
- def test_yylex_iter_array_curly
533
- assert_lex("f :a, [:b] { |c, d| }", # yes, this is bad code
534
- s(:iter,
535
- s(:call, nil, :f, s(:lit, :a), s(:array, s(:lit, :b))),
536
- s(:args, :c, :d)),
537
-
538
- :tIDENTIFIER, "f", :expr_cmdarg, 0, 0,
539
- :tSYMBOL, "a", :expr_end, 0, 0,
540
- :tCOMMA, ",", :expr_beg, 0, 0,
541
- :tLBRACK, "[", :expr_beg, 1, 0,
542
- :tSYMBOL, "b", :expr_end, 1, 0,
543
- :tRBRACK, "]", :expr_endarg, 0, 0,
544
- :tLBRACE_ARG, "{", :expr_beg, 0, 1,
545
- :tPIPE, "|", :expr_beg, 0, 1,
546
- :tIDENTIFIER, "c", :expr_arg, 0, 1,
547
- :tCOMMA, ",", :expr_beg, 0, 1,
548
- :tIDENTIFIER, "d", :expr_arg, 0, 1,
549
- :tPIPE, "|", :expr_beg, 0, 1,
550
- :tRCURLY, "}", :expr_endarg, 0, 0)
551
- end
552
-
553
- def test_yylex_const_call_same_name
554
- assert_lex("X = a { }; b { f :c }",
555
- s(:block,
556
- s(:cdecl, :X, s(:iter, s(:call, nil, :a), 0)),
557
- s(:iter,
558
- s(:call, nil, :b),
559
- 0,
560
- s(:call, nil, :f, s(:lit, :c)))),
561
-
562
- :tCONSTANT, "X", :expr_cmdarg, 0, 0,
563
- :tEQL, "=", :expr_beg, 0, 0,
564
- :tIDENTIFIER, "a", :expr_arg, 0, 0,
565
- :tLCURLY, "{", :expr_beg, 0, 1,
566
- :tRCURLY, "}", :expr_endarg, 0, 0,
567
- :tSEMI, ";", :expr_beg, 0, 0,
568
-
569
- :tIDENTIFIER, "b", :expr_cmdarg, 0, 0,
570
- :tLCURLY, "{", :expr_beg, 0, 1,
571
- :tIDENTIFIER, "f", :expr_cmdarg, 0, 1, # different
572
- :tSYMBOL, "c", :expr_end, 0, 1,
573
- :tRCURLY, "}", :expr_endarg, 0, 0)
574
-
575
- assert_lex("X = a { }; b { X :c }",
576
- s(:block,
577
- s(:cdecl, :X, s(:iter, s(:call, nil, :a), 0)),
578
- s(:iter,
579
- s(:call, nil, :b),
580
- 0,
581
- s(:call, nil, :X, s(:lit, :c)))),
582
-
583
- :tCONSTANT, "X", :expr_cmdarg, 0, 0,
584
- :tEQL, "=", :expr_beg, 0, 0,
585
- :tIDENTIFIER, "a", :expr_arg, 0, 0,
586
- :tLCURLY, "{", :expr_beg, 0, 1,
587
- :tRCURLY, "}", :expr_endarg, 0, 0,
588
- :tSEMI, ";", :expr_beg, 0, 0,
589
-
590
- :tIDENTIFIER, "b", :expr_cmdarg, 0, 0,
591
- :tLCURLY, "{", :expr_beg, 0, 1,
592
- :tCONSTANT, "X", :expr_cmdarg, 0, 1, # same
593
- :tSYMBOL, "c", :expr_end, 0, 1,
594
- :tRCURLY, "}", :expr_endarg, 0, 0)
595
- end
596
-
597
- def test_yylex_lasgn_call_same_name
598
- assert_lex("a = b.c :d => 1",
599
- s(:lasgn, :a,
600
- s(:call, s(:call, nil, :b), :c,
601
- s(:hash, s(:lit, :d), s(:lit, 1)))),
602
-
603
- :tIDENTIFIER, "a", :expr_cmdarg, 0, 0,
604
- :tEQL, "=", :expr_beg, 0, 0,
605
- :tIDENTIFIER, "b", :expr_arg, 0, 0,
606
- :tDOT, ".", :expr_dot, 0, 0,
607
- :tIDENTIFIER, "c", :expr_arg, 0, 0, # different
608
- :tSYMBOL, "d", :expr_end, 0, 0,
609
- :tASSOC, "=>", :expr_beg, 0, 0,
610
- :tINTEGER, 1, :expr_end, 0, 0)
611
-
612
- assert_lex("a = b.a :d => 1",
613
- s(:lasgn, :a,
614
- s(:call, s(:call, nil, :b), :a,
615
- s(:hash, s(:lit, :d), s(:lit, 1)))),
616
-
617
- :tIDENTIFIER, "a", :expr_cmdarg, 0, 0,
618
- :tEQL, "=", :expr_beg, 0, 0,
619
- :tIDENTIFIER, "b", :expr_arg, 0, 0,
620
- :tDOT, ".", :expr_dot, 0, 0,
621
- :tIDENTIFIER, "a", :expr_arg, 0, 0, # same as lvar
622
- :tSYMBOL, "d", :expr_end, 0, 0,
623
- :tASSOC, "=>", :expr_beg, 0, 0,
624
- :tINTEGER, 1, :expr_end, 0, 0)
625
- end
626
-
627
- def test_yylex_back_ref
628
- assert_lex3("[$&, $`, $', $+]",
629
- nil,
630
- :tLBRACK, "[", :expr_beg,
631
- :tBACK_REF, :&, :expr_end, :tCOMMA, ",", :expr_beg,
632
- :tBACK_REF, :"`", :expr_end, :tCOMMA, ",", :expr_beg,
633
- :tBACK_REF, :"'", :expr_end, :tCOMMA, ",", :expr_beg,
634
- :tBACK_REF, :+, :expr_end,
635
- :tRBRACK, "]", :expr_endarg)
636
- end
637
-
638
- def test_yylex_backslash
639
- assert_lex3("1 \\\n+ 2",
640
- nil,
641
- :tINTEGER, 1, :expr_end,
642
- :tPLUS, "+", :expr_beg,
643
- :tINTEGER, 2, :expr_end)
644
- end
645
-
646
- def test_yylex_backslash_bad
647
- refute_lex("1 \\ + 2", :tINTEGER, 1)
648
- end
649
-
650
- def test_yylex_backtick
651
- assert_lex3("`ls`",
652
- nil,
653
- :tXSTRING_BEG, "`", :expr_beg,
654
- :tSTRING_CONTENT, "ls", :expr_beg,
655
- :tSTRING_END, "`", :expr_end)
656
- end
657
-
658
- def test_yylex_backtick_cmdarg
659
- self.lex_state = :expr_dot
660
-
661
- # \n ensures expr_cmd (TODO: why?)
662
- assert_lex3("\n`", nil, :tBACK_REF2, "`", :expr_cmdarg)
663
- end
664
-
665
- def test_yylex_backtick_dot
666
- self.lex_state = :expr_dot
667
-
668
- assert_lex3("a.`(3)",
669
- nil,
670
- :tIDENTIFIER, "a", :expr_cmdarg,
671
- :tDOT, ".", :expr_dot,
672
- :tBACK_REF2, "`", :expr_arg,
673
- :tLPAREN2, "(", :expr_beg,
674
- :tINTEGER, 3, :expr_end,
675
- :tRPAREN, ")", :expr_endfn)
676
- end
677
-
678
- def test_yylex_backtick_method
679
- self.lex_state = :expr_fname
680
-
681
- assert_lex3("`",
682
- nil,
683
- :tBACK_REF2, "`", :expr_end)
684
- end
685
-
686
- def test_yylex_bad_char
687
- refute_lex(" \010 ")
688
- end
689
-
690
- def test_yylex_bang
691
- assert_lex3("!", nil, :tBANG, "!", :expr_beg)
692
- end
693
-
694
- def test_yylex_bang_equals
695
- assert_lex3("!=", nil, :tNEQ, "!=", :expr_beg)
696
- end
697
-
698
- def test_yylex_bang_tilde
699
- assert_lex3("!~", nil, :tNMATCH, "!~", :expr_beg)
700
- end
701
-
702
- def test_yylex_carat
703
- assert_lex3("^", nil, :tCARET, "^", :expr_beg)
704
- end
705
-
706
- def test_yylex_carat_equals
707
- assert_lex3("^=", nil, :tOP_ASGN, "^", :expr_beg)
708
- end
709
-
710
- def test_yylex_colon2
711
- assert_lex3("A::B",
712
- nil,
713
- :tCONSTANT, "A", :expr_cmdarg,
714
- :tCOLON2, "::", :expr_dot,
715
- :tCONSTANT, "B", :expr_arg)
716
- end
717
-
718
- def test_yylex_colon2_argh
719
- assert_lex3("module X::Y\n c\nend",
720
- nil,
721
- :kMODULE, "module", :expr_value,
722
- :tCONSTANT, "X", :expr_arg,
723
- :tCOLON2, "::", :expr_dot,
724
- :tCONSTANT, "Y", :expr_arg,
725
- :tNL, nil, :expr_beg,
726
- :tIDENTIFIER, "c", :expr_cmdarg,
727
- :tNL, nil, :expr_beg,
728
- :kEND, "end", :expr_end)
729
- end
730
-
731
- def test_yylex_colon3
732
- assert_lex3("::Array",
733
- nil,
734
- :tCOLON3, "::", :expr_beg,
735
- :tCONSTANT, "Array", :expr_arg)
736
- end
737
-
738
- def test_yylex_comma
739
- assert_lex3(",", nil, :tCOMMA, ",", :expr_beg)
740
- end
741
-
742
- def test_yylex_comment
743
- assert_lex3("1 # one\n# two\n2",
744
- nil,
745
- :tINTEGER, 1, :expr_end,
746
- :tNL, nil, :expr_beg,
747
- :tINTEGER, 2, :expr_end)
748
-
749
- assert_equal "# one\n# two\n", @lex.comments
750
- end
751
-
752
- def test_yylex_comment_begin
753
- assert_lex3("=begin\nblah\nblah\n=end\n42",
754
- nil,
755
- :tINTEGER, 42, :expr_end)
756
-
757
- assert_equal "=begin\nblah\nblah\n=end\n", @lex.comments
758
- end
759
-
760
- def test_yylex_comment_begin_bad
761
- refute_lex("=begin\nblah\nblah\n")
762
-
763
- assert_equal "", @lex.comments
764
- end
765
-
766
- def test_yylex_comment_begin_not_comment
767
- assert_lex3("beginfoo = 5\np x \\\n=beginfoo",
768
- nil,
769
- :tIDENTIFIER, "beginfoo", :expr_cmdarg,
770
- :tEQL, "=", :expr_beg,
771
- :tINTEGER, 5, :expr_end,
772
- :tNL, nil, :expr_beg,
773
- :tIDENTIFIER, "p", :expr_cmdarg,
774
- :tIDENTIFIER, "x", :expr_arg,
775
- :tEQL, "=", :expr_beg,
776
- :tIDENTIFIER, "beginfoo", :expr_arg)
777
- end
778
-
779
- def test_yylex_comment_begin_space
780
- assert_lex3("=begin blah\nblah\n=end\n", nil)
781
-
782
- assert_equal "=begin blah\nblah\n=end\n", @lex.comments
783
- end
784
-
785
- def test_yylex_comment_end_space_and_text
786
- assert_lex3("=begin blah\nblah\n=end blab\n", nil)
787
-
788
- assert_equal "=begin blah\nblah\n=end blab\n", @lex.comments
789
- end
790
-
791
- def test_yylex_comment_eos
792
- assert_lex3("# comment", nil)
793
- end
794
-
795
- def test_yylex_constant
796
- assert_lex3("ArgumentError", nil, :tCONSTANT, "ArgumentError", :expr_cmdarg)
797
- end
798
-
799
- def test_yylex_constant_semi
800
- assert_lex3("ArgumentError;",
801
- nil,
802
- :tCONSTANT, "ArgumentError", :expr_cmdarg,
803
- :tSEMI, ";", :expr_beg)
804
- end
805
-
806
- def test_yylex_cvar
807
- assert_lex3("@@blah", nil, :tCVAR, "@@blah", :expr_end)
808
- end
809
-
810
- def test_yylex_cvar_bad
811
- assert_raises RubyParser::SyntaxError do
812
- assert_lex3("@@1", nil)
813
- end
814
- end
815
-
816
- def test_yylex_def_bad_name
817
- self.lex_state = :expr_fname
818
- refute_lex("def [ ", :kDEF, "def")
819
- end
820
-
821
- def test_yylex_div
822
- assert_lex3("a / 2",
823
- nil,
824
- :tIDENTIFIER, "a", :expr_cmdarg,
825
- :tDIVIDE, "/", :expr_beg,
826
- :tINTEGER, 2, :expr_end)
827
- end
828
-
829
- def test_yylex_div_equals
830
- assert_lex3("a /= 2",
831
- nil,
832
- :tIDENTIFIER, "a", :expr_cmdarg,
833
- :tOP_ASGN, "/", :expr_beg,
834
- :tINTEGER, 2, :expr_end)
835
- end
836
-
837
- def test_yylex_do
838
- assert_lex3("x do 42 end",
839
- nil,
840
- :tIDENTIFIER, "x", :expr_cmdarg,
841
- :kDO, "do", :expr_beg,
842
- :tINTEGER, 42, :expr_end,
843
- :kEND, "end", :expr_end)
844
- end
845
-
846
- def test_yylex_do_block
847
- self.lex_state = :expr_endarg
848
-
849
- assert_lex3("x.y do 42 end",
850
- nil,
851
- :tIDENTIFIER, "x", :expr_end,
852
- :tDOT, ".", :expr_dot,
853
- :tIDENTIFIER, "y", :expr_arg,
854
- :kDO_BLOCK, "do", :expr_beg,
855
- :tINTEGER, 42, :expr_end,
856
- :kEND, "end", :expr_end) do
857
- @lex.cmdarg.push true
858
- end
859
- end
860
-
861
- def test_yylex_do_block2
862
- self.lex_state = :expr_endarg
863
-
864
- assert_lex3("do 42 end",
865
- nil,
866
- :kDO_BLOCK, "do", :expr_beg,
867
- :tINTEGER, 42, :expr_end,
868
- :kEND, "end", :expr_end)
869
- end
870
-
871
- def test_yylex_is_your_spacebar_broken?
872
- assert_lex3(":a!=:b",
873
- nil,
874
- :tSYMBOL, "a", :expr_end,
875
- :tNEQ, "!=", :expr_beg,
876
- :tSYMBOL, "b", :expr_end)
877
- end
878
-
879
- def test_yylex_do_cond
880
- assert_lex3("x do 42 end",
881
- nil,
882
- :tIDENTIFIER, "x", :expr_cmdarg,
883
- :kDO_COND, "do", :expr_beg,
884
- :tINTEGER, 42, :expr_end,
885
- :kEND, "end", :expr_end) do
886
- @lex.cond.push true
887
- end
888
- end
889
-
890
- def test_yylex_dollar_bad
891
- e = refute_lex("$%")
892
- assert_includes(e.message, "is not allowed as a global variable name")
893
- end
894
-
895
- def test_yylex_dollar_eos
896
- assert_lex3("$", nil, "$", "$", :expr_end) # FIX: wtf is this?!?
897
- end
898
-
899
- def test_yylex_dot # HINT message sends
900
- assert_lex3(".", nil, :tDOT, ".", :expr_dot)
901
- end
902
-
903
- def test_yylex_dot2
904
- assert_lex3("..", nil, :tDOT2, "..", :expr_beg)
905
- end
906
-
907
- def test_yylex_dot3
908
- assert_lex3("...", nil, :tDOT3, "...", :expr_beg)
909
- end
910
-
911
- def test_yylex_equals
912
- # FIX: this sucks
913
- assert_lex3("=", nil, :tEQL, "=", :expr_beg)
914
- end
915
-
916
- def test_yylex_equals2
917
- assert_lex3("==", nil, :tEQ, "==", :expr_beg)
918
- end
919
-
920
- def test_yylex_equals3
921
- assert_lex3("===", nil, :tEQQ, "===", :expr_beg)
922
- end
923
-
924
- def test_yylex_equals_tilde
925
- assert_lex3("=~", nil, :tMATCH, "=~", :expr_beg)
926
- end
927
-
928
- def test_yylex_float
929
- assert_lex3("1.0", nil, :tFLOAT, 1.0, :expr_end)
930
- end
931
-
932
- def test_yylex_float_bad_no_underscores
933
- refute_lex "1__0.0"
934
- end
935
-
936
- def test_yylex_float_bad_no_zero_leading
937
- refute_lex ".0"
938
- end
939
-
940
- def test_yylex_float_bad_trailing_underscore
941
- refute_lex "123_.0"
942
- end
943
-
944
- def test_yylex_float_call
945
- assert_lex3("1.0.to_s",
946
- nil,
947
- :tFLOAT, 1.0, :expr_end,
948
- :tDOT, ".", :expr_dot,
949
- :tIDENTIFIER, "to_s", :expr_arg)
950
- end
951
-
952
- def test_yylex_float_dot_E
953
- assert_lex3("1.0E10",
954
- nil,
955
- :tFLOAT, 10000000000.0, :expr_end)
956
- end
957
-
958
- def test_yylex_float_dot_E_neg
959
- assert_lex3("-1.0E10",
960
- nil,
961
- :tUMINUS_NUM, "-", :expr_beg,
962
- :tFLOAT, 10000000000.0, :expr_end)
963
- end
964
-
965
- def test_yylex_float_dot_e
966
- assert_lex3("1.0e10",
967
- nil,
968
- :tFLOAT, 10000000000.0, :expr_end)
969
- end
970
-
971
- def test_yylex_float_dot_e_neg
972
- assert_lex3("-1.0e10",
973
- nil,
974
- :tUMINUS_NUM, "-", :expr_beg,
975
- :tFLOAT, 10000000000.0, :expr_end)
976
- end
977
-
978
- def test_yylex_float_e
979
- assert_lex3("1e10",
980
- nil,
981
- :tFLOAT, 10000000000.0, :expr_end)
982
- end
983
-
984
- def test_yylex_float_e_bad_double_e
985
- assert_lex3("1e2e3",
986
- nil,
987
- :tFLOAT, 100, :expr_end,
988
- :tIDENTIFIER, "e3", :expr_end)
989
- end
990
-
991
- def test_yylex_float_if_modifier
992
- assert_lex3("1e2if",
993
- nil,
994
- :tFLOAT, 100, :expr_end,
995
- :kIF_MOD, "if", :expr_beg)
996
- end
997
-
998
- def test_yylex_float_e_bad_trailing_underscore
999
- refute_lex "123_e10"
1000
- end
1001
-
1002
- def test_yylex_float_e_minus
1003
- assert_lex3("1e-10", nil, :tFLOAT, 1.0e-10, :expr_end)
1004
- end
1005
-
1006
- def test_yylex_float_e_neg
1007
- assert_lex3("-1e10",
1008
- nil,
1009
- :tUMINUS_NUM, "-", :expr_beg,
1010
- :tFLOAT, 10000000000.0, :expr_end)
1011
- end
1012
-
1013
- def test_yylex_float_e_neg_minus
1014
- assert_lex3("-1e-10",
1015
- nil,
1016
- :tUMINUS_NUM, "-", :expr_beg,
1017
- :tFLOAT, 1.0e-10, :expr_end)
1018
- end
1019
-
1020
- def test_yylex_float_e_neg_plus
1021
- assert_lex3("-1e+10",
1022
- nil,
1023
- :tUMINUS_NUM, "-", :expr_beg,
1024
- :tFLOAT, 10000000000.0, :expr_end)
1025
- end
1026
-
1027
- def test_yylex_float_e_plus
1028
- assert_lex3("1e+10", nil, :tFLOAT, 10000000000.0, :expr_end)
1029
- end
1030
-
1031
- def test_yylex_float_e_zero
1032
- assert_lex3("0e0", nil, :tFLOAT, 0.0, :expr_end)
1033
- end
1034
-
1035
- def test_yylex_float_neg
1036
- assert_lex3("-1.0",
1037
- nil,
1038
- :tUMINUS_NUM, "-", :expr_beg,
1039
- :tFLOAT, 1.0, :expr_end)
1040
- end
1041
-
1042
- def test_yylex_ge
1043
- assert_lex3("a >= 2",
1044
- nil,
1045
- :tIDENTIFIER, "a", :expr_cmdarg,
1046
- :tGEQ, ">=", :expr_beg,
1047
- :tINTEGER, 2, :expr_end)
1048
- end
1049
-
1050
- def test_yylex_global
1051
- assert_lex3("$blah", nil, :tGVAR, "$blah", :expr_end)
1052
- end
1053
-
1054
- def test_yylex_global_backref
1055
- self.lex_state = :expr_fname
1056
-
1057
- assert_lex3("$`", nil, :tGVAR, "$`", :expr_end)
1058
- end
1059
-
1060
- def test_yylex_global_dash_nothing
1061
- assert_lex3("$- ", nil, :tGVAR, "$-", :expr_end)
1062
- end
1063
-
1064
- def test_yylex_global_dash_something
1065
- assert_lex3("$-x", nil, :tGVAR, "$-x", :expr_end)
1066
- end
1067
-
1068
- def test_yylex_global_number
1069
- self.lex_state = :expr_fname
1070
-
1071
- assert_lex3("$1", nil, :tGVAR, "$1", :expr_end)
1072
- end
1073
-
1074
- def test_yylex_global_number_big
1075
- self.lex_state = :expr_fname
1076
-
1077
- assert_lex3("$1234", nil, :tGVAR, "$1234", :expr_end)
1078
- end
1079
-
1080
- def test_yylex_global_other
1081
- assert_lex3("[$~, $*, $$, $?, $!, $@, $/, $\\, $;, $,, $., $=, $:, $<, $>, $\"]",
1082
- nil,
1083
- :tLBRACK, "[", :expr_beg,
1084
- :tGVAR, "$~", :expr_end, :tCOMMA, ",", :expr_beg,
1085
- :tGVAR, "$*", :expr_end, :tCOMMA, ",", :expr_beg,
1086
- :tGVAR, "$$", :expr_end, :tCOMMA, ",", :expr_beg,
1087
- :tGVAR, "$?", :expr_end, :tCOMMA, ",", :expr_beg,
1088
- :tGVAR, "$!", :expr_end, :tCOMMA, ",", :expr_beg,
1089
- :tGVAR, "$@", :expr_end, :tCOMMA, ",", :expr_beg,
1090
- :tGVAR, "$/", :expr_end, :tCOMMA, ",", :expr_beg,
1091
- :tGVAR, "$\\", :expr_end, :tCOMMA, ",", :expr_beg,
1092
- :tGVAR, "$;", :expr_end, :tCOMMA, ",", :expr_beg,
1093
- :tGVAR, "$,", :expr_end, :tCOMMA, ",", :expr_beg,
1094
- :tGVAR, "$.", :expr_end, :tCOMMA, ",", :expr_beg,
1095
- :tGVAR, "$=", :expr_end, :tCOMMA, ",", :expr_beg,
1096
- :tGVAR, "$:", :expr_end, :tCOMMA, ",", :expr_beg,
1097
- :tGVAR, "$<", :expr_end, :tCOMMA, ",", :expr_beg,
1098
- :tGVAR, "$>", :expr_end, :tCOMMA, ",", :expr_beg,
1099
- :tGVAR, "$\"", :expr_end,
1100
- :tRBRACK, "]", :expr_endarg)
1101
- end
1102
-
1103
- def test_yylex_global_underscore
1104
- assert_lex3("$_", nil, :tGVAR, "$_", :expr_end)
1105
- end
1106
-
1107
- def test_yylex_global_wierd
1108
- assert_lex3("$__blah", nil, :tGVAR, "$__blah", :expr_end)
1109
- end
1110
-
1111
- def test_yylex_global_zero
1112
- assert_lex3("$0", nil, :tGVAR, "$0", :expr_end)
1113
- end
1114
-
1115
- def test_yylex_gt
1116
- assert_lex3("a > 2",
1117
- nil,
1118
- :tIDENTIFIER, "a", :expr_cmdarg,
1119
- :tGT, ">", :expr_beg,
1120
- :tINTEGER, 2, :expr_end)
1121
- end
1122
-
1123
- def test_yylex_heredoc_backtick
1124
- assert_lex3("a = <<`EOF`\n blah blah\nEOF\n\n",
1125
- nil,
1126
- :tIDENTIFIER, "a", :expr_cmdarg,
1127
- :tEQL, "=", :expr_beg,
1128
- :tXSTRING_BEG, "`", :expr_beg,
1129
- :tSTRING_CONTENT, " blah blah\n", :expr_beg,
1130
- :tSTRING_END, "EOF", :expr_end,
1131
- :tNL, nil, :expr_beg)
1132
- end
1133
-
1134
- def test_yylex_heredoc_double
1135
- assert_lex3("a = <<\"EOF\"\n blah blah\nEOF\n\n",
1136
- nil,
1137
- :tIDENTIFIER, "a", :expr_cmdarg,
1138
- :tEQL, "=", :expr_beg,
1139
- :tSTRING_BEG, "\"", :expr_beg,
1140
- :tSTRING_CONTENT, " blah blah\n", :expr_beg,
1141
- :tSTRING_END, "EOF", :expr_end,
1142
- :tNL, nil, :expr_beg)
1143
- end
1144
-
1145
- def test_yylex_heredoc_double_dash
1146
- assert_lex3("a = <<-\"EOF\"\n blah blah\n EOF\n\n",
1147
- nil,
1148
- :tIDENTIFIER, "a", :expr_cmdarg,
1149
- :tEQL, "=", :expr_beg,
1150
- :tSTRING_BEG, "\"", :expr_beg,
1151
- :tSTRING_CONTENT, " blah blah\n", :expr_beg,
1152
- :tSTRING_END, "EOF", :expr_end,
1153
- :tNL, nil, :expr_beg)
1154
- end
1155
-
1156
- def test_yylex_heredoc_double_squiggly
1157
- setup_lexer_class Ruby23Parser
1158
-
1159
- assert_lex3("a = <<~\"EOF\"\n blah blah\n EOF\n\n",
1160
- nil,
1161
- :tIDENTIFIER, "a", :expr_cmdarg,
1162
- :tEQL, "=", :expr_beg,
1163
- :tSTRING_BEG, "\"", :expr_beg,
1164
- :tSTRING_CONTENT, "blah blah\n", :expr_beg,
1165
- :tSTRING_END, "EOF", :expr_end,
1166
- :tNL, nil, :expr_beg)
1167
- end
1168
-
1169
- # mri handles tabs in a pretty specific way:
1170
- # https://github.com/ruby/ruby/blob/trunk/parse.y#L5925
1171
- def test_yylex_heredoc_double_squiggly_with_tab_indentation_remaining
1172
- setup_lexer_class Ruby23Parser
1173
-
1174
- assert_lex3("a = <<~\"EOF\"\n blah blah\n \tblah blah\n EOF\n\n",
1175
- nil,
1176
- :tIDENTIFIER, "a", :expr_cmdarg,
1177
- :tEQL, "=", :expr_beg,
1178
- :tSTRING_BEG, "\"", :expr_beg,
1179
- :tSTRING_CONTENT, "blah blah\n\tblah blah\n", :expr_beg,
1180
- :tSTRING_END, "EOF", :expr_end,
1181
- :tNL, nil, :expr_beg)
1182
- end
1183
-
1184
- def test_yylex_heredoc_double_squiggly_with_tab_indentation_removed
1185
- setup_lexer_class Ruby23Parser
1186
-
1187
- assert_lex3("a = <<~\"EOF\"\n blah blah\n\t blah blah\n EOF\n\n",
1188
- nil,
1189
- :tIDENTIFIER, "a", :expr_cmdarg,
1190
- :tEQL, "=", :expr_beg,
1191
- :tSTRING_BEG, "\"", :expr_beg,
1192
- :tSTRING_CONTENT, "blah blah\n blah blah\n", :expr_beg,
1193
- :tSTRING_END, "EOF", :expr_end,
1194
- :tNL, nil, :expr_beg)
1195
- end
1196
-
1197
- def test_yylex_heredoc_double_eos
1198
- refute_lex("a = <<\"EOF\"\nblah",
1199
- :tIDENTIFIER, "a",
1200
- :tEQL, "=",
1201
- :tSTRING_BEG, "\"")
1202
- end
1203
-
1204
- def test_yylex_heredoc_double_eos_nl
1205
- refute_lex("a = <<\"EOF\"\nblah\n",
1206
- :tIDENTIFIER, "a",
1207
- :tEQL, "=",
1208
- :tSTRING_BEG, "\"")
1209
- end
1210
-
1211
- def test_yylex_heredoc_double_interp
1212
- assert_lex3("a = <<\"EOF\"\n#x a \#@a b \#$b c \#{3} \nEOF\n\n",
1213
- nil,
1214
- :tIDENTIFIER, "a", :expr_cmdarg,
1215
- :tEQL, "=", :expr_beg,
1216
- :tSTRING_BEG, "\"", :expr_beg,
1217
- :tSTRING_CONTENT, "#x a ", :expr_beg,
1218
- :tSTRING_DVAR, "\#@", :expr_beg,
1219
- :tSTRING_CONTENT, "@a b ", :expr_beg, # HUH?
1220
- :tSTRING_DVAR, "\#$", :expr_beg,
1221
- :tSTRING_CONTENT, "$b c ", :expr_beg, # HUH?
1222
- :tSTRING_DBEG, "\#{", :expr_beg,
1223
- :tSTRING_CONTENT, "3} \n", :expr_beg, # HUH?
1224
- :tSTRING_END, "EOF", :expr_end,
1225
- :tNL, nil, :expr_beg)
1226
- end
1227
-
1228
- def test_yylex_heredoc_empty
1229
- assert_lex3("<<\"\"\n\#{x}\nblah2\n\n\n",
1230
- nil,
1231
- :tSTRING_BEG, "\"", :expr_beg,
1232
- :tSTRING_DBEG, "\#{", :expr_beg,
1233
- :tSTRING_CONTENT, "x}\nblah2\n", :expr_beg,
1234
- :tSTRING_END, "", :expr_end,
1235
- :tNL, nil, :expr_beg)
1236
- end
1237
-
1238
- def test_yylex_heredoc_none
1239
- assert_lex3("a = <<EOF\nblah\nblah\nEOF\n",
1240
- nil,
1241
- :tIDENTIFIER, "a", :expr_cmdarg,
1242
- :tEQL, "=", :expr_beg,
1243
- :tSTRING_BEG, "\"", :expr_beg,
1244
- :tSTRING_CONTENT, "blah\nblah\n", :expr_beg,
1245
- :tSTRING_END, "EOF", :expr_end,
1246
- :tNL, nil, :expr_beg)
1247
- end
1248
-
1249
- def test_yylex_heredoc_none_bad_eos
1250
- refute_lex("a = <<EOF",
1251
- :tIDENTIFIER, "a",
1252
- :tEQL, "=",
1253
- :tSTRING_BEG, "\"")
1254
- end
1255
-
1256
- def test_yylex_heredoc_none_dash
1257
- assert_lex3("a = <<-EOF\nblah\nblah\n EOF\n",
1258
- nil,
1259
- :tIDENTIFIER, "a", :expr_cmdarg,
1260
- :tEQL, "=", :expr_beg,
1261
- :tSTRING_BEG, "\"", :expr_beg,
1262
- :tSTRING_CONTENT, "blah\nblah\n", :expr_beg,
1263
- :tSTRING_END, "EOF", :expr_end,
1264
- :tNL, nil, :expr_beg)
1265
- end
1266
-
1267
- def test_yylex_heredoc_none_squiggly
1268
- setup_lexer_class Ruby23Parser
1269
-
1270
- assert_lex3("a = <<~EOF\n blah\n blah\n EOF\n",
1271
- nil,
1272
- :tIDENTIFIER, "a", :expr_cmdarg,
1273
- :tEQL, "=", :expr_beg,
1274
- :tSTRING_BEG, "\"", :expr_beg,
1275
- :tSTRING_CONTENT, "blah\nblah\n", :expr_beg,
1276
- :tSTRING_END, "EOF", :expr_end,
1277
- :tNL, nil, :expr_beg)
1278
- end
1279
-
1280
- def test_yylex_heredoc_single
1281
- assert_lex3("a = <<'EOF'\n blah blah\nEOF\n\n",
1282
- nil,
1283
- :tIDENTIFIER, "a", :expr_cmdarg,
1284
- :tEQL, "=", :expr_beg,
1285
- :tSTRING_BEG, "\"", :expr_beg,
1286
- :tSTRING_CONTENT, " blah blah\n", :expr_beg,
1287
- :tSTRING_END, "EOF", :expr_end,
1288
- :tNL, nil, :expr_beg)
1289
- end
1290
-
1291
- def test_yylex_heredoc_single_bad_eos_body
1292
- refute_lex("a = <<'EOF'\nblah",
1293
- :tIDENTIFIER, "a",
1294
- :tEQL, "=",
1295
- :tSTRING_BEG, "\"")
1296
- end
1297
-
1298
- def test_yylex_heredoc_single_bad_eos_empty
1299
- refute_lex("a = <<''\n",
1300
- :tIDENTIFIER, "a",
1301
- :tEQL, "=",
1302
- :tSTRING_BEG, "\"")
1303
- end
1304
-
1305
- def test_yylex_heredoc_single_bad_eos_term
1306
- refute_lex("a = <<'EOF",
1307
- :tIDENTIFIER, "a",
1308
- :tEQL, "=",
1309
- :tSTRING_BEG, "\"")
1310
- end
1311
-
1312
- def test_yylex_heredoc_single_bad_eos_term_nl
1313
- refute_lex("a = <<'EOF\ns = 'blah blah'",
1314
- :tIDENTIFIER, "a",
1315
- :tEQL, "=",
1316
- :tSTRING_BEG, "\"")
1317
- end
1318
-
1319
- def test_yylex_heredoc_single_dash
1320
- assert_lex3("a = <<-'EOF'\n blah blah\n EOF\n\n",
1321
- nil,
1322
- :tIDENTIFIER, "a", :expr_cmdarg,
1323
- :tEQL, "=", :expr_beg,
1324
- :tSTRING_BEG, "\"", :expr_beg,
1325
- :tSTRING_CONTENT, " blah blah\n", :expr_beg,
1326
- :tSTRING_END, "EOF", :expr_end,
1327
- :tNL, nil, :expr_beg)
1328
- end
1329
-
1330
- def test_yylex_heredoc_single_squiggly
1331
- setup_lexer_class Ruby23Parser
1332
-
1333
- assert_lex3("a = <<~'EOF'\n blah blah\n EOF\n\n",
1334
- nil,
1335
- :tIDENTIFIER, "a", :expr_cmdarg,
1336
- :tEQL, "=", :expr_beg,
1337
- :tSTRING_BEG, "\"", :expr_beg,
1338
- :tSTRING_CONTENT, "blah blah\n", :expr_beg,
1339
- :tSTRING_END, "EOF", :expr_end,
1340
- :tNL, nil, :expr_beg)
1341
- end
1342
-
1343
- def test_yylex_identifier
1344
- assert_lex3("identifier",
1345
- nil,
1346
- :tIDENTIFIER, "identifier", :expr_cmdarg)
1347
- end
1348
-
1349
- def test_yylex_identifier_bang
1350
- assert_lex3("identifier!",
1351
- nil,
1352
- :tFID, "identifier!", :expr_cmdarg)
1353
- end
1354
-
1355
- def test_yylex_identifier_cmp
1356
- assert_lex_fname "<=>", :tCMP
1357
- end
1358
-
1359
- def test_yylex_identifier_def__18
1360
- setup_lexer_class RubyParser::V18
1361
-
1362
- assert_lex_fname "identifier", :tIDENTIFIER, :expr_end
1363
- end
1364
-
1365
- def test_yylex_identifier_def__1920
1366
- setup_lexer_class RubyParser::V19
1367
-
1368
- assert_lex_fname "identifier", :tIDENTIFIER, :expr_endfn
1369
- end
1370
-
1371
- def test_yylex_identifier_eh
1372
- assert_lex3("identifier?", nil, :tFID, "identifier?", :expr_cmdarg)
1373
- end
1374
-
1375
- def test_yylex_identifier_equals_arrow
1376
- assert_lex3(":blah==>",
1377
- nil,
1378
- :tSYMBOL, "blah=", :expr_end,
1379
- :tASSOC, "=>", :expr_beg)
1380
- end
1381
-
1382
- def test_yylex_identifier_equals3
1383
- assert_lex3(":a===b",
1384
- nil,
1385
- :tSYMBOL, "a", :expr_end,
1386
- :tEQQ, "===", :expr_beg,
1387
- :tIDENTIFIER, "b", :expr_arg)
1388
- end
1389
-
1390
- def test_yylex_identifier_equals_equals_arrow
1391
- assert_lex3(":a==>b",
1392
- nil,
1393
- :tSYMBOL, "a=", :expr_end,
1394
- :tASSOC, "=>", :expr_beg,
1395
- :tIDENTIFIER, "b", :expr_arg)
1396
- end
1397
-
1398
- def test_yylex_identifier_equals_caret
1399
- assert_lex_fname "^", :tCARET
1400
- end
1401
-
1402
- def test_yylex_identifier_equals_def__18
1403
- setup_lexer_class RubyParser::V18
1404
-
1405
- assert_lex_fname "identifier=", :tIDENTIFIER, :expr_end
1406
- end
1407
-
1408
- def test_yylex_identifier_equals_def__1920
1409
- setup_lexer_class RubyParser::V19
1410
-
1411
- assert_lex_fname "identifier=", :tIDENTIFIER, :expr_endfn
1412
- end
1413
-
1414
- def test_yylex_identifier_equals_def2
1415
- assert_lex_fname "==", :tEQ
1416
- end
1417
-
1418
- def test_yylex_identifier_equals_expr
1419
- self.lex_state = :expr_dot
1420
- assert_lex3("y = arg",
1421
- nil,
1422
- :tIDENTIFIER, "y", :expr_cmdarg,
1423
- :tEQL, "=", :expr_beg,
1424
- :tIDENTIFIER, "arg", :expr_arg)
1425
- end
1426
-
1427
- def test_yylex_identifier_equals_or
1428
- assert_lex_fname "|", :tPIPE
1429
- end
1430
-
1431
- def test_yylex_identifier_equals_slash
1432
- assert_lex_fname "/", :tDIVIDE
1433
- end
1434
-
1435
- def test_yylex_identifier_equals_tilde
1436
- self.lex_state = :expr_fname # can only set via parser's defs
1437
-
1438
- assert_lex3("identifier=~",
1439
- nil,
1440
- :tIDENTIFIER, "identifier", :expr_endfn,
1441
- :tMATCH, "=~", :expr_beg)
1442
- end
1443
-
1444
- def test_yylex_identifier_gt
1445
- assert_lex_fname ">", :tGT
1446
- end
1447
-
1448
- def test_yylex_identifier_le
1449
- assert_lex_fname "<=", :tLEQ
1450
- end
1451
-
1452
- def test_yylex_identifier_lt
1453
- assert_lex_fname "<", :tLT
1454
- end
1455
-
1456
- def test_yylex_identifier_tilde
1457
- assert_lex_fname "~", :tTILDE
1458
- end
1459
-
1460
- def test_yylex_index
1461
- assert_lex_fname "[]", :tAREF
1462
- end
1463
-
1464
- def test_yylex_index_equals
1465
- assert_lex_fname "[]=", :tASET
1466
- end
1467
-
1468
- def test_yylex_integer
1469
- assert_lex3("42", nil, :tINTEGER, 42, :expr_end)
1470
- end
1471
-
1472
- def test_yylex_integer_bin
1473
- assert_lex3("0b101010", nil, :tINTEGER, 42, :expr_end)
1474
- end
1475
-
1476
- def test_yylex_integer_bin_bad_none
1477
- refute_lex "0b "
1478
- end
1479
-
1480
- def test_yylex_integer_bin_bad_underscores
1481
- refute_lex "0b10__01"
1482
- end
1483
-
1484
- def test_yylex_integer_dec
1485
- assert_lex3("42", nil, :tINTEGER, 42, :expr_end)
1486
- end
1487
-
1488
- def test_yylex_integer_dec_bad_underscores
1489
- refute_lex "42__24"
1490
- end
1491
-
1492
- def test_yylex_integer_dec_d
1493
- assert_lex3("0d42", nil, :tINTEGER, 42, :expr_end)
1494
- end
1495
-
1496
- def test_yylex_integer_dec_d_bad_none
1497
- refute_lex "0d"
1498
- end
1499
-
1500
- def test_yylex_integer_dec_d_bad_underscores
1501
- refute_lex "0d42__24"
1502
- end
1503
-
1504
- def test_yylex_integer_if_modifier
1505
- assert_lex3("123if",
1506
- nil,
1507
- :tINTEGER, 123, :expr_end,
1508
- :kIF_MOD, "if", :expr_beg)
1509
- end
1510
-
1511
- def test_yylex_question_eh_a__18
1512
- setup_lexer_class RubyParser::V18
1513
-
1514
- assert_lex3("?a", nil, :tINTEGER, 97, :expr_end)
1515
- end
1516
-
1517
- def test_yylex_question_eh_a__19
1518
- setup_lexer_class RubyParser::V19
1519
-
1520
- assert_lex3("?a", nil, :tSTRING, "a", :expr_end)
1521
- end
1522
-
1523
- def test_yylex_question_eh_escape_M_escape_C__18
1524
- setup_lexer_class RubyParser::V18
1525
-
1526
- assert_lex3("?\\M-\\C-a", nil, :tINTEGER, 129, :expr_end)
1527
- end
1528
-
1529
- def test_yylex_question_eh_escape_M_escape_C__19
1530
- setup_lexer_class RubyParser::V19
1531
-
1532
- assert_lex3("?\\M-\\C-a", nil, :tSTRING, "\M-\C-a", :expr_end)
1533
- end
1534
-
1535
- def test_yylex_integer_hex
1536
- assert_lex3 "0x2a", nil, :tINTEGER, 42, :expr_end
1537
- end
1538
-
1539
- def test_yylex_integer_hex_bad_none
1540
- refute_lex "0x "
1541
- end
1542
-
1543
- def test_yylex_integer_hex_bad_underscores
1544
- refute_lex "0xab__cd"
1545
- end
1546
-
1547
- def test_yylex_integer_oct
1548
- assert_lex3("052", nil, :tINTEGER, 42, :expr_end)
1549
- end
1550
-
1551
- def test_yylex_integer_oct_bad_range
1552
- refute_lex "08"
1553
- end
1554
-
1555
- def test_yylex_integer_oct_bad_range2
1556
- refute_lex "08"
1557
- end
1558
-
1559
- def test_yylex_integer_oct_bad_underscores
1560
- refute_lex "01__23"
1561
- end
1562
-
1563
- def test_yylex_integer_oct_O
1564
- assert_lex3 "0O52", nil, :tINTEGER, 42, :expr_end
1565
- end
1566
-
1567
- def test_yylex_integer_oct_O_bad_range
1568
- refute_lex "0O8"
1569
- end
1570
-
1571
- def test_yylex_integer_oct_O_bad_underscores
1572
- refute_lex "0O1__23"
1573
- end
1574
-
1575
- def test_yylex_integer_oct_O_not_bad_none
1576
- assert_lex3 "0O ", nil, :tINTEGER, 0, :expr_end
1577
- end
1578
-
1579
- def test_yylex_integer_oct_o
1580
- assert_lex3 "0o52", nil, :tINTEGER, 42, :expr_end
1581
- end
1582
-
1583
- def test_yylex_integer_oct_o_bad_range
1584
- refute_lex "0o8"
1585
- end
1586
-
1587
- def test_yylex_integer_oct_o_bad_underscores
1588
- refute_lex "0o1__23"
1589
- end
1590
-
1591
- def test_yylex_integer_oct_o_not_bad_none
1592
- assert_lex3 "0o ", nil, :tINTEGER, 0, :expr_end
1593
- end
1594
-
1595
- def test_yylex_integer_trailing
1596
- assert_lex3("1.to_s",
1597
- nil,
1598
- :tINTEGER, 1, :expr_end,
1599
- :tDOT, ".", :expr_dot,
1600
- :tIDENTIFIER, "to_s", :expr_arg)
1601
- end
1602
-
1603
- def test_yylex_integer_underscore
1604
- assert_lex3("4_2", nil, :tINTEGER, 42, :expr_end)
1605
- end
1606
-
1607
- def test_yylex_integer_underscore_bad
1608
- refute_lex "4__2"
1609
- end
1610
-
1611
- def test_yylex_integer_zero
1612
- assert_lex3 "0", nil, :tINTEGER, 0, :expr_end
1613
- end
1614
-
1615
- def test_yylex_ivar
1616
- assert_lex3("@blah", nil, :tIVAR, "@blah", :expr_end)
1617
- end
1618
-
1619
- def test_yylex_ivar_bad
1620
- refute_lex "@1"
1621
- end
1622
-
1623
- def test_yylex_ivar_bad_0_length
1624
- refute_lex "1+@\n", :tINTEGER, 1, :tPLUS, "+", :expr_end
1625
- end
1626
-
1627
- def test_yylex_keyword_expr
1628
- self.lex_state = :expr_endarg
1629
-
1630
- assert_lex3("if", nil, :kIF_MOD, "if", :expr_beg)
1631
- end
1632
-
1633
- def test_yylex_lt
1634
- assert_lex3("<", nil, :tLT, "<", :expr_beg)
1635
- end
1636
-
1637
- def test_yylex_lt2
1638
- assert_lex3("a << b",
1639
- nil,
1640
- :tIDENTIFIER, "a", :expr_cmdarg,
1641
- :tLSHFT, "<<", :expr_beg,
1642
- :tIDENTIFIER, "b", :expr_arg)
1643
- end
1644
-
1645
- def test_yylex_lt2_equals
1646
- assert_lex3("a <<= b",
1647
- nil,
1648
- :tIDENTIFIER, "a", :expr_cmdarg,
1649
- :tOP_ASGN, "<<", :expr_beg,
1650
- :tIDENTIFIER, "b", :expr_arg)
1651
- end
1652
-
1653
- def test_yylex_lt_equals
1654
- assert_lex3("<=", nil, :tLEQ, "<=", :expr_beg)
1655
- end
1656
-
1657
- def test_yylex_minus
1658
- assert_lex3("1 - 2",
1659
- nil,
1660
- :tINTEGER, 1, :expr_end,
1661
- :tMINUS, "-", :expr_beg,
1662
- :tINTEGER, 2, :expr_end)
1663
- end
1664
-
1665
- def test_yylex_minus_equals
1666
- assert_lex3("-=", nil, :tOP_ASGN, "-", :expr_beg)
1667
- end
1668
-
1669
- def test_yylex_minus_method
1670
- self.lex_state = :expr_fname
1671
-
1672
- assert_lex3("-", nil, :tMINUS, "-", :expr_arg)
1673
- end
1674
-
1675
- def test_yylex_minus_unary_method
1676
- self.lex_state = :expr_fname
1677
-
1678
- assert_lex3("-@", nil, :tUMINUS, "-@", :expr_arg)
1679
- end
1680
-
1681
- def test_yylex_minus_unary_number
1682
- assert_lex3("-42",
1683
- nil,
1684
- :tUMINUS_NUM, "-", :expr_beg,
1685
- :tINTEGER, 42, :expr_end)
1686
- end
1687
-
1688
- def test_yylex_nth_ref
1689
- assert_lex3("[$1, $2, $3, $4, $5, $6, $7, $8, $9]",
1690
- nil,
1691
- :tLBRACK, "[", :expr_beg,
1692
- :tNTH_REF, 1, :expr_end, :tCOMMA, ",", :expr_beg,
1693
- :tNTH_REF, 2, :expr_end, :tCOMMA, ",", :expr_beg,
1694
- :tNTH_REF, 3, :expr_end, :tCOMMA, ",", :expr_beg,
1695
- :tNTH_REF, 4, :expr_end, :tCOMMA, ",", :expr_beg,
1696
- :tNTH_REF, 5, :expr_end, :tCOMMA, ",", :expr_beg,
1697
- :tNTH_REF, 6, :expr_end, :tCOMMA, ",", :expr_beg,
1698
- :tNTH_REF, 7, :expr_end, :tCOMMA, ",", :expr_beg,
1699
- :tNTH_REF, 8, :expr_end, :tCOMMA, ",", :expr_beg,
1700
- :tNTH_REF, 9, :expr_end,
1701
- :tRBRACK, "]", :expr_endarg)
1702
- end
1703
-
1704
- def test_yylex_open_bracket
1705
- assert_lex3("(", nil, :tLPAREN, "(", :expr_beg)
1706
- end
1707
-
1708
- def test_yylex_open_bracket_cmdarg
1709
- self.lex_state = :expr_cmdarg
1710
-
1711
- assert_lex3(" (", nil, :tLPAREN_ARG, "(", :expr_beg)
1712
- end
1713
-
1714
- def test_yylex_open_bracket_exprarg__18
1715
- setup_lexer_class RubyParser::V18
1716
- self.lex_state = :expr_arg
1717
-
1718
- assert_lex3(" (", nil, :tLPAREN2, "(", :expr_beg)
1719
- end
1720
-
1721
- def test_yylex_open_bracket_exprarg__19
1722
- setup_lexer_class RubyParser::V19
1723
- self.lex_state = :expr_arg
1724
-
1725
- assert_lex3(" (", nil, :tLPAREN_ARG, "(", :expr_beg)
1726
- end
1727
-
1728
- def test_yylex_open_curly_bracket
1729
- assert_lex3("{", nil, :tLBRACE, "{", :expr_beg)
1730
- end
1731
-
1732
- def test_yylex_open_curly_bracket_arg
1733
- self.lex_state = :expr_arg
1734
-
1735
- assert_lex3("m { 3 }",
1736
- nil,
1737
- :tIDENTIFIER, "m", :expr_cmdarg,
1738
- :tLCURLY, "{", :expr_beg,
1739
- :tINTEGER, 3, :expr_end,
1740
- :tRCURLY, "}", :expr_endarg)
1741
- end
1742
-
1743
- def test_yylex_open_curly_bracket_block
1744
- self.lex_state = :expr_endarg # seen m(3)
1745
-
1746
- assert_lex3("{ 4 }",
1747
- nil,
1748
- :tLBRACE_ARG, "{", :expr_beg,
1749
- :tINTEGER, 4, :expr_end,
1750
- :tRCURLY, "}", :expr_endarg)
1751
- end
1752
-
1753
- def test_yylex_open_square_bracket_arg
1754
- self.lex_state = :expr_arg
1755
-
1756
- assert_lex3("m [ 3 ]",
1757
- nil,
1758
- :tIDENTIFIER, "m", :expr_cmdarg,
1759
- :tLBRACK, "[", :expr_beg,
1760
- :tINTEGER, 3, :expr_end,
1761
- :tRBRACK, "]", :expr_endarg)
1762
- end
1763
-
1764
- def test_yylex_open_square_bracket_ary
1765
- assert_lex3("[1, 2, 3]",
1766
- nil,
1767
- :tLBRACK, "[", :expr_beg,
1768
- :tINTEGER, 1, :expr_end, :tCOMMA, ",", :expr_beg,
1769
- :tINTEGER, 2, :expr_end, :tCOMMA, ",", :expr_beg,
1770
- :tINTEGER, 3, :expr_end,
1771
- :tRBRACK, "]", :expr_endarg)
1772
- end
1773
-
1774
- def test_yylex_open_square_bracket_meth
1775
- assert_lex3("m[3]",
1776
- nil,
1777
- :tIDENTIFIER, "m", :expr_cmdarg,
1778
- :tLBRACK2, "[", :expr_beg,
1779
- :tINTEGER, 3, :expr_end,
1780
- :tRBRACK, "]", :expr_endarg)
1781
- end
1782
-
1783
- def test_yylex_or
1784
- assert_lex3("|", nil, :tPIPE, "|", :expr_beg)
1785
- end
1786
-
1787
- def test_yylex_or2
1788
- assert_lex3("||", nil, :tOROP, "||", :expr_beg)
1789
- end
1790
-
1791
- def test_yylex_or2_equals
1792
- assert_lex3("||=", nil, :tOP_ASGN, "||", :expr_beg)
1793
- end
1794
-
1795
- def test_yylex_or_equals
1796
- assert_lex3("|=", nil, :tOP_ASGN, "|", :expr_beg)
1797
- end
1798
-
1799
- def test_yylex_percent
1800
- assert_lex3("a % 2",
1801
- nil,
1802
- :tIDENTIFIER, "a", :expr_cmdarg,
1803
- :tPERCENT, "%", :expr_beg,
1804
- :tINTEGER, 2, :expr_end)
1805
- end
1806
-
1807
- def test_yylex_percent_equals
1808
- assert_lex3("a %= 2",
1809
- nil,
1810
- :tIDENTIFIER, "a", :expr_cmdarg,
1811
- :tOP_ASGN, "%", :expr_beg,
1812
- :tINTEGER, 2, :expr_end)
1813
- end
1814
-
1815
- def test_yylex_plus
1816
- assert_lex3("1 + 1", # TODO lex_state?
1817
- nil,
1818
- :tINTEGER, 1, :expr_end,
1819
- :tPLUS, "+", :expr_beg,
1820
- :tINTEGER, 1, :expr_end)
1821
- end
1822
-
1823
- def test_yylex_plus_equals
1824
- assert_lex3("+=", nil, :tOP_ASGN, "+", :expr_beg)
1825
- end
1826
-
1827
- def test_yylex_plus_method
1828
- self.lex_state = :expr_fname
1829
-
1830
- assert_lex3("+", nil, :tPLUS, "+", :expr_arg)
1831
- end
1832
-
1833
- def test_yylex_plus_unary_method
1834
- self.lex_state = :expr_fname
1835
-
1836
- assert_lex3("+@", nil, :tUPLUS, "+@", :expr_arg)
1837
- end
1838
-
1839
- def test_yylex_not_unary_method
1840
- self.lex_state = :expr_fname
1841
-
1842
- assert_lex3("!@", nil, :tUBANG, "!@", :expr_arg)
1843
- end
1844
-
1845
- def test_yylex_numbers
1846
- assert_lex3("0b10", nil, :tINTEGER, 2, :expr_end)
1847
- assert_lex3("0B10", nil, :tINTEGER, 2, :expr_end)
1848
-
1849
- assert_lex3("0d10", nil, :tINTEGER, 10, :expr_end)
1850
- assert_lex3("0D10", nil, :tINTEGER, 10, :expr_end)
1851
-
1852
- assert_lex3("0x10", nil, :tINTEGER, 16, :expr_end)
1853
- assert_lex3("0X10", nil, :tINTEGER, 16, :expr_end)
1854
-
1855
- assert_lex3("0o10", nil, :tINTEGER, 8, :expr_end)
1856
- assert_lex3("0O10", nil, :tINTEGER, 8, :expr_end)
1857
-
1858
- assert_lex3("0o", nil, :tINTEGER, 0, :expr_end)
1859
- assert_lex3("0O", nil, :tINTEGER, 0, :expr_end)
1860
-
1861
- assert_lex3("0", nil, :tINTEGER, 0, :expr_end)
1862
-
1863
- refute_lex "0x"
1864
- refute_lex "0X"
1865
- refute_lex "0b"
1866
- refute_lex "0B"
1867
- refute_lex "0d"
1868
- refute_lex "0D"
1869
-
1870
- refute_lex "08"
1871
- refute_lex "09"
1872
- refute_lex "0o8"
1873
- refute_lex "0o9"
1874
- refute_lex "0O8"
1875
- refute_lex "0O9"
1876
-
1877
- refute_lex "1_e1"
1878
- refute_lex "1_.1"
1879
- refute_lex "1__1"
1880
- end
1881
-
1882
- def test_yylex_plus_unary_number
1883
- assert_lex3("+42", nil, :tINTEGER, 42, :expr_end)
1884
- end
1885
-
1886
- def test_yylex_question__18
1887
- setup_lexer_class RubyParser::V18
1888
-
1889
- assert_lex3("?*", nil, :tINTEGER, 42, :expr_end)
1890
- end
1891
-
1892
- def test_yylex_question__19
1893
- setup_lexer_class RubyParser::V19
1894
-
1895
- assert_lex3("?*", nil, :tSTRING, "*", :expr_end)
1896
- end
1897
-
1898
- def test_yylex_question_bad_eos
1899
- refute_lex "?"
1900
- end
1901
-
1902
- def test_yylex_question_ws
1903
- assert_lex3("? ", nil, :tEH, "?", :expr_value)
1904
- assert_lex3("?\n", nil, :tEH, "?", :expr_value)
1905
- assert_lex3("?\t", nil, :tEH, "?", :expr_value)
1906
- assert_lex3("?\v", nil, :tEH, "?", :expr_value)
1907
- assert_lex3("?\r", nil, :tEH, "?", :expr_value)
1908
- assert_lex3("?\f", nil, :tEH, "?", :expr_value)
1909
- end
1910
-
1911
- def test_yylex_question_ws_backslashed__18
1912
- setup_lexer_class RubyParser::V18
1913
-
1914
- assert_lex3("?\\ ", nil, :tINTEGER, 32, :expr_end)
1915
- assert_lex3("?\\n", nil, :tINTEGER, 10, :expr_end)
1916
- assert_lex3("?\\t", nil, :tINTEGER, 9, :expr_end)
1917
- assert_lex3("?\\v", nil, :tINTEGER, 11, :expr_end)
1918
- assert_lex3("?\\r", nil, :tINTEGER, 13, :expr_end)
1919
- assert_lex3("?\\f", nil, :tINTEGER, 12, :expr_end)
1920
- end
1921
-
1922
- def test_yylex_question_ws_backslashed__19
1923
- setup_lexer_class RubyParser::V19
1924
-
1925
- assert_lex3("?\\ ", nil, :tSTRING, " ", :expr_end)
1926
- assert_lex3("?\\n", nil, :tSTRING, "\n", :expr_end)
1927
- assert_lex3("?\\t", nil, :tSTRING, "\t", :expr_end)
1928
- assert_lex3("?\\v", nil, :tSTRING, "\v", :expr_end)
1929
- assert_lex3("?\\r", nil, :tSTRING, "\r", :expr_end)
1930
- assert_lex3("?\\f", nil, :tSTRING, "\f", :expr_end)
1931
- end
1932
-
1933
- def test_yylex_rbracket
1934
- assert_lex3("]", nil, :tRBRACK, "]", :expr_endarg)
1935
- end
1936
-
1937
- def test_yylex_rcurly
1938
- assert_lex3("}", nil, :tRCURLY, "}", :expr_endarg)
1939
- end
1940
-
1941
- def test_yylex_regexp
1942
- assert_lex3("/regexp/",
1943
- nil,
1944
- :tREGEXP_BEG, "/", :expr_beg,
1945
- :tSTRING_CONTENT, "regexp", :expr_beg,
1946
- :tREGEXP_END, "", :expr_end)
1947
- end
1948
-
1949
- def test_yylex_regexp_ambiguous
1950
- assert_lex3("method /regexp/",
1951
- nil,
1952
- :tIDENTIFIER, "method", :expr_cmdarg,
1953
- :tREGEXP_BEG, "/", :expr_cmdarg,
1954
- :tSTRING_CONTENT, "regexp", :expr_cmdarg,
1955
- :tREGEXP_END, "", :expr_end)
1956
- end
1957
-
1958
- def test_yylex_regexp_bad
1959
- refute_lex("/.*/xyz",
1960
- :tREGEXP_BEG, "/",
1961
- :tSTRING_CONTENT, ".*")
1962
- end
1963
-
1964
- def test_yylex_regexp_escape_C
1965
- assert_lex3("/regex\\C-x/",
1966
- nil,
1967
- :tREGEXP_BEG, "/", :expr_beg,
1968
- :tSTRING_CONTENT, "regex\\C-x", :expr_beg,
1969
- :tREGEXP_END, "", :expr_end)
1970
- end
1971
-
1972
- def test_yylex_regexp_escape_C_M
1973
- assert_lex3("/regex\\C-\\M-x/",
1974
- nil,
1975
- :tREGEXP_BEG, "/", :expr_beg,
1976
- :tSTRING_CONTENT, "regex\\C-\\M-x", :expr_beg,
1977
- :tREGEXP_END, "", :expr_end)
1978
- end
1979
-
1980
- def test_yylex_regexp_escape_C_M_craaaazy
1981
- assert_lex3("/regex\\C-\\\n\\M-x/",
1982
- nil,
1983
- :tREGEXP_BEG, "/", :expr_beg,
1984
- :tSTRING_CONTENT, "regex\\C-\\M-x", :expr_beg,
1985
- :tREGEXP_END, "", :expr_end)
1986
- end
1987
-
1988
- def test_yylex_regexp_escape_C_bad_dash
1989
- refute_lex '/regex\\Cx/', :tREGEXP_BEG, "/"
1990
- end
1991
-
1992
- def test_yylex_regexp_escape_C_bad_dash_eos
1993
- refute_lex '/regex\\C-/', :tREGEXP_BEG, "/"
1994
- end
1995
-
1996
- def test_yylex_regexp_escape_C_bad_dash_eos2
1997
- refute_lex '/regex\\C-', :tREGEXP_BEG, "/"
1998
- end
1999
-
2000
- def test_yylex_regexp_escape_C_bad_eos
2001
- refute_lex '/regex\\C/', :tREGEXP_BEG, "/"
2002
- end
2003
-
2004
- def test_yylex_regexp_escape_C_bad_eos2
2005
- refute_lex '/regex\\c', :tREGEXP_BEG, "/"
2006
- end
2007
-
2008
- def test_yylex_regexp_escape_M
2009
- assert_lex3("/regex\\M-x/",
2010
- nil,
2011
- :tREGEXP_BEG, "/", :expr_beg,
2012
- :tSTRING_CONTENT, "regex\\M-x", :expr_beg,
2013
- :tREGEXP_END, "", :expr_end)
2014
- end
2015
-
2016
- def test_yylex_regexp_escape_M_C
2017
- assert_lex3("/regex\\M-\\C-x/",
2018
- nil,
2019
- :tREGEXP_BEG, "/", :expr_beg,
2020
- :tSTRING_CONTENT, "regex\\M-\\C-x", :expr_beg,
2021
- :tREGEXP_END, "", :expr_end)
2022
- end
2023
-
2024
- def test_yylex_regexp_escape_M_bad_dash
2025
- refute_lex '/regex\\Mx/', :tREGEXP_BEG, "/"
2026
- end
2027
-
2028
- def test_yylex_regexp_escape_M_bad_dash_eos
2029
- refute_lex '/regex\\M-/', :tREGEXP_BEG, "/"
2030
- end
2031
-
2032
- def test_yylex_regexp_escape_M_bad_dash_eos2
2033
- refute_lex '/regex\\M-', :tREGEXP_BEG, "/"
2034
- end
2035
-
2036
- def test_yylex_regexp_escape_M_bad_eos
2037
- refute_lex '/regex\\M/', :tREGEXP_BEG, "/"
2038
- end
2039
-
2040
- def test_yylex_regexp_escape_backslash_slash
2041
- assert_lex3("/\\//",
2042
- nil,
2043
- :tREGEXP_BEG, "/", :expr_beg,
2044
- :tSTRING_CONTENT, "\\/", :expr_beg,
2045
- :tREGEXP_END, "", :expr_end)
2046
- end
2047
-
2048
- def test_yylex_regexp_escape_backslash_terminator
2049
- assert_lex3("%r%blah\\%blah%",
2050
- nil,
2051
- :tREGEXP_BEG, "%r\000", :expr_beg,
2052
- :tSTRING_CONTENT, "blah\\%blah", :expr_beg,
2053
- :tREGEXP_END, "", :expr_end)
2054
- end
2055
-
2056
- def test_yylex_regexp_escaped_delim
2057
- assert_lex3("%r!blah(?\\!blah)!",
2058
- nil,
2059
- :tREGEXP_BEG, "%r\000", :expr_beg,
2060
- :tSTRING_CONTENT, "blah(?!blah)", :expr_beg,
2061
- :tREGEXP_END, "", :expr_end)
2062
- end
2063
-
2064
- def test_yylex_regexp_escape_backslash_terminator_meta1
2065
- assert_lex3("%r{blah\\}blah}",
2066
- nil,
2067
- :tREGEXP_BEG, "%r{", :expr_beg, # FIX ?!?
2068
- :tSTRING_CONTENT, "blah\\}blah", :expr_beg,
2069
- :tREGEXP_END, "", :expr_end)
2070
- end
2071
-
2072
- def test_yylex_regexp_escape_backslash_terminator_meta2
2073
- assert_lex3("%r/blah\\/blah/",
2074
- nil,
2075
- :tREGEXP_BEG, "%r\000", :expr_beg,
2076
- :tSTRING_CONTENT, "blah\\/blah", :expr_beg,
2077
- :tREGEXP_END, "", :expr_end)
2078
- end
2079
-
2080
- def test_yylex_regexp_escape_backslash_terminator_meta3
2081
- assert_lex3("%r/blah\\%blah/",
2082
- nil,
2083
- :tREGEXP_BEG, "%r\000", :expr_beg,
2084
- :tSTRING_CONTENT, "blah\\%blah", :expr_beg,
2085
- :tREGEXP_END, "", :expr_end)
2086
- end
2087
-
2088
- def test_yylex_regexp_escape_bad_eos
2089
- refute_lex '/regex\\', :tREGEXP_BEG, "/"
2090
- end
2091
-
2092
- def test_yylex_regexp_escape_bs
2093
- assert_lex3("/regex\\\\regex/",
2094
- nil,
2095
- :tREGEXP_BEG, "/", :expr_beg,
2096
- :tSTRING_CONTENT, "regex\\\\regex", :expr_beg,
2097
- :tREGEXP_END, "", :expr_end)
2098
- end
2099
-
2100
- def test_yylex_regexp_escape_c
2101
- assert_lex3("/regex\\cxxx/",
2102
- nil,
2103
- :tREGEXP_BEG, "/", :expr_beg,
2104
- :tSTRING_CONTENT, "regex\\cxxx", :expr_beg,
2105
- :tREGEXP_END, "", :expr_end)
2106
- end
2107
-
2108
- def test_yylex_regexp_escape_c_backslash
2109
- assert_lex3("/regex\\c\\n/",
2110
- nil,
2111
- :tREGEXP_BEG, "/", :expr_beg,
2112
- :tSTRING_CONTENT, "regex\\c\\n", :expr_beg,
2113
- :tREGEXP_END, "", :expr_end)
2114
- end
2115
-
2116
- def test_yylex_regexp_escape_chars
2117
- assert_lex3("/re\\tge\\nxp/",
2118
- nil,
2119
- :tREGEXP_BEG, "/", :expr_beg,
2120
- :tSTRING_CONTENT, "re\\tge\\nxp", :expr_beg,
2121
- :tREGEXP_END, "", :expr_end)
2122
- end
2123
-
2124
- def test_yylex_regexp_escape_double_backslash
2125
- regexp = '/[\\/\\\\]$/'
2126
- assert_lex3(regexp.dup,
2127
- nil,
2128
- :tREGEXP_BEG, "/", :expr_beg,
2129
- :tSTRING_CONTENT, "[\\/\\\\]$", :expr_beg,
2130
- :tREGEXP_END, "", :expr_end)
2131
- end
2132
-
2133
- def test_yylex_regexp_escape_hex
2134
- assert_lex3("/regex\\x61xp/",
2135
- nil,
2136
- :tREGEXP_BEG, "/", :expr_beg,
2137
- :tSTRING_CONTENT, "regex\\x61xp", :expr_beg,
2138
- :tREGEXP_END, "", :expr_end)
2139
- end
2140
-
2141
- def test_yylex_regexp_escape_hex_bad
2142
- refute_lex '/regex\\xzxp/', :tREGEXP_BEG, "/"
2143
- end
2144
-
2145
- def test_yylex_regexp_escape_hex_one
2146
- assert_lex3("/^[\\xd\\xa]{2}/on",
2147
- nil,
2148
- :tREGEXP_BEG, "/", :expr_beg,
2149
- :tSTRING_CONTENT, "^[\\xd\\xa]{2}", :expr_beg,
2150
- :tREGEXP_END, "on", :expr_end)
2151
- end
2152
-
2153
- def test_yylex_regexp_escape_oct1
2154
- assert_lex3("/regex\\0xp/",
2155
- nil,
2156
- :tREGEXP_BEG, "/", :expr_beg,
2157
- :tSTRING_CONTENT, "regex\\0xp", :expr_beg,
2158
- :tREGEXP_END, "", :expr_end)
2159
- end
2160
-
2161
- def test_yylex_regexp_escape_oct2
2162
- assert_lex3("/regex\\07xp/",
2163
- nil,
2164
- :tREGEXP_BEG, "/", :expr_beg,
2165
- :tSTRING_CONTENT, "regex\\07xp", :expr_beg,
2166
- :tREGEXP_END, "", :expr_end)
2167
- end
2168
-
2169
- def test_yylex_regexp_escape_oct3
2170
- assert_lex3("/regex\\10142/",
2171
- nil,
2172
- :tREGEXP_BEG, "/", :expr_beg,
2173
- :tSTRING_CONTENT, "regex\\10142", :expr_beg,
2174
- :tREGEXP_END, "", :expr_end)
2175
- end
2176
-
2177
- def test_yylex_regexp_escape_return
2178
- assert_lex3("/regex\\\nregex/",
2179
- nil,
2180
- :tREGEXP_BEG, "/", :expr_beg,
2181
- :tSTRING_CONTENT, "regexregex", :expr_beg,
2182
- :tREGEXP_END, "", :expr_end)
2183
- end
2184
-
2185
- def test_yylex_regexp_nm
2186
- assert_lex3("/.*/nm",
2187
- nil,
2188
- :tREGEXP_BEG, "/", :expr_beg,
2189
- :tSTRING_CONTENT, ".*", :expr_beg,
2190
- :tREGEXP_END, "nm", :expr_end)
2191
- end
2192
-
2193
- def test_yylex_rparen
2194
- assert_lex3(")", nil, :tRPAREN, ")", :expr_endfn)
2195
- end
2196
-
2197
- def test_yylex_rshft
2198
- assert_lex3("a >> 2",
2199
- nil,
2200
- :tIDENTIFIER, "a", :expr_cmdarg,
2201
- :tRSHFT, ">>", :expr_beg,
2202
- :tINTEGER, 2, :expr_end)
2203
- end
2204
-
2205
- def test_yylex_rshft_equals
2206
- assert_lex3("a >>= 2",
2207
- nil,
2208
- :tIDENTIFIER, "a", :expr_cmdarg,
2209
- :tOP_ASGN, ">>", :expr_beg,
2210
- :tINTEGER, 2, :expr_end)
2211
- end
2212
-
2213
- def test_yylex_star
2214
- assert_lex3("a * ",
2215
- nil,
2216
- :tIDENTIFIER, "a", :expr_cmdarg,
2217
- :tSTAR2, "*", :expr_beg)
2218
- end
2219
-
2220
- def test_yylex_star2
2221
- assert_lex3("a ** ",
2222
- nil,
2223
- :tIDENTIFIER, "a", :expr_cmdarg,
2224
- :tPOW, "**", :expr_beg)
2225
- end
2226
-
2227
- def test_yylex_star2_equals
2228
- assert_lex3("a **= ",
2229
- nil,
2230
- :tIDENTIFIER, "a", :expr_cmdarg,
2231
- :tOP_ASGN, "**", :expr_beg)
2232
- end
2233
-
2234
- def test_yylex_star_arg
2235
- self.lex_state = :expr_arg
2236
-
2237
- assert_lex3(" *a",
2238
- nil,
2239
- :tSTAR, "*", :expr_beg,
2240
- :tIDENTIFIER, "a", :expr_arg)
2241
- end
2242
-
2243
- def test_yylex_star_arg_beg
2244
- self.lex_state = :expr_beg
2245
-
2246
- assert_lex3("*a",
2247
- nil,
2248
- :tSTAR, "*", :expr_beg,
2249
- :tIDENTIFIER, "a", :expr_arg)
2250
- end
2251
-
2252
- def test_yylex_star_arg_beg_fname
2253
- self.lex_state = :expr_fname
2254
-
2255
- assert_lex3("*a",
2256
- nil,
2257
- :tSTAR2, "*", :expr_arg,
2258
- :tIDENTIFIER, "a", :expr_arg)
2259
- end
2260
-
2261
- def test_yylex_star_arg_beg_fname2
2262
- self.lex_state = :expr_fname
2263
-
2264
- assert_lex3("*a",
2265
- nil,
2266
- :tSTAR2, "*", :expr_arg,
2267
- :tIDENTIFIER, "a", :expr_arg)
2268
- end
2269
-
2270
- def test_yylex_star_equals
2271
- assert_lex3("a *= ",
2272
- nil,
2273
- :tIDENTIFIER, "a", :expr_cmdarg,
2274
- :tOP_ASGN, "*", :expr_beg)
2275
- end
2276
-
2277
- def test_yylex_string_bad_eos
2278
- refute_lex('%', :tSTRING_BEG, '%')
2279
- end
2280
-
2281
- def test_yylex_string_bad_eos_quote
2282
- refute_lex('%{nest', :tSTRING_BEG, '%}')
2283
- end
2284
-
2285
- def test_yylex_string_double
2286
- assert_lex3("\"string\"", nil, :tSTRING, "string", :expr_end)
2287
- end
2288
-
2289
- def test_yylex_string_double_escape_C
2290
- assert_lex3("\"\\C-a\"", nil, :tSTRING, "\001", :expr_end)
2291
- end
2292
-
2293
- def test_yylex_string_double_escape_C_backslash
2294
- assert_lex3("\"\\C-\\\\\"",
2295
- nil,
2296
- :tSTRING_BEG, "\"", :expr_beg,
2297
- :tSTRING_CONTENT, "\034", :expr_beg,
2298
- :tSTRING_END, "\"", :expr_end)
2299
- end
2300
-
2301
- def test_yylex_string_double_escape_C_escape
2302
- assert_lex3("\"\\C-\\M-a\"",
2303
- nil,
2304
- :tSTRING_BEG, "\"", :expr_beg,
2305
- :tSTRING_CONTENT, "\201", :expr_beg,
2306
- :tSTRING_END, "\"", :expr_end)
2307
- end
2308
-
2309
- def test_yylex_string_double_escape_C_question
2310
- assert_lex3("\"\\C-?\"", nil, :tSTRING, "\177", :expr_end)
2311
- end
2312
-
2313
- def test_yylex_string_utf8_simple
2314
- chr = [0x3024].pack("U")
2315
-
2316
- assert_lex3('"\u{3024}"',
2317
- s(:str, chr),
2318
- :tSTRING, chr, :expr_end)
2319
- end
2320
-
2321
- def test_yylex_string_utf8_complex
2322
- chr = [0x3024].pack("U")
2323
-
2324
- assert_lex3('"#@a\u{3024}"',
2325
- s(:dstr, "", s(:evstr, s(:ivar, :@a)), s(:str, chr)),
2326
- :tSTRING_BEG, '"', :expr_beg,
2327
- :tSTRING_DVAR, nil, :expr_beg,
2328
- :tSTRING_CONTENT, "@a"+chr, :expr_beg,
2329
- :tSTRING_END, '"', :expr_end)
2330
- end
2331
-
2332
- def test_yylex_string_double_escape_M
2333
- chr = "\341"
2334
- chr.force_encoding("UTF-8") if RubyLexer::HAS_ENC
2335
-
2336
- assert_lex3("\"\\M-a\"", nil, :tSTRING, chr, :expr_end)
2337
- end
2338
-
2339
- def test_why_does_ruby_hate_me?
2340
- assert_lex3("\"Nl%\\000\\000A\\000\\999\"", # you should be ashamed
2341
- nil,
2342
- :tSTRING, ["Nl%","\x00","\x00","A","\x00","999"].join, :expr_end)
2343
- end
2344
-
2345
- def test_yylex_string_double_escape_M_backslash
2346
- assert_lex3("\"\\M-\\\\\"",
2347
- nil,
2348
- :tSTRING_BEG, "\"", :expr_beg,
2349
- :tSTRING_CONTENT, "\334", :expr_beg,
2350
- :tSTRING_END, "\"", :expr_end)
2351
- end
2352
-
2353
- def test_yylex_string_double_escape_M_escape
2354
- assert_lex3("\"\\M-\\C-a\"",
2355
- nil,
2356
- :tSTRING_BEG, "\"", :expr_beg,
2357
- :tSTRING_CONTENT, "\201", :expr_beg,
2358
- :tSTRING_END, "\"", :expr_end)
2359
- end
2360
-
2361
- def test_yylex_string_double_escape_bs1
2362
- assert_lex3("\"a\\a\\a\"", nil, :tSTRING, "a\a\a", :expr_end)
2363
- end
2364
-
2365
- def test_yylex_string_double_escape_bs2
2366
- assert_lex3("\"a\\\\a\"", nil, :tSTRING, "a\\a", :expr_end)
2367
- end
2368
-
2369
- def test_yylex_string_double_escape_c
2370
- assert_lex3("\"\\ca\"", nil, :tSTRING, "\001", :expr_end)
2371
- end
2372
-
2373
- def test_yylex_string_double_escape_c_backslash
2374
- assert_lex3("\"\\c\\\"",
2375
- nil,
2376
- :tSTRING_BEG, "\"", :expr_beg,
2377
- :tSTRING_CONTENT, "\034", :expr_beg,
2378
- :tSTRING_END, "\"", :expr_end)
2379
- end
2380
-
2381
- def test_yylex_string_double_escape_c_escape
2382
- assert_lex3("\"\\c\\M-a\"",
2383
- nil,
2384
- :tSTRING_BEG, "\"", :expr_beg,
2385
- :tSTRING_CONTENT, "\201", :expr_beg,
2386
- :tSTRING_END, "\"", :expr_end)
2387
- end
2388
-
2389
- def test_yylex_string_double_escape_c_question
2390
- assert_lex3("\"\\c?\"", nil, :tSTRING, "\177", :expr_end)
2391
- end
2392
-
2393
- def test_yylex_string_double_escape_chars
2394
- assert_lex3("\"s\\tri\\ng\"", nil, :tSTRING, "s\tri\ng", :expr_end)
2395
- end
2396
-
2397
- def test_yylex_string_double_escape_hex
2398
- assert_lex3("\"n = \\x61\\x62\\x63\"", nil, :tSTRING, "n = abc", :expr_end)
2399
- end
2400
-
2401
- def test_yylex_string_double_escape_octal
2402
- assert_lex3("\"n = \\101\\102\\103\"", nil, :tSTRING, "n = ABC", :expr_end)
2403
- end
2404
-
2405
- def test_yylex_string_double_escape_octal_fucked
2406
- assert_lex3("\"n = \\444\"", nil, :tSTRING, "n = $", :expr_end)
2407
- end
2408
-
2409
- def test_yylex_string_double_interp
2410
- assert_lex3("\"blah #x a \#@a b \#$b c \#{3} # \"",
2411
- nil,
2412
- :tSTRING_BEG, "\"", :expr_beg,
2413
- :tSTRING_CONTENT, "blah #x a ", :expr_beg,
2414
- :tSTRING_DVAR, nil, :expr_beg,
2415
- :tSTRING_CONTENT, "@a b ", :expr_beg,
2416
- :tSTRING_DVAR, nil, :expr_beg,
2417
- :tSTRING_CONTENT, "$b c ", :expr_beg,
2418
- :tSTRING_DBEG, nil, :expr_beg,
2419
- :tSTRING_CONTENT, "3} # ", :expr_beg,
2420
- :tSTRING_END, "\"", :expr_end)
2421
- end
2422
-
2423
- def test_yylex_string_double_pound_dollar_bad
2424
- skip if ruby18
2425
-
2426
- assert_lex3('"#$%"', nil,
2427
-
2428
- :tSTRING_BEG, "\"", :expr_beg,
2429
- :tSTRING_CONTENT, '#$%', :expr_beg,
2430
- :tSTRING_END, "\"", :expr_end)
2431
- end
2432
-
2433
- def test_yylex_string_double_nested_curlies
2434
- assert_lex3("%{nest{one{two}one}nest}",
2435
- nil,
2436
- :tSTRING_BEG, "%}", :expr_beg,
2437
- :tSTRING_CONTENT, "nest{one{two}one}nest", :expr_beg,
2438
- :tSTRING_END, "}", :expr_end)
2439
- end
2440
-
2441
- def test_yylex_string_double_no_interp
2442
- assert_lex3("\"# blah\"", nil, :tSTRING, "# blah", :expr_end)
2443
- assert_lex3("\"blah # blah\"", nil, :tSTRING, "blah # blah", :expr_end)
2444
- end
2445
-
2446
- def test_yylex_string_escape_x_single
2447
- assert_lex3("\"\\x0\"", nil, :tSTRING, "\000", :expr_end)
2448
- end
2449
-
2450
- def test_yylex_string_pct_i
2451
- assert_lex3("%i[s1 s2\ns3]",
2452
- nil,
2453
- :tQSYMBOLS_BEG, "%i[", :expr_beg,
2454
- :tSTRING_CONTENT, "s1", :expr_beg,
2455
- :tSPACE, nil, :expr_beg,
2456
- :tSTRING_CONTENT, "s2", :expr_beg,
2457
- :tSPACE, nil, :expr_beg,
2458
- :tSTRING_CONTENT, "s3", :expr_beg,
2459
- :tSPACE, nil, :expr_beg,
2460
- :tSTRING_END, nil, :expr_end)
2461
- end
2462
-
2463
- def test_yylex_string_pct_I
2464
- assert_lex3("%I[s1 s2\ns3]",
2465
- nil,
2466
- :tSYMBOLS_BEG, "%I[", :expr_beg,
2467
- :tSTRING_CONTENT, "s1", :expr_beg,
2468
- :tSPACE, nil, :expr_beg,
2469
- :tSTRING_CONTENT, "s2", :expr_beg,
2470
- :tSPACE, nil, :expr_beg,
2471
- :tSTRING_CONTENT, "s3", :expr_beg,
2472
- :tSPACE, nil, :expr_beg,
2473
- :tSTRING_END, nil, :expr_end)
2474
- end
2475
-
2476
- def test_yylex_string_pct_i_extra_space
2477
- assert_lex3("%i[ s1 s2\ns3 ]",
2478
- nil,
2479
- :tQSYMBOLS_BEG, "%i[", :expr_beg,
2480
- :tSTRING_CONTENT, "s1", :expr_beg,
2481
- :tSPACE, nil, :expr_beg,
2482
- :tSTRING_CONTENT, "s2", :expr_beg,
2483
- :tSPACE, nil, :expr_beg,
2484
- :tSTRING_CONTENT, "s3", :expr_beg,
2485
- :tSPACE, nil, :expr_beg,
2486
- :tSTRING_END, nil, :expr_end)
2487
- end
2488
-
2489
- def test_yylex_string_pct_I_extra_space
2490
- assert_lex3("%I[ s1 s2\ns3 ]",
2491
- nil,
2492
- :tSYMBOLS_BEG, "%I[", :expr_beg,
2493
- :tSTRING_CONTENT, "s1", :expr_beg,
2494
- :tSPACE, nil, :expr_beg,
2495
- :tSTRING_CONTENT, "s2", :expr_beg,
2496
- :tSPACE, nil, :expr_beg,
2497
- :tSTRING_CONTENT, "s3", :expr_beg,
2498
- :tSPACE, nil, :expr_beg,
2499
- :tSTRING_END, nil, :expr_end)
2500
- end
2501
-
2502
- def test_yylex_string_pct_q
2503
- assert_lex3("%q[s1 s2]",
2504
- nil,
2505
- :tSTRING_BEG, "%q[", :expr_beg,
2506
- :tSTRING_CONTENT, "s1 s2", :expr_beg,
2507
- :tSTRING_END, "]", :expr_end)
2508
- end
2509
-
2510
- def test_yylex_string_pct_Q
2511
- assert_lex3("%Q[s1 s2]",
2512
- nil,
2513
- :tSTRING_BEG, "%Q[", :expr_beg,
2514
- :tSTRING_CONTENT, "s1 s2", :expr_beg,
2515
- :tSTRING_END, "]", :expr_end)
2516
- end
2517
-
2518
- def test_yylex_string_pct_W
2519
- assert_lex3("%W[s1 s2\ns3]", # TODO: add interpolation to these
2520
- nil,
2521
- :tWORDS_BEG, "%W[", :expr_beg,
2522
- :tSTRING_CONTENT, "s1", :expr_beg,
2523
- :tSPACE, nil, :expr_beg,
2524
- :tSTRING_CONTENT, "s2", :expr_beg,
2525
- :tSPACE, nil, :expr_beg,
2526
- :tSTRING_CONTENT, "s3", :expr_beg,
2527
- :tSPACE, nil, :expr_beg,
2528
- :tSTRING_END, nil, :expr_end)
2529
- end
2530
-
2531
- def test_yylex_string_pct_W_bs_nl
2532
- assert_lex3("%W[s1 \\\ns2]", # TODO: add interpolation to these
2533
- nil,
2534
- :tWORDS_BEG, "%W[", :expr_beg,
2535
- :tSTRING_CONTENT, "s1", :expr_beg,
2536
- :tSPACE, nil, :expr_beg,
2537
- :tSTRING_CONTENT, "\ns2", :expr_beg,
2538
- :tSPACE, nil, :expr_beg,
2539
- :tSTRING_END, nil, :expr_end)
2540
- end
2541
-
2542
- def test_yylex_string_pct_angle
2543
- assert_lex3("%<blah>",
2544
- nil,
2545
- :tSTRING_BEG, "%>", :expr_beg,
2546
- :tSTRING_CONTENT, "blah", :expr_beg,
2547
- :tSTRING_END, ">", :expr_end)
2548
- end
2549
-
2550
- def test_yylex_string_pct_other
2551
- assert_lex3("%%blah%",
2552
- nil,
2553
- :tSTRING_BEG, "%%", :expr_beg,
2554
- :tSTRING_CONTENT, "blah", :expr_beg,
2555
- :tSTRING_END, "%", :expr_end)
2556
- end
2557
-
2558
- def test_yylex_string_pct_w
2559
- refute_lex("%w[s1 s2 ",
2560
- :tQWORDS_BEG, "%w[",
2561
- :tSTRING_CONTENT, "s1",
2562
- :tSPACE, nil,
2563
- :tSTRING_CONTENT, "s2",
2564
- :tSPACE, nil)
2565
- end
2566
-
2567
- def test_yylex_string_pct_w_bs_nl
2568
- assert_lex3("%w[s1 \\\ns2]",
2569
- nil,
2570
- :tQWORDS_BEG, "%w[", :expr_beg,
2571
- :tSTRING_CONTENT, "s1", :expr_beg,
2572
- :tSPACE, nil, :expr_beg,
2573
- :tSTRING_CONTENT, "\ns2", :expr_beg,
2574
- :tSPACE, nil, :expr_beg,
2575
- :tSTRING_END, nil, :expr_end)
2576
- end
2577
-
2578
- def test_yylex_string_pct_w_bs_sp
2579
- assert_lex3("%w[s\\ 1 s\\ 2]",
2580
- nil,
2581
- :tQWORDS_BEG, "%w[", :expr_beg,
2582
- :tSTRING_CONTENT, "s 1", :expr_beg,
2583
- :tSPACE, nil, :expr_beg,
2584
- :tSTRING_CONTENT, "s 2", :expr_beg,
2585
- :tSPACE, nil, :expr_beg,
2586
- :tSTRING_END, nil, :expr_end)
2587
- end
2588
-
2589
- def test_yylex_string_single
2590
- assert_lex3("'string'", nil, :tSTRING, "string", :expr_end)
2591
- end
2592
-
2593
- def test_yylex_string_single_escape_chars
2594
- assert_lex3("'s\\tri\\ng'", nil, :tSTRING, "s\\tri\\ng", :expr_end)
2595
- end
2596
-
2597
- def test_yylex_string_single_nl
2598
- assert_lex3("'blah\\\nblah'", nil, :tSTRING, "blah\\\nblah", :expr_end)
2599
- end
2600
-
2601
- def test_yylex_symbol
2602
- assert_lex3(":symbol", nil, :tSYMBOL, "symbol", :expr_end)
2603
- end
2604
-
2605
- def test_yylex_symbol_zero_byte__18
2606
- setup_lexer_class RubyParser::V18
2607
-
2608
- refute_lex(":\"symbol\0\"", :tSYMBEG, ":")
2609
- end
2610
-
2611
- def test_yylex_symbol_zero_byte
2612
- assert_lex(":\"symbol\0\"", nil,
2613
- :tSYMBOL, "symbol\0", :expr_end)
2614
- end
2615
-
2616
- def test_yylex_symbol_double
2617
- assert_lex3(":\"symbol\"",
2618
- nil,
2619
- :tSYMBOL, "symbol", :expr_end)
2620
- end
2621
-
2622
- def test_yylex_symbol_double_interp
2623
- assert_lex3(':"symbol#{1+1}"',
2624
- nil,
2625
- :tSYMBEG, ":", :expr_fname,
2626
- :tSTRING_CONTENT, "symbol", :expr_fname,
2627
- :tSTRING_DBEG, nil, :expr_fname,
2628
- :tSTRING_CONTENT, "1+1}", :expr_fname, # HUH? this is BS
2629
- :tSTRING_END, "\"", :expr_end)
2630
- end
2631
-
2632
- def test_yylex_symbol_single
2633
- assert_lex3(":'symbol'",
2634
- nil,
2635
- :tSYMBOL, "symbol", :expr_end)
2636
- end
2637
-
2638
- def test_yylex_symbol_single_noninterp
2639
- assert_lex3(':\'symbol#{1+1}\'',
2640
- nil,
2641
- :tSYMBOL, 'symbol#{1+1}', :expr_end)
2642
- end
2643
-
2644
- def test_yylex_ternary1
2645
- assert_lex3("a ? b : c",
2646
- nil,
2647
- :tIDENTIFIER, "a", :expr_cmdarg,
2648
- :tEH, "?", :expr_value,
2649
- :tIDENTIFIER, "b", :expr_arg,
2650
- :tCOLON, ":", :expr_beg,
2651
- :tIDENTIFIER, "c", :expr_arg)
2652
-
2653
- assert_lex3("a ?bb : c", # GAH! MATZ!!!
2654
- nil,
2655
- :tIDENTIFIER, "a", :expr_cmdarg,
2656
- :tEH, "?", :expr_beg,
2657
- :tIDENTIFIER, "bb", :expr_arg,
2658
- :tCOLON, ":", :expr_beg,
2659
- :tIDENTIFIER, "c", :expr_arg)
2660
-
2661
- assert_lex3("42 ?",
2662
- nil,
2663
- :tINTEGER, 42, :expr_end,
2664
- :tEH, "?", :expr_value)
2665
- end
2666
-
2667
- def test_yylex_tilde
2668
- assert_lex3("~", nil, :tTILDE, "~", :expr_beg)
2669
- end
2670
-
2671
- def test_yylex_tilde_unary
2672
- self.lex_state = :expr_fname
2673
-
2674
- assert_lex3("~@", nil, :tTILDE, "~", :expr_arg)
2675
- end
2676
-
2677
- def test_yylex_uminus
2678
- assert_lex3("-blah",
2679
- nil,
2680
- :tUMINUS, "-", :expr_beg,
2681
- :tIDENTIFIER, "blah", :expr_arg)
2682
- end
2683
-
2684
- def test_yylex_underscore
2685
- assert_lex3("_var", nil, :tIDENTIFIER, "_var", :expr_cmdarg)
2686
- end
2687
-
2688
- def test_yylex_underscore_end
2689
- assert_lex3("__END__\n",
2690
- nil,
2691
- RubyLexer::EOF, RubyLexer::EOF, nil)
2692
- end
2693
-
2694
- def test_yylex_uplus
2695
- assert_lex3("+blah",
2696
- nil,
2697
- :tUPLUS, "+", :expr_beg,
2698
- :tIDENTIFIER, "blah", :expr_arg)
2699
- end
2700
-
2701
- def test_zbug_float_in_decl
2702
- assert_lex3("def initialize(u = 0.0, s = 0.0",
2703
- nil,
2704
- :kDEF, "def", :expr_fname,
2705
- :tIDENTIFIER, "initialize", :expr_endfn,
2706
- :tLPAREN2, "(", :expr_beg,
2707
- :tIDENTIFIER, "u", :expr_arg,
2708
- :tEQL, "=", :expr_beg,
2709
- :tFLOAT, 0.0, :expr_end,
2710
- :tCOMMA, ",", :expr_beg,
2711
- :tIDENTIFIER, "s", :expr_arg,
2712
- :tEQL, "=", :expr_beg,
2713
- :tFLOAT, 0.0, :expr_end)
2714
- end
2715
-
2716
- def test_zbug_id_equals
2717
- assert_lex3("a = 0.0",
2718
- nil,
2719
- :tIDENTIFIER, "a", :expr_cmdarg,
2720
- :tEQL, "=", :expr_beg,
2721
- :tFLOAT, 0.0, :expr_end)
2722
- end
2723
-
2724
- def test_zbug_no_spaces_in_decl
2725
- assert_lex3("def initialize(u=0.0,s=0.0",
2726
- nil,
2727
- :kDEF, "def", :expr_fname,
2728
- :tIDENTIFIER, "initialize", :expr_endfn,
2729
- :tLPAREN2, "(", :expr_beg,
2730
- :tIDENTIFIER, "u", :expr_arg,
2731
- :tEQL, "=", :expr_beg,
2732
- :tFLOAT, 0.0, :expr_end,
2733
- :tCOMMA, ",", :expr_beg,
2734
- :tIDENTIFIER, "s", :expr_arg,
2735
- :tEQL, "=", :expr_beg,
2736
- :tFLOAT, 0.0, :expr_end)
2737
- end
2738
-
2739
- def test_pct_w_backslashes
2740
- ["\t", "\n", "\r", "\v", "\f"].each do |char|
2741
- next if !RubyLexer::HAS_ENC and char == "\v"
2742
-
2743
- assert_lex("%w[foo#{char}bar]",
2744
- s(:array, s(:str, "foo"), s(:str, "bar")),
2745
-
2746
- :tQWORDS_BEG, "%w[", :expr_beg, 0, 0,
2747
- :tSTRING_CONTENT, "foo", :expr_beg, 0, 0,
2748
- :tSPACE, nil, :expr_beg, 0, 0,
2749
- :tSTRING_CONTENT, "bar", :expr_beg, 0, 0,
2750
- :tSPACE, nil, :expr_beg, 0, 0,
2751
- :tSTRING_END, nil, :expr_end, 0, 0)
2752
- end
2753
- end
2754
-
2755
- def test_yylex_sym_quoted
2756
- assert_lex(":'a'",
2757
- s(:lit, :a),
2758
-
2759
- :tSYMBOL, "a", :expr_end, 0, 0)
2760
- end
2761
-
2762
- def test_yylex_hash_colon
2763
- assert_lex("{a:1}",
2764
- s(:hash, s(:lit, :a), s(:lit, 1)),
2765
-
2766
- :tLBRACE, "{", :expr_beg, 0, 1,
2767
- :tLABEL, "a", :expr_labelarg, 0, 1,
2768
- :tINTEGER, 1, :expr_end, 0, 1,
2769
- :tRCURLY, "}", :expr_endarg, 0, 0)
2770
- end
2771
-
2772
- def test_yylex_hash_colon_quoted_22
2773
- setup_lexer_class RubyParser::V22
2774
-
2775
- assert_lex("{'a':1}",
2776
- s(:hash, s(:lit, :a), s(:lit, 1)),
2777
-
2778
- :tLBRACE, "{", :expr_beg, 0, 1,
2779
- :tLABEL, "a", :expr_labelarg, 0, 1,
2780
- :tINTEGER, 1, :expr_end, 0, 1,
2781
- :tRCURLY, "}", :expr_endarg, 0, 0)
2782
- end
2783
-
2784
- def test_yylex_hash_colon_quoted_symbol_22
2785
- setup_lexer_class RubyParser::V22
2786
-
2787
- assert_lex("{'abc': :b}",
2788
- s(:hash, s(:lit, :abc), s(:lit, :b)),
2789
-
2790
- :tLBRACE, "{", :expr_beg, 0, 1,
2791
- :tLABEL, "abc", :expr_labelarg, 0, 1,
2792
- :tSYMBOL, "b", :expr_end, 0, 1,
2793
- :tRCURLY, "}", :expr_endarg, 0, 0)
2794
- end
2795
-
2796
- def test_yylex_hash_colon_double_quoted_symbol_22
2797
- setup_lexer_class RubyParser::V22
2798
-
2799
- assert_lex('{"abc": :b}',
2800
- s(:hash, s(:lit, :abc), s(:lit, :b)),
2801
-
2802
- :tLBRACE, "{", :expr_beg, 0, 1,
2803
- :tLABEL, "abc", :expr_labelarg, 0, 1,
2804
- :tSYMBOL, "b", :expr_end, 0, 1,
2805
- :tRCURLY, "}", :expr_endarg, 0, 0)
2806
- end
2807
-
2808
- def test_yylex_required_kwarg_no_value_22
2809
- setup_lexer_class RubyParser::V22
2810
-
2811
- assert_lex3("def foo a:, b:\nend",
2812
- nil,
2813
- :kDEF, "def", :expr_fname,
2814
- :tIDENTIFIER, "foo", :expr_endfn,
2815
- :tLABEL, "a", :expr_labelarg,
2816
- :tCOMMA, ",", :expr_beg,
2817
- :tLABEL, "b", :expr_labelarg,
2818
- :tNL, nil, :expr_beg,
2819
- :kEND, "end", :expr_end)
2820
- end
2821
-
2822
- def test_ruby21_rational_literal
2823
- setup_lexer_class RubyParser::V21
2824
-
2825
- assert_lex3("10r", nil, :tRATIONAL, Rational(10), :expr_end)
2826
- assert_lex3("0x10r", nil, :tRATIONAL, Rational(16), :expr_end)
2827
- assert_lex3("0o10r", nil, :tRATIONAL, Rational(8), :expr_end)
2828
- assert_lex3("0or", nil, :tRATIONAL, Rational(0), :expr_end)
2829
- assert_lex3("0b10r", nil, :tRATIONAL, Rational(2), :expr_end)
2830
- assert_lex3("1.5r", nil, :tRATIONAL, Rational(15, 10), :expr_end)
2831
- assert_lex3("15e3r", nil, :tRATIONAL, Rational(15000), :expr_end)
2832
- assert_lex3("15e-3r", nil, :tRATIONAL, Rational(15, 1000), :expr_end)
2833
- assert_lex3("1.5e3r", nil, :tRATIONAL, Rational(1500), :expr_end)
2834
- assert_lex3("1.5e-3r", nil, :tRATIONAL, Rational(15, 10000), :expr_end)
2835
-
2836
- assert_lex3("-10r", nil,
2837
- :tUMINUS_NUM, "-", :expr_beg,
2838
- :tRATIONAL, Rational(10), :expr_end)
2839
- end
2840
-
2841
- def test_ruby21_imaginary_literal
2842
- setup_lexer_class RubyParser::V21
2843
-
2844
- assert_lex3("1i", nil, :tIMAGINARY, Complex(0, 1), :expr_end)
2845
- assert_lex3("0x10i", nil, :tIMAGINARY, Complex(0, 16), :expr_end)
2846
- assert_lex3("0o10i", nil, :tIMAGINARY, Complex(0, 8), :expr_end)
2847
- assert_lex3("0oi", nil, :tIMAGINARY, Complex(0, 0), :expr_end)
2848
- assert_lex3("0b10i", nil, :tIMAGINARY, Complex(0, 2), :expr_end)
2849
- assert_lex3("1.5i", nil, :tIMAGINARY, Complex(0, 1.5), :expr_end)
2850
- assert_lex3("15e3i", nil, :tIMAGINARY, Complex(0, 15000), :expr_end)
2851
- assert_lex3("15e-3i", nil, :tIMAGINARY, Complex(0, 0.015), :expr_end)
2852
- assert_lex3("1.5e3i", nil, :tIMAGINARY, Complex(0, 1500), :expr_end)
2853
- assert_lex3("1.5e-3i", nil, :tIMAGINARY, Complex(0, 0.0015), :expr_end)
2854
-
2855
- assert_lex3("-10i", nil,
2856
- :tUMINUS_NUM, "-", :expr_beg,
2857
- :tIMAGINARY, Complex(0, 10), :expr_end)
2858
- end
2859
-
2860
- def test_ruby21_rational_imaginary_literal
2861
- setup_lexer_class RubyParser::V21
2862
-
2863
- assert_lex3("1ri", nil, :tIMAGINARY, Complex(0, Rational(1)), :expr_end)
2864
- assert_lex3("0x10ri", nil, :tIMAGINARY, Complex(0, Rational(16)), :expr_end)
2865
- assert_lex3("0o10ri", nil, :tIMAGINARY, Complex(0, Rational(8)), :expr_end)
2866
- assert_lex3("0ori", nil, :tIMAGINARY, Complex(0, Rational(0)), :expr_end)
2867
- assert_lex3("0b10ri", nil, :tIMAGINARY, Complex(0, Rational(2)), :expr_end)
2868
- assert_lex3("1.5ri", nil, :tIMAGINARY, Complex(0, Rational("1.5")), :expr_end)
2869
- assert_lex3("15e3ri", nil, :tIMAGINARY, Complex(0, Rational("15e3")), :expr_end)
2870
- assert_lex3("15e-3ri", nil, :tIMAGINARY, Complex(0, Rational("15e-3")), :expr_end)
2871
- assert_lex3("1.5e3ri", nil, :tIMAGINARY, Complex(0, Rational("1.5e3")), :expr_end)
2872
- assert_lex3("1.5e-3ri", nil, :tIMAGINARY, Complex(0, Rational("1.5e-3")), :expr_end)
2873
-
2874
- assert_lex3("-10ri", nil,
2875
- :tUMINUS_NUM, "-", :expr_beg,
2876
- :tIMAGINARY, Complex(0, Rational(10)), :expr_end)
2877
- end
2878
-
2879
- def test_ruby21_imaginary_literal_with_succeeding_keyword
2880
- skip "Currently does not tokenize correctly"
2881
-
2882
- setup_lexer_class RubyParser::V21
2883
-
2884
- assert_lex3("1if", nil,
2885
- :tINTEGER, 1, :expr_end,
2886
- :kIF_MOD, "if", :expr_beg)
2887
- assert_lex3("1rif", nil,
2888
- :tRATIONAL, Rational(1), :expr_end,
2889
- :kIF_MOD, "if", :expr_beg)
2890
- assert_lex3("1.0if", nil,
2891
- :tFLOAT, 1.0, :expr_end,
2892
- :kIF_MOD, "if", :expr_beg)
2893
- assert_lex3("1.0rif", nil,
2894
- :tRATIONAL, Rational("1.0"), :expr_end,
2895
- :kIF_MOD, "if", :expr_beg)
2896
-
2897
- flunk
2898
- end
2899
- end