opal 0.4.4 → 0.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/.gitignore +1 -0
- data/.gitmodules +3 -0
- data/.travis.yml +8 -0
- data/CONTRIBUTING.md +46 -2
- data/Gemfile +17 -0
- data/README.md +13 -4
- data/Rakefile +22 -119
- data/bin/opal +11 -2
- data/bin/opal-repl +71 -0
- data/corelib/array.rb +554 -356
- data/corelib/basic_object.rb +22 -18
- data/corelib/boolean.rb +15 -6
- data/corelib/class.rb +12 -6
- data/corelib/comparable.rb +40 -9
- data/corelib/encoding.rb +164 -0
- data/corelib/enumerable.rb +532 -300
- data/corelib/enumerator.rb +31 -6
- data/corelib/error.rb +14 -3
- data/corelib/hash.rb +108 -97
- data/corelib/io.rb +30 -0
- data/corelib/kernel.rb +151 -82
- data/corelib/main.rb +7 -0
- data/corelib/match_data.rb +118 -0
- data/corelib/method.rb +58 -0
- data/corelib/module.rb +145 -77
- data/corelib/native.rb +144 -22
- data/corelib/nil_class.rb +2 -0
- data/corelib/numeric.rb +259 -61
- data/corelib/opal.rb +43 -28
- data/corelib/proc.rb +21 -9
- data/corelib/range.rb +42 -23
- data/corelib/regexp.rb +51 -9
- data/corelib/runtime.js +470 -129
- data/corelib/string.rb +170 -246
- data/corelib/struct.rb +13 -1
- data/corelib/time.rb +414 -43
- data/doc/compiler.md +42 -0
- data/doc/compiler_options.md +5 -0
- data/doc/examples/node_http_server.rb +49 -0
- data/doc/external_libraries.md +9 -0
- data/doc/generated_javascript.md +272 -0
- data/doc/home.md +17 -0
- data/doc/method_missing.md +58 -0
- data/doc/static_applications.md +60 -0
- data/doc/using_ruby_from_javascript.md +18 -0
- data/doc/using_sprockets.md +65 -0
- data/lib/opal.rb +18 -15
- data/lib/opal/builder.rb +26 -9
- data/lib/opal/cli.rb +143 -90
- data/lib/opal/cli_options.rb +19 -13
- data/lib/opal/compiler.rb +307 -0
- data/lib/opal/erb.rb +3 -3
- data/lib/opal/fragment.rb +34 -0
- data/lib/opal/nodes.rb +25 -0
- data/lib/opal/nodes/arglist.rb +56 -0
- data/lib/opal/nodes/array.rb +54 -0
- data/lib/opal/nodes/base.rb +150 -0
- data/lib/opal/nodes/base_scope.rb +11 -0
- data/lib/opal/nodes/call.rb +195 -0
- data/lib/opal/nodes/call_special.rb +153 -0
- data/lib/opal/nodes/case.rb +96 -0
- data/lib/opal/nodes/class.rb +43 -0
- data/lib/opal/nodes/constants.rb +91 -0
- data/lib/opal/nodes/def.rb +157 -0
- data/lib/opal/nodes/defined.rb +113 -0
- data/lib/opal/nodes/definitions.rb +182 -0
- data/lib/opal/nodes/hash.rb +67 -0
- data/lib/opal/nodes/helpers.rb +105 -0
- data/lib/opal/nodes/if.rb +60 -0
- data/lib/opal/nodes/iter.rb +118 -0
- data/lib/opal/nodes/literal.rb +193 -0
- data/lib/opal/nodes/logic.rb +211 -0
- data/lib/opal/nodes/masgn.rb +62 -0
- data/lib/opal/nodes/module.rb +46 -0
- data/lib/opal/nodes/rescue.rb +134 -0
- data/lib/opal/nodes/singleton_class.rb +26 -0
- data/lib/opal/nodes/super.rb +97 -0
- data/lib/opal/nodes/top.rb +63 -0
- data/lib/opal/nodes/variables.rb +155 -0
- data/lib/opal/nodes/while.rb +65 -0
- data/lib/opal/nodes/yield.rb +84 -0
- data/lib/opal/parser.rb +294 -2169
- data/lib/opal/parser/grammar.rb +5326 -0
- data/lib/opal/{grammar.y → parser/grammar.y} +180 -113
- data/lib/opal/parser/keywords.rb +64 -0
- data/lib/opal/{lexer.rb → parser/lexer.rb} +278 -327
- data/lib/opal/{lexer_scope.rb → parser/parser_scope.rb} +2 -5
- data/lib/opal/parser/sexp.rb +63 -0
- data/lib/opal/source_map.rb +6 -5
- data/lib/opal/target_scope.rb +15 -17
- data/lib/opal/version.rb +1 -1
- data/mri_spec/cli_spec.rb +67 -6
- data/opal.gemspec +4 -4
- data/spec/config.ru +2 -1
- data/spec/corelib/enumerable/all_break_spec.rb +5 -0
- data/spec/corelib/enumerable/any_break_spec.rb +5 -0
- data/spec/corelib/enumerable/collect_break_spec.rb +13 -0
- data/spec/corelib/enumerable/count_break_spec.rb +5 -0
- data/spec/corelib/enumerable/detect_break_spec.rb +5 -0
- data/spec/corelib/enumerable/drop_while_break_spec.rb +5 -0
- data/spec/corelib/enumerable/each_slice_break.rb +6 -0
- data/spec/corelib/enumerable/each_with_index_break_spec.rb +5 -0
- data/spec/corelib/enumerable/each_with_object_break_spec.rb +5 -0
- data/spec/corelib/enumerable/find_all_break_spec.rb +5 -0
- data/spec/corelib/enumerable/find_index_break_spec.rb +5 -0
- data/spec/corelib/enumerable/grep_break_spec.rb +5 -0
- data/spec/corelib/enumerable/max_break_spec.rb +5 -0
- data/spec/corelib/enumerable/max_by_break_spec.rb +5 -0
- data/spec/corelib/enumerable/min_break_spec.rb +5 -0
- data/spec/corelib/enumerable/min_by_break_spec.rb +5 -0
- data/spec/corelib/enumerable/none_break_spec.rb +5 -0
- data/spec/corelib/enumerable/one_break_spec.rb +5 -0
- data/spec/corelib/enumerable/reduce_break_spec.rb +5 -0
- data/spec/corelib/enumerable/take_while_break_spec.rb +5 -0
- data/spec/{rubyspec → corelib}/fixtures/class.rb +0 -0
- data/spec/{rubyspec → corelib}/fixtures/class_variables.rb +0 -0
- data/spec/{rubyspec → corelib}/fixtures/constants.rb +0 -0
- data/spec/{rubyspec/core → corelib}/kernel/Array_spec.rb +0 -0
- data/spec/{opal → corelib}/kernel/block_given_spec.rb +0 -0
- data/spec/{opal → corelib}/kernel/class_spec.rb +0 -0
- data/spec/{rubyspec/core → corelib}/kernel/define_singleton_method_spec.rb +0 -0
- data/spec/{rubyspec/core → corelib}/kernel/equal_value_spec.rb +0 -0
- data/spec/{opal → corelib}/kernel/extend_spec.rb +0 -0
- data/spec/{opal → corelib}/kernel/format_spec.rb +0 -0
- data/spec/{opal → corelib}/kernel/freeze_spec.rb +0 -0
- data/spec/{rubyspec/core → corelib}/kernel/instance_eval_spec.rb +0 -0
- data/spec/{opal → corelib}/kernel/instance_variable_defined_spec.rb +0 -0
- data/spec/{rubyspec/core → corelib}/kernel/instance_variable_get_spec.rb +0 -0
- data/spec/{rubyspec/core → corelib}/kernel/instance_variable_set_spec.rb +0 -0
- data/spec/{rubyspec/core → corelib}/kernel/loop_spec.rb +0 -0
- data/spec/{opal → corelib}/kernel/match_spec.rb +0 -0
- data/spec/{opal → corelib}/kernel/method_spec.rb +0 -0
- data/spec/{opal → corelib}/kernel/methods_spec.rb +0 -0
- data/spec/{opal → corelib}/kernel/nil_spec.rb +0 -0
- data/spec/{opal → corelib}/kernel/p_spec.rb +8 -6
- data/spec/{opal → corelib}/kernel/printf_spec.rb +4 -2
- data/spec/{opal → corelib}/kernel/proc_spec.rb +0 -0
- data/spec/{opal → corelib}/kernel/rand_spec.rb +0 -0
- data/spec/{opal → corelib}/kernel/respond_to_spec.rb +0 -0
- data/spec/{rubyspec/core → corelib}/kernel/send_spec.rb +0 -0
- data/spec/{opal → corelib}/kernel/sprintf_spec.rb +0 -0
- data/spec/corelib/kernel/warn_spec.rb +83 -0
- data/spec/{rubyspec → corelib}/language/block_spec.rb +17 -18
- data/spec/{rubyspec → corelib}/language/fixtures/array.rb +0 -0
- data/spec/{rubyspec → corelib}/language/fixtures/block.rb +0 -0
- data/spec/{rubyspec → corelib}/language/fixtures/break.rb +0 -0
- data/spec/{rubyspec → corelib}/language/fixtures/ensure.rb +0 -0
- data/spec/{rubyspec → corelib}/language/fixtures/literal_lambda.rb +0 -0
- data/spec/{rubyspec → corelib}/language/fixtures/metaclass.rb +0 -0
- data/spec/{rubyspec → corelib}/language/fixtures/module.rb +0 -0
- data/spec/{rubyspec → corelib}/language/fixtures/next.rb +0 -0
- data/spec/{rubyspec → corelib}/language/fixtures/return.rb +0 -0
- data/spec/{rubyspec → corelib}/language/fixtures/send.rb +1 -1
- data/spec/{rubyspec → corelib}/language/fixtures/send_1.9.rb +0 -0
- data/spec/{rubyspec → corelib}/language/fixtures/super.rb +0 -0
- data/spec/{rubyspec → corelib}/language/fixtures/variables.rb +0 -0
- data/spec/{rubyspec → corelib}/language/fixtures/yield.rb +0 -0
- data/spec/{rubyspec → corelib}/language/numbers_spec.rb +0 -2
- data/spec/{rubyspec → corelib}/language/predefined_spec.rb +0 -0
- data/spec/{rubyspec → corelib}/language/proc_spec.rb +0 -2
- data/spec/{rubyspec → corelib}/language/regexp_spec.rb +0 -0
- data/spec/{rubyspec → corelib}/language/send_spec.rb +6 -7
- data/spec/{rubyspec → corelib}/language/string_spec.rb +0 -0
- data/spec/{rubyspec → corelib}/language/symbol_spec.rb +0 -0
- data/spec/{rubyspec → corelib}/language/variables_spec.rb +1 -2
- data/spec/{rubyspec → corelib}/language/versions/array_1.9.rb +0 -0
- data/spec/{rubyspec → corelib}/language/versions/block_1.9.rb +0 -0
- data/spec/{rubyspec → corelib}/language/versions/break_1.9.rb +0 -0
- data/spec/{rubyspec → corelib}/language/versions/case_1.9.rb +0 -0
- data/spec/{rubyspec → corelib}/language/versions/hash_1.9.rb +0 -0
- data/spec/{rubyspec → corelib}/language/versions/literal_lambda_1.9.rb +0 -0
- data/spec/{rubyspec → corelib}/language/versions/not_1.9.rb +0 -0
- data/spec/{rubyspec → corelib}/language/versions/send_1.9.rb +0 -0
- data/spec/{rubyspec → corelib}/language/versions/symbol_1.9.rb +0 -0
- data/spec/{rubyspec → corelib}/language/versions/variables_1.9.rb +1 -1
- data/spec/corelib/module/alias_method_spec.rb +28 -0
- data/spec/{opal → corelib}/module/ancestors_spec.rb +0 -0
- data/spec/{opal → corelib}/module/append_features_spec.rb +0 -0
- data/spec/corelib/module/attr_accessor_spec.rb +26 -0
- data/spec/{rubyspec/core → corelib}/module/const_defined_spec.rb +1 -2
- data/spec/{rubyspec/core → corelib}/module/const_get_spec.rb +1 -2
- data/spec/{rubyspec/core → corelib}/module/const_missing_spec.rb +1 -2
- data/spec/{rubyspec/core → corelib}/module/const_set_spec.rb +1 -2
- data/spec/{opal → corelib}/module/constants_spec.rb +0 -0
- data/spec/{rubyspec/core → corelib}/module/fixtures/classes.rb +0 -0
- data/spec/{rubyspec/core → corelib}/module/method_defined_spec.rb +0 -1
- data/spec/{opal → corelib}/module/module_function_spec.rb +0 -2
- data/spec/corelib/module/name_spec.rb +52 -0
- data/spec/{rubyspec/core → corelib}/module/public_method_defined_spec.rb +0 -1
- data/spec/{rubyspec/core → corelib}/module/remove_const_spec.rb +0 -1
- data/spec/{rubyspec/core → corelib}/module/undef_method_spec.rb +0 -1
- data/spec/{opal → corelib}/native/alias_native_spec.rb +7 -0
- data/spec/{opal → corelib}/native/each_spec.rb +2 -5
- data/spec/{opal → corelib}/native/element_reference_spec.rb +0 -0
- data/spec/{rubyspec/core/hash/to_native_spec.rb → corelib/native/ext_spec.rb} +0 -0
- data/spec/corelib/native/initialize_spec.rb +17 -0
- data/spec/{opal → corelib}/native/method_missing_spec.rb +0 -0
- data/spec/corelib/native/new_spec.rb +6 -0
- data/spec/{rubyspec/core → corelib}/numeric/abs_spec.rb +0 -0
- data/spec/{rubyspec/core → corelib}/numeric/bit_and_spec.rb +0 -0
- data/spec/{rubyspec/core → corelib}/numeric/bit_or_spec.rb +0 -0
- data/spec/{rubyspec/core → corelib}/numeric/bit_xor_spec.rb +0 -0
- data/spec/{rubyspec/core → corelib}/numeric/ceil_spec.rb +0 -0
- data/spec/{rubyspec/core → corelib}/numeric/chr_spec.rb +0 -0
- data/spec/{rubyspec/core → corelib}/numeric/comparison_spec.rb +0 -0
- data/spec/{rubyspec/core → corelib}/numeric/complement_spec.rb +0 -0
- data/spec/{rubyspec/core → corelib}/numeric/divide_spec.rb +0 -0
- data/spec/{rubyspec/core → corelib}/numeric/downto_spec.rb +0 -0
- data/spec/{rubyspec/core → corelib}/numeric/eql_spec.rb +0 -0
- data/spec/{rubyspec/core → corelib}/numeric/equal_value_spec.rb +0 -0
- data/spec/{rubyspec/core → corelib}/numeric/even_spec.rb +0 -0
- data/spec/{rubyspec/core → corelib}/numeric/exponent_spec.rb +0 -0
- data/spec/{rubyspec/core → corelib}/numeric/floor_spec.rb +0 -0
- data/spec/{rubyspec/core → corelib}/numeric/gt_spec.rb +0 -0
- data/spec/{rubyspec/core → corelib}/numeric/gte_spec.rb +0 -0
- data/spec/{rubyspec/core → corelib}/numeric/integer_spec.rb +0 -0
- data/spec/{rubyspec/core → corelib}/numeric/left_shift_spec.rb +0 -0
- data/spec/{rubyspec/core → corelib}/numeric/lt_spec.rb +0 -0
- data/spec/{rubyspec/core → corelib}/numeric/lte_spec.rb +0 -0
- data/spec/{rubyspec/core → corelib}/numeric/magnitude_spec.rb +0 -0
- data/spec/{rubyspec/core → corelib}/numeric/minus_spec.rb +0 -0
- data/spec/{rubyspec/core → corelib}/numeric/modulo_spec.rb +0 -0
- data/spec/{rubyspec/core → corelib}/numeric/multiply_spec.rb +0 -0
- data/spec/{rubyspec/core → corelib}/numeric/next_spec.rb +0 -0
- data/spec/{rubyspec/core → corelib}/numeric/odd_spec.rb +0 -0
- data/spec/{rubyspec/core → corelib}/numeric/ord_spec.rb +0 -0
- data/spec/{rubyspec/core → corelib}/numeric/plus_spec.rb +0 -0
- data/spec/{rubyspec/core → corelib}/numeric/pred_spec.rb +0 -0
- data/spec/{rubyspec/core → corelib}/numeric/right_shift_spec.rb +0 -0
- data/spec/{rubyspec/core → corelib}/numeric/step_spec.rb +0 -3
- data/spec/{rubyspec/core → corelib}/numeric/succ_spec.rb +0 -0
- data/spec/{rubyspec/core → corelib}/numeric/times_spec.rb +0 -0
- data/spec/{rubyspec/core → corelib}/numeric/to_f_spec.rb +0 -0
- data/spec/{rubyspec/core → corelib}/numeric/to_i_spec.rb +0 -0
- data/spec/{rubyspec/core → corelib}/numeric/to_json_spec.rb +0 -0
- data/spec/corelib/numeric/to_s_spec.rb +26 -0
- data/spec/{rubyspec/core → corelib}/numeric/uminus_spec.rb +0 -0
- data/spec/{rubyspec/core → corelib}/numeric/upto_spec.rb +0 -0
- data/spec/{rubyspec/core → corelib}/numeric/zero_spec.rb +0 -0
- data/spec/{rubyspec/core → corelib}/proc/call_spec.rb +0 -0
- data/spec/{rubyspec/core → corelib}/proc/element_reference_spec.rb +0 -0
- data/spec/{opal → corelib}/proc/proc_tricks_spec.rb +0 -0
- data/spec/corelib/runtime/begin_spec.rb +39 -0
- data/spec/{opal → corelib}/runtime/block_send_spec.rb +0 -0
- data/spec/{opal/language → corelib/runtime}/block_spec.rb +10 -0
- data/spec/corelib/runtime/bridged_classes_spec.rb +64 -0
- data/spec/{opal → corelib/runtime}/constants_spec.rb +0 -0
- data/spec/{opal → corelib}/runtime/eval_spec.rb +0 -0
- data/spec/{opal → corelib}/runtime/main_methods_spec.rb +0 -0
- data/spec/{opal → corelib/runtime}/method_missing_spec.rb +0 -0
- data/spec/corelib/runtime/method_spec.rb +31 -0
- data/spec/corelib/runtime/paren_spec.rb +14 -0
- data/spec/{opal/language → corelib/runtime}/rescue_spec.rb +11 -0
- data/spec/{opal/language → corelib/runtime}/return_spec.rb +0 -0
- data/spec/{opal → corelib}/runtime/send_spec.rb +0 -0
- data/spec/{opal/language → corelib/runtime}/singleton_class_spec.rb +0 -0
- data/spec/{opal/language → corelib/runtime}/super_spec.rb +113 -0
- data/spec/{opal/language → corelib/runtime}/variables_spec.rb +0 -0
- data/spec/{opal → corelib}/source_map_spec.rb +3 -3
- data/spec/{rubyspec/core → corelib}/string/chop_spec.rb +0 -0
- data/spec/{rubyspec/core → corelib}/string/chr_spec.rb +0 -0
- data/spec/{rubyspec/core → corelib}/string/clone_spec.rb +0 -0
- data/spec/{rubyspec/core → corelib}/string/comparison_spec.rb +0 -0
- data/spec/{rubyspec/core → corelib}/string/dup_spec.rb +0 -0
- data/spec/{rubyspec/core → corelib}/string/element_reference_spec.rb +0 -1
- data/spec/{rubyspec/core → corelib}/string/fixtures/classes.rb +0 -0
- data/spec/{rubyspec/core → corelib}/string/format_spec.rb +0 -0
- data/spec/{opal → corelib}/string/freeze_spec.rb +0 -0
- data/spec/{rubyspec/core → corelib}/string/gsub_spec.rb +0 -0
- data/spec/{rubyspec/core → corelib}/string/lines_spec.rb +0 -0
- data/spec/{rubyspec/core → corelib}/string/ljust_spec.rb +0 -1
- data/spec/{rubyspec/core → corelib}/string/lstrip_spec.rb +0 -0
- data/spec/{rubyspec/core → corelib}/string/match_spec.rb +0 -0
- data/spec/{rubyspec/core → corelib}/string/next_spec.rb +0 -0
- data/spec/{rubyspec/core → corelib}/string/ord_spec.rb +0 -0
- data/spec/{rubyspec/core → corelib}/string/partition_spec.rb +0 -0
- data/spec/{rubyspec/core → corelib}/string/rindex_spec.rb +0 -0
- data/spec/{rubyspec/core → corelib}/string/rjust_spec.rb +0 -1
- data/spec/{rubyspec/core → corelib}/string/rstrip_spec.rb +0 -0
- data/spec/{rubyspec/core → corelib}/string/scan_spec.rb +0 -0
- data/spec/{rubyspec/core → corelib}/string/slice_spec.rb +1 -2
- data/spec/{rubyspec/core → corelib}/string/split_spec.rb +0 -0
- data/spec/{rubyspec/core → corelib}/string/strip_spec.rb +0 -0
- data/spec/{rubyspec/core → corelib}/string/sub_spec.rb +0 -0
- data/spec/{rubyspec/core → corelib}/string/succ_spec.rb +0 -0
- data/spec/{rubyspec/core → corelib}/string/sum_spec.rb +0 -0
- data/spec/{rubyspec/core → corelib}/string/to_f_spec.rb +0 -0
- data/spec/{rubyspec/core → corelib}/string/to_i_spec.rb +0 -0
- data/spec/{rubyspec/core → corelib}/string/tr_s_spec.rb +0 -0
- data/spec/{rubyspec/core → corelib}/string/tr_spec.rb +0 -0
- data/spec/filters/bugs/array.rb +236 -4
- data/spec/filters/bugs/basic_object.rb +4 -0
- data/spec/filters/bugs/class.rb +4 -0
- data/spec/filters/bugs/enumerable.rb +58 -0
- data/spec/filters/bugs/enumerator.rb +6 -0
- data/spec/filters/bugs/hash.rb +146 -0
- data/spec/filters/bugs/kernel.rb +10 -0
- data/spec/filters/bugs/language.rb +366 -0
- data/spec/filters/bugs/module.rb +14 -0
- data/spec/filters/bugs/regexp.rb +7 -0
- data/spec/filters/bugs/set.rb +7 -0
- data/spec/filters/bugs/{singleton/instance.rb → singleton.rb} +3 -1
- data/spec/filters/bugs/string.rb +37 -0
- data/spec/filters/bugs/stringscanner.rb +18 -0
- data/spec/filters/bugs/struct.rb +11 -0
- data/spec/filters/bugs/symbol.rb +5 -0
- data/spec/filters/bugs/time.rb +28 -0
- data/spec/filters/bugs/unknown.rb +11 -0
- data/spec/filters/unsupported/array_subclasses.rb +32 -0
- data/spec/filters/unsupported/encoding.rb +14 -0
- data/spec/filters/unsupported/float.rb +4 -0
- data/spec/filters/unsupported/frozen.rb +57 -0
- data/spec/filters/unsupported/hash_compare_by_identity.rb +16 -0
- data/spec/filters/unsupported/immutable_strings.rb +6 -0
- data/spec/filters/unsupported/mutable_strings.rb +49 -0
- data/spec/filters/unsupported/private_methods.rb +26 -0
- data/spec/filters/{mspec → unsupported}/ruby_exe.rb +0 -0
- data/spec/filters/unsupported/string_subclasses.rb +8 -0
- data/spec/filters/unsupported/tainted.rb +46 -0
- data/spec/filters/unsupported/time.rb +21 -0
- data/spec/filters/unsupported/trusted.rb +26 -0
- data/spec/opal/{parser → compiler}/irb_spec.rb +9 -9
- data/spec/{parser → opal/parser}/alias_spec.rb +0 -0
- data/spec/{parser → opal/parser}/and_spec.rb +0 -0
- data/spec/{parser → opal/parser}/array_spec.rb +0 -0
- data/spec/{parser → opal/parser}/attrasgn_spec.rb +0 -0
- data/spec/{parser → opal/parser}/begin_spec.rb +0 -0
- data/spec/{parser → opal/parser}/block_spec.rb +0 -0
- data/spec/{parser → opal/parser}/break_spec.rb +0 -0
- data/spec/{parser → opal/parser}/call_spec.rb +33 -8
- data/spec/{parser → opal/parser}/class_spec.rb +0 -0
- data/spec/{parser → opal/parser}/const_spec.rb +0 -0
- data/spec/{parser → opal/parser}/cvar_spec.rb +0 -0
- data/spec/{parser → opal/parser}/def_spec.rb +17 -17
- data/spec/{parser → opal/parser}/false_spec.rb +0 -0
- data/spec/{parser → opal/parser}/file_spec.rb +0 -0
- data/spec/{parser → opal/parser}/gvar_spec.rb +0 -0
- data/spec/{parser → opal/parser}/hash_spec.rb +0 -0
- data/spec/opal/parser/heredoc_spec.rb +30 -0
- data/spec/{parser → opal/parser}/iasgn_spec.rb +0 -0
- data/spec/{parser → opal/parser}/if_spec.rb +0 -0
- data/spec/{parser → opal/parser}/int_spec.rb +0 -0
- data/spec/opal/parser/iter_spec.rb +59 -0
- data/spec/{parser → opal/parser}/ivar_spec.rb +0 -0
- data/spec/opal/parser/lambda_spec.rb +64 -0
- data/spec/{parser → opal/parser}/lasgn_spec.rb +0 -0
- data/spec/{parser → opal/parser}/line_spec.rb +0 -0
- data/spec/{parser → opal/parser}/lvar_spec.rb +6 -6
- data/spec/{parser → opal/parser}/masgn_spec.rb +0 -0
- data/spec/{parser → opal/parser}/module_spec.rb +0 -0
- data/spec/{parser → opal/parser}/nil_spec.rb +0 -0
- data/spec/{parser → opal/parser}/not_spec.rb +0 -0
- data/spec/{parser → opal/parser}/nth_ref_spec.rb +0 -0
- data/spec/{parser → opal/parser}/op_asgn1_spec.rb +0 -0
- data/spec/{parser → opal/parser}/op_asgn2_spec.rb +0 -0
- data/spec/{parser → opal/parser}/or_spec.rb +0 -0
- data/spec/{parser → opal/parser}/parse_spec.rb +17 -17
- data/spec/{parser → opal/parser}/regexp_spec.rb +0 -0
- data/spec/{parser → opal/parser}/return_spec.rb +0 -0
- data/spec/{parser → opal/parser}/sclass_spec.rb +0 -0
- data/spec/{parser → opal/parser}/self_spec.rb +0 -0
- data/spec/{parser → opal/parser}/str_spec.rb +1 -12
- data/spec/{parser → opal/parser}/string_spec.rb +0 -0
- data/spec/opal/parser/super_spec.rb +20 -0
- data/spec/{parser → opal/parser}/true_spec.rb +0 -0
- data/spec/{parser → opal/parser}/undef_spec.rb +0 -0
- data/spec/{parser → opal/parser}/unless_spec.rb +0 -0
- data/spec/{parser → opal/parser}/while_spec.rb +0 -0
- data/spec/{parser → opal/parser}/xstr_spec.rb +2 -2
- data/spec/{parser → opal/parser}/yield_spec.rb +0 -0
- data/spec/ospec/main.rb.erb +1 -13
- data/spec/ospec/mspec_fixes.rb +87 -0
- data/spec/ospec/runner.rb +188 -0
- data/spec/rubyspecs +351 -0
- data/spec/spec_helper.rb +8 -198
- data/spec/{opal → stdlib}/erb/erb_spec.rb +3 -3
- data/spec/{opal → stdlib}/erb/inline_block.opalerb +0 -0
- data/spec/{opal → stdlib}/erb/quoted.opalerb +0 -0
- data/spec/{opal → stdlib}/erb/simple.opalerb +0 -0
- data/spec/stdlib/json/ext_spec.rb +48 -0
- data/spec/{opal → stdlib}/json/parse_spec.rb +0 -0
- data/spec/stdlib/template/paths_spec.rb +10 -0
- data/stdlib/delegate.rb +29 -0
- data/stdlib/dir.rb +5 -0
- data/stdlib/file.rb +7 -0
- data/stdlib/json.rb +82 -27
- data/stdlib/opal-parser.rb +46 -0
- data/stdlib/opal-source-maps.js.erb +1 -1
- data/stdlib/pathname.rb +31 -0
- data/stdlib/{racc.rb → racc/parser.rb} +0 -0
- data/stdlib/securerandom.rb +12 -0
- data/stdlib/set.rb +89 -0
- data/stdlib/stringio.rb +12 -4
- data/stdlib/strscan.rb +19 -0
- data/stdlib/template.rb +4 -0
- data/stdlib/thread.rb +20 -0
- data/tasks/mspec.rake +147 -0
- metadata +650 -1266
- data/lib/opal/core_ext.rb +0 -5
- data/lib/opal/grammar.rb +0 -5137
- data/lib/opal/grammar_helpers.rb +0 -364
- data/lib/opal/require_parser.rb +0 -77
- data/spec/filters/bugs/alias.rb +0 -6
- data/spec/filters/bugs/ancestors.rb +0 -4
- data/spec/filters/bugs/array/combination.rb +0 -11
- data/spec/filters/bugs/array/count.rb +0 -3
- data/spec/filters/bugs/array/delete_if.rb +0 -3
- data/spec/filters/bugs/array/drop.rb +0 -3
- data/spec/filters/bugs/array/drop_while.rb +0 -5
- data/spec/filters/bugs/array/eql.rb +0 -3
- data/spec/filters/bugs/array/flatten.rb +0 -9
- data/spec/filters/bugs/array/minus.rb +0 -5
- data/spec/filters/bugs/array/multipliy.rb +0 -9
- data/spec/filters/bugs/array/new.rb +0 -3
- data/spec/filters/bugs/array/pop.rb +0 -6
- data/spec/filters/bugs/array/rassoc.rb +0 -4
- data/spec/filters/bugs/array/rindex.rb +0 -6
- data/spec/filters/bugs/array/select.rb +0 -3
- data/spec/filters/bugs/array/shift.rb +0 -7
- data/spec/filters/bugs/array/shuffle.rb +0 -11
- data/spec/filters/bugs/array/slice.rb +0 -7
- data/spec/filters/bugs/array/take.rb +0 -3
- data/spec/filters/bugs/array/to_a.rb +0 -3
- data/spec/filters/bugs/array/try_convert.rb +0 -7
- data/spec/filters/bugs/array/uniq.rb +0 -10
- data/spec/filters/bugs/array/zip.rb +0 -4
- data/spec/filters/bugs/array_delete.rb +0 -4
- data/spec/filters/bugs/array_fetch.rb +0 -3
- data/spec/filters/bugs/array_first.rb +0 -3
- data/spec/filters/bugs/array_flatten.rb +0 -14
- data/spec/filters/bugs/array_intersection.rb +0 -5
- data/spec/filters/bugs/array_join.rb +0 -6
- data/spec/filters/bugs/break.rb +0 -10
- data/spec/filters/bugs/case.rb +0 -4
- data/spec/filters/bugs/coerce_integer.rb +0 -9
- data/spec/filters/bugs/enumerable_sort_by.rb +0 -3
- data/spec/filters/bugs/kernel/instance_variables.rb +0 -3
- data/spec/filters/bugs/kernel/rand.rb +0 -4
- data/spec/filters/bugs/language/array.rb +0 -3
- data/spec/filters/bugs/language/block.rb +0 -6
- data/spec/filters/bugs/language/break.rb +0 -3
- data/spec/filters/bugs/language/class.rb +0 -12
- data/spec/filters/bugs/language/class_variables.rb +0 -12
- data/spec/filters/bugs/language/def.rb +0 -27
- data/spec/filters/bugs/language/defined.rb +0 -3
- data/spec/filters/bugs/language/ensure.rb +0 -4
- data/spec/filters/bugs/language/execution.rb +0 -4
- data/spec/filters/bugs/language/for.rb +0 -18
- data/spec/filters/bugs/language/if.rb +0 -13
- data/spec/filters/bugs/language/loop.rb +0 -4
- data/spec/filters/bugs/language/metaclass.rb +0 -14
- data/spec/filters/bugs/language/module.rb +0 -6
- data/spec/filters/bugs/language/next.rb +0 -3
- data/spec/filters/bugs/language/or.rb +0 -3
- data/spec/filters/bugs/language/order.rb +0 -4
- data/spec/filters/bugs/language/precedence.rb +0 -10
- data/spec/filters/bugs/language/proc.rb +0 -24
- data/spec/filters/bugs/language/redo.rb +0 -5
- data/spec/filters/bugs/language/rescue.rb +0 -9
- data/spec/filters/bugs/language/retry.rb +0 -5
- data/spec/filters/bugs/language/send.rb +0 -10
- data/spec/filters/bugs/language/super.rb +0 -9
- data/spec/filters/bugs/language/until.rb +0 -8
- data/spec/filters/bugs/language/variables.rb +0 -37
- data/spec/filters/bugs/language/while.rb +0 -6
- data/spec/filters/bugs/language/yield.rb +0 -5
- data/spec/filters/bugs/module/class_variables.rb +0 -6
- data/spec/filters/bugs/module/method_defined.rb +0 -6
- data/spec/filters/bugs/public_methods.rb +0 -4
- data/spec/filters/bugs/return.rb +0 -7
- data/spec/filters/bugs/source_map.rb +0 -3
- data/spec/filters/bugs/string/center.rb +0 -4
- data/spec/filters/bugs/string/lines.rb +0 -3
- data/spec/filters/mspec/mocks.rb +0 -3
- data/spec/filters/mspec/should_receive.rb +0 -5
- data/spec/filters/parser/block_args.rb +0 -51
- data/spec/mspec/guards/block_device.rb +0 -0
- data/spec/mspec/guards/endian.rb +0 -0
- data/spec/mspec/helpers/environment.rb +0 -0
- data/spec/mspec/helpers/language_version.rb +0 -0
- data/spec/mspec/helpers/tmp.rb +0 -0
- data/spec/opal/array/element_reference_spec.rb +0 -206
- data/spec/opal/array/equal_value_spec.rb +0 -19
- data/spec/opal/array/fill_spec.rb +0 -26
- data/spec/opal/array/reduce_spec.rb +0 -31
- data/spec/opal/array/to_json_spec.rb +0 -9
- data/spec/opal/basic_object/send_spec.rb +0 -28
- data/spec/opal/boolean/singleton_class_spec.rb +0 -9
- data/spec/opal/boolean/to_json_spec.rb +0 -11
- data/spec/opal/browser/local_storage_spec.rb +0 -55
- data/spec/opal/class/constants_spec.rb +0 -7
- data/spec/opal/class/extend_spec.rb +0 -47
- data/spec/opal/class/instance_methods_spec.rb +0 -13
- data/spec/opal/class/last_value_spec.rb +0 -67
- data/spec/opal/class/proc_methods_spec.rb +0 -23
- data/spec/opal/class/singleton_methods_spec.rb +0 -41
- data/spec/opal/hash/allocate_spec.rb +0 -16
- data/spec/opal/hash/new_spec.rb +0 -10
- data/spec/opal/hash/to_s_spec.rb +0 -9
- data/spec/opal/kernel/to_json_spec.rb +0 -7
- data/spec/opal/module/alias_method_spec.rb +0 -10
- data/spec/opal/module/attr_accessor_spec.rb +0 -8
- data/spec/opal/native/new_spec.rb +0 -19
- data/spec/opal/native/nil_spec.rb +0 -14
- data/spec/opal/nil/to_json_spec.rb +0 -7
- data/spec/opal/numeric/equal_spec.rb +0 -9
- data/spec/opal/runtime2/call_spec.rb +0 -16
- data/spec/opal/runtime2/class_hierarchy_spec.rb +0 -21
- data/spec/opal/runtime2/defined_spec.rb +0 -11
- data/spec/opal/runtime2/super_spec.rb +0 -16
- data/spec/opal/string/to_json_spec.rb +0 -8
- data/spec/parser/iter_spec.rb +0 -59
- data/spec/parser/lambda_spec.rb +0 -64
- data/spec/parser/parser_spec.rb +0 -41
- data/spec/parser/strscan/check_spec.rb +0 -13
- data/spec/parser/strscan/get_byte_spec.rb +0 -29
- data/spec/parser/strscan/scan_spec.rb +0 -33
- data/spec/parser/strscan/skip_spec.rb +0 -40
- data/spec/parser/super_spec.rb +0 -20
- data/spec/rubyspec/core/array/allocate_spec.rb +0 -19
- data/spec/rubyspec/core/array/append_spec.rb +0 -43
- data/spec/rubyspec/core/array/array_spec.rb +0 -7
- data/spec/rubyspec/core/array/assoc_spec.rb +0 -40
- data/spec/rubyspec/core/array/at_spec.rb +0 -56
- data/spec/rubyspec/core/array/choice_spec.rb +0 -20
- data/spec/rubyspec/core/array/clear_spec.rb +0 -61
- data/spec/rubyspec/core/array/clone_spec.rb +0 -15
- data/spec/rubyspec/core/array/collect_spec.rb +0 -53
- data/spec/rubyspec/core/array/combination_spec.rb +0 -55
- data/spec/rubyspec/core/array/compact_spec.rb +0 -111
- data/spec/rubyspec/core/array/comparison_spec.rb +0 -16
- data/spec/rubyspec/core/array/concat_spec.rb +0 -19
- data/spec/rubyspec/core/array/constructor_spec.rb +0 -24
- data/spec/rubyspec/core/array/count_spec.rb +0 -17
- data/spec/rubyspec/core/array/delete_at_spec.rb +0 -71
- data/spec/rubyspec/core/array/delete_if_spec.rb +0 -71
- data/spec/rubyspec/core/array/delete_spec.rb +0 -104
- data/spec/rubyspec/core/array/drop_spec.rb +0 -29
- data/spec/rubyspec/core/array/drop_while_spec.rb +0 -17
- data/spec/rubyspec/core/array/dup_spec.rb +0 -15
- data/spec/rubyspec/core/array/each_index_spec.rb +0 -40
- data/spec/rubyspec/core/array/each_spec.rb +0 -30
- data/spec/rubyspec/core/array/empty_spec.rb +0 -10
- data/spec/rubyspec/core/array/eql_spec.rb +0 -14
- data/spec/rubyspec/core/array/fetch_spec.rb +0 -52
- data/spec/rubyspec/core/array/find_index_spec.rb +0 -8
- data/spec/rubyspec/core/array/first_spec.rb +0 -89
- data/spec/rubyspec/core/array/fixtures/classes.rb +0 -538
- data/spec/rubyspec/core/array/flatten_spec.rb +0 -232
- data/spec/rubyspec/core/array/frozen_spec.rb +0 -32
- data/spec/rubyspec/core/array/include_spec.rb +0 -33
- data/spec/rubyspec/core/array/index_spec.rb +0 -6
- data/spec/rubyspec/core/array/insert_spec.rb +0 -90
- data/spec/rubyspec/core/array/inspect_spec.rb +0 -7
- data/spec/rubyspec/core/array/intersection_spec.rb +0 -78
- data/spec/rubyspec/core/array/join_spec.rb +0 -34
- data/spec/rubyspec/core/array/keep_if_spec.rb +0 -12
- data/spec/rubyspec/core/array/last_spec.rb +0 -88
- data/spec/rubyspec/core/array/length_spec.rb +0 -7
- data/spec/rubyspec/core/array/map_spec.rb +0 -11
- data/spec/rubyspec/core/array/max_spec.rb +0 -32
- data/spec/rubyspec/core/array/min_spec.rb +0 -32
- data/spec/rubyspec/core/array/minus_spec.rb +0 -89
- data/spec/rubyspec/core/array/multiply_spec.rb +0 -143
- data/spec/rubyspec/core/array/new_spec.rb +0 -137
- data/spec/rubyspec/core/array/ntimes_spec.rb +0 -26
- data/spec/rubyspec/core/array/plus_spec.rb +0 -64
- data/spec/rubyspec/core/array/pop_spec.rb +0 -196
- data/spec/rubyspec/core/array/push_spec.rb +0 -44
- data/spec/rubyspec/core/array/rassoc_spec.rb +0 -38
- data/spec/rubyspec/core/array/reject_spec.rb +0 -134
- data/spec/rubyspec/core/array/replace_spec.rb +0 -7
- data/spec/rubyspec/core/array/reverse_each_spec.rb +0 -37
- data/spec/rubyspec/core/array/reverse_spec.rb +0 -58
- data/spec/rubyspec/core/array/rindex_spec.rb +0 -71
- data/spec/rubyspec/core/array/select_spec.rb +0 -36
- data/spec/rubyspec/core/array/shared/collect.rb +0 -7
- data/spec/rubyspec/core/array/shared/enumeratorize.rb +0 -12
- data/spec/rubyspec/core/array/shared/eql.rb +0 -95
- data/spec/rubyspec/core/array/shared/index.rb +0 -37
- data/spec/rubyspec/core/array/shared/inspect.rb +0 -3
- data/spec/rubyspec/core/array/shared/join.rb +0 -7
- data/spec/rubyspec/core/array/shared/keep_if.rb +0 -3
- data/spec/rubyspec/core/array/shared/length.rb +0 -3
- data/spec/rubyspec/core/array/shared/replace.rb +0 -3
- data/spec/rubyspec/core/array/shared/slice.rb +0 -3
- data/spec/rubyspec/core/array/shift_spec.rb +0 -160
- data/spec/rubyspec/core/array/shuffle_spec.rb +0 -87
- data/spec/rubyspec/core/array/size_spec.rb +0 -7
- data/spec/rubyspec/core/array/slice_spec.rb +0 -166
- data/spec/rubyspec/core/array/sort_spec.rb +0 -271
- data/spec/rubyspec/core/array/take_spec.rb +0 -29
- data/spec/rubyspec/core/array/take_while_spec.rb +0 -17
- data/spec/rubyspec/core/array/to_a_spec.rb +0 -24
- data/spec/rubyspec/core/array/to_ary_spec.rb +0 -20
- data/spec/rubyspec/core/array/try_convert_spec.rb +0 -52
- data/spec/rubyspec/core/array/uniq_spec.rb +0 -167
- data/spec/rubyspec/core/array/unshift_spec.rb +0 -64
- data/spec/rubyspec/core/array/zip_spec.rb +0 -55
- data/spec/rubyspec/core/class/fixtures/classes.rb +0 -9
- data/spec/rubyspec/core/class/new_spec.rb +0 -113
- data/spec/rubyspec/core/enumerable/all_spec.rb +0 -130
- data/spec/rubyspec/core/enumerable/any_spec.rb +0 -150
- data/spec/rubyspec/core/enumerable/collect_spec.rb +0 -39
- data/spec/rubyspec/core/enumerable/count_spec.rb +0 -45
- data/spec/rubyspec/core/enumerable/detect_spec.rb +0 -48
- data/spec/rubyspec/core/enumerable/drop_spec.rb +0 -20
- data/spec/rubyspec/core/enumerable/drop_while_spec.rb +0 -18
- data/spec/rubyspec/core/enumerable/each_slice_spec.rb +0 -25
- data/spec/rubyspec/core/enumerable/each_with_index_spec.rb +0 -14
- data/spec/rubyspec/core/enumerable/each_with_object_spec.rb +0 -20
- data/spec/rubyspec/core/enumerable/entries_spec.rb +0 -9
- data/spec/rubyspec/core/enumerable/find_all_spec.rb +0 -16
- data/spec/rubyspec/core/enumerable/find_index_spec.rb +0 -44
- data/spec/rubyspec/core/enumerable/find_spec.rb +0 -56
- data/spec/rubyspec/core/enumerable/first_spec.rb +0 -43
- data/spec/rubyspec/core/enumerable/fixtures/classes.rb +0 -240
- data/spec/rubyspec/core/enumerable/grep_spec.rb +0 -24
- data/spec/rubyspec/core/enumerable/group_by_spec.rb +0 -16
- data/spec/rubyspec/core/enumerable/none_spec.rb +0 -68
- data/spec/rubyspec/core/enumerable/select_spec.rb +0 -16
- data/spec/rubyspec/core/enumerable/sort_by_spec.rb +0 -31
- data/spec/rubyspec/core/enumerable/take_spec.rb +0 -43
- data/spec/rubyspec/core/enumerable/to_a_spec.rb +0 -9
- data/spec/rubyspec/core/enumerator/each_spec.rb +0 -11
- data/spec/rubyspec/core/enumerator/new_spec.rb +0 -17
- data/spec/rubyspec/core/enumerator/next_spec.rb +0 -25
- data/spec/rubyspec/core/enumerator/rewind_spec.rb +0 -28
- data/spec/rubyspec/core/false/and_spec.rb +0 -11
- data/spec/rubyspec/core/false/inspect_spec.rb +0 -7
- data/spec/rubyspec/core/false/or_spec.rb +0 -11
- data/spec/rubyspec/core/false/to_s_spec.rb +0 -7
- data/spec/rubyspec/core/false/xor_spec.rb +0 -11
- data/spec/rubyspec/core/hash/allocate_spec.rb +0 -13
- data/spec/rubyspec/core/hash/assoc_spec.rb +0 -25
- data/spec/rubyspec/core/hash/clear_spec.rb +0 -19
- data/spec/rubyspec/core/hash/clone_spec.rb +0 -10
- data/spec/rubyspec/core/hash/constructor_spec.rb +0 -13
- data/spec/rubyspec/core/hash/default_proc_spec.rb +0 -20
- data/spec/rubyspec/core/hash/default_spec.rb +0 -17
- data/spec/rubyspec/core/hash/delete_if_spec.rb +0 -13
- data/spec/rubyspec/core/hash/delete_spec.rb +0 -11
- data/spec/rubyspec/core/hash/dup_spec.rb +0 -10
- data/spec/rubyspec/core/hash/each_key_spec.rb +0 -15
- data/spec/rubyspec/core/hash/each_pair_spec.rb +0 -30
- data/spec/rubyspec/core/hash/each_spec.rb +0 -36
- data/spec/rubyspec/core/hash/each_value_spec.rb +0 -15
- data/spec/rubyspec/core/hash/element_reference_spec.rb +0 -41
- data/spec/rubyspec/core/hash/element_set_spec.rb +0 -7
- data/spec/rubyspec/core/hash/empty_spec.rb +0 -10
- data/spec/rubyspec/core/hash/fetch_spec.rb +0 -24
- data/spec/rubyspec/core/hash/flatten_spec.rb +0 -46
- data/spec/rubyspec/core/hash/has_key_spec.rb +0 -24
- data/spec/rubyspec/core/hash/has_value_spec.rb +0 -12
- data/spec/rubyspec/core/hash/include_spec.rb +0 -24
- data/spec/rubyspec/core/hash/index_spec.rb +0 -13
- data/spec/rubyspec/core/hash/indexes_spec.rb +0 -9
- data/spec/rubyspec/core/hash/indices_spec.rb +0 -9
- data/spec/rubyspec/core/hash/invert_spec.rb +0 -12
- data/spec/rubyspec/core/hash/keep_if_spec.rb +0 -18
- data/spec/rubyspec/core/hash/key_spec.rb +0 -24
- data/spec/rubyspec/core/hash/keys_spec.rb +0 -10
- data/spec/rubyspec/core/hash/length_spec.rb +0 -10
- data/spec/rubyspec/core/hash/member_spec.rb +0 -24
- data/spec/rubyspec/core/hash/merge_spec.rb +0 -37
- data/spec/rubyspec/core/hash/new_spec.rb +0 -19
- data/spec/rubyspec/core/hash/rassoc_spec.rb +0 -34
- data/spec/rubyspec/core/hash/reject_spec.rb +0 -18
- data/spec/rubyspec/core/hash/replace_spec.rb +0 -7
- data/spec/rubyspec/core/hash/select_spec.rb +0 -52
- data/spec/rubyspec/core/hash/shift_spec.rb +0 -19
- data/spec/rubyspec/core/hash/size_spec.rb +0 -10
- data/spec/rubyspec/core/hash/to_a_spec.rb +0 -13
- data/spec/rubyspec/core/hash/to_json_spec.rb +0 -11
- data/spec/rubyspec/core/hash/update_spec.rb +0 -17
- data/spec/rubyspec/core/hash/value_spec.rb +0 -12
- data/spec/rubyspec/core/hash/values_at_spec.rb +0 -9
- data/spec/rubyspec/core/hash/values_spec.rb +0 -7
- data/spec/rubyspec/core/kernel/eql_spec.rb +0 -15
- data/spec/rubyspec/core/kernel/equal_spec.rb +0 -12
- data/spec/rubyspec/core/kernel/tap_spec.rb +0 -10
- data/spec/rubyspec/core/kernel/to_s_spec.rb +0 -5
- data/spec/rubyspec/core/matchdata/to_a_spec.rb +0 -5
- data/spec/rubyspec/core/nil/and_spec.rb +0 -11
- data/spec/rubyspec/core/nil/dup_spec.rb +0 -7
- data/spec/rubyspec/core/nil/inspect_spec.rb +0 -7
- data/spec/rubyspec/core/nil/nil_spec.rb +0 -7
- data/spec/rubyspec/core/nil/or_spec.rb +0 -11
- data/spec/rubyspec/core/nil/to_a_spec.rb +0 -7
- data/spec/rubyspec/core/nil/to_f_spec.rb +0 -11
- data/spec/rubyspec/core/nil/to_h_spec.rb +0 -10
- data/spec/rubyspec/core/nil/to_i_spec.rb +0 -11
- data/spec/rubyspec/core/nil/to_s_spec.rb +0 -7
- data/spec/rubyspec/core/nil/xor_spec.rb +0 -11
- data/spec/rubyspec/core/numeric/to_s_spec.rb +0 -8
- data/spec/rubyspec/core/range/begin_spec.rb +0 -9
- data/spec/rubyspec/core/range/case_compare_spec.rb +0 -15
- data/spec/rubyspec/core/range/end_spec.rb +0 -9
- data/spec/rubyspec/core/regexp/match_spec.rb +0 -95
- data/spec/rubyspec/core/string/capitalize_spec.rb +0 -10
- data/spec/rubyspec/core/string/casecmp_spec.rb +0 -16
- data/spec/rubyspec/core/string/center_spec.rb +0 -49
- data/spec/rubyspec/core/string/chomp_spec.rb +0 -48
- data/spec/rubyspec/core/string/downcase_spec.rb +0 -6
- data/spec/rubyspec/core/string/empty_spec.rb +0 -7
- data/spec/rubyspec/core/string/end_with_spec.rb +0 -16
- data/spec/rubyspec/core/string/include_spec.rb +0 -6
- data/spec/rubyspec/core/string/index_spec.rb +0 -405
- data/spec/rubyspec/core/string/intern_spec.rb +0 -9
- data/spec/rubyspec/core/string/length_spec.rb +0 -9
- data/spec/rubyspec/core/string/reverse_spec.rb +0 -7
- data/spec/rubyspec/core/string/size_spec.rb +0 -9
- data/spec/rubyspec/core/string/start_with_spec.rb +0 -12
- data/spec/rubyspec/core/string/swapcase_spec.rb +0 -13
- data/spec/rubyspec/core/string/to_a_spec.rb +0 -9
- data/spec/rubyspec/core/string/to_s_spec.rb +0 -6
- data/spec/rubyspec/core/string/to_str_spec.rb +0 -6
- data/spec/rubyspec/core/string/to_sym_spec.rb +0 -9
- data/spec/rubyspec/core/string/upcase_spec.rb +0 -6
- data/spec/rubyspec/core/struct/fixtures/classes.rb +0 -26
- data/spec/rubyspec/core/struct/initialize_spec.rb +0 -11
- data/spec/rubyspec/core/struct/new_spec.rb +0 -24
- data/spec/rubyspec/core/symbol/to_proc_spec.rb +0 -12
- data/spec/rubyspec/core/time/at_spec.rb +0 -7
- data/spec/rubyspec/core/time/day_spec.rb +0 -5
- data/spec/rubyspec/core/time/friday_spec.rb +0 -9
- data/spec/rubyspec/core/time/hour_spec.rb +0 -5
- data/spec/rubyspec/core/time/min_spec.rb +0 -5
- data/spec/rubyspec/core/time/monday_spec.rb +0 -9
- data/spec/rubyspec/core/time/month_spec.rb +0 -5
- data/spec/rubyspec/core/time/now_spec.rb +0 -5
- data/spec/rubyspec/core/time/saturday_spec.rb +0 -9
- data/spec/rubyspec/core/true/and_spec.rb +0 -11
- data/spec/rubyspec/core/true/inspect_spec.rb +0 -7
- data/spec/rubyspec/core/true/or_spec.rb +0 -11
- data/spec/rubyspec/core/true/to_s_spec.rb +0 -7
- data/spec/rubyspec/core/true/xor_spec.rb +0 -11
- data/spec/rubyspec/language/alias_spec.rb +0 -160
- data/spec/rubyspec/language/and_spec.rb +0 -66
- data/spec/rubyspec/language/array_spec.rb +0 -117
- data/spec/rubyspec/language/break_spec.rb +0 -332
- data/spec/rubyspec/language/case_spec.rb +0 -310
- data/spec/rubyspec/language/class_spec.rb +0 -190
- data/spec/rubyspec/language/class_variable_spec.rb +0 -56
- data/spec/rubyspec/language/def_spec.rb +0 -551
- data/spec/rubyspec/language/defined_spec.rb +0 -107
- data/spec/rubyspec/language/ensure_spec.rb +0 -104
- data/spec/rubyspec/language/execution_spec.rb +0 -15
- data/spec/rubyspec/language/for_spec.rb +0 -192
- data/spec/rubyspec/language/hash_spec.rb +0 -65
- data/spec/rubyspec/language/if_spec.rb +0 -356
- data/spec/rubyspec/language/literal_lambda_spec.rb +0 -1
- data/spec/rubyspec/language/loop_spec.rb +0 -67
- data/spec/rubyspec/language/metaclass_spec.rb +0 -159
- data/spec/rubyspec/language/module_spec.rb +0 -56
- data/spec/rubyspec/language/next_spec.rb +0 -469
- data/spec/rubyspec/language/not_spec.rb +0 -55
- data/spec/rubyspec/language/or_spec.rb +0 -90
- data/spec/rubyspec/language/order_spec.rb +0 -77
- data/spec/rubyspec/language/precedence_spec.rb +0 -483
- data/spec/rubyspec/language/redo_spec.rb +0 -65
- data/spec/rubyspec/language/rescue_spec.rb +0 -121
- data/spec/rubyspec/language/retry_spec.rb +0 -56
- data/spec/rubyspec/language/return_spec.rb +0 -281
- data/spec/rubyspec/language/singleton_class_spec.rb +0 -32
- data/spec/rubyspec/language/super_spec.rb +0 -284
- data/spec/rubyspec/language/undef_spec.rb +0 -16
- data/spec/rubyspec/language/unless_spec.rb +0 -45
- data/spec/rubyspec/language/until_spec.rb +0 -234
- data/spec/rubyspec/language/while_spec.rb +0 -238
- data/spec/rubyspec/language/yield_spec.rb +0 -128
- data/spec/rubyspec/library/date/new_spec.rb +0 -10
- data/spec/rubyspec/library/date/to_s_spec.rb +0 -7
- data/spec/rubyspec/library/date/today_spec.rb +0 -7
- data/spec/rubyspec/library/erb/util/html_escape_spec.rb +0 -10
- data/spec/rubyspec/library/observer/add_observer_spec.rb +0 -31
- data/spec/rubyspec/library/observer/count_observers_spec.rb +0 -33
- data/spec/rubyspec/library/observer/delete_observer_spec.rb +0 -19
- data/spec/rubyspec/library/observer/delete_observers_spec.rb +0 -19
- data/spec/rubyspec/library/observer/fixtures/classes.rb +0 -25
- data/spec/rubyspec/library/observer/notify_observers_spec.rb +0 -31
- data/spec/rubyspec/library/rbconfig/config_spec.rb +0 -47
- data/spec/rubyspec/library/singleton/clone_spec.rb +0 -8
- data/spec/rubyspec/library/singleton/dup_spec.rb +0 -8
- data/spec/rubyspec/library/singleton/fixtures/classes.rb +0 -18
- data/spec/rubyspec/library/singleton/instance_spec.rb +0 -30
- data/spec/rubyspec/library/stringscanner/element_reference_spec.rb +0 -29
- data/spec/rubyspec/library/stringscanner/pos_spec.rb +0 -20
- data/spec/rubyspec/spec_helper.rb +0 -96
- data/stdlib/fileutils.rb +0 -0
- data/stdlib/iconv.rb +0 -0
- data/stdlib/opal-browser/local_storage.rb +0 -27
- data/stdlib/opal-browser/script_loader.rb +0 -35
- data/stdlib/opal-parser.js.erb +0 -13
- data/stdlib/yaml.rb +0 -0
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
require 'spec_helper'
|
|
2
|
+
|
|
3
|
+
module OpalMethodSpec
|
|
4
|
+
class C
|
|
5
|
+
def foo; :C; end
|
|
6
|
+
end
|
|
7
|
+
|
|
8
|
+
module M
|
|
9
|
+
def foo; :M; end
|
|
10
|
+
def bar; :M; end
|
|
11
|
+
end
|
|
12
|
+
|
|
13
|
+
module N
|
|
14
|
+
def bar; :N; end
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
class C
|
|
18
|
+
include M
|
|
19
|
+
include N
|
|
20
|
+
end
|
|
21
|
+
end
|
|
22
|
+
|
|
23
|
+
describe "Including modules in a class with methods already defined in class" do
|
|
24
|
+
it "should always call the method defined in a class first" do
|
|
25
|
+
OpalMethodSpec::C.new.foo.should == :C
|
|
26
|
+
end
|
|
27
|
+
|
|
28
|
+
it "should call the method from the last module included unless class defines method" do
|
|
29
|
+
OpalMethodSpec::C.new.bar.should == :N
|
|
30
|
+
end
|
|
31
|
+
end
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
require 'spec_helper'
|
|
2
|
+
|
|
3
|
+
describe "Parens" do
|
|
4
|
+
it "can be used to group expressions" do
|
|
5
|
+
(self.class; self.to_s; 42).should == 42
|
|
6
|
+
(3.142).should == 3.142
|
|
7
|
+
().should == nil
|
|
8
|
+
end
|
|
9
|
+
|
|
10
|
+
it "generates code that contains the expression in precedence" do
|
|
11
|
+
foo = 100
|
|
12
|
+
((foo += 42) == 142).should == true
|
|
13
|
+
end
|
|
14
|
+
end
|
|
@@ -17,6 +17,13 @@ class RescueReturningSpec
|
|
|
17
17
|
:bar
|
|
18
18
|
end
|
|
19
19
|
end
|
|
20
|
+
|
|
21
|
+
def empty_rescue
|
|
22
|
+
begin
|
|
23
|
+
raise "ERROR"
|
|
24
|
+
rescue
|
|
25
|
+
end
|
|
26
|
+
end
|
|
20
27
|
end
|
|
21
28
|
|
|
22
29
|
describe "The rescue keyword" do
|
|
@@ -24,4 +31,8 @@ describe "The rescue keyword" do
|
|
|
24
31
|
RescueReturningSpec.new.single.should == :foo
|
|
25
32
|
RescueReturningSpec.new.multiple.should == :bar
|
|
26
33
|
end
|
|
34
|
+
|
|
35
|
+
it "returns nil if no expr given in rescue body" do
|
|
36
|
+
RescueReturningSpec.new.empty_rescue.should be_nil
|
|
37
|
+
end
|
|
27
38
|
end
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
@@ -21,6 +21,10 @@ class SingletonMethodSuperSpec
|
|
|
21
21
|
block_given?
|
|
22
22
|
end
|
|
23
23
|
|
|
24
|
+
def with_splat_args(*a)
|
|
25
|
+
a
|
|
26
|
+
end
|
|
27
|
+
|
|
24
28
|
class A < SingletonMethodSuperSpec
|
|
25
29
|
def passing_block(*a)
|
|
26
30
|
super
|
|
@@ -37,6 +41,10 @@ class SingletonMethodSuperSpec
|
|
|
37
41
|
def self.super_args(*a)
|
|
38
42
|
super()
|
|
39
43
|
end
|
|
44
|
+
|
|
45
|
+
def with_splat_args
|
|
46
|
+
super 2, *[3, 4]
|
|
47
|
+
end
|
|
40
48
|
end
|
|
41
49
|
end
|
|
42
50
|
|
|
@@ -91,9 +99,114 @@ describe "The 'super' keyword" do
|
|
|
91
99
|
end
|
|
92
100
|
end
|
|
93
101
|
|
|
102
|
+
it "handles splat args" do
|
|
103
|
+
SingletonMethodSuperSpec::A.new.with_splat_args.should == [2, 3, 4]
|
|
104
|
+
end
|
|
105
|
+
|
|
94
106
|
describe "inside a class body" do
|
|
95
107
|
it "does not break when multiple super statements are in body" do
|
|
96
108
|
lambda { MultipleSuperSpec.new.to_s }.should_not raise_error
|
|
97
109
|
end
|
|
98
110
|
end
|
|
99
111
|
end
|
|
112
|
+
|
|
113
|
+
|
|
114
|
+
module OpalSuperSpecs
|
|
115
|
+
class A
|
|
116
|
+
def foo
|
|
117
|
+
'a'
|
|
118
|
+
end
|
|
119
|
+
|
|
120
|
+
def self.bar
|
|
121
|
+
'x'
|
|
122
|
+
end
|
|
123
|
+
end
|
|
124
|
+
|
|
125
|
+
class B < A
|
|
126
|
+
def foo
|
|
127
|
+
super + 'b'
|
|
128
|
+
end
|
|
129
|
+
|
|
130
|
+
def self.bar
|
|
131
|
+
super + 'y'
|
|
132
|
+
end
|
|
133
|
+
end
|
|
134
|
+
|
|
135
|
+
class C < B
|
|
136
|
+
def foo
|
|
137
|
+
super + 'c'
|
|
138
|
+
end
|
|
139
|
+
|
|
140
|
+
def self.bar
|
|
141
|
+
super + 'z'
|
|
142
|
+
end
|
|
143
|
+
end
|
|
144
|
+
|
|
145
|
+
module M1
|
|
146
|
+
def chain(out)
|
|
147
|
+
out << 'M1'
|
|
148
|
+
end
|
|
149
|
+
end
|
|
150
|
+
|
|
151
|
+
module M2
|
|
152
|
+
def chain(out)
|
|
153
|
+
out << 'M2'
|
|
154
|
+
super out
|
|
155
|
+
end
|
|
156
|
+
end
|
|
157
|
+
|
|
158
|
+
module M3
|
|
159
|
+
def chain(out)
|
|
160
|
+
out << 'M3'
|
|
161
|
+
super out
|
|
162
|
+
end
|
|
163
|
+
end
|
|
164
|
+
|
|
165
|
+
class C1
|
|
166
|
+
include M1
|
|
167
|
+
include M2
|
|
168
|
+
include M3
|
|
169
|
+
end
|
|
170
|
+
|
|
171
|
+
class C2
|
|
172
|
+
include M1
|
|
173
|
+
include M2
|
|
174
|
+
|
|
175
|
+
def chain(out)
|
|
176
|
+
out << 'C2'
|
|
177
|
+
super out
|
|
178
|
+
end
|
|
179
|
+
end
|
|
180
|
+
|
|
181
|
+
class C3
|
|
182
|
+
def chain(out)
|
|
183
|
+
out << 'C3'
|
|
184
|
+
end
|
|
185
|
+
end
|
|
186
|
+
|
|
187
|
+
class C4 < C3
|
|
188
|
+
include M2
|
|
189
|
+
end
|
|
190
|
+
end
|
|
191
|
+
|
|
192
|
+
describe "Super chains" do
|
|
193
|
+
it "searches entire class hierarchys for instance methods" do
|
|
194
|
+
OpalSuperSpecs::C.new.foo.should == 'abc'
|
|
195
|
+
end
|
|
196
|
+
|
|
197
|
+
it "searches entire class hierarchys for class methods" do
|
|
198
|
+
OpalSuperSpecs::C.bar.should == 'xyz'
|
|
199
|
+
end
|
|
200
|
+
|
|
201
|
+
it "calls methods for every module included in a class" do
|
|
202
|
+
OpalSuperSpecs::C1.new.chain([]).should == ['M3', 'M2', 'M1']
|
|
203
|
+
end
|
|
204
|
+
|
|
205
|
+
it "calls method defined in class before modules" do
|
|
206
|
+
OpalSuperSpecs::C2.new.chain([]).should == ['C2', 'M2', 'M1']
|
|
207
|
+
end
|
|
208
|
+
|
|
209
|
+
it "calls method defined on superclass after modules included by child" do
|
|
210
|
+
OpalSuperSpecs::C4.new.chain([]).should == ['M2', 'C3']
|
|
211
|
+
end
|
|
212
|
+
end
|
|
File without changes
|
|
@@ -4,9 +4,9 @@ require 'opal-source-maps'
|
|
|
4
4
|
describe Opal::SourceMap do
|
|
5
5
|
before do
|
|
6
6
|
pathname = 'foo.rb'
|
|
7
|
-
|
|
8
|
-
@source =
|
|
9
|
-
@map = Opal::SourceMap.new(
|
|
7
|
+
compiler = Opal::Compiler.new
|
|
8
|
+
@source = compiler.compile("1 + 1", :file => pathname)
|
|
9
|
+
@map = Opal::SourceMap.new(compiler.fragments, pathname)
|
|
10
10
|
end
|
|
11
11
|
|
|
12
12
|
it 'does not blow while generating the map' do
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
require File.expand_path('../../../spec_helper', __FILE__)
|
|
2
1
|
require File.expand_path('../fixtures/classes', __FILE__)
|
|
3
2
|
|
|
4
3
|
describe "String#slice" do
|
|
@@ -72,4 +71,4 @@ describe "String#slice with index, length" do
|
|
|
72
71
|
"x".slice(-2, 0).should == nil
|
|
73
72
|
"x".slice(-2, 1).should == nil
|
|
74
73
|
end
|
|
75
|
-
end
|
|
74
|
+
end
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
data/spec/filters/bugs/array.rb
CHANGED
|
@@ -1,5 +1,237 @@
|
|
|
1
|
-
opal_filter "
|
|
2
|
-
fails "
|
|
3
|
-
fails "
|
|
4
|
-
|
|
1
|
+
opal_filter "Array" do
|
|
2
|
+
fails "Array#clone copies singleton methods"
|
|
3
|
+
fails "Array#clone creates a new array containing all elements or the original"
|
|
4
|
+
|
|
5
|
+
fails "Array#collect! returns an Enumerator when no block given, and the enumerator can modify the original array"
|
|
6
|
+
|
|
7
|
+
fails "Array#combination generates from a defensive copy, ignoring mutations"
|
|
8
|
+
fails "Array#combination yields a partition consisting of only singletons"
|
|
9
|
+
fails "Array#combination yields [] when length is 0"
|
|
10
|
+
fails "Array#combination yields a copy of self if the argument is the size of the receiver"
|
|
11
|
+
fails "Array#combination yields nothing if the argument is out of bounds"
|
|
12
|
+
fails "Array#combination yields the expected combinations"
|
|
13
|
+
fails "Array#combination yields nothing for out of bounds length and return self"
|
|
14
|
+
fails "Array#combination returns self when a block is given"
|
|
15
|
+
fails "Array#combination returns an enumerator when no block is provided"
|
|
16
|
+
|
|
17
|
+
fails "Array#<=> calls <=> left to right and return first non-0 result"
|
|
18
|
+
fails "Array#<=> returns -1 if the arrays have same length and a pair of corresponding elements returns -1 for <=>"
|
|
19
|
+
fails "Array#<=> returns +1 if the arrays have same length and a pair of corresponding elements returns +1 for <=>"
|
|
20
|
+
fails "Array#<=> properly handles recursive arrays"
|
|
21
|
+
fails "Array#<=> tries to convert the passed argument to an Array using #to_ary"
|
|
22
|
+
fails "Array#<=> returns nil when the argument is not array-like"
|
|
23
|
+
|
|
24
|
+
fails "Array#concat tries to convert the passed argument to an Array using #to_ary"
|
|
25
|
+
fails "Array#concat is not infected by the other"
|
|
26
|
+
|
|
27
|
+
fails "Array#delete_at tries to convert the passed argument to an Integer using #to_int"
|
|
28
|
+
|
|
29
|
+
fails "Array#delete_if returns an Enumerator if no block given, and the enumerator can modify the original array"
|
|
30
|
+
|
|
31
|
+
fails "Array#delete may be given a block that is executed if no element matches object"
|
|
32
|
+
fails "Array#delete returns the last element in the array for which object is equal under #=="
|
|
33
|
+
|
|
34
|
+
fails "Array#drop_while removes elements from the start of the array until the block returns false"
|
|
35
|
+
fails "Array#drop_while removes elements from the start of the array until the block returns nil"
|
|
36
|
+
fails "Array#drop_while removes elements from the start of the array while the block evaluates to true"
|
|
37
|
+
|
|
38
|
+
fails "Array#dup creates a new array containing all elements or the original"
|
|
39
|
+
|
|
40
|
+
fails "Array#[] tries to convert the passed argument to an Integer using #to_int"
|
|
41
|
+
fails "Array#[] accepts Range instances having a negative m and both signs for n with [m..n] and [m...n]"
|
|
42
|
+
fails "Array#[] tries to convert Range elements to Integers using #to_int with [m..n] and [m...n]"
|
|
43
|
+
fails "Array#[] returns nil if range start is not in the array with [m..n]"
|
|
44
|
+
fails "Array#[] raises a RangeError when the start index is out of range of Fixnum"
|
|
45
|
+
fails "Array#[] raises a RangeError when the start index is out of range of Fixnum"
|
|
46
|
+
fails "Array#[] raises a RangeError when the length is out of range of Fixnum"
|
|
47
|
+
fails "Array#[] raises a RangeError when the length is out of range of Fixnum"
|
|
48
|
+
fails "Array.[] can unpack 2 or more nested referenced array"
|
|
49
|
+
|
|
50
|
+
fails "Array#[]= calls to_ary on its rhs argument for multi-element sets"
|
|
51
|
+
fails "Array#[]= raises an IndexError when passed indexes out of bounds"
|
|
52
|
+
fails "Array#[]= tries to convert Range elements to Integers using #to_int with [m..n] and [m...n]"
|
|
53
|
+
|
|
54
|
+
fails "Array#[]= with [m..n] accepts Range subclasses"
|
|
55
|
+
fails "Array#[]= with [m..n] inserts the other section at m if m > n"
|
|
56
|
+
fails "Array#[]= with [m..n] replaces the section if m < 0 and n > 0"
|
|
57
|
+
fails "Array#[]= with [m..n] replaces the section if m and n < 0"
|
|
58
|
+
fails "Array#[]= with [m..n] just sets the section defined by range to nil if m and n < 0 and the rhs is nil"
|
|
59
|
+
|
|
60
|
+
fails "Array#[]= sets elements in the range arguments when passed ranges"
|
|
61
|
+
fails "Array#[]= calls to_int on its start and length arguments"
|
|
62
|
+
fails "Array#[]= does nothing if the section defined by range has negative width and the rhs is an empty array"
|
|
63
|
+
|
|
64
|
+
fails "Array#eql? ignores array class differences"
|
|
65
|
+
fails "Array#eql? handles well recursive arrays"
|
|
66
|
+
fails "Array#eql? returns true if corresponding elements are #eql?"
|
|
67
|
+
|
|
68
|
+
fails "Array#== compares with an equivalent Array-like object using #to_ary"
|
|
69
|
+
fails "Array#== handles well recursive arrays"
|
|
70
|
+
|
|
71
|
+
fails "Array#fetch tries to convert the passed argument to an Integer using #to_int"
|
|
72
|
+
fails "Array#fetch raises a TypeError when the passed argument can't be coerced to Integer"
|
|
73
|
+
|
|
74
|
+
fails "Array#first tries to convert the passed argument to an Integer using #to_int"
|
|
75
|
+
fails "Array#first raises a TypeError if the passed argument is not numeric"
|
|
76
|
+
|
|
77
|
+
fails "Array#flatten does not call flatten on elements"
|
|
78
|
+
fails "Array#flatten raises an ArgumentError on recursive arrays"
|
|
79
|
+
fails "Array#flatten with a non-Array object in the Array ignores the return value of #to_ary if it is nil"
|
|
80
|
+
fails "Array#flatten with a non-Array object in the Array raises a TypeError if the return value of #to_ary is not an Array"
|
|
81
|
+
fails "Array#flatten raises a TypeError when the passed Object can't be converted to an Integer"
|
|
82
|
+
fails "Array#flatten tries to convert passed Objects to Integers using #to_int"
|
|
83
|
+
|
|
84
|
+
fails "Array#flatten! does not call flatten! on elements"
|
|
85
|
+
fails "Array#flatten! raises an ArgumentError on recursive arrays"
|
|
86
|
+
fails "Array#flatten! flattens any elements which responds to #to_ary, using the return value of said method"
|
|
87
|
+
fails "Array#flatten! raises a TypeError when the passed Object can't be converted to an Integer"
|
|
88
|
+
fails "Array#flatten! tries to convert passed Objects to Integers using #to_int"
|
|
89
|
+
fails "Array#flatten! should not check modification by size"
|
|
90
|
+
|
|
91
|
+
fails "Array#initialize with (size, object=nil) sets the array to the values returned by the block before break is executed"
|
|
92
|
+
fails "Array#initialize with (size, object=nil) returns the value passed to break"
|
|
93
|
+
fails "Array#initialize with (size, object=nil) uses the block value instead of using the default value"
|
|
94
|
+
fails "Array#initialize with (size, object=nil) yields the index of the element and sets the element to the value of the block"
|
|
95
|
+
fails "Array#initialize with (size, object=nil) raises a TypeError if the size argument is not an Integer type"
|
|
96
|
+
fails "Array#initialize with (size, object=nil) calls #to_int to convert the size argument to an Integer when object is not given"
|
|
97
|
+
fails "Array#initialize with (size, object=nil) calls #to_int to convert the size argument to an Integer when object is given"
|
|
98
|
+
fails "Array#initialize with (size, object=nil) raises an ArgumentError if size is too large"
|
|
99
|
+
fails "Array#initialize with (size, object=nil) sets the array to size and fills with the object"
|
|
100
|
+
fails "Array#initialize with (array) calls #to_ary to convert the value to an array"
|
|
101
|
+
fails "Array#initialize preserves the object's identity even when changing its value"
|
|
102
|
+
|
|
103
|
+
fails "Array#insert tries to convert the passed position argument to an Integer using #to_int"
|
|
104
|
+
|
|
105
|
+
fails "Array#join raises an ArgumentError when the Array is recursive"
|
|
106
|
+
fails "Array#join raises a NoMethodError if an element does not respond to #to_str, #to_ary, or #to_s"
|
|
107
|
+
fails "Array#join attempts coercion via #to_str first"
|
|
108
|
+
fails "Array#join attempts coercion via #to_ary second"
|
|
109
|
+
fails "Array#join attempts coercion via #to_s third"
|
|
110
|
+
fails "Array#join separates elements with default separator when the passed separator is nil"
|
|
111
|
+
fails "Array#join returns a string formed by concatenating each String element separated by $,"
|
|
112
|
+
fails "Array#join uses the same separator with nested arrays"
|
|
113
|
+
fails "Array#join returns a string formed by concatenating each element.to_str separated by separator"
|
|
114
|
+
|
|
115
|
+
fails "Array#& properly handles recursive arrays"
|
|
116
|
+
fails "Array#& tries to convert the passed argument to an Array using #to_ary"
|
|
117
|
+
fails "Array#& determines equivalence between elements in the sense of eql?"
|
|
118
|
+
|
|
119
|
+
fails "Array#join calls #to_str to convert the separator to a String"
|
|
120
|
+
fails "Array#join does not call #to_str on the separator if the array is empty"
|
|
121
|
+
fails "Array#join raises a TypeError if the separator cannot be coerced to a String by calling #to_str"
|
|
122
|
+
fails "Array#join raises a TypeError if passed false as the separator"
|
|
123
|
+
|
|
124
|
+
fails "Array#last tries to convert the passed argument to an Integer usinig #to_int"
|
|
125
|
+
|
|
126
|
+
fails "Array#map! returns an Enumerator when no block given, and the enumerator can modify the original array"
|
|
127
|
+
|
|
128
|
+
fails "Array#- removes an identical item even when its #eql? isn't reflexive"
|
|
129
|
+
fails "Array#- doesn't remove an item with the same hash but not #eql?"
|
|
130
|
+
fails "Array#- removes an item identified as equivalent via #hash and #eql?"
|
|
131
|
+
fails "Array#- tries to convert the passed arguments to Arrays using #to_ary"
|
|
132
|
+
|
|
133
|
+
fails "Array#* raises a TypeError is the passed argument is nil"
|
|
134
|
+
fails "Array#* converts the passed argument to a String rather than an Integer"
|
|
135
|
+
fails "Array#* raises a TypeError if the argument can neither be converted to a string nor an integer"
|
|
136
|
+
fails "Array#* tires to convert the passed argument to an Integer using #to_int"
|
|
137
|
+
fails "Array#* tries to convert the passed argument to a String using #to_str"
|
|
138
|
+
fails "Array#* with a string uses the same separator with nested arrays"
|
|
139
|
+
fails "Array#* with a string returns a string formed by concatenating each element.to_str separated by separator"
|
|
140
|
+
|
|
141
|
+
fails "Array.new with (size, object=nil) raises an ArgumentError if size is too large"
|
|
142
|
+
fails "Array.new with (array) calls #to_ary to convert the value to an array"
|
|
143
|
+
fails "Array.new with (size, object=nil) calls #to_int to convert the size argument to an Integer when object is given"
|
|
144
|
+
fails "Array.new with (size, object=nil) calls #to_int to convert the size argument to an Integer when object is not given"
|
|
145
|
+
fails "Array.new with (size, object=nil) raises a TypeError if the size argument is not an Integer type"
|
|
146
|
+
|
|
147
|
+
fails "Array#+ tries to convert the passed argument to an Array using #to_ary"
|
|
148
|
+
|
|
149
|
+
fails "Array#pop passed a number n as an argument raises an ArgumentError if more arguments are passed"
|
|
150
|
+
fails "Array#pop passed a number n as an argument raises a TypeError when the passed n can be coerced to Integer"
|
|
151
|
+
fails "Array#pop passed a number n as an argument tries to convert n to an Integer using #to_int"
|
|
152
|
+
|
|
153
|
+
fails "Array#rassoc does not check the last element in each contained but speficically the second"
|
|
154
|
+
fails "Array#rassoc calls elem == obj on the second element of each contained array"
|
|
155
|
+
|
|
156
|
+
fails "Array#replace tries to convert the passed argument to an Array using #to_ary"
|
|
157
|
+
|
|
158
|
+
fails "Array#rindex rechecks the array size during iteration"
|
|
159
|
+
|
|
160
|
+
fails "Array#select returns a new array of elements for which block is true"
|
|
161
|
+
|
|
162
|
+
fails "Array#shift passed a number n as an argument raises an ArgumentError if more arguments are passed"
|
|
163
|
+
fails "Array#shift passed a number n as an argument raises a TypeError when the passed n can be coerced to Integer"
|
|
164
|
+
fails "Array#shift passed a number n as an argument tries to convert n to an Integer using #to_int"
|
|
165
|
+
fails "Array#shift passed a number n as an argument raises an ArgumentError if n is negative"
|
|
166
|
+
fails "Array#shift passed a number n as an argument returns a new empty array if there are no more elements"
|
|
167
|
+
|
|
168
|
+
fails "Array#shuffle uses given random generator"
|
|
169
|
+
fails "Array#shuffle uses default random generator"
|
|
170
|
+
fails "Array#shuffle attempts coercion via #to_hash"
|
|
171
|
+
fails "Array#shuffle is not destructive"
|
|
172
|
+
fails "Array#shuffle returns the same values, in a usually different order"
|
|
173
|
+
fails "Array#shuffle calls #rand on the Object passed by the :random key in the arguments Hash"
|
|
174
|
+
fails "Array#shuffle ignores an Object passed for the RNG if it does not define #rand"
|
|
175
|
+
fails "Array#shuffle accepts a Float for the value returned by #rand"
|
|
176
|
+
fails "Array#shuffle calls #to_int on the Object returned by #rand"
|
|
177
|
+
fails "Array#shuffle raises a RangeError if the value is less than zero"
|
|
178
|
+
fails "Array#shuffle raises a RangeError if the value is equal to one"
|
|
179
|
+
|
|
180
|
+
fails "Array#shuffle! returns the same values, in a usually different order"
|
|
181
|
+
|
|
182
|
+
fails "Array#slice raises a RangeError when the length is out of range of Fixnum"
|
|
183
|
+
fails "Array#slice raises a RangeError when the start index is out of range of Fixnum"
|
|
184
|
+
fails "Array#slice returns nil if range start is not in the array with [m..n]"
|
|
185
|
+
fails "Array#slice tries to convert Range elements to Integers using #to_int with [m..n] and [m...n]"
|
|
186
|
+
fails "Array#slice accepts Range instances having a negative m and both signs for n with [m..n] and [m...n]"
|
|
187
|
+
fails "Array#slice tries to convert the passed argument to an Integer using #to_int"
|
|
188
|
+
|
|
189
|
+
fails "Array#slice! does not expand array with negative indices out of bounds"
|
|
190
|
+
fails "Array#slice! does not expand array with indices out of bounds"
|
|
191
|
+
fails "Array#slice! calls to_int on range arguments"
|
|
192
|
+
fails "Array#slice! removes and return elements in range"
|
|
193
|
+
fails "Array#slice! calls to_int on start and length arguments"
|
|
194
|
+
|
|
195
|
+
fails "Array#transpose raises a TypeError if the passed Argument does not respond to #to_ary"
|
|
196
|
+
fails "Array#transpose tries to convert the passed argument to an Array using #to_ary"
|
|
197
|
+
|
|
198
|
+
fails "Array.try_convert does not rescue exceptions raised by #to_ary"
|
|
199
|
+
fails "Array.try_convert sends #to_ary to the argument and raises TypeError if it's not a kind of Array"
|
|
200
|
+
fails "Array.try_convert sends #to_ary to the argument and returns the result if it's a kind of Array"
|
|
201
|
+
fails "Array.try_convert sends #to_ary to the argument and returns the result if it's an Array"
|
|
202
|
+
fails "Array.try_convert sends #to_ary to the argument and returns the result if it's nil"
|
|
203
|
+
|
|
204
|
+
fails "Array#uniq compares elements based on the value returned from the block"
|
|
205
|
+
fails "Array#uniq compares elements with matching hash codes with #eql?"
|
|
206
|
+
fails "Array#uniq uses eql? semantics"
|
|
207
|
+
|
|
208
|
+
fails "Array#uniq! compares elements based on the value returned from the block"
|
|
209
|
+
fails "Array#uniq! properly handles recursive arrays"
|
|
210
|
+
|
|
211
|
+
fails "Array#values_at returns an array of elements at the indexes when passed indexes"
|
|
212
|
+
fails "Array#values_at calls to_int on its indices"
|
|
213
|
+
fails "Array#values_at returns an array of elements in the ranges when passes ranges"
|
|
214
|
+
fails "Array#values_at properly handles recursive arrays"
|
|
215
|
+
fails "Array#values_at calls to_int on arguments of ranges when passes ranges"
|
|
216
|
+
|
|
217
|
+
fails "Array#zip calls #to_ary to convert the argument to an Array"
|
|
218
|
+
fails "Array#zip uses #each to extract arguments' elements when #to_ary fails"
|
|
219
|
+
|
|
220
|
+
fails "Array#hash returns the same value if arrays are #eql?"
|
|
221
|
+
fails "Array#hash returns same hash code for arrays with the same content"
|
|
222
|
+
fails "Array#hash ignores array class differences"
|
|
223
|
+
fails "Array#hash calls to_int on result of calling hash on each element"
|
|
224
|
+
fails "Array#hash returns the same hash for equal recursive arrays through hashes"
|
|
225
|
+
fails "Array#hash returns the same hash for equal recursive arrays"
|
|
226
|
+
fails "Array#hash returns the same fixnum for arrays with the same content"
|
|
227
|
+
|
|
228
|
+
fails "Array#initialize_copy tries to convert the passed argument to an Array using #to_ary"
|
|
229
|
+
fails "Array#initialize_copy does not make self dependent to the original array"
|
|
230
|
+
fails "Array#initialize_copy returns self"
|
|
231
|
+
fails "Array#initialize_copy properly handles recursive arrays"
|
|
232
|
+
fails "Array#initialize_copy replaces the elements with elements from other array"
|
|
233
|
+
|
|
234
|
+
fails "Array#partition properly handles recursive arrays"
|
|
235
|
+
fails "Array#partition returns in the left array values for which the block evaluates to true"
|
|
236
|
+
fails "Array#partition returns two arrays"
|
|
5
237
|
end
|