opal-wedge 0.9.0.dev

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (830) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +14 -0
  3. data/.gitmodules +7 -0
  4. data/.inch.yml +19 -0
  5. data/.jshintrc +48 -0
  6. data/.rspec +3 -0
  7. data/.spectator +2 -0
  8. data/.spectator-mspec +3 -0
  9. data/.travis.yml +60 -0
  10. data/.yardopts +6 -0
  11. data/CHANGELOG.md +571 -0
  12. data/CODE_OF_CONDUCT.md +15 -0
  13. data/CONTRIBUTING.md +192 -0
  14. data/Gemfile +26 -0
  15. data/Guardfile +77 -0
  16. data/LICENSE +19 -0
  17. data/README.md +167 -0
  18. data/Rakefile +15 -0
  19. data/benchmark/benchmarks +103 -0
  20. data/benchmark/bm_array_intersection_numbers.rb +7 -0
  21. data/benchmark/bm_array_intersection_objects.rb +7 -0
  22. data/benchmark/bm_array_intersection_strings.rb +7 -0
  23. data/benchmark/bm_array_minus_numbers.rb +7 -0
  24. data/benchmark/bm_array_minus_objects.rb +7 -0
  25. data/benchmark/bm_array_minus_strings.rb +7 -0
  26. data/benchmark/bm_array_union_numbers.rb +7 -0
  27. data/benchmark/bm_array_union_objects.rb +7 -0
  28. data/benchmark/bm_array_union_strings.rb +7 -0
  29. data/benchmark/bm_array_uniq_bang_numbers.rb +5 -0
  30. data/benchmark/bm_array_uniq_bang_objects.rb +5 -0
  31. data/benchmark/bm_array_uniq_bang_strings.rb +5 -0
  32. data/benchmark/bm_array_uniq_numbers.rb +5 -0
  33. data/benchmark/bm_array_uniq_objects.rb +5 -0
  34. data/benchmark/bm_array_uniq_strings.rb +5 -0
  35. data/benchmark/bm_dispatch_bind_table.rb +57 -0
  36. data/benchmark/bm_dispatch_code_gen.rb +65 -0
  37. data/benchmark/bm_dispatch_code_gen_if.rb +64 -0
  38. data/benchmark/bm_dispatch_hardcoded.rb +44 -0
  39. data/benchmark/bm_dispatch_send.rb +38 -0
  40. data/benchmark/bm_dispatch_send_table.rb +57 -0
  41. data/benchmark/bm_hash_assoc_object.rb +11 -0
  42. data/benchmark/bm_hash_assoc_string.rb +9 -0
  43. data/benchmark/bm_hash_clone_object.rb +9 -0
  44. data/benchmark/bm_hash_clone_string.rb +9 -0
  45. data/benchmark/bm_hash_delete_object.rb +11 -0
  46. data/benchmark/bm_hash_delete_string.rb +9 -0
  47. data/benchmark/bm_hash_each_key_object.rb +9 -0
  48. data/benchmark/bm_hash_each_key_string.rb +9 -0
  49. data/benchmark/bm_hash_each_object.rb +9 -0
  50. data/benchmark/bm_hash_each_string.rb +9 -0
  51. data/benchmark/bm_hash_each_value_object.rb +9 -0
  52. data/benchmark/bm_hash_each_value_string.rb +9 -0
  53. data/benchmark/bm_hash_element_reference_object.rb +11 -0
  54. data/benchmark/bm_hash_element_reference_string.rb +9 -0
  55. data/benchmark/bm_hash_element_set_object.rb +5 -0
  56. data/benchmark/bm_hash_element_set_string.rb +5 -0
  57. data/benchmark/bm_hash_equal_value_object.rb +14 -0
  58. data/benchmark/bm_hash_equal_value_string.rb +11 -0
  59. data/benchmark/bm_hash_fetch_object.rb +11 -0
  60. data/benchmark/bm_hash_fetch_string.rb +9 -0
  61. data/benchmark/bm_hash_flatten_object.rb +9 -0
  62. data/benchmark/bm_hash_flatten_string.rb +9 -0
  63. data/benchmark/bm_hash_has_key_object.rb +11 -0
  64. data/benchmark/bm_hash_has_key_string.rb +9 -0
  65. data/benchmark/bm_hash_has_value_object.rb +9 -0
  66. data/benchmark/bm_hash_has_value_string.rb +9 -0
  67. data/benchmark/bm_hash_hash_object.rb +9 -0
  68. data/benchmark/bm_hash_hash_string.rb +9 -0
  69. data/benchmark/bm_hash_inspect_object.rb +9 -0
  70. data/benchmark/bm_hash_inspect_string.rb +9 -0
  71. data/benchmark/bm_hash_invert_object.rb +9 -0
  72. data/benchmark/bm_hash_invert_string.rb +9 -0
  73. data/benchmark/bm_hash_keep_if_object.rb +9 -0
  74. data/benchmark/bm_hash_keep_if_string.rb +9 -0
  75. data/benchmark/bm_hash_key_object.rb +9 -0
  76. data/benchmark/bm_hash_key_string.rb +9 -0
  77. data/benchmark/bm_hash_keys_object.rb +9 -0
  78. data/benchmark/bm_hash_keys_string.rb +9 -0
  79. data/benchmark/bm_hash_literal_mixed_large.rb +3 -0
  80. data/benchmark/bm_hash_literal_mixed_small.rb +3 -0
  81. data/benchmark/bm_hash_literal_object_large.rb +4 -0
  82. data/benchmark/bm_hash_literal_object_small.rb +3 -0
  83. data/benchmark/bm_hash_literal_string_large.rb +4 -0
  84. data/benchmark/bm_hash_literal_string_small.rb +3 -0
  85. data/benchmark/bm_hash_merge_object.rb +22 -0
  86. data/benchmark/bm_hash_merge_string.rb +18 -0
  87. data/benchmark/bm_hash_rassoc_object.rb +9 -0
  88. data/benchmark/bm_hash_rassoc_string.rb +9 -0
  89. data/benchmark/bm_hash_rehash_object.rb +9 -0
  90. data/benchmark/bm_hash_rehash_string.rb +9 -0
  91. data/benchmark/bm_hash_reject_bang_object.rb +9 -0
  92. data/benchmark/bm_hash_reject_bang_string.rb +9 -0
  93. data/benchmark/bm_hash_reject_object.rb +9 -0
  94. data/benchmark/bm_hash_reject_string.rb +9 -0
  95. data/benchmark/bm_hash_replace_object.rb +18 -0
  96. data/benchmark/bm_hash_replace_string.rb +14 -0
  97. data/benchmark/bm_hash_select_bang_object.rb +9 -0
  98. data/benchmark/bm_hash_select_bang_string.rb +9 -0
  99. data/benchmark/bm_hash_select_object.rb +9 -0
  100. data/benchmark/bm_hash_select_string.rb +9 -0
  101. data/benchmark/bm_hash_shift_object.rb +10 -0
  102. data/benchmark/bm_hash_shift_string.rb +10 -0
  103. data/benchmark/bm_hash_to_a_object.rb +9 -0
  104. data/benchmark/bm_hash_to_a_string.rb +9 -0
  105. data/benchmark/bm_hash_to_h_object.rb +10 -0
  106. data/benchmark/bm_hash_to_h_string.rb +10 -0
  107. data/benchmark/bm_hash_values_object.rb +9 -0
  108. data/benchmark/bm_hash_values_string.rb +9 -0
  109. data/benchmark/run.rb +37 -0
  110. data/bin/opal +27 -0
  111. data/bin/opal-build +77 -0
  112. data/bin/opal-mspec +10 -0
  113. data/bin/opal-repl +72 -0
  114. data/config.ru +14 -0
  115. data/docs/compiler_directives.md +127 -0
  116. data/examples/rack/.gitignore +1 -0
  117. data/examples/rack/Gemfile +3 -0
  118. data/examples/rack/app/application.rb +13 -0
  119. data/examples/rack/app/user.rb +22 -0
  120. data/examples/rack/config.ru +20 -0
  121. data/examples/rack/index.html.erb +10 -0
  122. data/examples/sinatra/Gemfile +5 -0
  123. data/examples/sinatra/app/application.rb +7 -0
  124. data/examples/sinatra/config.ru +38 -0
  125. data/lib/mspec/opal/main.rb.erb +9 -0
  126. data/lib/mspec/opal/new.html.erb +1 -0
  127. data/lib/mspec/opal/rake_task.rb +248 -0
  128. data/lib/mspec/opal/runner.rb +281 -0
  129. data/lib/mspec/opal/special_calls.rb +44 -0
  130. data/lib/mspec/opal/sprockets.js +57 -0
  131. data/lib/opal-wedge.rb +4 -0
  132. data/lib/opal.rb +11 -0
  133. data/lib/opal/builder.rb +161 -0
  134. data/lib/opal/builder_processors.rb +149 -0
  135. data/lib/opal/cli.rb +162 -0
  136. data/lib/opal/cli_options.rb +158 -0
  137. data/lib/opal/cli_runners.rb +11 -0
  138. data/lib/opal/cli_runners/apple_script.rb +65 -0
  139. data/lib/opal/cli_runners/nodejs.rb +63 -0
  140. data/lib/opal/cli_runners/phantom.js +44 -0
  141. data/lib/opal/cli_runners/phantomjs.rb +28 -0
  142. data/lib/opal/cli_runners/server.rb +56 -0
  143. data/lib/opal/compiler.rb +381 -0
  144. data/lib/opal/config.rb +48 -0
  145. data/lib/opal/erb.rb +84 -0
  146. data/lib/opal/fragment.rb +53 -0
  147. data/lib/opal/hike_path_finder.rb +18 -0
  148. data/lib/opal/nodes.rb +26 -0
  149. data/lib/opal/nodes/arglist.rb +56 -0
  150. data/lib/opal/nodes/array.rb +54 -0
  151. data/lib/opal/nodes/base.rb +151 -0
  152. data/lib/opal/nodes/call.rb +290 -0
  153. data/lib/opal/nodes/call_special.rb +252 -0
  154. data/lib/opal/nodes/case.rb +96 -0
  155. data/lib/opal/nodes/class.rb +42 -0
  156. data/lib/opal/nodes/constants.rb +78 -0
  157. data/lib/opal/nodes/def.rb +281 -0
  158. data/lib/opal/nodes/defined.rb +113 -0
  159. data/lib/opal/nodes/definitions.rb +168 -0
  160. data/lib/opal/nodes/for.rb +48 -0
  161. data/lib/opal/nodes/hash.rb +67 -0
  162. data/lib/opal/nodes/helpers.rb +116 -0
  163. data/lib/opal/nodes/if.rb +81 -0
  164. data/lib/opal/nodes/iter.rb +136 -0
  165. data/lib/opal/nodes/literal.rb +247 -0
  166. data/lib/opal/nodes/logic.rb +217 -0
  167. data/lib/opal/nodes/masgn.rb +62 -0
  168. data/lib/opal/nodes/module.rb +45 -0
  169. data/lib/opal/nodes/rescue.rb +143 -0
  170. data/lib/opal/nodes/runtime_helpers.rb +45 -0
  171. data/lib/opal/nodes/scope.rb +281 -0
  172. data/lib/opal/nodes/singleton_class.rb +26 -0
  173. data/lib/opal/nodes/super.rb +97 -0
  174. data/lib/opal/nodes/top.rb +103 -0
  175. data/lib/opal/nodes/variables.rb +191 -0
  176. data/lib/opal/nodes/while.rb +65 -0
  177. data/lib/opal/nodes/yield.rb +95 -0
  178. data/lib/opal/parser.rb +742 -0
  179. data/lib/opal/parser/grammar.rb +5723 -0
  180. data/lib/opal/parser/grammar.y +1787 -0
  181. data/lib/opal/parser/keywords.rb +66 -0
  182. data/lib/opal/parser/lexer.rb +1260 -0
  183. data/lib/opal/parser/parser_scope.rb +28 -0
  184. data/lib/opal/parser/sexp.rb +81 -0
  185. data/lib/opal/path_reader.rb +35 -0
  186. data/lib/opal/paths.rb +55 -0
  187. data/lib/opal/regexp_anchors.rb +5 -0
  188. data/lib/opal/source_map.rb +70 -0
  189. data/lib/opal/sprockets.rb +3 -0
  190. data/lib/opal/sprockets/cache_key_fix.rb +17 -0
  191. data/lib/opal/sprockets/environment.rb +31 -0
  192. data/lib/opal/sprockets/erb.rb +23 -0
  193. data/lib/opal/sprockets/path_reader.rb +36 -0
  194. data/lib/opal/sprockets/processor.rb +167 -0
  195. data/lib/opal/sprockets/server.rb +160 -0
  196. data/lib/opal/sprockets/source_map_header_patch.rb +41 -0
  197. data/lib/opal/sprockets/source_map_server.rb +115 -0
  198. data/lib/opal/util.rb +69 -0
  199. data/lib/opal/version.rb +5 -0
  200. data/lib/tilt/opal.rb +54 -0
  201. data/opal.gemspec +37 -0
  202. data/opal/README.md +6 -0
  203. data/opal/corelib/array.rb +2073 -0
  204. data/opal/corelib/array/inheritance.rb +127 -0
  205. data/opal/corelib/basic_object.rb +82 -0
  206. data/opal/corelib/boolean.rb +47 -0
  207. data/opal/corelib/class.rb +55 -0
  208. data/opal/corelib/comparable.rb +57 -0
  209. data/opal/corelib/complex.rb +3 -0
  210. data/opal/corelib/dir.rb +20 -0
  211. data/opal/corelib/enumerable.rb +1138 -0
  212. data/opal/corelib/enumerator.rb +426 -0
  213. data/opal/corelib/error.rb +77 -0
  214. data/opal/corelib/file.rb +59 -0
  215. data/opal/corelib/hash.rb +951 -0
  216. data/opal/corelib/helpers.rb +102 -0
  217. data/opal/corelib/io.rb +73 -0
  218. data/opal/corelib/kernel.rb +1124 -0
  219. data/opal/corelib/main.rb +7 -0
  220. data/opal/corelib/match_data.rb +128 -0
  221. data/opal/corelib/method.rb +62 -0
  222. data/opal/corelib/module.rb +553 -0
  223. data/opal/corelib/nil_class.rb +57 -0
  224. data/opal/corelib/numeric.rb +564 -0
  225. data/opal/corelib/proc.rb +105 -0
  226. data/opal/corelib/process.rb +27 -0
  227. data/opal/corelib/range.rb +116 -0
  228. data/opal/corelib/rational.rb +3 -0
  229. data/opal/corelib/regexp.rb +203 -0
  230. data/opal/corelib/runtime.js +1637 -0
  231. data/opal/corelib/string.rb +1762 -0
  232. data/opal/corelib/string/inheritance.rb +117 -0
  233. data/opal/corelib/struct.rb +159 -0
  234. data/opal/corelib/time.rb +746 -0
  235. data/opal/corelib/variables.rb +28 -0
  236. data/opal/opal.rb +33 -0
  237. data/spec/README.md +8 -0
  238. data/spec/filters/bugs/array.rb +77 -0
  239. data/spec/filters/bugs/basicobject.rb +33 -0
  240. data/spec/filters/bugs/class.rb +15 -0
  241. data/spec/filters/bugs/comparable.rb +4 -0
  242. data/spec/filters/bugs/date.rb +173 -0
  243. data/spec/filters/bugs/enumerable.rb +62 -0
  244. data/spec/filters/bugs/enumerator.rb +45 -0
  245. data/spec/filters/bugs/exception.rb +84 -0
  246. data/spec/filters/bugs/fixnum.rb +35 -0
  247. data/spec/filters/bugs/float.rb +100 -0
  248. data/spec/filters/bugs/hash.rb +17 -0
  249. data/spec/filters/bugs/integer.rb +63 -0
  250. data/spec/filters/bugs/kernel.rb +395 -0
  251. data/spec/filters/bugs/language.rb +246 -0
  252. data/spec/filters/bugs/math.rb +89 -0
  253. data/spec/filters/bugs/method.rb +5 -0
  254. data/spec/filters/bugs/module.rb +372 -0
  255. data/spec/filters/bugs/nil.rb +7 -0
  256. data/spec/filters/bugs/numeric.rb +123 -0
  257. data/spec/filters/bugs/proc.rb +65 -0
  258. data/spec/filters/bugs/range.rb +148 -0
  259. data/spec/filters/bugs/regexp.rb +252 -0
  260. data/spec/filters/bugs/set.rb +51 -0
  261. data/spec/filters/bugs/singleton.rb +6 -0
  262. data/spec/filters/bugs/string.rb +99 -0
  263. data/spec/filters/bugs/strscan.rb +106 -0
  264. data/spec/filters/bugs/struct.rb +22 -0
  265. data/spec/filters/bugs/time.rb +28 -0
  266. data/spec/filters/bugs/unboundmethod.rb +22 -0
  267. data/spec/filters/unsupported/array.rb +176 -0
  268. data/spec/filters/unsupported/basicobject.rb +12 -0
  269. data/spec/filters/unsupported/class.rb +4 -0
  270. data/spec/filters/unsupported/delegator.rb +5 -0
  271. data/spec/filters/unsupported/enumerable.rb +8 -0
  272. data/spec/filters/unsupported/enumerator.rb +13 -0
  273. data/spec/filters/unsupported/fixnum.rb +15 -0
  274. data/spec/filters/unsupported/float.rb +6 -0
  275. data/spec/filters/unsupported/hash.rb +55 -0
  276. data/spec/filters/unsupported/integer.rb +3 -0
  277. data/spec/filters/unsupported/kernel.rb +22 -0
  278. data/spec/filters/unsupported/language.rb +31 -0
  279. data/spec/filters/unsupported/matchdata.rb +33 -0
  280. data/spec/filters/unsupported/math.rb +3 -0
  281. data/spec/filters/unsupported/module.rb +36 -0
  282. data/spec/filters/unsupported/pathname.rb +3 -0
  283. data/spec/filters/unsupported/regexp.rb +94 -0
  284. data/spec/filters/unsupported/set.rb +4 -0
  285. data/spec/filters/unsupported/singleton.rb +6 -0
  286. data/spec/filters/unsupported/string.rb +538 -0
  287. data/spec/filters/unsupported/struct.rb +3 -0
  288. data/spec/filters/unsupported/time.rb +208 -0
  289. data/spec/lib/builder_processors_spec.rb +27 -0
  290. data/spec/lib/builder_spec.rb +72 -0
  291. data/spec/lib/cli_spec.rb +150 -0
  292. data/spec/lib/compiler/pre_processed_conditionals_spec.rb +87 -0
  293. data/spec/lib/compiler_spec.rb +131 -0
  294. data/spec/lib/dependency_resolver_spec.rb +40 -0
  295. data/spec/lib/fixtures/complex_sprockets.js.rb.erb +4 -0
  296. data/spec/lib/fixtures/file_with_directives.js +2 -0
  297. data/spec/lib/fixtures/jst_file.js.jst +1 -0
  298. data/spec/lib/fixtures/no_requires.rb +1 -0
  299. data/spec/lib/fixtures/opal_file.rb +2 -0
  300. data/spec/lib/fixtures/require_tree_test.rb +3 -0
  301. data/spec/lib/fixtures/required_file.js +1 -0
  302. data/spec/lib/fixtures/required_tree_test/required_file1.rb +1 -0
  303. data/spec/lib/fixtures/required_tree_test/required_file2.rb +1 -0
  304. data/spec/lib/fixtures/requires.rb +7 -0
  305. data/spec/lib/fixtures/source_map.rb +1 -0
  306. data/spec/lib/fixtures/source_map/subfolder/other_file.rb +1 -0
  307. data/spec/lib/fixtures/sprockets_file.js.rb +3 -0
  308. data/spec/lib/fixtures/sprockets_require_tree_test.rb +3 -0
  309. data/spec/lib/hike_path_finder_spec.rb +23 -0
  310. data/spec/lib/lexer_spec.rb +110 -0
  311. data/spec/lib/parser/alias_spec.rb +26 -0
  312. data/spec/lib/parser/and_spec.rb +13 -0
  313. data/spec/lib/parser/attrasgn_spec.rb +28 -0
  314. data/spec/lib/parser/begin_spec.rb +42 -0
  315. data/spec/lib/parser/block_spec.rb +12 -0
  316. data/spec/lib/parser/break_spec.rb +17 -0
  317. data/spec/lib/parser/call_spec.rb +165 -0
  318. data/spec/lib/parser/class_spec.rb +35 -0
  319. data/spec/lib/parser/comments_spec.rb +11 -0
  320. data/spec/lib/parser/def_spec.rb +80 -0
  321. data/spec/lib/parser/if_spec.rb +26 -0
  322. data/spec/lib/parser/iter_spec.rb +59 -0
  323. data/spec/lib/parser/lambda_spec.rb +64 -0
  324. data/spec/lib/parser/literal_spec.rb +118 -0
  325. data/spec/lib/parser/masgn_spec.rb +37 -0
  326. data/spec/lib/parser/module_spec.rb +27 -0
  327. data/spec/lib/parser/not_spec.rb +21 -0
  328. data/spec/lib/parser/op_asgn1_spec.rb +23 -0
  329. data/spec/lib/parser/op_asgn2_spec.rb +23 -0
  330. data/spec/lib/parser/or_spec.rb +13 -0
  331. data/spec/lib/parser/return_spec.rb +17 -0
  332. data/spec/lib/parser/sclass_spec.rb +21 -0
  333. data/spec/lib/parser/string_spec.rb +276 -0
  334. data/spec/lib/parser/super_spec.rb +20 -0
  335. data/spec/lib/parser/unary_spec.rb +48 -0
  336. data/spec/lib/parser/undef_spec.rb +15 -0
  337. data/spec/lib/parser/unless_spec.rb +13 -0
  338. data/spec/lib/parser/variables_spec.rb +92 -0
  339. data/spec/lib/parser/while_spec.rb +15 -0
  340. data/spec/lib/parser/yield_spec.rb +20 -0
  341. data/spec/lib/path_reader_spec.rb +36 -0
  342. data/spec/lib/shared/path_finder_shared.rb +19 -0
  343. data/spec/lib/shared/path_reader_shared.rb +31 -0
  344. data/spec/lib/spec_helper.rb +9 -0
  345. data/spec/lib/sprockets/erb_spec.rb +38 -0
  346. data/spec/lib/sprockets/path_reader_spec.rb +41 -0
  347. data/spec/lib/sprockets/processor_spec.rb +67 -0
  348. data/spec/lib/sprockets/server_spec.rb +102 -0
  349. data/spec/lib/tilt/opal_spec.rb +37 -0
  350. data/spec/opal/compiler/irb_spec.rb +44 -0
  351. data/spec/opal/core/array/intersection_spec.rb +38 -0
  352. data/spec/opal/core/array/minus_spec.rb +38 -0
  353. data/spec/opal/core/array/select_spec.rb +14 -0
  354. data/spec/opal/core/array/set_range_to_array_spec.rb +7 -0
  355. data/spec/opal/core/array/union_spec.rb +38 -0
  356. data/spec/opal/core/array/uniq_spec.rb +49 -0
  357. data/spec/opal/core/date_spec.rb +177 -0
  358. data/spec/opal/core/enumerable/all_break_spec.rb +5 -0
  359. data/spec/opal/core/enumerable/any_break_spec.rb +5 -0
  360. data/spec/opal/core/enumerable/collect_break_spec.rb +13 -0
  361. data/spec/opal/core/enumerable/count_break_spec.rb +5 -0
  362. data/spec/opal/core/enumerable/detect_break_spec.rb +5 -0
  363. data/spec/opal/core/enumerable/drop_while_break_spec.rb +5 -0
  364. data/spec/opal/core/enumerable/each_slice_break.rb +6 -0
  365. data/spec/opal/core/enumerable/each_with_index_break_spec.rb +5 -0
  366. data/spec/opal/core/enumerable/each_with_object_break_spec.rb +5 -0
  367. data/spec/opal/core/enumerable/find_all_break_spec.rb +5 -0
  368. data/spec/opal/core/enumerable/find_index_break_spec.rb +5 -0
  369. data/spec/opal/core/enumerable/grep_break_spec.rb +5 -0
  370. data/spec/opal/core/enumerable/max_break_spec.rb +5 -0
  371. data/spec/opal/core/enumerable/max_by_break_spec.rb +5 -0
  372. data/spec/opal/core/enumerable/min_break_spec.rb +5 -0
  373. data/spec/opal/core/enumerable/min_by_break_spec.rb +5 -0
  374. data/spec/opal/core/enumerable/none_break_spec.rb +5 -0
  375. data/spec/opal/core/enumerable/one_break_spec.rb +5 -0
  376. data/spec/opal/core/enumerable/reduce_break_spec.rb +5 -0
  377. data/spec/opal/core/enumerable/take_while_break_spec.rb +5 -0
  378. data/spec/opal/core/exception_spec.rb +13 -0
  379. data/spec/opal/core/fixtures/class.rb +124 -0
  380. data/spec/opal/core/fixtures/class_variables.rb +0 -0
  381. data/spec/opal/core/fixtures/constants.rb +33 -0
  382. data/spec/opal/core/fixtures/require_tree_files/file 1.rb +1 -0
  383. data/spec/opal/core/fixtures/require_tree_files/file 2.rb +1 -0
  384. data/spec/opal/core/fixtures/require_tree_files/file 3.rb +1 -0
  385. data/spec/opal/core/fixtures/require_tree_files/file 4.rb +1 -0
  386. data/spec/opal/core/fixtures/require_tree_files/file 5.rb +1 -0
  387. data/spec/opal/core/fixtures/require_tree_files/nested/nested 1.rb +1 -0
  388. data/spec/opal/core/fixtures/require_tree_files/nested/nested 2.rb +1 -0
  389. data/spec/opal/core/fixtures/require_tree_files/other/other 1.rb +1 -0
  390. data/spec/opal/core/fixtures/require_tree_with_dot/file 1.rb +1 -0
  391. data/spec/opal/core/fixtures/require_tree_with_dot/file 2.rb +1 -0
  392. data/spec/opal/core/fixtures/require_tree_with_dot/file 3.rb +1 -0
  393. data/spec/opal/core/fixtures/require_tree_with_dot/index.rb +3 -0
  394. data/spec/opal/core/hash/has_value_spec.rb +13 -0
  395. data/spec/opal/core/hash/internals_spec.rb +332 -0
  396. data/spec/opal/core/kernel/Array_spec.rb +10 -0
  397. data/spec/opal/core/kernel/block_given_spec.rb +30 -0
  398. data/spec/opal/core/kernel/class_spec.rb +6 -0
  399. data/spec/opal/core/kernel/define_singleton_method_spec.rb +21 -0
  400. data/spec/opal/core/kernel/equal_value_spec.rb +12 -0
  401. data/spec/opal/core/kernel/extend_spec.rb +21 -0
  402. data/spec/opal/core/kernel/format_spec.rb +122 -0
  403. data/spec/opal/core/kernel/freeze_spec.rb +15 -0
  404. data/spec/opal/core/kernel/instance_eval_spec.rb +28 -0
  405. data/spec/opal/core/kernel/instance_variable_defined_spec.rb +15 -0
  406. data/spec/opal/core/kernel/instance_variable_get_spec.rb +14 -0
  407. data/spec/opal/core/kernel/instance_variable_set_spec.rb +10 -0
  408. data/spec/opal/core/kernel/loop_spec.rb +23 -0
  409. data/spec/opal/core/kernel/match_spec.rb +5 -0
  410. data/spec/opal/core/kernel/method_spec.rb +31 -0
  411. data/spec/opal/core/kernel/methods_spec.rb +25 -0
  412. data/spec/opal/core/kernel/nil_spec.rb +7 -0
  413. data/spec/opal/core/kernel/p_spec.rb +15 -0
  414. data/spec/opal/core/kernel/printf_spec.rb +11 -0
  415. data/spec/opal/core/kernel/proc_spec.rb +13 -0
  416. data/spec/opal/core/kernel/rand_spec.rb +23 -0
  417. data/spec/opal/core/kernel/require_tree_spec.rb +18 -0
  418. data/spec/opal/core/kernel/respond_to_spec.rb +41 -0
  419. data/spec/opal/core/kernel/send_spec.rb +56 -0
  420. data/spec/opal/core/kernel/sprintf_spec.rb +5 -0
  421. data/spec/opal/core/language/block_spec.rb +538 -0
  422. data/spec/opal/core/language/fixtures/array.rb +11 -0
  423. data/spec/opal/core/language/fixtures/block.rb +57 -0
  424. data/spec/opal/core/language/fixtures/break.rb +240 -0
  425. data/spec/opal/core/language/fixtures/ensure.rb +72 -0
  426. data/spec/opal/core/language/fixtures/literal_lambda.rb +7 -0
  427. data/spec/opal/core/language/fixtures/metaclass.rb +33 -0
  428. data/spec/opal/core/language/fixtures/module.rb +24 -0
  429. data/spec/opal/core/language/fixtures/next.rb +128 -0
  430. data/spec/opal/core/language/fixtures/return.rb +118 -0
  431. data/spec/opal/core/language/fixtures/send.rb +110 -0
  432. data/spec/opal/core/language/fixtures/send_1.9.rb +22 -0
  433. data/spec/opal/core/language/fixtures/super.rb +308 -0
  434. data/spec/opal/core/language/fixtures/variables.rb +58 -0
  435. data/spec/opal/core/language/fixtures/yield.rb +28 -0
  436. data/spec/opal/core/language/predefined_spec.rb +138 -0
  437. data/spec/opal/core/language/proc_spec.rb +263 -0
  438. data/spec/opal/core/language/regexp_spec.rb +20 -0
  439. data/spec/opal/core/language/send_spec.rb +225 -0
  440. data/spec/opal/core/language/string_spec.rb +44 -0
  441. data/spec/opal/core/language/variables_spec.rb +1366 -0
  442. data/spec/opal/core/language/versions/array_1.9.rb +39 -0
  443. data/spec/opal/core/language/versions/block_1.9.rb +0 -0
  444. data/spec/opal/core/language/versions/break_1.9.rb +0 -0
  445. data/spec/opal/core/language/versions/case_1.9.rb +20 -0
  446. data/spec/opal/core/language/versions/def_2_0_spec.rb +62 -0
  447. data/spec/opal/core/language/versions/hash_1.9.rb +18 -0
  448. data/spec/opal/core/language/versions/literal_lambda_1.9.rb +143 -0
  449. data/spec/opal/core/language/versions/not_1.9.rb +22 -0
  450. data/spec/opal/core/language/versions/send_1.9.rb +241 -0
  451. data/spec/opal/core/language/versions/symbol_1.9.rb +15 -0
  452. data/spec/opal/core/language/versions/variables_1.9.rb +8 -0
  453. data/spec/opal/core/language_spec.rb +23 -0
  454. data/spec/opal/core/method/to_proc_spec.rb +28 -0
  455. data/spec/opal/core/module/alias_method_spec.rb +28 -0
  456. data/spec/opal/core/module/ancestors_spec.rb +11 -0
  457. data/spec/opal/core/module/append_features_spec.rb +14 -0
  458. data/spec/opal/core/module/attr_accessor_spec.rb +26 -0
  459. data/spec/opal/core/module/const_defined_spec.rb +85 -0
  460. data/spec/opal/core/module/const_get_spec.rb +85 -0
  461. data/spec/opal/core/module/const_missing_spec.rb +17 -0
  462. data/spec/opal/core/module/const_set_spec.rb +64 -0
  463. data/spec/opal/core/module/constants_spec.rb +49 -0
  464. data/spec/opal/core/module/fixtures/classes.rb +434 -0
  465. data/spec/opal/core/module/method_defined_spec.rb +48 -0
  466. data/spec/opal/core/module/module_function_spec.rb +25 -0
  467. data/spec/opal/core/module/name_spec.rb +52 -0
  468. data/spec/opal/core/module/public_method_defined_spec.rb +18 -0
  469. data/spec/opal/core/module/remove_const_spec.rb +22 -0
  470. data/spec/opal/core/module/undef_method_spec.rb +66 -0
  471. data/spec/opal/core/numeric/bit_and_spec.rb +7 -0
  472. data/spec/opal/core/numeric/bit_or_spec.rb +8 -0
  473. data/spec/opal/core/numeric/bit_xor_spec.rb +6 -0
  474. data/spec/opal/core/numeric/ceil_spec.rb +8 -0
  475. data/spec/opal/core/numeric/chr_spec.rb +8 -0
  476. data/spec/opal/core/numeric/comparison_spec.rb +24 -0
  477. data/spec/opal/core/numeric/complement_spec.rb +8 -0
  478. data/spec/opal/core/numeric/divide_spec.rb +10 -0
  479. data/spec/opal/core/numeric/eql_spec.rb +9 -0
  480. data/spec/opal/core/numeric/exponent_spec.rb +33 -0
  481. data/spec/opal/core/numeric/floor_spec.rb +8 -0
  482. data/spec/opal/core/numeric/gt_spec.rb +11 -0
  483. data/spec/opal/core/numeric/gte_spec.rb +12 -0
  484. data/spec/opal/core/numeric/integer_spec.rb +9 -0
  485. data/spec/opal/core/numeric/left_shift_spec.rb +21 -0
  486. data/spec/opal/core/numeric/lt_spec.rb +11 -0
  487. data/spec/opal/core/numeric/lte_spec.rb +12 -0
  488. data/spec/opal/core/numeric/minus_spec.rb +8 -0
  489. data/spec/opal/core/numeric/modulo_spec.rb +19 -0
  490. data/spec/opal/core/numeric/multiply_spec.rb +9 -0
  491. data/spec/opal/core/numeric/next_spec.rb +9 -0
  492. data/spec/opal/core/numeric/ord_spec.rb +9 -0
  493. data/spec/opal/core/numeric/plus_spec.rb +8 -0
  494. data/spec/opal/core/numeric/pred_spec.rb +7 -0
  495. data/spec/opal/core/numeric/right_shift_spec.rb +25 -0
  496. data/spec/opal/core/numeric/step_spec.rb +11 -0
  497. data/spec/opal/core/numeric/succ_spec.rb +9 -0
  498. data/spec/opal/core/numeric/times_spec.rb +36 -0
  499. data/spec/opal/core/numeric/to_f_spec.rb +7 -0
  500. data/spec/opal/core/numeric/to_i_spec.rb +7 -0
  501. data/spec/opal/core/numeric/to_json_spec.rb +8 -0
  502. data/spec/opal/core/numeric/to_s_spec.rb +26 -0
  503. data/spec/opal/core/numeric/uminus_spec.rb +9 -0
  504. data/spec/opal/core/numeric/upto_spec.rb +19 -0
  505. data/spec/opal/core/numeric/zero_spec.rb +7 -0
  506. data/spec/opal/core/object_id_spec.rb +56 -0
  507. data/spec/opal/core/proc/call_spec.rb +21 -0
  508. data/spec/opal/core/proc/element_reference_spec.rb +21 -0
  509. data/spec/opal/core/proc/proc_tricks_spec.rb +7 -0
  510. data/spec/opal/core/runtime/begin_spec.rb +39 -0
  511. data/spec/opal/core/runtime/block_send_spec.rb +28 -0
  512. data/spec/opal/core/runtime/block_spec.rb +23 -0
  513. data/spec/opal/core/runtime/bridged_classes_spec.rb +111 -0
  514. data/spec/opal/core/runtime/constants_spec.rb +13 -0
  515. data/spec/opal/core/runtime/donate_spec.rb +53 -0
  516. data/spec/opal/core/runtime/eval_spec.rb +5 -0
  517. data/spec/opal/core/runtime/main_methods_spec.rb +27 -0
  518. data/spec/opal/core/runtime/method_missing_spec.rb +62 -0
  519. data/spec/opal/core/runtime/method_spec.rb +31 -0
  520. data/spec/opal/core/runtime/operator_call_spec.rb +13 -0
  521. data/spec/opal/core/runtime/paren_spec.rb +14 -0
  522. data/spec/opal/core/runtime/rescue_spec.rb +38 -0
  523. data/spec/opal/core/runtime/return_spec.rb +38 -0
  524. data/spec/opal/core/runtime/send_spec.rb +34 -0
  525. data/spec/opal/core/runtime/singleton_class_spec.rb +13 -0
  526. data/spec/opal/core/runtime/super_spec.rb +212 -0
  527. data/spec/opal/core/runtime/truthy_spec.rb +23 -0
  528. data/spec/opal/core/runtime/variables_spec.rb +20 -0
  529. data/spec/opal/core/runtime_spec.rb +58 -0
  530. data/spec/opal/core/source_map_spec.rb +15 -0
  531. data/spec/opal/core/string_spec.rb +11 -0
  532. data/spec/opal/stdlib/erb/erb_spec.rb +30 -0
  533. data/spec/opal/stdlib/erb/inline_block.opalerb +3 -0
  534. data/spec/opal/stdlib/erb/quoted.opalerb +1 -0
  535. data/spec/opal/stdlib/erb/simple.opalerb +1 -0
  536. data/spec/opal/stdlib/js_spec.rb +66 -0
  537. data/spec/opal/stdlib/json/ext_spec.rb +48 -0
  538. data/spec/opal/stdlib/json/parse_spec.rb +33 -0
  539. data/spec/opal/stdlib/native/alias_native_spec.rb +27 -0
  540. data/spec/opal/stdlib/native/each_spec.rb +13 -0
  541. data/spec/opal/stdlib/native/element_reference_spec.rb +16 -0
  542. data/spec/opal/stdlib/native/exposure_spec.rb +33 -0
  543. data/spec/opal/stdlib/native/ext_spec.rb +19 -0
  544. data/spec/opal/stdlib/native/initialize_spec.rb +17 -0
  545. data/spec/opal/stdlib/native/method_missing_spec.rb +51 -0
  546. data/spec/opal/stdlib/native/native_alias_spec.rb +19 -0
  547. data/spec/opal/stdlib/native/native_class_spec.rb +18 -0
  548. data/spec/opal/stdlib/native/native_module_spec.rb +13 -0
  549. data/spec/opal/stdlib/native/native_reader_spec.rb +22 -0
  550. data/spec/opal/stdlib/native/native_writer_spec.rb +30 -0
  551. data/spec/opal/stdlib/native/new_spec.rb +8 -0
  552. data/spec/opal/stdlib/promise/always_spec.rb +30 -0
  553. data/spec/opal/stdlib/promise/error_spec.rb +15 -0
  554. data/spec/opal/stdlib/promise/rescue_spec.rb +44 -0
  555. data/spec/opal/stdlib/promise/then_spec.rb +71 -0
  556. data/spec/opal/stdlib/promise/trace_spec.rb +52 -0
  557. data/spec/opal/stdlib/promise/value_spec.rb +15 -0
  558. data/spec/opal/stdlib/promise/when_spec.rb +34 -0
  559. data/spec/opal/stdlib/template/paths_spec.rb +10 -0
  560. data/spec/opal/stdlib/thread/mutex_spec.rb +40 -0
  561. data/spec/opal/stdlib/thread/thread_queue_spec.rb +32 -0
  562. data/spec/opal/stdlib/thread/thread_spec.rb +60 -0
  563. data/spec/rubyspecs +144 -0
  564. data/spec/spec_helper.rb +53 -0
  565. data/spec/support/mspec_rspec_adapter.rb +33 -0
  566. data/spec/support/parser_helpers.rb +37 -0
  567. data/stdlib/README.md +3 -0
  568. data/stdlib/base64.rb +152 -0
  569. data/stdlib/benchmark.rb +557 -0
  570. data/stdlib/buffer.rb +41 -0
  571. data/stdlib/buffer/array.rb +66 -0
  572. data/stdlib/buffer/view.rb +70 -0
  573. data/stdlib/date.rb +248 -0
  574. data/stdlib/delegate.rb +29 -0
  575. data/stdlib/dir.rb +1 -0
  576. data/stdlib/encoding.rb +170 -0
  577. data/stdlib/enumerator.rb +1 -0
  578. data/stdlib/erb.rb +16 -0
  579. data/stdlib/file.rb +1 -0
  580. data/stdlib/fileutils.rb +0 -0
  581. data/stdlib/forwardable.rb +71 -0
  582. data/stdlib/iconv.rb +0 -0
  583. data/stdlib/js.rb +56 -0
  584. data/stdlib/json.rb +190 -0
  585. data/stdlib/math.rb +370 -0
  586. data/stdlib/native.rb +530 -0
  587. data/stdlib/nodejs.rb +7 -0
  588. data/stdlib/nodejs/dir.rb +13 -0
  589. data/stdlib/nodejs/file.rb +98 -0
  590. data/stdlib/nodejs/fileutils.rb +26 -0
  591. data/stdlib/nodejs/io.rb +2 -0
  592. data/stdlib/nodejs/irb.rb +45 -0
  593. data/stdlib/nodejs/kernel.rb +33 -0
  594. data/stdlib/nodejs/node_modules/.bin/js-yaml +140 -0
  595. data/stdlib/nodejs/node_modules/glob/LICENSE +15 -0
  596. data/stdlib/nodejs/node_modules/glob/README.md +357 -0
  597. data/stdlib/nodejs/node_modules/glob/common.js +177 -0
  598. data/stdlib/nodejs/node_modules/glob/glob.js +649 -0
  599. data/stdlib/nodejs/node_modules/glob/node_modules/inflight/.eslintrc +17 -0
  600. data/stdlib/nodejs/node_modules/glob/node_modules/inflight/LICENSE +15 -0
  601. data/stdlib/nodejs/node_modules/glob/node_modules/inflight/README.md +37 -0
  602. data/stdlib/nodejs/node_modules/glob/node_modules/inflight/inflight.js +44 -0
  603. data/stdlib/nodejs/node_modules/glob/node_modules/inflight/node_modules/wrappy/LICENSE +15 -0
  604. data/stdlib/nodejs/node_modules/glob/node_modules/inflight/node_modules/wrappy/README.md +36 -0
  605. data/stdlib/nodejs/node_modules/glob/node_modules/inflight/node_modules/wrappy/package.json +52 -0
  606. data/stdlib/nodejs/node_modules/glob/node_modules/inflight/node_modules/wrappy/test/basic.js +51 -0
  607. data/stdlib/nodejs/node_modules/glob/node_modules/inflight/node_modules/wrappy/wrappy.js +33 -0
  608. data/stdlib/nodejs/node_modules/glob/node_modules/inflight/package.json +61 -0
  609. data/stdlib/nodejs/node_modules/glob/node_modules/inflight/test.js +97 -0
  610. data/stdlib/nodejs/node_modules/glob/node_modules/inherits/LICENSE +16 -0
  611. data/stdlib/nodejs/node_modules/glob/node_modules/inherits/README.md +42 -0
  612. data/stdlib/nodejs/node_modules/glob/node_modules/inherits/inherits.js +1 -0
  613. data/stdlib/nodejs/node_modules/glob/node_modules/inherits/inherits_browser.js +23 -0
  614. data/stdlib/nodejs/node_modules/glob/node_modules/inherits/package.json +51 -0
  615. data/stdlib/nodejs/node_modules/glob/node_modules/inherits/test.js +25 -0
  616. data/stdlib/nodejs/node_modules/glob/node_modules/minimatch/.npmignore +1 -0
  617. data/stdlib/nodejs/node_modules/glob/node_modules/minimatch/.travis.yml +4 -0
  618. data/stdlib/nodejs/node_modules/glob/node_modules/minimatch/LICENSE +23 -0
  619. data/stdlib/nodejs/node_modules/glob/node_modules/minimatch/README.md +216 -0
  620. data/stdlib/nodejs/node_modules/glob/node_modules/minimatch/benchmark.js +15 -0
  621. data/stdlib/nodejs/node_modules/glob/node_modules/minimatch/browser.js +1181 -0
  622. data/stdlib/nodejs/node_modules/glob/node_modules/minimatch/minimatch.js +845 -0
  623. data/stdlib/nodejs/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/.npmignore +2 -0
  624. data/stdlib/nodejs/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/.travis.yml +3 -0
  625. data/stdlib/nodejs/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/README.md +121 -0
  626. data/stdlib/nodejs/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/example.js +8 -0
  627. data/stdlib/nodejs/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/index.js +191 -0
  628. data/stdlib/nodejs/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match/.npmignore +2 -0
  629. data/stdlib/nodejs/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match/.travis.yml +4 -0
  630. data/stdlib/nodejs/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match/Makefile +6 -0
  631. data/stdlib/nodejs/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match/README.md +80 -0
  632. data/stdlib/nodejs/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match/example.js +5 -0
  633. data/stdlib/nodejs/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match/index.js +38 -0
  634. data/stdlib/nodejs/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match/package.json +73 -0
  635. data/stdlib/nodejs/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match/test/balanced.js +56 -0
  636. data/stdlib/nodejs/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/concat-map/.travis.yml +4 -0
  637. data/stdlib/nodejs/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/concat-map/LICENSE +18 -0
  638. data/stdlib/nodejs/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/concat-map/README.markdown +62 -0
  639. data/stdlib/nodejs/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/concat-map/example/map.js +6 -0
  640. data/stdlib/nodejs/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/concat-map/index.js +13 -0
  641. data/stdlib/nodejs/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/concat-map/package.json +83 -0
  642. data/stdlib/nodejs/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/concat-map/test/map.js +39 -0
  643. data/stdlib/nodejs/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/package.json +75 -0
  644. data/stdlib/nodejs/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/test/bash-comparison.js +32 -0
  645. data/stdlib/nodejs/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/test/bash-results.txt +1075 -0
  646. data/stdlib/nodejs/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/test/cases.txt +182 -0
  647. data/stdlib/nodejs/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/test/dollar.js +9 -0
  648. data/stdlib/nodejs/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/test/empty-option.js +10 -0
  649. data/stdlib/nodejs/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/test/generate.sh +24 -0
  650. data/stdlib/nodejs/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/test/negative-increment.js +15 -0
  651. data/stdlib/nodejs/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/test/nested.js +16 -0
  652. data/stdlib/nodejs/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/test/order.js +10 -0
  653. data/stdlib/nodejs/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/test/pad.js +13 -0
  654. data/stdlib/nodejs/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/test/same-type.js +7 -0
  655. data/stdlib/nodejs/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/test/sequence.js +50 -0
  656. data/stdlib/nodejs/node_modules/glob/node_modules/minimatch/package.json +60 -0
  657. data/stdlib/nodejs/node_modules/glob/node_modules/minimatch/test/basic.js +399 -0
  658. data/stdlib/nodejs/node_modules/glob/node_modules/minimatch/test/brace-expand.js +45 -0
  659. data/stdlib/nodejs/node_modules/glob/node_modules/minimatch/test/defaults.js +274 -0
  660. data/stdlib/nodejs/node_modules/glob/node_modules/minimatch/test/extglob-ending-with-state-char.js +8 -0
  661. data/stdlib/nodejs/node_modules/glob/node_modules/once/LICENSE +27 -0
  662. data/stdlib/nodejs/node_modules/glob/node_modules/once/README.md +51 -0
  663. data/stdlib/nodejs/node_modules/glob/node_modules/once/node_modules/wrappy/LICENSE +15 -0
  664. data/stdlib/nodejs/node_modules/glob/node_modules/once/node_modules/wrappy/README.md +36 -0
  665. data/stdlib/nodejs/node_modules/glob/node_modules/once/node_modules/wrappy/package.json +52 -0
  666. data/stdlib/nodejs/node_modules/glob/node_modules/once/node_modules/wrappy/test/basic.js +51 -0
  667. data/stdlib/nodejs/node_modules/glob/node_modules/once/node_modules/wrappy/wrappy.js +33 -0
  668. data/stdlib/nodejs/node_modules/glob/node_modules/once/once.js +21 -0
  669. data/stdlib/nodejs/node_modules/glob/node_modules/once/package.json +60 -0
  670. data/stdlib/nodejs/node_modules/glob/node_modules/once/test/once.js +23 -0
  671. data/stdlib/nodejs/node_modules/glob/package.json +72 -0
  672. data/stdlib/nodejs/node_modules/glob/sync.js +409 -0
  673. data/stdlib/nodejs/node_modules/js-yaml/HISTORY.md +277 -0
  674. data/stdlib/nodejs/node_modules/js-yaml/LICENSE +21 -0
  675. data/stdlib/nodejs/node_modules/js-yaml/README.md +288 -0
  676. data/stdlib/nodejs/node_modules/js-yaml/bin/js-yaml.js +140 -0
  677. data/stdlib/nodejs/node_modules/js-yaml/bower.json +23 -0
  678. data/stdlib/nodejs/node_modules/js-yaml/dist/js-yaml.js +3666 -0
  679. data/stdlib/nodejs/node_modules/js-yaml/dist/js-yaml.min.js +3 -0
  680. data/stdlib/nodejs/node_modules/js-yaml/examples/custom_types.js +102 -0
  681. data/stdlib/nodejs/node_modules/js-yaml/examples/custom_types.yml +18 -0
  682. data/stdlib/nodejs/node_modules/js-yaml/examples/dumper.js +31 -0
  683. data/stdlib/nodejs/node_modules/js-yaml/examples/dumper.json +22 -0
  684. data/stdlib/nodejs/node_modules/js-yaml/examples/sample_document.js +18 -0
  685. data/stdlib/nodejs/node_modules/js-yaml/examples/sample_document.yml +197 -0
  686. data/stdlib/nodejs/node_modules/js-yaml/index.js +7 -0
  687. data/stdlib/nodejs/node_modules/js-yaml/lib/js-yaml.js +39 -0
  688. data/stdlib/nodejs/node_modules/js-yaml/lib/js-yaml/common.js +62 -0
  689. data/stdlib/nodejs/node_modules/js-yaml/lib/js-yaml/dumper.js +554 -0
  690. data/stdlib/nodejs/node_modules/js-yaml/lib/js-yaml/exception.js +25 -0
  691. data/stdlib/nodejs/node_modules/js-yaml/lib/js-yaml/loader.js +1581 -0
  692. data/stdlib/nodejs/node_modules/js-yaml/lib/js-yaml/mark.js +78 -0
  693. data/stdlib/nodejs/node_modules/js-yaml/lib/js-yaml/schema.js +103 -0
  694. data/stdlib/nodejs/node_modules/js-yaml/lib/js-yaml/schema/core.js +18 -0
  695. data/stdlib/nodejs/node_modules/js-yaml/lib/js-yaml/schema/default_full.js +25 -0
  696. data/stdlib/nodejs/node_modules/js-yaml/lib/js-yaml/schema/default_safe.js +28 -0
  697. data/stdlib/nodejs/node_modules/js-yaml/lib/js-yaml/schema/failsafe.js +17 -0
  698. data/stdlib/nodejs/node_modules/js-yaml/lib/js-yaml/schema/json.js +25 -0
  699. data/stdlib/nodejs/node_modules/js-yaml/lib/js-yaml/type.js +61 -0
  700. data/stdlib/nodejs/node_modules/js-yaml/lib/js-yaml/type/binary.js +133 -0
  701. data/stdlib/nodejs/node_modules/js-yaml/lib/js-yaml/type/bool.js +37 -0
  702. data/stdlib/nodejs/node_modules/js-yaml/lib/js-yaml/type/float.js +110 -0
  703. data/stdlib/nodejs/node_modules/js-yaml/lib/js-yaml/type/int.js +183 -0
  704. data/stdlib/nodejs/node_modules/js-yaml/lib/js-yaml/type/js/function.js +85 -0
  705. data/stdlib/nodejs/node_modules/js-yaml/lib/js-yaml/type/js/regexp.js +84 -0
  706. data/stdlib/nodejs/node_modules/js-yaml/lib/js-yaml/type/js/undefined.js +27 -0
  707. data/stdlib/nodejs/node_modules/js-yaml/lib/js-yaml/type/map.js +8 -0
  708. data/stdlib/nodejs/node_modules/js-yaml/lib/js-yaml/type/merge.js +12 -0
  709. data/stdlib/nodejs/node_modules/js-yaml/lib/js-yaml/type/null.js +36 -0
  710. data/stdlib/nodejs/node_modules/js-yaml/lib/js-yaml/type/omap.js +56 -0
  711. data/stdlib/nodejs/node_modules/js-yaml/lib/js-yaml/type/pairs.js +61 -0
  712. data/stdlib/nodejs/node_modules/js-yaml/lib/js-yaml/type/seq.js +8 -0
  713. data/stdlib/nodejs/node_modules/js-yaml/lib/js-yaml/type/set.js +33 -0
  714. data/stdlib/nodejs/node_modules/js-yaml/lib/js-yaml/type/str.js +8 -0
  715. data/stdlib/nodejs/node_modules/js-yaml/lib/js-yaml/type/timestamp.js +98 -0
  716. data/stdlib/nodejs/node_modules/js-yaml/node_modules/.bin/esparse +117 -0
  717. data/stdlib/nodejs/node_modules/js-yaml/node_modules/.bin/esvalidate +177 -0
  718. data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/HISTORY.md +115 -0
  719. data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/LICENSE +21 -0
  720. data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/README.md +239 -0
  721. data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/examples/arguments.js +36 -0
  722. data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/examples/choice.js +22 -0
  723. data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/examples/constants.js +59 -0
  724. data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/examples/help.js +13 -0
  725. data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/examples/nargs.js +33 -0
  726. data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/examples/parents.js +28 -0
  727. data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/examples/prefix_chars.js +23 -0
  728. data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/examples/sub_commands.js +49 -0
  729. data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/examples/sum.js +35 -0
  730. data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/examples/testformatters.js +270 -0
  731. data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/index.js +1 -0
  732. data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/lib/action.js +146 -0
  733. data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/lib/action/append.js +55 -0
  734. data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/lib/action/append/constant.js +47 -0
  735. data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/lib/action/count.js +40 -0
  736. data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/lib/action/help.js +48 -0
  737. data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/lib/action/store.js +50 -0
  738. data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/lib/action/store/constant.js +43 -0
  739. data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/lib/action/store/false.js +27 -0
  740. data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/lib/action/store/true.js +26 -0
  741. data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/lib/action/subparsers.js +148 -0
  742. data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/lib/action/version.js +50 -0
  743. data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/lib/action_container.js +481 -0
  744. data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/lib/argparse.js +14 -0
  745. data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/lib/argument/error.js +50 -0
  746. data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/lib/argument/exclusive.js +54 -0
  747. data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/lib/argument/group.js +75 -0
  748. data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/lib/argument_parser.js +1168 -0
  749. data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/lib/const.js +18 -0
  750. data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/lib/help/added_formatters.js +88 -0
  751. data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/lib/help/formatter.js +798 -0
  752. data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/lib/namespace.js +77 -0
  753. data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/.npmignore +2 -0
  754. data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/.travis.yml +8 -0
  755. data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/README.markdown +825 -0
  756. data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/bower.json +33 -0
  757. data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/component.json +11 -0
  758. data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/foo.js +10 -0
  759. data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/gulpfile.js +26 -0
  760. data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/lib/underscore.string.js +673 -0
  761. data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/libpeerconnection.log +0 -0
  762. data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/package.json +107 -0
  763. data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/node_modules/underscore/LICENSE +23 -0
  764. data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/node_modules/underscore/README.md +22 -0
  765. data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/node_modules/underscore/package.json +69 -0
  766. data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/node_modules/underscore/underscore-min.js +6 -0
  767. data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/node_modules/underscore/underscore.js +1415 -0
  768. data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/package.json +62 -0
  769. data/stdlib/nodejs/node_modules/js-yaml/node_modules/esprima/README.md +73 -0
  770. data/stdlib/nodejs/node_modules/js-yaml/node_modules/esprima/bin/esparse.js +117 -0
  771. data/stdlib/nodejs/node_modules/js-yaml/node_modules/esprima/bin/esvalidate.js +177 -0
  772. data/stdlib/nodejs/node_modules/js-yaml/node_modules/esprima/esprima.js +3908 -0
  773. data/stdlib/nodejs/node_modules/js-yaml/node_modules/esprima/package.json +69 -0
  774. data/stdlib/nodejs/node_modules/js-yaml/node_modules/esprima/test/compat.js +239 -0
  775. data/stdlib/nodejs/node_modules/js-yaml/node_modules/esprima/test/reflect.js +422 -0
  776. data/stdlib/nodejs/node_modules/js-yaml/node_modules/esprima/test/run.js +66 -0
  777. data/stdlib/nodejs/node_modules/js-yaml/node_modules/esprima/test/runner.js +387 -0
  778. data/stdlib/nodejs/node_modules/js-yaml/node_modules/esprima/test/test.js +20238 -0
  779. data/stdlib/nodejs/node_modules/js-yaml/package.json +83 -0
  780. data/stdlib/nodejs/package.json +6 -0
  781. data/stdlib/nodejs/require.rb +30 -0
  782. data/stdlib/nodejs/rubygems.rb +68 -0
  783. data/stdlib/nodejs/yaml.rb +11 -0
  784. data/stdlib/observer.rb +202 -0
  785. data/stdlib/opal-parser.rb +54 -0
  786. data/stdlib/opal-source-maps.rb +2 -0
  787. data/stdlib/ostruct.rb +69 -0
  788. data/stdlib/pathname.rb +55 -0
  789. data/stdlib/phantomjs.rb +3 -0
  790. data/stdlib/pp.rb +35 -0
  791. data/stdlib/promise.rb +427 -0
  792. data/stdlib/racc/parser.rb +215 -0
  793. data/stdlib/rbconfig.rb +18 -0
  794. data/stdlib/securerandom.rb +12 -0
  795. data/stdlib/set.rb +170 -0
  796. data/stdlib/singleton.rb +40 -0
  797. data/stdlib/source_map.rb +5 -0
  798. data/stdlib/source_map/map.rb +220 -0
  799. data/stdlib/source_map/mapping.rb +26 -0
  800. data/stdlib/source_map/offset.rb +88 -0
  801. data/stdlib/source_map/version.rb +3 -0
  802. data/stdlib/source_map/vlq.rb +98 -0
  803. data/stdlib/sourcemap.rb +1 -0
  804. data/stdlib/stringio.rb +181 -0
  805. data/stdlib/strscan.rb +166 -0
  806. data/stdlib/template.rb +46 -0
  807. data/stdlib/thread.rb +164 -0
  808. data/stdlib/time.rb +9 -0
  809. data/stdlib/yaml.rb +1 -0
  810. data/tasks/benchmarking.rake +88 -0
  811. data/tasks/building.rake +58 -0
  812. data/tasks/documenting.rake +37 -0
  813. data/tasks/github.rake +19 -0
  814. data/tasks/linting.rake +18 -0
  815. data/tasks/testing.rake +125 -0
  816. data/vendored-minitest/minitest.rb +780 -0
  817. data/vendored-minitest/minitest/assertions.rb +662 -0
  818. data/vendored-minitest/minitest/autorun.rb +12 -0
  819. data/vendored-minitest/minitest/benchmark.rb +426 -0
  820. data/vendored-minitest/minitest/expectations.rb +281 -0
  821. data/vendored-minitest/minitest/hell.rb +11 -0
  822. data/vendored-minitest/minitest/mock.rb +220 -0
  823. data/vendored-minitest/minitest/parallel.rb +65 -0
  824. data/vendored-minitest/minitest/pride.rb +4 -0
  825. data/vendored-minitest/minitest/pride_plugin.rb +142 -0
  826. data/vendored-minitest/minitest/spec.rb +310 -0
  827. data/vendored-minitest/minitest/test.rb +293 -0
  828. data/vendored-minitest/minitest/unit.rb +45 -0
  829. data/vendored-minitest/test/unit.rb +28 -0
  830. metadata +1058 -0
