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
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
opal_filter "rescue" do
|
|
2
|
-
fails "The rescue keyword parses 'a += b rescue c' as 'a += (b rescue c)'"
|
|
3
|
-
fails "The rescue keyword will not rescue errors raised in an else block in the rescue block above it"
|
|
4
|
-
fails "The rescue keyword will not execute an else block if an exception was raised"
|
|
5
|
-
fails "The rescue keyword will execute an else block only if no exceptions were raised"
|
|
6
|
-
fails "The rescue keyword will only rescue the specified exceptions when doing a splat rescue"
|
|
7
|
-
fails "The rescue keyword can rescue a splatted list of exceptions"
|
|
8
|
-
fails "The rescue keyword can rescue multiple raised exceptions with a single rescue block"
|
|
9
|
-
end
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
opal_filter "retry" do
|
|
2
|
-
fails "The retry statement re-executes the closest block"
|
|
3
|
-
fails "The retry statement raises a SyntaxError when used outside of a begin statement"
|
|
4
|
-
fails "The retry keyword inside a begin block's rescue block causes the begin block to be executed again"
|
|
5
|
-
end
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
opal_filter "send" do
|
|
2
|
-
fails "Invoking a private getter method does not permit self as a receiver"
|
|
3
|
-
fails "Invoking a method with manditory and optional arguments raises an ArgumentError if too many values are passed"
|
|
4
|
-
fails "Invoking a method with optional arguments raises ArgumentError if extra arguments are passed"
|
|
5
|
-
fails "Invoking a method passes a literal hash without curly braces or parens"
|
|
6
|
-
fails "Invoking a method passes literal hashes without curly braces as the last parameter"
|
|
7
|
-
fails "Invoking a method raises a SyntaxError with both a literal block and an object as block"
|
|
8
|
-
fails "Invoking a method with an object as a block uses 'to_proc' for coercion"
|
|
9
|
-
fails "Invoking a method with a block makes it available to yield"
|
|
10
|
-
end
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
opal_filter "super" do
|
|
2
|
-
fails "The super keyword passes along modified rest args when they were originally empty"
|
|
3
|
-
fails "The super keyword passes along modified rest args when they weren't originally empty"
|
|
4
|
-
fails "The super keyword sees the included version of a module a method is alias from"
|
|
5
|
-
fails "The super keyword can't be used with implicit arguments from a method defined with define_method"
|
|
6
|
-
fails "The super keyword raises an error error when super method does not exist"
|
|
7
|
-
fails "The super keyword calls the correct method when the method visibility is modified"
|
|
8
|
-
fails "The super keyword searches class methods including modules"
|
|
9
|
-
end
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
opal_filter "until" do
|
|
2
|
-
fails "The until modifier with begin .. end block restart the current iteration without reevaluting condition with redo"
|
|
3
|
-
fails "The until modifier with begin .. end block skips to end of body with next"
|
|
4
|
-
fails "The until modifier with begin .. end block evaluates condition after block execution"
|
|
5
|
-
fails "The until modifier with begin .. end block runs block at least once (even if the expression is true)"
|
|
6
|
-
fails "The until modifier restarts the current iteration without reevaluating condition with redo"
|
|
7
|
-
fails "The until expression restarts the current iteration without reevaluating condition with redo"
|
|
8
|
-
end
|
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
opal_filter "variables" do
|
|
2
|
-
fails "Multiple assignment, array-style returns an array of all rhs values"
|
|
3
|
-
fails "Multiple assignment has the proper return value"
|
|
4
|
-
fails "Multiple assignments with grouping supports multiple levels of nested groupings"
|
|
5
|
-
fails "Multiple assignments with grouping A group on the lhs is considered one position and treats its corresponding rhs position like an Array"
|
|
6
|
-
fails "Operator assignment 'obj[idx] op= expr' returns result of rhs not result of []="
|
|
7
|
-
fails "Operator assignment 'obj[idx] op= expr' handles splat index (idx) arguments with normal arguments"
|
|
8
|
-
fails "Operator assignment 'obj[idx] op= expr' handles multiple splat index (idx) arguments"
|
|
9
|
-
fails "Operator assignment 'obj[idx] op= expr' handles single splat index (idx) arguments"
|
|
10
|
-
fails "Operator assignment 'obj[idx] op= expr' handles empty splat index (idx) arguments"
|
|
11
|
-
fails "Operator assignment 'obj[idx] op= expr' handles complex index (idx) arguments"
|
|
12
|
-
fails "Operator assignment 'obj[idx] op= expr' handles empty index (idx) arguments"
|
|
13
|
-
fails "Conditional operator assignment 'obj[idx] op= expr' uses short-circuit arg evaluation"
|
|
14
|
-
fails "Conditional operator assignment 'obj[idx] op= expr' may not assign at all, depending on the truthiness of lhs"
|
|
15
|
-
fails "Conditional operator assignment 'obj[idx] op= expr' is equivalent to 'obj[idx] op obj[idx] = expr'"
|
|
16
|
-
fails "Unconditional operator assignment 'obj[idx] op= expr' is equivalent to 'obj[idx] = obj[idx] op expr'"
|
|
17
|
-
fails "Conditional operator assignment 'obj.meth op= expr' uses short-circuit arg evaluation"
|
|
18
|
-
fails "Conditional operator assignment 'obj.meth op= expr' may not assign at all, depending on the truthiness of lhs"
|
|
19
|
-
fails "Conditional operator assignment 'var op= expr' uses short-circuit arg evaluation"
|
|
20
|
-
fails "Conditional operator assignment 'var op= expr' may not assign at all, depending on the truthiness of lhs"
|
|
21
|
-
fails "Assigning multiple values allows complex parallel assignment"
|
|
22
|
-
fails "Assigning multiple values calls #to_ary on RHS arg if the corresponding LHS var is a splat"
|
|
23
|
-
fails "Assigning multiple values returns the rhs values used for assignment as an array"
|
|
24
|
-
fails "Basic multiple assignment with a splatted single RHS value does not call #to_ary on an object"
|
|
25
|
-
fails "Basic multiple assignment with a splatted single RHS value calls #to_a on an object if #to_ary is not defined"
|
|
26
|
-
fails "Basic multiple assignment with a splatted single RHS value does not call #to_a on an Array subclass instance"
|
|
27
|
-
fails "Basic multiple assignment with a splatted single RHS value does not call #to_ary on an Array subclass instance"
|
|
28
|
-
fails "Basic multiple assignment with a splatted single RHS value does not call #to_a on an Array instance"
|
|
29
|
-
fails "Basic multiple assignment with a splatted single RHS value does not call #to_ary on an Array instance"
|
|
30
|
-
fails "Basic multiple assignment with a single RHS value does not call #to_a on an object if #to_ary is not defined"
|
|
31
|
-
fails "Basic multiple assignment with a single RHS value calls #to_ary on an object"
|
|
32
|
-
fails "Basic multiple assignment with a single RHS value does not call #to_a on an Array subclass instance"
|
|
33
|
-
fails "Basic multiple assignment with a single RHS value does not call #to_ary on an Array subclass instance"
|
|
34
|
-
fails "Basic multiple assignment with a single RHS value does not call #to_a on an Array instance"
|
|
35
|
-
fails "Basic multiple assignment with a single RHS value does not call #to_ary on an Array instance"
|
|
36
|
-
fails "Basic assignment allows the assignment of the rhs to the lhs using the rhs splat operator"
|
|
37
|
-
end
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
opal_filter "while" do
|
|
2
|
-
fails "The while modifier with begin .. end block runs block at least once (even if the expression is false)"
|
|
3
|
-
fails "The while modifier with begin .. end block evaluates condition after block execution"
|
|
4
|
-
fails "The while modifier with begin .. end block skips to end of body with next"
|
|
5
|
-
fails "The while modifier with begin .. end block restarts the current iteration without reevaluting condition with redo"
|
|
6
|
-
end
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
opal_filter "yield" do
|
|
2
|
-
fails "The yield call taking no arguments ignores assignment to the explicit block argument and calls the passed block"
|
|
3
|
-
fails "The yield call taking a single splatted argument passes no values when give nil as an argument"
|
|
4
|
-
fails "The yield call taking multiple arguments with a splat does not pass an argument value if the splatted argument is nil"
|
|
5
|
-
end
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
opal_filter "Module#class_variables" do
|
|
2
|
-
fails "A class definition has no class variables"
|
|
3
|
-
fails "A class definition allows the declaration of class variables in the body"
|
|
4
|
-
fails "A class definition allows the declaration of class variables in a class method"
|
|
5
|
-
fails "A class definition allows the declaration of class variables in an instance method"
|
|
6
|
-
end
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
opal_filter "Module#method_defined?" do
|
|
2
|
-
fails "Module#method_defined? converts the given name to a string using to_str"
|
|
3
|
-
fails "Module#method_defined? raises a TypeError when the given object is not a string/symbol/fixnum"
|
|
4
|
-
fails "Module#method_defined? does not search Object or Kernel when called on a module"
|
|
5
|
-
fails "Module#method_defined? returns true if a public or private method with the given name is defined in self, self's ancestors or one of self's included modules"
|
|
6
|
-
end
|
data/spec/filters/bugs/return.rb
DELETED
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
opal_filter "return" do
|
|
2
|
-
fails "The return keyword within a begin returns last value returned in nested ensures"
|
|
3
|
-
fails "The return keyword within a begin executes nested ensures before returning"
|
|
4
|
-
fails "The return keyword when passed a splat calls 'to_a' on the splatted value first"
|
|
5
|
-
fails "The return keyword when passed a splat returns an array when used as a splat"
|
|
6
|
-
fails "The return keyword in a Thread raises a LocalJumpError if used to exit a thread"
|
|
7
|
-
end
|
data/spec/filters/mspec/mocks.rb
DELETED
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
opal_filter "should_receive" do
|
|
2
|
-
fails "Array#at tries to convert the passed argument to an Integer using #to_int"
|
|
3
|
-
fails "Array#include? calls == on elements from left to right until success"
|
|
4
|
-
fails "A block taking |a| arguments does not call #to_ary to convert a single yielded object to an Array"
|
|
5
|
-
end
|
|
@@ -1,51 +0,0 @@
|
|
|
1
|
-
opal_filter "block args" do
|
|
2
|
-
fails "A block allows for a leading space before the arguments"
|
|
3
|
-
fails "A block taking |a, b| arguments assigns 'nil' and 'nil' to the arguments when a single, empty Array is yielded"
|
|
4
|
-
fails "A block taking |a, b| arguments assigns the element of a single element Array to the first argument"
|
|
5
|
-
fails "A block taking |a, b| arguments destructures a single Array value yielded"
|
|
6
|
-
fails "A block taking |a, b| arguments calls #to_ary to convert a single yielded object to an Array"
|
|
7
|
-
fails "A block taking |a, b| arguments does not call #to_ary if the single yielded object is an Array"
|
|
8
|
-
fails "A block taking |a, b| arguments raises an TypeError if #to_ary does not return an Array"
|
|
9
|
-
fails "A block taking |a, *b| arguments assigns 'nil' and '[]' to the arguments when a single, empty Array is yielded"
|
|
10
|
-
fails "A block taking |a, *b| arguments assigns the element of a single element Array to the first argument"
|
|
11
|
-
fails "A block taking |a, *b| arguments destructures a single Array value assigning the remaining values to the rest argument"
|
|
12
|
-
fails "A block taking |a, *b| arguments calls #to_ary to convert a single yielded object to an Array"
|
|
13
|
-
fails "A block taking |a, *b| arguments does not call #to_ary if the single yielded object is an Array"
|
|
14
|
-
fails "A block taking |a, *b| arguments raises an TypeError if #to_ary does not return an Array"
|
|
15
|
-
fails "A block taking |*| arguments does not raise an exception when no values are yielded"
|
|
16
|
-
fails "A block taking |*| arguments does not raise an exception when values are yielded"
|
|
17
|
-
fails "A block taking |*| arguments does not call #to_ary if the single yielded object is an Array"
|
|
18
|
-
fails "A block taking |*| arguments does not call #to_ary if the object does not respond to #to_ary"
|
|
19
|
-
fails "A block taking |*a| arguments does not call #to_ary if the single yielded object is an Array"
|
|
20
|
-
fails "A block taking |a, | arguments assigns nil to the argument when no values are yielded"
|
|
21
|
-
fails "A block taking |a, | arguments assgins the argument a single value yielded"
|
|
22
|
-
fails "A block taking |a, | arguments assigns the argument the first value yielded"
|
|
23
|
-
fails "A block taking |a, | arguments assigns the argument the first of several values yielded when it is an Array"
|
|
24
|
-
fails "A block taking |a, | arguments assigns nil to the argument when passed an empty Array"
|
|
25
|
-
fails "A block taking |a, | arguments assigns the argument the first element of the Array when passed a single Array"
|
|
26
|
-
fails "A block taking |a, | arguments calls #to_ary to convert a single yielded object to an Array"
|
|
27
|
-
fails "A block taking |a, | arguments does not call #to_ary if the single yielded object is an Array"
|
|
28
|
-
fails "A block taking |a, | arguments does not call #to_ary if the object does not respond to #to_ary"
|
|
29
|
-
fails "A block taking |a, | arguments raises an TypeError if #to_ary does not return an Array"
|
|
30
|
-
fails "A block taking |(a, b)| arguments assigns nil to the arguments when yielded no values"
|
|
31
|
-
fails "A block taking |(a, b)| arguments destructures a single Array value yielded"
|
|
32
|
-
fails "A block taking |(a, b)| arguments calls #to_ary to convert a single yielded object to an Array"
|
|
33
|
-
fails "A block taking |(a, b)| arguments does not call #to_ary if the single yielded object is an Array"
|
|
34
|
-
fails "A block taking |(a, b)| arguments does not call #to_ary if the object does not respond to #to_ary"
|
|
35
|
-
fails "A block taking |(a, b)| arguments raises an TypeError if #to_ary does not return an Array"
|
|
36
|
-
fails "A block taking |(a, b), c| arguments assigns nil to the arguments when yielded no values"
|
|
37
|
-
fails "A block taking |(a, b), c| arguments destructures a single one-level Array value yielded"
|
|
38
|
-
fails "A block taking |(a, b), c| arguments destructures a single multi-level Array value yielded"
|
|
39
|
-
fails "A block taking |(a, b), c| arguments calls #to_ary to convert a single yielded object to an Array"
|
|
40
|
-
fails "A block taking |(a, b), c| arguments does not call #to_ary if the single yielded object is an Array"
|
|
41
|
-
fails "A block taking |(a, b), c| arguments does not call #to_ary if the object does not respond to #to_ary"
|
|
42
|
-
fails "A block taking |(a, b), c| arguments raises an TypeError if #to_ary does not return an Array"
|
|
43
|
-
fails "A block taking nested |a, (b, (c, d))| assigns nil to the arguments when yielded no values"
|
|
44
|
-
fails "A block taking nested |a, (b, (c, d))| destructures separate yielded values"
|
|
45
|
-
fails "A block taking nested |a, (b, (c, d))| destructures a single multi-level Array value yielded"
|
|
46
|
-
fails "A block taking nested |a, (b, (c, d))| destructures a single multi-level Array value yielded"
|
|
47
|
-
fails "A block taking nested |a, ((b, c), d)| assigns nil to the arguments when yielded no values"
|
|
48
|
-
fails "A block taking nested |a, ((b, c), d)| destructures separate yielded values"
|
|
49
|
-
fails "A block taking nested |a, ((b, c), d)| destructures a single multi-level Array value yielded"
|
|
50
|
-
fails "A block taking nested |a, ((b, c), d)| destructures a single multi-level Array value yielded"
|
|
51
|
-
end
|
|
File without changes
|
data/spec/mspec/guards/endian.rb
DELETED
|
File without changes
|
|
File without changes
|
|
File without changes
|
data/spec/mspec/helpers/tmp.rb
DELETED
|
File without changes
|
|
@@ -1,206 +0,0 @@
|
|
|
1
|
-
describe "Array#[]" do
|
|
2
|
-
it "returns the element at index with [index]" do
|
|
3
|
-
[ "a", "b", "c", "d", "e" ][1].should == "b"
|
|
4
|
-
|
|
5
|
-
a = [1, 2, 3, 4]
|
|
6
|
-
a[0].should == 1
|
|
7
|
-
a[1].should == 2
|
|
8
|
-
a[2].should == 3
|
|
9
|
-
a[3].should == 4
|
|
10
|
-
a[4].should == nil
|
|
11
|
-
a[10].should == nil
|
|
12
|
-
|
|
13
|
-
a.should == [1, 2, 3, 4]
|
|
14
|
-
end
|
|
15
|
-
|
|
16
|
-
it "returns the element at index from the end of the array with [-index]" do
|
|
17
|
-
[ "a", "b", "c", "d", "e" ][-2].should == "d"
|
|
18
|
-
|
|
19
|
-
a = [1, 2, 3, 4]
|
|
20
|
-
a[-1].should == 4
|
|
21
|
-
a[-2].should == 3
|
|
22
|
-
a[-3].should == 2
|
|
23
|
-
a[-4].should == 1
|
|
24
|
-
a[-5].should == nil
|
|
25
|
-
a[-10].should == nil
|
|
26
|
-
|
|
27
|
-
a.should == [1, 2, 3, 4]
|
|
28
|
-
end
|
|
29
|
-
|
|
30
|
-
it "returns count elements starting from index with [index, count]" do
|
|
31
|
-
[ "a", "b", "c", "d", "e" ][2, 3].should == ["c", "d", "e"]
|
|
32
|
-
|
|
33
|
-
a = [1, 2, 3, 4]
|
|
34
|
-
|
|
35
|
-
a[0, 0].should == []
|
|
36
|
-
a[0, 1].should == [1]
|
|
37
|
-
a[0, 2].should == [1, 2]
|
|
38
|
-
a[0, 4].should == [1, 2, 3, 4]
|
|
39
|
-
a[0, 6].should == [1, 2, 3, 4]
|
|
40
|
-
a[0, -1].should == nil
|
|
41
|
-
a[0, -2].should == nil
|
|
42
|
-
a[0, -4].should == nil
|
|
43
|
-
|
|
44
|
-
a[2, 0].should == []
|
|
45
|
-
a[2, 1].should == [3]
|
|
46
|
-
a[2, 2].should == [3, 4]
|
|
47
|
-
a[2, 4].should == [3, 4]
|
|
48
|
-
a[2, -1].should == nil
|
|
49
|
-
|
|
50
|
-
a[4, 0].should == []
|
|
51
|
-
a[4, 2].should == []
|
|
52
|
-
a[4, -1].should == nil
|
|
53
|
-
|
|
54
|
-
a[5, 0].should == nil
|
|
55
|
-
a[5, 2].should == nil
|
|
56
|
-
a[5, -1].should == nil
|
|
57
|
-
|
|
58
|
-
a[6, 0].should == nil
|
|
59
|
-
a[6, 2].should == nil
|
|
60
|
-
a[6, -1].should == nil
|
|
61
|
-
|
|
62
|
-
a.should == [1, 2, 3, 4]
|
|
63
|
-
end
|
|
64
|
-
|
|
65
|
-
it "returns count elements starting at index from the end of array with [-index, count]" do
|
|
66
|
-
[ "a", "b", "c", "d", "e" ][-2, 2].should == ["d", "e"]
|
|
67
|
-
|
|
68
|
-
a = [1, 2, 3, 4]
|
|
69
|
-
a[-1, 0].should == []
|
|
70
|
-
a[-1, 1].should == [4]
|
|
71
|
-
a[-1, 2].should == [4]
|
|
72
|
-
a[-1, -1].should == nil
|
|
73
|
-
|
|
74
|
-
a[-2, 0].should == []
|
|
75
|
-
a[-2, 1].should == [3]
|
|
76
|
-
a[-2, 2].should == [3, 4]
|
|
77
|
-
a[-2, 4].should == [3, 4]
|
|
78
|
-
a[-2, -1].should == nil
|
|
79
|
-
|
|
80
|
-
a[-4, 0].should == []
|
|
81
|
-
a[-4, 1].should == [1]
|
|
82
|
-
a[-4, 2].should == [1, 2]
|
|
83
|
-
a[-4, 4].should == [1, 2, 3, 4]
|
|
84
|
-
a[-4, 6].should == [1, 2, 3, 4]
|
|
85
|
-
a[-4, -1].should == nil
|
|
86
|
-
|
|
87
|
-
a[-5, 0].should == nil
|
|
88
|
-
a[-5, 1].should == nil
|
|
89
|
-
a[-5, 10].should == nil
|
|
90
|
-
a[-5, -1].should == nil
|
|
91
|
-
|
|
92
|
-
a.should == [1, 2, 3, 4]
|
|
93
|
-
end
|
|
94
|
-
|
|
95
|
-
it "returns the first count elements with [0, count]" do
|
|
96
|
-
[ "a", "b", "c", "d", "e" ][0, 3].should == ["a", "b", "c"]
|
|
97
|
-
end
|
|
98
|
-
|
|
99
|
-
it "returns the subarray which is independent to self with [index,count]" do
|
|
100
|
-
a = [1, 2, 3]
|
|
101
|
-
sub = a[1,2]
|
|
102
|
-
sub.replace([:a, :b])
|
|
103
|
-
a.should == [1, 2, 3]
|
|
104
|
-
end
|
|
105
|
-
|
|
106
|
-
it "returns the elements specified by Range indexes with [m..n]" do
|
|
107
|
-
[ "a", "b", "c", "d", "e" ][1..3].should == ["b", "c", "d"]
|
|
108
|
-
[ "a", "b", "c", "d", "e" ][4..-1].should == ['e']
|
|
109
|
-
[ "a", "b", "c", "d", "e" ][3..3].should == ['d']
|
|
110
|
-
[ "a", "b", "c", "d", "e" ][3..-2].should == ['d']
|
|
111
|
-
['a'][0..-1].should == ['a']
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
a = [1, 2, 3, 4]
|
|
115
|
-
|
|
116
|
-
a[0..-10].should == []
|
|
117
|
-
a[0..0].should == [1]
|
|
118
|
-
a[0..1].should == [1, 2]
|
|
119
|
-
a[0..2].should == [1, 2, 3]
|
|
120
|
-
a[0..3].should == [1, 2, 3, 4]
|
|
121
|
-
a[0..4].should == [1, 2, 3, 4]
|
|
122
|
-
a[0..10].should == [1, 2, 3, 4]
|
|
123
|
-
|
|
124
|
-
a[2..-10].should == []
|
|
125
|
-
a[2..0].should == []
|
|
126
|
-
a[2..2].should == [3]
|
|
127
|
-
a[2..3].should == [3, 4]
|
|
128
|
-
a[2..4].should == [3, 4]
|
|
129
|
-
|
|
130
|
-
a[3..0].should == []
|
|
131
|
-
a[3..3].should == [4]
|
|
132
|
-
a[3..4].should == [4]
|
|
133
|
-
|
|
134
|
-
a[4..0].should == []
|
|
135
|
-
a[4..4].should == []
|
|
136
|
-
a[4..5].should == []
|
|
137
|
-
|
|
138
|
-
a[5..0].should == nil
|
|
139
|
-
a[5..5].should == nil
|
|
140
|
-
a[5..6].should == nil
|
|
141
|
-
|
|
142
|
-
a.should == [1, 2, 3, 4]
|
|
143
|
-
end
|
|
144
|
-
|
|
145
|
-
it "returns elements specified by Range indexes except the lement at index n with [m...n]" do
|
|
146
|
-
[ "a", "b", "c", "d", "e" ][1...3].should == ["b", "c"]
|
|
147
|
-
|
|
148
|
-
a = [1, 2, 3, 4]
|
|
149
|
-
|
|
150
|
-
a[0...-10].should == []
|
|
151
|
-
a[0...0].should == []
|
|
152
|
-
a[0...1].should == [1]
|
|
153
|
-
a[0...2].should == [1, 2]
|
|
154
|
-
a[0...3].should == [1, 2, 3]
|
|
155
|
-
a[0...4].should == [1, 2, 3, 4]
|
|
156
|
-
a[0...10].should == [1, 2, 3, 4]
|
|
157
|
-
|
|
158
|
-
a[2...-10].should == []
|
|
159
|
-
a[2...0].should == []
|
|
160
|
-
a[2...2].should == []
|
|
161
|
-
a[2...3].should == [3]
|
|
162
|
-
a[2...4].should == [3, 4]
|
|
163
|
-
|
|
164
|
-
a[3...0].should == []
|
|
165
|
-
a[3...3].should == []
|
|
166
|
-
a[3...4].should == [4]
|
|
167
|
-
|
|
168
|
-
a[4...0].should == []
|
|
169
|
-
a[4...4].should == []
|
|
170
|
-
a[4...5].should == []
|
|
171
|
-
|
|
172
|
-
a[5...0].should == nil
|
|
173
|
-
a[5...5].should == nil
|
|
174
|
-
a[5...6].should == nil
|
|
175
|
-
|
|
176
|
-
a.should == [1, 2, 3, 4]
|
|
177
|
-
end
|
|
178
|
-
|
|
179
|
-
it "returns nil for a requested index not in the array with [index]" do
|
|
180
|
-
[ "a", "b", "c", "d", "e" ][5].should == nil
|
|
181
|
-
end
|
|
182
|
-
|
|
183
|
-
it "returns [] of the index is valid but length is zero with [index, length]" do
|
|
184
|
-
[ "a", "b", "c", "d", "e" ][0, 0].should == []
|
|
185
|
-
[ "a", "b", "c", "d", "e" ][2, 0].should == []
|
|
186
|
-
end
|
|
187
|
-
|
|
188
|
-
it "returns nil if length is zero but index is invalid with [index, length]" do
|
|
189
|
-
[ "a", "b", "c", "d", "e" ][100, 0].should == nil
|
|
190
|
-
[ "a", "b", "c", "d", "e" ][-50, 0].should == nil
|
|
191
|
-
end
|
|
192
|
-
|
|
193
|
-
it "returns [] if index == array.size with [index, length]" do
|
|
194
|
-
%w|a b c d e|[5, 2].should == []
|
|
195
|
-
end
|
|
196
|
-
|
|
197
|
-
it "returns nil if index > array.size with [index, length]" do
|
|
198
|
-
%w|a b c d e|[6, 2].should == nil
|
|
199
|
-
end
|
|
200
|
-
|
|
201
|
-
it "returns nil if length is negative with [index, length]" do
|
|
202
|
-
%w|a b c d e|[3, -1].should == nil
|
|
203
|
-
%w|a b c d e|[2, -2].should == nil
|
|
204
|
-
%w|a b c d e|[1, -100].should == nil
|
|
205
|
-
end
|
|
206
|
-
end
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
describe "Array#==" do
|
|
2
|
-
it "returns true if other is the same array" do
|
|
3
|
-
a = [1]
|
|
4
|
-
(a == a).should be_true
|
|
5
|
-
end
|
|
6
|
-
|
|
7
|
-
it "returns true if corresponding elements are #eql?" do
|
|
8
|
-
([] == []).should be_true
|
|
9
|
-
([1, 2, 3, 4] == [1, 2, 3, 4]).should be_true
|
|
10
|
-
end
|
|
11
|
-
|
|
12
|
-
it "returns false if other is shorter than self" do
|
|
13
|
-
([1, 2, 3, 4] == [1, 2, 3]).should be_false
|
|
14
|
-
end
|
|
15
|
-
|
|
16
|
-
it "returns false if other is longer than self" do
|
|
17
|
-
([1, 2, 3, 4] == [1, 2, 3, 4, 5]).should be_false
|
|
18
|
-
end
|
|
19
|
-
end
|