@@ -0,0 +1,12 @@
1
+ opal_filter "BasicObject" do
2
+ fails "BasicObject#initialize is a private instance method"
3
+ fails "BasicObject#method_missing is a private method"
4
+ fails "BasicObject#singleton_method_added is a private method"
5
+ fails "BasicObject#singleton_method_added is called when a method is defined in the singleton class"
6
+ fails "BasicObject#singleton_method_added is called when a method is defined on self"
7
+ fails "BasicObject#singleton_method_added is called when define_method is used in the singleton class"
8
+ fails "BasicObject#singleton_method_removed is a private method"
9
+ fails "BasicObject#singleton_method_removed is called when a method is removed on self"
10
+ fails "BasicObject#singleton_method_undefined is a private method"
11
+ fails "BasicObject#singleton_method_undefined is called when a method is removed on self"
12
+ end
@@ -0,0 +1,4 @@
1
+ opal_filter "Class" do
2
+ fails "Class#initialize is private"
3
+ fails "Class.inherited is called when marked as a public class method"
4
+ end
@@ -0,0 +1,5 @@
1
+ opal_filter "Delegator" do
2
+ fails "SimpleDelegator.new doesn't forward private method calls even via send or __send__"
3
+ fails "SimpleDelegator.new doesn't forward private method calls"
4
+ fails "SimpleDelegator.new forwards protected method calls"
5
+ end
@@ -0,0 +1,8 @@
1
+ opal_filter "Enumerable" do
2
+ fails "Enumerable#entries returns a tainted array if self is tainted"
3
+ fails "Enumerable#entries returns an untrusted array if self is untrusted"
4
+ fails "Enumerable#group_by returns a tainted hash if self is tainted"
5
+ fails "Enumerable#group_by returns an untrusted hash if self is untrusted"
6
+ fails "Enumerable#to_a returns a tainted array if self is tainted"
7
+ fails "Enumerable#to_a returns an untrusted array if self is untrusted"
8
+ end
@@ -0,0 +1,13 @@
1
+ opal_filter "Enumerator" do
2
+ fails "Enumerator#next cannot be called again until the enumerator is rewound"
3
+ fails "Enumerator#next raises a StopIteration exception at the end of the stream"
4
+ fails "Enumerator#next returns the next element of the enumeration"
5
+ fails "Enumerator#rewind calls the enclosed object's rewind method if one exists"
6
+ fails "Enumerator#rewind clears a pending #feed value"
7
+ fails "Enumerator#rewind does nothing if the object doesn't have a #rewind method"
8
+ fails "Enumerator#rewind has no effect if called multiple, consecutive times"
9
+ fails "Enumerator#rewind has no effect on a new enumerator"
10
+ fails "Enumerator#rewind resets the enumerator to its initial state"
11
+ fails "Enumerator#rewind returns self"
12
+ fails "Enumerator#rewind works with peek to reset the position"
13
+ end
@@ -0,0 +1,15 @@
1
+ opal_filter "Fixnum" do
2
+ fails "Fixnum#+ overflows to Bignum when the result does not fit in Fixnum"
3
+ fails "Fixnum#- returns a Bignum only if the result is too large to be a Fixnum"
4
+ fails "Fixnum#<< with n << m returns 0 when m < 0 and m == p where 2**p > n >= 2**(p-1)"
5
+ fails "Fixnum#<< with n << m returns 0 when m < 0 and m is a Bignum"
6
+ fails "Fixnum#<< with n << m returns a Bignum == fixnum_max * 2 when fixnum_max << 1 and n > 0"
7
+ fails "Fixnum#<< with n << m returns a Bignum == fixnum_max() * 2 when fixnum_max() << 1 and n > 0"
8
+ fails "Fixnum#<< with n << m returns a Bignum == fixnum_min * 2 when fixnum_min << 1 and n < 0"
9
+ fails "Fixnum#<< with n << m returns a Bignum == fixnum_min() * 2 when fixnum_min() << 1 and n < 0"
10
+ fails "Fixnum#>> with n >> m returns 0 when m is a Bignum"
11
+ fails "Fixnum#>> with n >> m returns a Bignum == fixnum_max * 2 when fixnum_max >> -1 and n > 0"
12
+ fails "Fixnum#>> with n >> m returns a Bignum == fixnum_max() * 2 when fixnum_max() >> -1 and n > 0"
13
+ fails "Fixnum#>> with n >> m returns a Bignum == fixnum_min * 2 when fixnum_min >> -1 and n < 0"
14
+ fails "Fixnum#>> with n >> m returns a Bignum == fixnum_min() * 2 when fixnum_min() >> -1 and n < 0"
15
+ end
@@ -0,0 +1,6 @@
1
+ opal_filter "Float" do
2
+ fails "Float#to_s emits '-' for -0.0"
3
+ fails "Float#to_s emits a trailing '.0' for a whole number"
4
+ fails "Float#to_s emits a trailing '.0' for the mantissa in e format"
5
+ fails "Float#to_s returns '0.0' for 0.0"
6
+ end
@@ -0,0 +1,55 @@
1
+ opal_filter "Hash" do
2
+ fails "Hash#[]= duplicates and freezes string keys"
3
+ fails "Hash#[]= raises a RuntimeError if called on a frozen instance"
4
+ fails "Hash#assoc only returns the first matching key-value pair for identity hashes"
5
+ fails "Hash#clear raises a RuntimeError if called on a frozen instance"
6
+ fails "Hash#compare_by_identity causes #compare_by_identity? to return true"
7
+ fails "Hash#compare_by_identity causes future comparisons on the receiver to be made by identity"
8
+ fails "Hash#compare_by_identity does not copy string keys"
9
+ fails "Hash#compare_by_identity perists over #dups"
10
+ fails "Hash#compare_by_identity persists over #clones"
11
+ fails "Hash#compare_by_identity raises a RuntimeError on frozen hashes"
12
+ fails "Hash#compare_by_identity regards #clone'd objects as having different identities"
13
+ fails "Hash#compare_by_identity regards #dup'd objects as having different identities"
14
+ fails "Hash#compare_by_identity regards references to the same object as having the same identity"
15
+ fails "Hash#compare_by_identity returns self"
16
+ fails "Hash#compare_by_identity uses #equal? semantics, but doesn't actually call #equal? to determine identity"
17
+ fails "Hash#compare_by_identity uses the semantics of BasicObject#equal? to determine key identity"
18
+ fails "Hash#compare_by_identity? returns false by default"
19
+ fails "Hash#compare_by_identity? returns true once #compare_by_identity has been invoked on self"
20
+ fails "Hash#compare_by_identity? returns true when called multiple times on the same ident hash"
21
+ fails "Hash#default= raises a RuntimeError if called on a frozen instance"
22
+ fails "Hash#default_proc= raises a RuntimeError if self is frozen"
23
+ fails "Hash#delete raises a RuntimeError if called on a frozen instance"
24
+ fails "Hash#delete_if raises a RuntimeError if called on a frozen instance"
25
+ fails "Hash#initialize is private"
26
+ fails "Hash#initialize raises a RuntimeError if called on a frozen instance"
27
+ fails "Hash#initialize_copy is private"
28
+ fails "Hash#initialize_copy raises a RuntimeError if called on a frozen instance that is modified"
29
+ fails "Hash#initialize_copy raises a RuntimeError if called on a frozen instance that would not be modified"
30
+ fails "Hash#inspect returns a tainted string if self is tainted and not empty"
31
+ fails "Hash#inspect returns an untrusted string if self is untrusted and not empty"
32
+ fails "Hash#keep_if raises a RuntimeError if called on a frozen instance"
33
+ fails "Hash#merge! checks frozen status before coercing an object with #to_hash"
34
+ fails "Hash#merge! raises a RuntimeError on a frozen instance that is modified"
35
+ fails "Hash#merge! raises a RuntimeError on a frozen instance that would not be modified"
36
+ fails "Hash#rehash raises a RuntimeError if called on a frozen instance"
37
+ fails "Hash#reject taints the resulting hash"
38
+ fails "Hash#reject! raises a RuntimeError if called on a frozen instance that is modified"
39
+ fails "Hash#reject! raises a RuntimeError if called on a frozen instance that would not be modified"
40
+ fails "Hash#reject! returns an Enumerator if called on a frozen instance"
41
+ fails "Hash#replace raises a RuntimeError if called on a frozen instance that is modified"
42
+ fails "Hash#replace raises a RuntimeError if called on a frozen instance that would not be modified"
43
+ fails "Hash#select! raises a RuntimeError if called on a frozen instance that would not be modified"
44
+ fails "Hash#select! raises a RuntimeError if called on an empty frozen instance"
45
+ fails "Hash#shift raises a RuntimeError if called on a frozen instance"
46
+ fails "Hash#store duplicates and freezes string keys"
47
+ fails "Hash#store raises a RuntimeError if called on a frozen instance"
48
+ fails "Hash#to_a returns a tainted array if self is tainted"
49
+ fails "Hash#to_a returns an untrusted array if self is untrusted"
50
+ fails "Hash#to_s returns a tainted string if self is tainted and not empty"
51
+ fails "Hash#to_s returns an untrusted string if self is untrusted and not empty"
52
+ fails "Hash#update checks frozen status before coercing an object with #to_hash"
53
+ fails "Hash#update raises a RuntimeError on a frozen instance that is modified"
54
+ fails "Hash#update raises a RuntimeError on a frozen instance that would not be modified"
55
+ end
@@ -0,0 +1,3 @@
1
+ opal_filter "Integer" do
2
+ fails "Integer#even? returns true for a Bignum when it is an even number"
3
+ end
@@ -0,0 +1,22 @@
1
+ opal_filter "Kernel" do
2
+ fails "Kernel has private instance method Array()"
3
+ fails "Kernel has private instance method Hash()"
4
+ fails "Kernel#Float is a private method"
5
+ fails "Kernel#Float raises a TypeError if #to_f returns an Integer"
6
+ fails "Kernel#Integer calls to_i on Rationals"
7
+ fails "Kernel#Integer is a private method"
8
+ fails "Kernel#Integer returns a Fixnum or Bignum object"
9
+ fails "Kernel#String is a private method"
10
+ fails "Kernel#eql? is a public instance method"
11
+ fails "Kernel#format is a private method"
12
+ fails "Kernel#sleep accepts a Rational"
13
+ fails "Kernel#sleep is a private method"
14
+ fails "Kernel#sleep pauses execution indefinitely if not given a duration"
15
+ fails "Kernel#sprintf is a private method"
16
+ fails "Kernel#to_s returns a tainted result if self is tainted"
17
+ fails "Kernel#to_s returns an untrusted result if self is untrusted"
18
+ fails "Kernel#warn is a private method"
19
+ fails "Kernel.Float raises a TypeError if #to_f returns an Integer"
20
+ fails "Kernel.Integer calls to_i on Rationals"
21
+ fails "Kernel.Integer returns a Fixnum or Bignum object"
22
+ end
@@ -0,0 +1,31 @@
1
+ opal_filter "language" do
2
+ fails "A Symbol literal can be an empty string"
3
+ fails "A Symbol literal can be created by the %s-delimited expression"
4
+ fails "A Symbol literal can contain null in the string"
5
+ fails "A Symbol literal is a ':' followed by a single- or double-quoted string that may contain otherwise invalid characters"
6
+ fails "A Symbol literal is a ':' followed by any number of valid characters"
7
+ fails "A Symbol literal is converted to a literal, unquoted representation if the symbol contains only valid characters"
8
+ fails "Defining an 'initialize' method sets the method's visibility to private"
9
+ fails "Defining an 'initialize_copy' method sets the method's visibility to private"
10
+ fails "Hash literal freezes string keys on initialization"
11
+ fails "Invoking a private getter method does not permit self as a receiver"
12
+ fails "Magic comment can be after the shebang"
13
+ fails "Magic comment can take Emacs style"
14
+ fails "Magic comment can take vim style"
15
+ fails "Magic comment determines __ENCODING__"
16
+ fails "Magic comment is case-insensitive"
17
+ fails "Magic comment must be at the first line"
18
+ fails "Magic comment must be the first token of the line"
19
+ fails "The break statement in a lambda created at the toplevel returns a value when invoking from a block"
20
+ fails "The break statement in a lambda created at the toplevel returns a value when invoking from a method"
21
+ fails "The break statement in a lambda created at the toplevel returns a value when invoking from the toplevel"
22
+ fails "The defined? keyword for pseudo-variables returns 'expression' for __ENCODING__"
23
+ fails "The defined? keyword when called with a method name having a module as a receiver returns nil if the method is private"
24
+ fails "The defined? keyword when called with a method name having a module as receiver returns nil if the method is private"
25
+ fails "The defined? keyword when called with a method name having a module as receiver returns nil if the method is protected"
26
+ fails "The private keyword changes the visibility of the existing method in the subclass"
27
+ fails "The private keyword changes visibility of previously called method"
28
+ fails "The private keyword changes visiblity of previously called methods with same send/call site"
29
+ fails "The private keyword is overridden when a new class is opened"
30
+ fails "The private keyword marks following methods as being private"
31
+ end
@@ -0,0 +1,33 @@
1
+ opal_filter "MatchData" do
2
+ fails "MatchData#[Symbol] raises an IndexError if there is no named match corresponding to the String"
3
+ fails "MatchData#[Symbol] raises an IndexError if there is no named match corresponding to the Symbol"
4
+ fails "MatchData#[Symbol] returns matches in the String's encoding"
5
+ fails "MatchData#[Symbol] returns nil on non-matching named matches"
6
+ fails "MatchData#[Symbol] returns the corresponding named match when given a String"
7
+ fails "MatchData#[Symbol] returns the corresponding named match when given a Symbol"
8
+ fails "MatchData#[Symbol] returns the last match when multiple named matches exist with the same name"
9
+ fails "MatchData#[Symbol] returns the matching version of multiple corresponding named match"
10
+ fails "MatchData#begin returns nil when the nth match isn't found"
11
+ fails "MatchData#begin returns the offset for multi byte strings with unicode regexp"
12
+ fails "MatchData#begin returns the offset for multi byte strings"
13
+ fails "MatchData#begin returns the offset of the start of the nth element"
14
+ fails "MatchData#end returns nil when the nth match isn't found"
15
+ fails "MatchData#end returns the offset for multi byte strings with unicode regexp"
16
+ fails "MatchData#end returns the offset for multi byte strings"
17
+ fails "MatchData#end returns the offset of the end of the nth element"
18
+ fails "MatchData#names equals Regexp#names"
19
+ fails "MatchData#names returns [] if there were no named captures"
20
+ fails "MatchData#names returns an Array"
21
+ fails "MatchData#names returns each name only once"
22
+ fails "MatchData#names returns the names of the named capture groups"
23
+ fails "MatchData#names sets each element to a String"
24
+ fails "MatchData#offset returns [nil, nil] when the nth match isn't found"
25
+ fails "MatchData#offset returns a two element array with the begin and end of the nth match"
26
+ fails "MatchData#offset returns the offset for multi byte strings with unicode regexp"
27
+ fails "MatchData#offset returns the offset for multi byte strings"
28
+ fails "MatchData#post_match keeps taint status from the source string"
29
+ fails "MatchData#post_match keeps untrusted status from the source string"
30
+ fails "MatchData#pre_match keeps taint status from the source string"
31
+ fails "MatchData#pre_match keeps untrusted status from the source string"
32
+ fails "MatchData#regexp returns the pattern used in the match"
33
+ end
@@ -0,0 +1,3 @@
1
+ opal_filter "Math" do
2
+ fails "Math#atanh is a private instance method"
3
+ end
@@ -0,0 +1,36 @@
1
+ opal_filter "Module" do
2
+ fails "Module#class_variable_set raises a RuntimeError when self is frozen"
3
+ fails "Module#define_method is private"
4
+ fails "Module#define_method raises a RuntimeError if frozen"
5
+ fails "Module#define_method when name is :initialize given an UnboundMethod sets the visibility to private when method is named :initialize"
6
+ fails "Module#define_method when name is :initialize passed a block sets visibility to private when method name is :initialize"
7
+ fails "Module#instance_methods makes a private Object instance method public in Kernel"
8
+ fails "Module#private_constant marked constants in Object cannot be accessed using ::Const form"
9
+ fails "Module#private_constant marked constants in Object is defined? through the normal search"
10
+ fails "Module#private_constant marked constants in Object is not defined? using ::Const form"
11
+ fails "Module#private_constant marked constants in a class can be accessed from lexical scope"
12
+ fails "Module#private_constant marked constants in a class can be accessed from the class itself"
13
+ fails "Module#private_constant marked constants in a class cannot be accessed from outside the class"
14
+ fails "Module#private_constant marked constants in a class cannot be reopened as a class"
15
+ fails "Module#private_constant marked constants in a class cannot be reopened as a module"
16
+ fails "Module#private_constant marked constants in a class is defined? from lexical scope"
17
+ fails "Module#private_constant marked constants in a class is defined? from subclasses"
18
+ fails "Module#private_constant marked constants in a class is defined? from the class itself"
19
+ fails "Module#private_constant marked constants in a class is not defined? with A::B form"
20
+ fails "Module#private_constant marked constants in a module can be accessed from lexical scope"
21
+ fails "Module#private_constant marked constants in a module can be accessed from the module itself"
22
+ fails "Module#private_constant marked constants in a module cannot be accessed from outside the module"
23
+ fails "Module#private_constant marked constants in a module cannot be reopened as a class"
24
+ fails "Module#private_constant marked constants in a module cannot be reopened as a module"
25
+ fails "Module#private_constant marked constants in a module is defined? from classes that include the module"
26
+ fails "Module#private_constant marked constants in a module is defined? from lexical scope"
27
+ fails "Module#private_constant marked constants in a module is defined? from the module itself"
28
+ fails "Module#private_constant marked constants in a module is not defined? with A::B form"
29
+ fails "Module#private_constant marked constants remain private even when updated"
30
+ fails "Module#public_constant marked constants in Object can be accessed using ::Const form"
31
+ fails "Module#public_constant marked constants in Object is defined? using ::Const form"
32
+ fails "Module#public_constant marked constants in a class can be accessed from outside the class"
33
+ fails "Module#public_constant marked constants in a class is defined? with A::B form"
34
+ fails "Module#public_constant marked constants in a module can be accessed from outside the module"
35
+ fails "Module#public_constant marked constants in a module is defined? with A::B form"
36
+ end
@@ -0,0 +1,3 @@
1
+ opal_filter "Pathname" do
2
+ fails "Pathname.new is tainted if path is tainted"
3
+ end
@@ -0,0 +1,94 @@
1
+ opal_filter "Regexp" do
2
+ fails "Regexp#options does not include Regexp::FIXEDENCODING for a Regexp literal with the 'n' option"
3
+ fails "Regexp#options includes Regexp::FIXEDENCODING for a Regexp literal with the 'e' option"
4
+ fails "Regexp#options includes Regexp::FIXEDENCODING for a Regexp literal with the 's' option"
5
+ fails "Regexp#options includes Regexp::FIXEDENCODING for a Regexp literal with the 'u' option"
6
+ fails "Regexp#options includes Regexp::NOENCODING for a Regexp literal with the 'n' option"
7
+ fails "Regexp.escape sets the encoding of the result to ASCII-8BIT if any non-US-ASCII characters are present in an input String with invalid encoding"
8
+ fails "Regexp.escape sets the encoding of the result to US-ASCII if there are only US-ASCII characters present in the input String"
9
+ fails "Regexp.escape sets the encoding of the result to the encoding of the String if any non-US-ASCII characters are present in an input String with valid encoding"
10
+ fails "Regexp.new given a Regexp returns a Regexp with US-ASCII encoding if UTF-8 escape sequences using only 7-bit ASCII are present"
11
+ fails "Regexp.new given a Regexp returns a Regexp with US-ASCII encoding if only 7-bit ASCII characters are present regardless of the input String's encoding"
12
+ fails "Regexp.new given a Regexp returns a Regexp with UTF-8 encoding if any UTF-8 escape sequences outside 7-bit ASCII are present"
13
+ fails "Regexp.new given a Regexp returns a Regexp with source String having US-ASCII encoding if UTF-8 escape sequences using only 7-bit ASCII are present"
14
+ fails "Regexp.new given a Regexp returns a Regexp with source String having US-ASCII encoding if only 7-bit ASCII characters are present regardless of the input String's encoding"
15
+ fails "Regexp.new given a Regexp returns a Regexp with source String having UTF-8 encoding if any UTF-8 escape sequences outside 7-bit ASCII are present"
16
+ fails "Regexp.new given a Regexp returns a Regexp with source String having the input String's encoding"
17
+ fails "Regexp.new given a Regexp returns a Regexp with the input String's encoding"
18
+ fails "Regexp.new given a Regexp sets the encoding to EUC-JP if the Regexp literal has the 'e' option"
19
+ fails "Regexp.new given a Regexp sets the encoding to US-ASCII if the Regexp literal has the 'n' option and the source String is ASCII only"
20
+ fails "Regexp.new given a Regexp sets the encoding to UTF-8 if the Regexp literal has the 'u' option"
21
+ fails "Regexp.new given a Regexp sets the encoding to Windows-31J if the Regexp literal has the 's' option"
22
+ fails "Regexp.new given a Regexp sets the encoding to source String's encoding if the Regexp literal has the 'n' option and the source String is not ASCII only"
23
+ fails "Regexp.new given a Regexp uses ASCII_8BIT encoding if third argument is 'n' or 'none' (case insensitive) and non-ascii characters"
24
+ fails "Regexp.new given a Regexp uses US_ASCII encoding if third argument is 'n' or 'none' (case insensitive) and only ascii characters"
25
+ fails "Regexp.new given a String accepts a Fixnum of two or more options ORed together as the second argument"
26
+ fails "Regexp.new given a String ignores the third argument if it is 'e' or 'euc' (case-insensitive)"
27
+ fails "Regexp.new given a String ignores the third argument if it is 's' or 'sjis' (case-insensitive)"
28
+ fails "Regexp.new given a String ignores the third argument if it is 'u' or 'utf8' (case-insensitive)"
29
+ fails "Regexp.new given a String returns a Regexp with US-ASCII encoding if UTF-8 escape sequences using only 7-bit ASCII are present"
30
+ fails "Regexp.new given a String returns a Regexp with US-ASCII encoding if only 7-bit ASCII characters are present regardless of the input String's encoding"
31
+ fails "Regexp.new given a String returns a Regexp with UTF-8 encoding if any UTF-8 escape sequences outside 7-bit ASCII are present"
32
+ fails "Regexp.new given a String returns a Regexp with source String having US-ASCII encoding if UTF-8 escape sequences using only 7-bit ASCII are present"
33
+ fails "Regexp.new given a String returns a Regexp with source String having US-ASCII encoding if only 7-bit ASCII characters are present regardless of the input String's encoding"
34
+ fails "Regexp.new given a String returns a Regexp with source String having UTF-8 encoding if any UTF-8 escape sequences outside 7-bit ASCII are present"
35
+ fails "Regexp.new given a String returns a Regexp with source String having the input String's encoding"
36
+ fails "Regexp.new given a String returns a Regexp with the input String's encoding"
37
+ fails "Regexp.new given a String sets the encoding to EUC-JP if the Regexp literal has the 'e' option"
38
+ fails "Regexp.new given a String sets the encoding to US-ASCII if the Regexp literal has the 'n' option and the source String is ASCII only"
39
+ fails "Regexp.new given a String sets the encoding to UTF-8 if the Regexp literal has the 'u' option"
40
+ fails "Regexp.new given a String sets the encoding to Windows-31J if the Regexp literal has the 's' option"
41
+ fails "Regexp.new given a String sets the encoding to source String's encoding if the Regexp literal has the 'n' option and the source String is not ASCII only"
42
+ fails "Regexp.new given a String uses ASCII_8BIT encoding if third argument is 'n' or 'none' (case insensitive) and non-ascii characters"
43
+ fails "Regexp.new given a String uses US_ASCII encoding if third argument is 'n' or 'none' (case insensitive) and only ascii characters"
44
+ fails "Regexp.new given a String with escaped characters accepts \\u{HHHHHH} for a single Unicode codepoint"
45
+ fails "Regexp.new given a String with escaped characters accepts \\u{HHHHH} for a single Unicode codepoint"
46
+ fails "Regexp.new given a String with escaped characters accepts \\u{HHHH} followed by characters"
47
+ fails "Regexp.new given a String with escaped characters accepts \\u{HHHH} for a single Unicode codepoint"
48
+ fails "Regexp.new given a String with escaped characters accepts \\u{HHH} for a single Unicode codepoint"
49
+ fails "Regexp.new given a String with escaped characters accepts \\u{HH} for a single Unicode codepoint"
50
+ fails "Regexp.new given a String with escaped characters accepts \\u{H} for a single Unicode codepoint"
51
+ fails "Regexp.new given a String with escaped characters accepts a combination of escaped octal and hexadecimal digits and \\u{HHHH}"
52
+ fails "Regexp.new given a String with escaped characters accepts characters followed by \\u{HHHH}"
53
+ fails "Regexp.new given a String with escaped characters accepts escaped hexadecimal digits followed by \\u{HHHH}"
54
+ fails "Regexp.new given a String with escaped characters accepts escaped octal digits followed by \\u{HHHH}"
55
+ fails "Regexp.new given a String with escaped characters raises a RegexpError if less than four digits are given for \\uHHHH"
56
+ fails "Regexp.new given a String with escaped characters raises a RegexpError if the \\u{} escape is empty"
57
+ fails "Regexp.new given a String with escaped characters returns a Regexp with US-ASCII encoding if UTF-8 escape sequences using only 7-bit ASCII are present"
58
+ fails "Regexp.new given a String with escaped characters returns a Regexp with US-ASCII encoding if only 7-bit ASCII characters are present regardless of the input String's encoding"
59
+ fails "Regexp.new given a String with escaped characters returns a Regexp with UTF-8 encoding if any UTF-8 escape sequences outside 7-bit ASCII are present"
60
+ fails "Regexp.new given a String with escaped characters returns a Regexp with source String having US-ASCII encoding if UTF-8 escape sequences using only 7-bit ASCII are present"
61
+ fails "Regexp.new given a String with escaped characters returns a Regexp with source String having US-ASCII encoding if only 7-bit ASCII characters are present regardless of the input String's encoding"
62
+ fails "Regexp.new given a String with escaped characters returns a Regexp with source String having UTF-8 encoding if any UTF-8 escape sequences outside 7-bit ASCII are present"
63
+ fails "Regexp.new given a String with escaped characters returns a Regexp with source String having the input String's encoding"
64
+ fails "Regexp.new given a String with escaped characters returns a Regexp with the input String's encoding"
65
+ fails "Regexp.new given a String with escaped characters sets the encoding to EUC-JP if the Regexp literal has the 'e' option"
66
+ fails "Regexp.new given a String with escaped characters sets the encoding to US-ASCII if the Regexp literal has the 'n' option and the source String is ASCII only"
67
+ fails "Regexp.new given a String with escaped characters sets the encoding to UTF-8 if the Regexp literal has the 'u' option"
68
+ fails "Regexp.new given a String with escaped characters sets the encoding to Windows-31J if the Regexp literal has the 's' option"
69
+ fails "Regexp.new given a String with escaped characters sets the encoding to source String's encoding if the Regexp literal has the 'n' option and the source String is not ASCII only"
70
+ fails "Regexp.new given a String with escaped characters uses ASCII_8BIT encoding if third argument is 'n' or 'none' (case insensitive) and non-ascii characters"
71
+ fails "Regexp.new given a String with escaped characters uses US_ASCII encoding if third argument is 'n' or 'none' (case insensitive) and only ascii characters"
72
+ fails "Regexp.quote sets the encoding of the result to ASCII-8BIT if any non-US-ASCII characters are present in an input String with invalid encoding"
73
+ fails "Regexp.quote sets the encoding of the result to US-ASCII if there are only US-ASCII characters present in the input String"
74
+ fails "Regexp.quote sets the encoding of the result to the encoding of the String if any non-US-ASCII characters are present in an input String with valid encoding"
75
+ fails "Regexp.union raises ArgumentError if the arguments include a String containing non-ASCII-compatible characters and a fixed encoding Regexp in a different encoding"
76
+ fails "Regexp.union raises ArgumentError if the arguments include a fixed encoding Regexp and a String containing non-ASCII-compatible characters in a different encoding"
77
+ fails "Regexp.union raises ArgumentError if the arguments include an ASCII-incompatible Regexp and a Regexp containing non-ASCII-compatible characters in a different encoding"
78
+ fails "Regexp.union raises ArgumentError if the arguments include an ASCII-incompatible Regexp and a String containing non-ASCII-compatible characters in a different encoding"
79
+ fails "Regexp.union raises ArgumentError if the arguments include an ASCII-incompatible Regexp and an ASCII-only Regexp"
80
+ fails "Regexp.union raises ArgumentError if the arguments include an ASCII-incompatible Regexp and an ASCII-only String"
81
+ fails "Regexp.union raises ArgumentError if the arguments include an ASCII-incompatible String and a Regexp containing non-ASCII-compatible characters in a different encoding"
82
+ fails "Regexp.union raises ArgumentError if the arguments include an ASCII-incompatible String and a String containing non-ASCII-compatible characters in a different encoding"
83
+ fails "Regexp.union raises ArgumentError if the arguments include an ASCII-incompatible String and an ASCII-only Regexp"
84
+ fails "Regexp.union raises ArgumentError if the arguments include an ASCII-incompatible String and an ASCII-only String"
85
+ fails "Regexp.union raises ArgumentError if the arguments include conflicting ASCII-incompatible Regexps"
86
+ fails "Regexp.union raises ArgumentError if the arguments include conflicting fixed encoding Regexps"
87
+ fails "Regexp.union returns a Regexp with US-ASCII encoding if all arguments are ASCII-only"
88
+ fails "Regexp.union returns a Regexp with UTF-8 if one part is UTF-8"
89
+ fails "Regexp.union returns a Regexp with the encoding of a String containing non-ASCII-compatible characters and another ASCII-only String"
90
+ fails "Regexp.union returns a Regexp with the encoding of a String containing non-ASCII-compatible characters"
91
+ fails "Regexp.union returns a Regexp with the encoding of an ASCII-incompatible String argument"
92
+ fails "Regexp.union returns a Regexp with the encoding of multiple non-conflicting ASCII-incompatible String arguments"
93
+ fails "Regexp.union returns a Regexp with the encoding of multiple non-conflicting Strings containing non-ASCII-compatible characters"
94
+ end
@@ -0,0 +1,4 @@
1
+ opal_filter "Set" do
2
+ fails "Set#eql? returns true when the passed argument is a Set and contains the same elements"
3
+ fails "Set#initialize is private"
4
+ end
@@ -0,0 +1,6 @@
1
+ opal_filter "Singleton" do
2
+ fails "Singleton#_dump returns an empty string from a singleton subclass"
3
+ fails "Singleton#_dump returns an empty string"
4
+ fails "Singleton.allocate is a private method"
5
+ fails "Singleton.new is a private method"
6
+ end
@@ -0,0 +1,538 @@
1
+ opal_filter "String" do
2
+ fails "String#% always taints the result when the format string is tainted"
3
+ fails "String#% supports negative bignums with %u or %d"
4
+ fails "String#% taints result for %p when argument.inspect is tainted"
5
+ fails "String#% taints result for %s when argument is tainted"
6
+ fails "String#* always taints the result when self is tainted"
7
+ fails "String#+ taints the result when self or other is tainted"
8
+ fails "String#+ when self and the argument are in different ASCII-compatible encodings raises Encoding::CompatibilityError if neither are ASCII-only"
9
+ fails "String#+ when self and the argument are in different ASCII-compatible encodings uses self's encoding if both are ASCII-only"
10
+ fails "String#+ when self and the argument are in different ASCII-compatible encodings uses self's encoding if the argument is ASCII-only"
11
+ fails "String#+ when self and the argument are in different ASCII-compatible encodings uses the argument's encoding if self is ASCII-only"
12
+ fails "String#+ when self is ASCII-8BIT and argument is US-ASCII uses ASCII-8BIT encoding"
13
+ fails "String#+ when self is in an ASCII-incompatible encoding incompatible with the argument's encoding raises Encoding::CompatibilityError if neither are empty"
14
+ fails "String#+ when self is in an ASCII-incompatible encoding incompatible with the argument's encoding uses self's encoding if both are empty"
15
+ fails "String#+ when self is in an ASCII-incompatible encoding incompatible with the argument's encoding uses self's encoding if the argument is empty"
16
+ fails "String#+ when self is in an ASCII-incompatible encoding incompatible with the argument's encoding uses the argument's encoding if self is empty"
17
+ fails "String#+ when the argument is in an ASCII-incompatible encoding incompatible with self's encoding raises Encoding::CompatibilityError if neither are empty"
18
+ fails "String#+ when the argument is in an ASCII-incompatible encoding incompatible with self's encoding uses self's encoding if both are empty"
19
+ fails "String#+ when the argument is in an ASCII-incompatible encoding incompatible with self's encoding uses self's encoding if the argument is empty"
20
+ fails "String#+ when the argument is in an ASCII-incompatible encoding incompatible with self's encoding uses the argument's encoding if self is empty"
21
+ fails "String#<< concatenates the given argument to self and returns self"
22
+ fails "String#<< converts the given argument to a String using to_str"
23
+ fails "String#<< converts the given argument to a String using to_str"
24
+ fails "String#<< raises a RuntimeError when self is frozen"
25
+ fails "String#<< raises a TypeError if the given argument can't be converted to a String"
26
+ fails "String#<< returns a String when given a subclass instance"
27
+ fails "String#<< returns an instance of same class when called on a subclass"
28
+ fails "String#<< taints self if other is tainted"
29
+ fails "String#<< untrusts self if other is untrusted"
30
+ fails "String#<< when self and the argument are in different ASCII-compatible encodings raises Encoding::CompatibilityError if neither are ASCII-only"
31
+ fails "String#<< when self and the argument are in different ASCII-compatible encodings uses self's encoding if both are ASCII-only"
32
+ fails "String#<< when self and the argument are in different ASCII-compatible encodings uses self's encoding if the argument is ASCII-only"
33
+ fails "String#<< when self and the argument are in different ASCII-compatible encodings uses the argument's encoding if self is ASCII-only"
34
+ fails "String#<< when self is ASCII-8BIT and argument is US-ASCII uses ASCII-8BIT encoding"
35
+ fails "String#<< when self is in an ASCII-incompatible encoding incompatible with the argument's encoding raises Encoding::CompatibilityError if neither are empty"
36
+ fails "String#<< when self is in an ASCII-incompatible encoding incompatible with the argument's encoding uses self's encoding if both are empty"
37
+ fails "String#<< when self is in an ASCII-incompatible encoding incompatible with the argument's encoding uses self's encoding if the argument is empty"
38
+ fails "String#<< when self is in an ASCII-incompatible encoding incompatible with the argument's encoding uses the argument's encoding if self is empty"
39
+ fails "String#<< when the argument is in an ASCII-incompatible encoding incompatible with self's encoding raises Encoding::CompatibilityError if neither are empty"
40
+ fails "String#<< when the argument is in an ASCII-incompatible encoding incompatible with self's encoding uses self's encoding if both are empty"
41
+ fails "String#<< when the argument is in an ASCII-incompatible encoding incompatible with self's encoding uses self's encoding if the argument is empty"
42
+ fails "String#<< when the argument is in an ASCII-incompatible encoding incompatible with self's encoding uses the argument's encoding if self is empty"
43
+ fails "String#<< with Integer concatencates the argument interpreted as a codepoint"
44
+ fails "String#<< with Integer doesn't call to_int on its argument"
45
+ fails "String#<< with Integer raises RangeError if the argument is an invalid codepoint for self's encoding"
46
+ fails "String#<< with Integer raises RangeError if the argument is negative"
47
+ fails "String#<< with Integer raises a RuntimeError when self is frozen"
48
+ fails "String#<< with Integer returns a ASCII-8BIT string if self is US-ASCII and the argument is between 128-255 (inclusive)"
49
+ fails "String#<< works when given a subclass instance"
50
+ fails "String#<=> with String compares the indices of the encodings when the strings have identical non-ASCII-compatible bytes"
51
+ fails "String#<=> with String does not return 0 if self and other contain identical non-ASCII-compatible bytes in different encodings"
52
+ fails "String#<=> with String ignores encoding difference"
53
+ fails "String#<=> with String returns -1 if self is bytewise less than other"
54
+ fails "String#<=> with String returns 0 if self and other contain identical ASCII-compatible bytes in different encodings"
55
+ fails "String#<=> with String returns 0 with identical ASCII-compatible bytes of different encodings"
56
+ fails "String#<=> with String returns 1 if self is bytewise greater than other"
57
+ fails "String#== considers encoding compatibility"
58
+ fails "String#== considers encoding difference of incompatible string"
59
+ fails "String#== ignores encoding difference of compatible string"
60
+ fails "String#=== considers encoding compatibility"
61
+ fails "String#=== considers encoding difference of incompatible string"
62
+ fails "String#=== ignores encoding difference of compatible string"
63
+ fails "String#[] with Range always taints resulting strings when self is tainted"
64
+ fails "String#[] with Regexp always taints resulting strings when self or regexp is tainted"
65
+ fails "String#[] with Regexp, index always taints resulting strings when self or regexp is tainted"
66
+ fails "String#[] with String taints resulting strings when other is tainted"
67
+ fails "String#[] with Symbol raises TypeError"
68
+ fails "String#[] with index, length always taints resulting strings when self is tainted"
69
+ fails "String#[]= with Fixnum index allows assignment to the zero'th element of an empty String"
70
+ fails "String#[]= with Fixnum index calls #to_str to convert other to a String"
71
+ fails "String#[]= with Fixnum index calls to_int on index"
72
+ fails "String#[]= with Fixnum index raises IndexError if the string index doesn't match a position in the string"
73
+ fails "String#[]= with Fixnum index raises a RuntimeError when self is frozen"
74
+ fails "String#[]= with Fixnum index raises a TypeError if other_str can't be converted to a String"
75
+ fails "String#[]= with Fixnum index raises an IndexError without changing self if idx is outside of self"
76
+ fails "String#[]= with Fixnum index replaces the char at idx with other_str"
77
+ fails "String#[]= with Fixnum index taints self if other_str is tainted"
78
+ fails "String#[]= with Fixnum index, count appends other_str to the end of the string if idx == the length of the string"
79
+ fails "String#[]= with Fixnum index, count calls #to_int to convert the index and count objects"
80
+ fails "String#[]= with Fixnum index, count calls #to_str to convert the replacement object"
81
+ fails "String#[]= with Fixnum index, count counts negative idx values from end of the string"
82
+ fails "String#[]= with Fixnum index, count deletes characters if other_str is an empty string"
83
+ fails "String#[]= with Fixnum index, count deletes characters up to the maximum length of the existing string"
84
+ fails "String#[]= with Fixnum index, count overwrites and deletes characters if count is more than the length of other_str"
85
+ fails "String#[]= with Fixnum index, count raises a TypeError if #to_int for count does not return an Integer"
86
+ fails "String#[]= with Fixnum index, count raises a TypeError if #to_int for index does not return an Integer"
87
+ fails "String#[]= with Fixnum index, count raises a TypeError if other_str is a type other than String"
88
+ fails "String#[]= with Fixnum index, count raises a TypeError of #to_str does not return a String"
89
+ fails "String#[]= with Fixnum index, count raises an IndexError if count < 0"
90
+ fails "String#[]= with Fixnum index, count raises an IndexError if |idx| is greater than the length of the string"
91
+ fails "String#[]= with Fixnum index, count starts at idx and overwrites count characters before inserting the rest of other_str"
92
+ fails "String#[]= with Fixnum index, count taints self if other_str is tainted"
93
+ fails "String#[]= with String index raises an IndexError if the search String is not found"
94
+ fails "String#[]= with String index replaces characters with no characters"
95
+ fails "String#[]= with String index replaces fewer characters with more characters"
96
+ fails "String#[]= with String index replaces more characters with fewer characters"
97
+ fails "String#[]= with a Range index raises a RangeError if negative Range begin is out of range"
98
+ fails "String#[]= with a Range index raises a RangeError if positive Range begin is greater than String size"
99
+ fails "String#[]= with a Range index replaces a partial string"
100
+ fails "String#[]= with a Range index replaces the contents with a longer String"
101
+ fails "String#[]= with a Range index replaces the contents with a shorter String"
102
+ fails "String#[]= with a Range index treats a negative out-of-range Range end with a negative Range begin as a zero count"
103
+ fails "String#[]= with a Range index treats a negative out-of-range Range end with a positive Range begin as a zero count"
104
+ fails "String#[]= with a Range index uses the Range end as an index rather than a count"
105
+ fails "String#[]= with a Range index with an empty replacement does not replace a character with a zero exclude-end range"
106
+ fails "String#[]= with a Range index with an empty replacement does not replace a character with a zero-index, zero exclude-end range"
107
+ fails "String#[]= with a Range index with an empty replacement replaces a character with a zero non-exclude-end range"
108
+ fails "String#[]= with a Range index with an empty replacement replaces a character with zero-index, zero non-exclude-end range"
109
+ fails "String#[]= with a Regexp index calls #to_str to convert the replacement"
110
+ fails "String#[]= with a Regexp index checks the match before calling #to_str to convert the replacement"
111
+ fails "String#[]= with a Regexp index raises IndexError if the regexp index doesn't match a position in the string"
112
+ fails "String#[]= with a Regexp index replaces the matched text with the rhs"
113
+ fails "String#[]= with a Regexp index with 3 arguments allows the specified capture to be negative and count from the end"
114
+ fails "String#[]= with a Regexp index with 3 arguments calls #to_int to convert the second object"
115
+ fails "String#[]= with a Regexp index with 3 arguments checks the match index before calling #to_str to convert the replacement"
116
+ fails "String#[]= with a Regexp index with 3 arguments raises IndexError if the specified capture isn't available"
117
+ fails "String#[]= with a Regexp index with 3 arguments raises a TypeError if #to_int does not return a Fixnum"
118
+ fails "String#[]= with a Regexp index with 3 arguments uses the 2nd of 3 arguments as which capture should be replaced"
119
+ fails "String#[]= with a Regexp index with 3 arguments when the optional capture does not match raises an IndexError before setting the replacement"
120
+ fails "String#capitalize is locale insensitive (only upcases a-z and only downcases A-Z)"
121
+ fails "String#capitalize taints resulting string when self is tainted"
122
+ fails "String#capitalize! capitalizes self in place"
123
+ fails "String#capitalize! raises a RuntimeError when self is frozen"
124
+ fails "String#capitalize! returns nil when no changes are made"
125
+ fails "String#center with length, padding taints result when self or padstr is tainted"
126
+ fails "String#center with length, padding when padding is tainted and self is untainted returns a tainted string if and only if length is longer than self"
127
+ fails "String#chars is unicode aware"
128
+ fails "String#chomp when passed '' taints the result if self is tainted"
129
+ fails "String#chomp when passed '\\n' taints the result if self is tainted"
130
+ fails "String#chomp when passed a String does not taint the result when the argument is tainted"
131
+ fails "String#chomp when passed a String taints the result if self is tainted"
132
+ fails "String#chomp when passed nil returns a copy of the String"
133
+ fails "String#chomp when passed nil taints the result if self is tainted"
134
+ fails "String#chomp when passed no argument returns a copy of the String when it is not modified"
135
+ fails "String#chomp when passed no argument taints the result if self is tainted"
136
+ fails "String#chomp! raises a RuntimeError on a frozen instance when it is modified"
137
+ fails "String#chomp! raises a RuntimeError on a frozen instance when it would not be modified"
138
+ fails "String#chomp! when passed '' does not remove a final carriage return"
139
+ fails "String#chomp! when passed '' removes a final carriage return, newline"
140
+ fails "String#chomp! when passed '' removes a final newline"
141
+ fails "String#chomp! when passed '' removes more than one trailing carriage return, newline pairs"
142
+ fails "String#chomp! when passed '' removes more than one trailing newlines"
143
+ fails "String#chomp! when passed '' returns nil when self is empty"
144
+ fails "String#chomp! when passed '' taints the result if self is tainted"
145
+ fails "String#chomp! when passed '\\n' removes one trailing carriage return"
146
+ fails "String#chomp! when passed '\\n' removes one trailing carrige return, newline pair"
147
+ fails "String#chomp! when passed '\\n' removes one trailing newline"
148
+ fails "String#chomp! when passed '\\n' returns nil when self is empty"
149
+ fails "String#chomp! when passed '\\n' taints the result if self is tainted"
150
+ fails "String#chomp! when passed a String does not taint the result when the argument is tainted"
151
+ fails "String#chomp! when passed a String removes the trailing characters if they match the argument"
152
+ fails "String#chomp! when passed a String returns nil if the argument does not match the trailing characters"
153
+ fails "String#chomp! when passed a String returns nil when self is empty"
154
+ fails "String#chomp! when passed a String taints the result if self is tainted"
155
+ fails "String#chomp! when passed an Object calls #to_str to convert to a String"
156
+ fails "String#chomp! when passed an Object raises a TypeError if #to_str does not return a String"
157
+ fails "String#chomp! when passed nil returns nil when self is empty"
158
+ fails "String#chomp! when passed nil returns nil"
159
+ fails "String#chomp! when passed no argument modifies self"
160
+ fails "String#chomp! when passed no argument removes one trailing carriage return"
161
+ fails "String#chomp! when passed no argument removes one trailing carrige return, newline pair"
162
+ fails "String#chomp! when passed no argument removes one trailing newline"
163
+ fails "String#chomp! when passed no argument removes trailing characters that match $/ when it has been assigned a value"
164
+ fails "String#chomp! when passed no argument returns nil if self is not modified"
165
+ fails "String#chomp! when passed no argument returns nil when self is empty"
166
+ fails "String#chomp! when passed no argument returns subclass instances when called on a subclass"
167
+ fails "String#chomp! when passed no argument taints the result if self is tainted"
168
+ fails "String#chop returns a new string when applied to an empty string"
169
+ fails "String#chop taints result when self is tainted"
170
+ fails "String#chop untrusts result when self is untrusted"
171
+ fails "String#chop! does not remove more than the final carriage return, newline"
172
+ fails "String#chop! raises a RuntimeError on a frozen instance that is modified"
173
+ fails "String#chop! raises a RuntimeError on a frozen instance that would not be modified"
174
+ fails "String#chop! removes the carrige return, newline if they are the only characters"
175
+ fails "String#chop! removes the final carriage return"
176
+ fails "String#chop! removes the final carriage return, newline"
177
+ fails "String#chop! removes the final character"
178
+ fails "String#chop! removes the final newline"
179
+ fails "String#chop! returns nil when called on an empty string"
180
+ fails "String#chop! returns self if modifications were made"
181
+ fails "String#concat concatenates the given argument to self and returns self"
182
+ fails "String#concat converts the given argument to a String using to_str"
183
+ fails "String#concat raises a RuntimeError when self is frozen"
184
+ fails "String#concat raises a TypeError if the given argument can't be converted to a String"
185
+ fails "String#concat returns a String when given a subclass instance"
186
+ fails "String#concat returns an instance of same class when called on a subclass"
187
+ fails "String#concat taints self if other is tainted"
188
+ fails "String#concat untrusts self if other is untrusted"
189
+ fails "String#concat when self and the argument are in different ASCII-compatible encodings raises Encoding::CompatibilityError if neither are ASCII-only"
190
+ fails "String#concat when self and the argument are in different ASCII-compatible encodings uses self's encoding if both are ASCII-only"
191
+ fails "String#concat when self and the argument are in different ASCII-compatible encodings uses self's encoding if the argument is ASCII-only"
192
+ fails "String#concat when self and the argument are in different ASCII-compatible encodings uses the argument's encoding if self is ASCII-only"
193
+ fails "String#concat when self is ASCII-8BIT and argument is US-ASCII uses ASCII-8BIT encoding"
194
+ fails "String#concat when self is in an ASCII-incompatible encoding incompatible with the argument's encoding raises Encoding::CompatibilityError if neither are empty"
195
+ fails "String#concat when self is in an ASCII-incompatible encoding incompatible with the argument's encoding uses self's encoding if both are empty"
196
+ fails "String#concat when self is in an ASCII-incompatible encoding incompatible with the argument's encoding uses self's encoding if the argument is empty"
197
+ fails "String#concat when self is in an ASCII-incompatible encoding incompatible with the argument's encoding uses the argument's encoding if self is empty"
198
+ fails "String#concat when the argument is in an ASCII-incompatible encoding incompatible with self's encoding raises Encoding::CompatibilityError if neither are empty"
199
+ fails "String#concat when the argument is in an ASCII-incompatible encoding incompatible with self's encoding uses self's encoding if both are empty"
200
+ fails "String#concat when the argument is in an ASCII-incompatible encoding incompatible with self's encoding uses self's encoding if the argument is empty"
201
+ fails "String#concat when the argument is in an ASCII-incompatible encoding incompatible with self's encoding uses the argument's encoding if self is empty"
202
+ fails "String#concat with Integer concatencates the argument interpreted as a codepoint"
203
+ fails "String#concat with Integer doesn't call to_int on its argument"
204
+ fails "String#concat with Integer raises RangeError if the argument is an invalid codepoint for self's encoding"
205
+ fails "String#concat with Integer raises RangeError if the argument is negative"
206
+ fails "String#concat with Integer raises a RuntimeError when self is frozen"
207
+ fails "String#concat with Integer returns a ASCII-8BIT string if self is US-ASCII and the argument is between 128-255 (inclusive)"
208
+ fails "String#concat works when given a subclass instance"
209
+ fails "String#count returns the number of occurrences of a multi-byte character"
210
+ fails "String#delete taints result when self is tainted"
211
+ fails "String#delete! modifies self in place and returns self"
212
+ fails "String#delete! raises a RuntimeError when self is frozen"
213
+ fails "String#delete! returns nil if no modifications were made"
214
+ fails "String#downcase is locale insensitive (only replaces A-Z)"
215
+ fails "String#downcase taints result when self is tainted"
216
+ fails "String#downcase! modifies self in place"
217
+ fails "String#downcase! raises a RuntimeError when self is frozen"
218
+ fails "String#downcase! returns nil if no modifications were made"
219
+ fails "String#dup does not modify the original string when changing dupped string"
220
+ fails "String#each_char is unicode aware"
221
+ fails "String#each_line does not care if the string is modified while substituting"
222
+ fails "String#each_line raises a TypeError when the separator is a symbol"
223
+ fails "String#each_line taints substrings that are passed to the block if self is tainted"
224
+ fails "String#eql? considers encoding compatibility"
225
+ fails "String#eql? considers encoding difference of incompatible string"
226
+ fails "String#eql? ignores encoding difference of compatible string"
227
+ fails "String#gsub with pattern and Hash ignores non-String keys"
228
+ fails "String#gsub with pattern and Hash taints the result if a hash value is tainted"
229
+ fails "String#gsub with pattern and Hash taints the result if the original string is tainted"
230
+ fails "String#gsub with pattern and Hash untrusts the result if a hash value is untrusted"
231
+ fails "String#gsub with pattern and Hash untrusts the result if the original string is untrusted"
232
+ fails "String#gsub with pattern and block raises an ArgumentError if encoding is not valid"
233
+ fails "String#gsub with pattern and block raises an Encoding::CompatibilityError if the encodings are not compatible"
234
+ fails "String#gsub with pattern and block replaces the incompatible part properly even if the encodings are not compatible"
235
+ fails "String#gsub with pattern and block untrusts the result if the original string or replacement is untrusted"
236
+ fails "String#gsub with pattern and block uses the compatible encoding if they are compatible"
237
+ fails "String#gsub with pattern and replacement doesn't freak out when replacing ^" #Only fails "Text\nFoo".gsub(/^/, ' ').should == " Text\n Foo"
238
+ fails "String#gsub with pattern and replacement replaces \\k named backreferences with the regexp's corresponding capture"
239
+ fails "String#gsub with pattern and replacement returns a copy of self with all occurrences of pattern replaced with replacement" #Only fails str.gsub(/\Ah\S+\s*/, "huh? ").should == "huh? homely world. hah!"
240
+ fails "String#gsub with pattern and replacement supports \\G which matches at the beginning of the remaining (non-matched) string"
241
+ fails "String#gsub with pattern and replacement taints the result if the original string or replacement is tainted"
242
+ fails "String#gsub with pattern and replacement untrusts the result if the original string or replacement is untrusted"
243
+ fails "String#gsub! with pattern and Hash coerces the hash values with #to_s"
244
+ fails "String#gsub! with pattern and Hash coerces the hash values with #to_s"
245
+ fails "String#gsub! with pattern and Hash doesn't interpolate special sequences like \\1 for the block's return value"
246
+ fails "String#gsub! with pattern and Hash ignores keys that don't correspond to matches"
247
+ fails "String#gsub! with pattern and Hash ignores non-String keys"
248
+ fails "String#gsub! with pattern and Hash keeps tainted state"
249
+ fails "String#gsub! with pattern and Hash keeps untrusted state"
250
+ fails "String#gsub! with pattern and Hash replaces self with an empty string if the pattern matches but the hash specifies no replacements"
251
+ fails "String#gsub! with pattern and Hash returns self with all occurrences of pattern replaced with the value of the corresponding hash key"
252
+ fails "String#gsub! with pattern and Hash sets $~ to MatchData of last match and nil when there's none for access from outside"
253
+ fails "String#gsub! with pattern and Hash taints self if a hash value is tainted"
254
+ fails "String#gsub! with pattern and Hash untrusts self if a hash value is untrusted"
255
+ fails "String#gsub! with pattern and Hash uses a key's value as many times as needed"
256
+ fails "String#gsub! with pattern and Hash uses the hash's default value for missing keys"
257
+ fails "String#gsub! with pattern and Hash uses the hash's value set from default_proc for missing keys"
258
+ fails "String#gsub! with pattern and block modifies self in place and returns self"
259
+ fails "String#gsub! with pattern and block raises a RuntimeError when self is frozen"
260
+ fails "String#gsub! with pattern and block raises an ArgumentError if encoding is not valid"
261
+ fails "String#gsub! with pattern and block raises an Encoding::CompatibilityError if the encodings are not compatible"
262
+ fails "String#gsub! with pattern and block replaces the incompatible part properly even if the encodings are not compatible"
263
+ fails "String#gsub! with pattern and block returns nil if no modifications were made"
264
+ fails "String#gsub! with pattern and block taints self if block's result is tainted"
265
+ fails "String#gsub! with pattern and block untrusts self if block's result is untrusted"
266
+ fails "String#gsub! with pattern and block uses the compatible encoding if they are compatible"
267
+ fails "String#gsub! with pattern and replacement modifies self in place and returns self"
268
+ fails "String#gsub! with pattern and replacement raises a RuntimeError when self is frozen"
269
+ fails "String#gsub! with pattern and replacement returns nil if no modifications were made"
270
+ fails "String#gsub! with pattern and replacement taints self if replacement is tainted"
271
+ fails "String#gsub! with pattern and replacement untrusts self if replacement is untrusted"
272
+ fails "String#gsub! with pattern and without replacement and block returned Enumerator size should return nil"
273
+ fails "String#gsub! with pattern and without replacement and block returns an enumerator"
274
+ fails "String#index raises a TypeError if passed a Symbol"
275
+ fails "String#index with Regexp supports \\G which matches at the given start offset"
276
+ fails "String#initialize is a private method"
277
+ fails "String#initialize with an argument carries over the encoding invalidity"
278
+ fails "String#initialize with an argument does not trust self if other is trusted"
279
+ fails "String#initialize with an argument does not untaint self if other is untainted"
280
+ fails "String#initialize with an argument raises a RuntimeError on a frozen instance that is modified"
281
+ fails "String#initialize with an argument raises a RuntimeError on a frozen instance when self-replacing"
282
+ fails "String#initialize with an argument raises a TypeError if other can't be converted to string"
283
+ fails "String#initialize with an argument replaces the content of self with other"
284
+ fails "String#initialize with an argument replaces the encoding of self with that of other"
285
+ fails "String#initialize with an argument returns self"
286
+ fails "String#initialize with an argument taints self if other is tainted"
287
+ fails "String#initialize with an argument tries to convert other to string using to_str"
288
+ fails "String#initialize with an argument untrusts self if other is untrusted"
289
+ fails "String#insert with index, other converts index to an integer using to_int"
290
+ fails "String#insert with index, other converts other to a string using to_str"
291
+ fails "String#insert with index, other inserts after the given character on an negative count"
292
+ fails "String#insert with index, other inserts other before the character at the given index"
293
+ fails "String#insert with index, other modifies self in place"
294
+ fails "String#insert with index, other raises a RuntimeError if self is frozen"
295
+ fails "String#insert with index, other raises a TypeError if other can't be converted to string"
296
+ fails "String#insert with index, other raises an IndexError if the index is beyond string"
297
+ fails "String#insert with index, other taints self if string to insert is tainted"
298
+ fails "String#inspect returns a string with a NUL character replaced by \\000"
299
+ fails "String#inspect returns a string with non-printing characters replaced by \\x notation"
300
+ fails "String#inspect taints the result if self is tainted"
301
+ fails "String#inspect untrusts the result if self is untrusted"
302
+ fails "String#lines does not care if the string is modified while substituting"
303
+ fails "String#lines raises a TypeError when the separator is a symbol"
304
+ fails "String#lines taints substrings that are passed to the block if self is tainted"
305
+ fails "String#ljust with length, padding taints result when self or padstr is tainted"
306
+ fails "String#ljust with length, padding when padding is tainted and self is untainted returns a tainted string if and only if length is longer than self"
307
+ fails "String#lstrip taints the result when self is tainted"
308
+ fails "String#lstrip! modifies self in place and returns self"
309
+ fails "String#lstrip! raises a RuntimeError on a frozen instance that is modified"
310
+ fails "String#lstrip! raises a RuntimeError on a frozen instance that would not be modified"
311
+ fails "String#lstrip! returns nil if no modifications were made"
312
+ fails "String#match matches \\G at the start of the string"
313
+ fails "String#next taints the result if self is tainted"
314
+ fails "String#next! is equivalent to succ, but modifies self in place (still returns self)"
315
+ fails "String#next! raises a RuntimeError if self is frozen"
316
+ fails "String#prepend converts the given argument to a String using to_str"
317
+ fails "String#prepend prepends the given argument to self and returns self"
318
+ fails "String#prepend raises a RuntimeError when self if frozen"
319
+ fails "String#prepend raises a TypeError if the given argument can't be converted to a String"
320
+ fails "String#prepend taints self if other is tainted"
321
+ fails "String#prepend works when given a subclass instance"
322
+ fails "String#replace carries over the encoding invalidity"
323
+ fails "String#replace does not raise an exception when frozen"
324
+ fails "String#replace does not trust self if other is trusted"
325
+ fails "String#replace does not untaint self if other is untainted"
326
+ fails "String#replace raises a RuntimeError on a frozen instance that is modified"
327
+ fails "String#replace raises a RuntimeError on a frozen instance when self-replacing"
328
+ fails "String#replace raises a TypeError if other can't be converted to string"
329
+ fails "String#replace replaces the content of self with other"
330
+ fails "String#replace replaces the encoding of self with that of other"
331
+ fails "String#replace returns self"
332
+ fails "String#replace taints self if other is tainted"
333
+ fails "String#replace tries to convert other to string using to_str"
334
+ fails "String#replace untrusts self if other is untrusted"
335
+ fails "String#reverse taints the result if self is tainted"
336
+ fails "String#reverse! raises a RuntimeError on a frozen instance that is modified"
337
+ fails "String#reverse! raises a RuntimeError on a frozen instance that would not be modified"
338
+ fails "String#reverse! reverses self in place and always returns self"
339
+ fails "String#rjust with length, padding taints result when self or padstr is tainted"
340
+ fails "String#rjust with length, padding when padding is tainted and self is untainted returns a tainted string if and only if length is longer than self"
341
+ fails "String#rstrip taints the result when self is tainted"
342
+ fails "String#rstrip! modifies self in place and returns self"
343
+ fails "String#rstrip! modifies self removing trailing NULL bytes and whitespace"
344
+ fails "String#rstrip! raises a RuntimeError on a frozen instance that is modified"
345
+ fails "String#rstrip! raises a RuntimeError on a frozen instance that would not be modified"
346
+ fails "String#rstrip! returns nil if no modifications were made"
347
+ fails "String#scan supports \\G which matches the end of the previous match / string start for first match"
348
+ fails "String#scan taints the results if the Regexp argument is tainted"
349
+ fails "String#scan taints the results if the String argument is tainted"
350
+ fails "String#scan taints the results when passed a Regexp argument if self is tainted"
351
+ fails "String#scan taints the results when passed a String argument if self is tainted"
352
+ fails "String#scan with pattern and block taints the results if the Regexp argument is tainted"
353
+ fails "String#scan with pattern and block taints the results if the String argument is tainted"
354
+ fails "String#scan with pattern and block taints the results when passed a Regexp argument if self is tainted"
355
+ fails "String#scan with pattern and block taints the results when passed a String argument if self is tainted"
356
+ fails "String#setbyte allows changing bytes in multi-byte characters"
357
+ fails "String#setbyte calls #to_int to convert the index"
358
+ fails "String#setbyte calls to_int to convert the value"
359
+ fails "String#setbyte can invalidate a String's encoding"
360
+ fails "String#setbyte changes the byte at the given index to the new byte"
361
+ fails "String#setbyte does not modify the original string when using String.new"
362
+ fails "String#setbyte modifies the receiver"
363
+ fails "String#setbyte raises a RuntimeError if self is frozen"
364
+ fails "String#setbyte raises a TypeError unless the second argument is an Integer"
365
+ fails "String#setbyte raises an IndexError if the index is greater than the String bytesize"
366
+ fails "String#setbyte raises an IndexError if the nexgative index is greater magnitude than the String bytesize"
367
+ fails "String#setbyte regards a negative index as counting from the end of the String"
368
+ fails "String#setbyte returns an Integer"
369
+ fails "String#setbyte sets a byte at an index greater than String size"
370
+ fails "String#slice with Range always taints resulting strings when self is tainted"
371
+ fails "String#slice with Regexp always taints resulting strings when self or regexp is tainted"
372
+ fails "String#slice with Regexp, index always taints resulting strings when self or regexp is tainted"
373
+ fails "String#slice with String taints resulting strings when other is tainted"
374
+ fails "String#slice with Symbol raises TypeError"
375
+ fails "String#slice with index, length always taints resulting strings when self is tainted"
376
+ fails "String#slice! Range always taints resulting strings when self is tainted"
377
+ fails "String#slice! Range calls to_int on range arguments"
378
+ fails "String#slice! Range deletes and return the substring given by the offsets of the range"
379
+ fails "String#slice! Range raises a RuntimeError on a frozen instance that is modified"
380
+ fails "String#slice! Range raises a RuntimeError on a frozen instance that would not be modified"
381
+ fails "String#slice! Range returns nil if the given range is out of self"
382
+ fails "String#slice! Range returns subclass instances"
383
+ fails "String#slice! Range works with Range subclasses"
384
+ fails "String#slice! with Regexp always taints resulting strings when self or regexp is tainted"
385
+ fails "String#slice! with Regexp deletes and returns the first match from self"
386
+ fails "String#slice! with Regexp doesn't taint self when regexp is tainted"
387
+ fails "String#slice! with Regexp raises a RuntimeError on a frozen instance that is modified"
388
+ fails "String#slice! with Regexp raises a RuntimeError on a frozen instance that would not be modified"
389
+ fails "String#slice! with Regexp returns nil if there was no match"
390
+ fails "String#slice! with Regexp returns subclass instances"
391
+ fails "String#slice! with Regexp sets $~ to MatchData when there is a match and nil when there's none"
392
+ fails "String#slice! with Regexp, index accepts a Float for capture index"
393
+ fails "String#slice! with Regexp, index always taints resulting strings when self or regexp is tainted"
394
+ fails "String#slice! with Regexp, index calls #to_int to convert an Object to capture index"
395
+ fails "String#slice! with Regexp, index calls to_int on idx"
396
+ fails "String#slice! with Regexp, index deletes and returns the capture for idx from self"
397
+ fails "String#slice! with Regexp, index doesn't taint self when regexp is tainted"
398
+ fails "String#slice! with Regexp, index raises a RuntimeError if self is frozen"
399
+ fails "String#slice! with Regexp, index returns nil if there is no capture for idx"
400
+ fails "String#slice! with Regexp, index returns nil if there was no match"
401
+ fails "String#slice! with Regexp, index returns subclass instances"
402
+ fails "String#slice! with Regexp, index sets $~ to MatchData when there is a match and nil when there's none"
403
+ fails "String#slice! with String doesn't call to_str on its argument"
404
+ fails "String#slice! with String doesn't set $~"
405
+ fails "String#slice! with String raises a RuntimeError if self is frozen"
406
+ fails "String#slice! with String removes and returns the first occurrence of other_str from self"
407
+ fails "String#slice! with String returns a subclass instance when given a subclass instance"
408
+ fails "String#slice! with String returns nil if self does not contain other"
409
+ fails "String#slice! with String taints resulting strings when other is tainted"
410
+ fails "String#slice! with index calls to_int on index"
411
+ fails "String#slice! with index deletes and return the char at the given position"
412
+ fails "String#slice! with index raises a RuntimeError if self is frozen"
413
+ fails "String#slice! with index returns nil if idx is outside of self"
414
+ fails "String#slice! with index, length always taints resulting strings when self is tainted"
415
+ fails "String#slice! with index, length calls to_int on idx and length"
416
+ fails "String#slice! with index, length deletes and returns the substring at idx and the given length"
417
+ fails "String#slice! with index, length raises a RuntimeError if self is frozen"
418
+ fails "String#slice! with index, length returns nil if the length is negative"
419
+ fails "String#slice! with index, length returns subclass instances"
420
+ fails "String#split with Regexp doesn't taints the resulting strings if the Regexp is tainted"
421
+ fails "String#split with Regexp respects the encoding of the regexp when splitting between characters"
422
+ fails "String#split with Regexp retains the encoding of the source string"
423
+ fails "String#split with Regexp returns an ArgumentError if an invalid UTF-8 string is supplied"
424
+ fails "String#split with Regexp splits a string on each character for a multibyte encoding and empty split"
425
+ fails "String#split with Regexp taints an empty string if self is tainted"
426
+ fails "String#split with Regexp taints the resulting strings if self is tainted"
427
+ fails "String#split with String taints the resulting strings if self is tainted"
428
+ fails "String#squeeze taints the result when self is tainted"
429
+ fails "String#squeeze! modifies self in place and returns self"
430
+ fails "String#squeeze! raises a RuntimeError when self is frozen"
431
+ fails "String#squeeze! raises an ArgumentError when the parameter is out of sequence"
432
+ fails "String#squeeze! returns nil if no modifications were made"
433
+ fails "String#strip taints the result when self is tainted"
434
+ fails "String#strip! modifies self in place and returns self"
435
+ fails "String#strip! modifies self removing trailing NULL bytes and whitespace"
436
+ fails "String#strip! raises a RuntimeError on a frozen instance that is modified"
437
+ fails "String#strip! raises a RuntimeError on a frozen instance that would not be modified"
438
+ fails "String#strip! returns nil if no modifications where made"
439
+ fails "String#sub with pattern and Hash ignores non-String keys"
440
+ fails "String#sub with pattern and Hash taints the result if a hash value is tainted"
441
+ fails "String#sub with pattern and Hash taints the result if the original string is tainted"
442
+ fails "String#sub with pattern and Hash untrusts the result if a hash value is untrusted"
443
+ fails "String#sub with pattern and Hash untrusts the result if the original string is untrusted"
444
+ fails "String#sub with pattern and block doesn't raise a RuntimeError if the string is modified while substituting"
445
+ fails "String#sub with pattern and block taints the result if the original string or replacement is tainted"
446
+ fails "String#sub with pattern, replacement supports \\G which matches at the beginning of the string"
447
+ fails "String#sub with pattern, replacement taints the result if the original string or replacement is tainted"
448
+ fails "String#sub! with pattern and Hash coerces the hash values with #to_s"
449
+ fails "String#sub! with pattern and Hash coerces the hash values with #to_s"
450
+ fails "String#sub! with pattern and Hash doesn't interpolate special sequences like \\1 for the block's return value"
451
+ fails "String#sub! with pattern and Hash ignores non-String keys"
452
+ fails "String#sub! with pattern and Hash keeps tainted state"
453
+ fails "String#sub! with pattern and Hash keeps untrusted state"
454
+ fails "String#sub! with pattern and Hash removes keys that don't correspond to matches"
455
+ fails "String#sub! with pattern and Hash returns self with the first occurrence of pattern replaced with the value of the corresponding hash key"
456
+ fails "String#sub! with pattern and Hash sets $~ to MatchData of first match and nil when there's none for access from outside"
457
+ fails "String#sub! with pattern and Hash taints self if a hash value is tainted"
458
+ fails "String#sub! with pattern and Hash untrusts self if a hash value is untrusted"
459
+ fails "String#sub! with pattern and Hash uses a key's value only a single time"
460
+ fails "String#sub! with pattern and Hash uses the hash's default value for missing keys"
461
+ fails "String#sub! with pattern and Hash uses the hash's value set from default_proc for missing keys"
462
+ fails "String#sub! with pattern and block modifies self in place and returns self"
463
+ fails "String#sub! with pattern and block raises a RuntimeError if the string is modified while substituting"
464
+ fails "String#sub! with pattern and block raises a RuntimeError when self is frozen"
465
+ fails "String#sub! with pattern and block returns nil if no modifications were made"
466
+ fails "String#sub! with pattern and block sets $~ for access from the block"
467
+ fails "String#sub! with pattern and block taints self if block's result is tainted"
468
+ fails "String#sub! with pattern and without replacement and block raises a ArgumentError"
469
+ fails "String#sub! with pattern, replacement modifies self in place and returns self"
470
+ fails "String#sub! with pattern, replacement raises a RuntimeError when self is frozen"
471
+ fails "String#sub! with pattern, replacement returns nil if no modifications were made"
472
+ fails "String#sub! with pattern, replacement taints self if replacement is tainted"
473
+ fails "String#succ taints the result if self is tainted"
474
+ fails "String#succ! is equivalent to succ, but modifies self in place (still returns self)"
475
+ fails "String#succ! raises a RuntimeError if self is frozen"
476
+ fails "String#swapcase taints resulting string when self is tainted"
477
+ fails "String#swapcase! modifies self in place"
478
+ fails "String#swapcase! raises a RuntimeError when self is frozen"
479
+ fails "String#swapcase! returns nil if no modifications were made"
480
+ fails "String#to_i with bases parses a String in base 10"
481
+ fails "String#to_i with bases parses a String in base 11"
482
+ fails "String#to_i with bases parses a String in base 12"
483
+ fails "String#to_i with bases parses a String in base 13"
484
+ fails "String#to_i with bases parses a String in base 14"
485
+ fails "String#to_i with bases parses a String in base 15"
486
+ fails "String#to_i with bases parses a String in base 16"
487
+ fails "String#to_i with bases parses a String in base 17"
488
+ fails "String#to_i with bases parses a String in base 18"
489
+ fails "String#to_i with bases parses a String in base 19"
490
+ fails "String#to_i with bases parses a String in base 2"
491
+ fails "String#to_i with bases parses a String in base 20"
492
+ fails "String#to_i with bases parses a String in base 21"
493
+ fails "String#to_i with bases parses a String in base 22"
494
+ fails "String#to_i with bases parses a String in base 23"
495
+ fails "String#to_i with bases parses a String in base 24"
496
+ fails "String#to_i with bases parses a String in base 25"
497
+ fails "String#to_i with bases parses a String in base 26"
498
+ fails "String#to_i with bases parses a String in base 27"
499
+ fails "String#to_i with bases parses a String in base 28"
500
+ fails "String#to_i with bases parses a String in base 29"
501
+ fails "String#to_i with bases parses a String in base 3"
502
+ fails "String#to_i with bases parses a String in base 30"
503
+ fails "String#to_i with bases parses a String in base 31"
504
+ fails "String#to_i with bases parses a String in base 32"
505
+ fails "String#to_i with bases parses a String in base 33"
506
+ fails "String#to_i with bases parses a String in base 34"
507
+ fails "String#to_i with bases parses a String in base 35"
508
+ fails "String#to_i with bases parses a String in base 36"
509
+ fails "String#to_i with bases parses a String in base 4"
510
+ fails "String#to_i with bases parses a String in base 5"
511
+ fails "String#to_i with bases parses a String in base 6"
512
+ fails "String#to_i with bases parses a String in base 7"
513
+ fails "String#to_i with bases parses a String in base 8"
514
+ fails "String#to_i with bases parses a String in base 9"
515
+ fails "String#to_s taints the result when self is tainted"
516
+ fails "String#to_str taints the result when self is tainted"
517
+ fails "String#tr taints the result when self is tainted"
518
+ fails "String#tr! does not modify self if from_str is empty"
519
+ fails "String#tr! modifies self in place"
520
+ fails "String#tr! raises a RuntimeError if self is frozen"
521
+ fails "String#tr! returns nil if no modification was made"
522
+ fails "String#tr_s taints the result when self is tainted"
523
+ fails "String#tr_s! does not modify self if from_str is empty"
524
+ fails "String#tr_s! modifies self in place"
525
+ fails "String#tr_s! raises a RuntimeError if self is frozen"
526
+ fails "String#tr_s! returns nil if no modification was made"
527
+ fails "String#upcase is locale insensitive (only replaces a-z)"
528
+ fails "String#upcase taints result when self is tainted"
529
+ fails "String#upcase! modifies self in place"
530
+ fails "String#upcase! raises a RuntimeError when self is frozen"
531
+ fails "String#upcase! returns nil if no modifications were made"
532
+ fails "String#upto does not work with symbols"
533
+ fails "String.allocate returns a binary String"
534
+ fails "String.allocate returns a fully-formed String"
535
+ fails "String.new returns a binary String"
536
+ fails "String.new returns a fully-formed String"
537
+ fails "String.new returns a new string given a string argument"
538
+ end