opal-wedge 0.9.0.dev
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/.gitignore +14 -0
- data/.gitmodules +7 -0
- data/.inch.yml +19 -0
- data/.jshintrc +48 -0
- data/.rspec +3 -0
- data/.spectator +2 -0
- data/.spectator-mspec +3 -0
- data/.travis.yml +60 -0
- data/.yardopts +6 -0
- data/CHANGELOG.md +571 -0
- data/CODE_OF_CONDUCT.md +15 -0
- data/CONTRIBUTING.md +192 -0
- data/Gemfile +26 -0
- data/Guardfile +77 -0
- data/LICENSE +19 -0
- data/README.md +167 -0
- data/Rakefile +15 -0
- data/benchmark/benchmarks +103 -0
- data/benchmark/bm_array_intersection_numbers.rb +7 -0
- data/benchmark/bm_array_intersection_objects.rb +7 -0
- data/benchmark/bm_array_intersection_strings.rb +7 -0
- data/benchmark/bm_array_minus_numbers.rb +7 -0
- data/benchmark/bm_array_minus_objects.rb +7 -0
- data/benchmark/bm_array_minus_strings.rb +7 -0
- data/benchmark/bm_array_union_numbers.rb +7 -0
- data/benchmark/bm_array_union_objects.rb +7 -0
- data/benchmark/bm_array_union_strings.rb +7 -0
- data/benchmark/bm_array_uniq_bang_numbers.rb +5 -0
- data/benchmark/bm_array_uniq_bang_objects.rb +5 -0
- data/benchmark/bm_array_uniq_bang_strings.rb +5 -0
- data/benchmark/bm_array_uniq_numbers.rb +5 -0
- data/benchmark/bm_array_uniq_objects.rb +5 -0
- data/benchmark/bm_array_uniq_strings.rb +5 -0
- data/benchmark/bm_dispatch_bind_table.rb +57 -0
- data/benchmark/bm_dispatch_code_gen.rb +65 -0
- data/benchmark/bm_dispatch_code_gen_if.rb +64 -0
- data/benchmark/bm_dispatch_hardcoded.rb +44 -0
- data/benchmark/bm_dispatch_send.rb +38 -0
- data/benchmark/bm_dispatch_send_table.rb +57 -0
- data/benchmark/bm_hash_assoc_object.rb +11 -0
- data/benchmark/bm_hash_assoc_string.rb +9 -0
- data/benchmark/bm_hash_clone_object.rb +9 -0
- data/benchmark/bm_hash_clone_string.rb +9 -0
- data/benchmark/bm_hash_delete_object.rb +11 -0
- data/benchmark/bm_hash_delete_string.rb +9 -0
- data/benchmark/bm_hash_each_key_object.rb +9 -0
- data/benchmark/bm_hash_each_key_string.rb +9 -0
- data/benchmark/bm_hash_each_object.rb +9 -0
- data/benchmark/bm_hash_each_string.rb +9 -0
- data/benchmark/bm_hash_each_value_object.rb +9 -0
- data/benchmark/bm_hash_each_value_string.rb +9 -0
- data/benchmark/bm_hash_element_reference_object.rb +11 -0
- data/benchmark/bm_hash_element_reference_string.rb +9 -0
- data/benchmark/bm_hash_element_set_object.rb +5 -0
- data/benchmark/bm_hash_element_set_string.rb +5 -0
- data/benchmark/bm_hash_equal_value_object.rb +14 -0
- data/benchmark/bm_hash_equal_value_string.rb +11 -0
- data/benchmark/bm_hash_fetch_object.rb +11 -0
- data/benchmark/bm_hash_fetch_string.rb +9 -0
- data/benchmark/bm_hash_flatten_object.rb +9 -0
- data/benchmark/bm_hash_flatten_string.rb +9 -0
- data/benchmark/bm_hash_has_key_object.rb +11 -0
- data/benchmark/bm_hash_has_key_string.rb +9 -0
- data/benchmark/bm_hash_has_value_object.rb +9 -0
- data/benchmark/bm_hash_has_value_string.rb +9 -0
- data/benchmark/bm_hash_hash_object.rb +9 -0
- data/benchmark/bm_hash_hash_string.rb +9 -0
- data/benchmark/bm_hash_inspect_object.rb +9 -0
- data/benchmark/bm_hash_inspect_string.rb +9 -0
- data/benchmark/bm_hash_invert_object.rb +9 -0
- data/benchmark/bm_hash_invert_string.rb +9 -0
- data/benchmark/bm_hash_keep_if_object.rb +9 -0
- data/benchmark/bm_hash_keep_if_string.rb +9 -0
- data/benchmark/bm_hash_key_object.rb +9 -0
- data/benchmark/bm_hash_key_string.rb +9 -0
- data/benchmark/bm_hash_keys_object.rb +9 -0
- data/benchmark/bm_hash_keys_string.rb +9 -0
- data/benchmark/bm_hash_literal_mixed_large.rb +3 -0
- data/benchmark/bm_hash_literal_mixed_small.rb +3 -0
- data/benchmark/bm_hash_literal_object_large.rb +4 -0
- data/benchmark/bm_hash_literal_object_small.rb +3 -0
- data/benchmark/bm_hash_literal_string_large.rb +4 -0
- data/benchmark/bm_hash_literal_string_small.rb +3 -0
- data/benchmark/bm_hash_merge_object.rb +22 -0
- data/benchmark/bm_hash_merge_string.rb +18 -0
- data/benchmark/bm_hash_rassoc_object.rb +9 -0
- data/benchmark/bm_hash_rassoc_string.rb +9 -0
- data/benchmark/bm_hash_rehash_object.rb +9 -0
- data/benchmark/bm_hash_rehash_string.rb +9 -0
- data/benchmark/bm_hash_reject_bang_object.rb +9 -0
- data/benchmark/bm_hash_reject_bang_string.rb +9 -0
- data/benchmark/bm_hash_reject_object.rb +9 -0
- data/benchmark/bm_hash_reject_string.rb +9 -0
- data/benchmark/bm_hash_replace_object.rb +18 -0
- data/benchmark/bm_hash_replace_string.rb +14 -0
- data/benchmark/bm_hash_select_bang_object.rb +9 -0
- data/benchmark/bm_hash_select_bang_string.rb +9 -0
- data/benchmark/bm_hash_select_object.rb +9 -0
- data/benchmark/bm_hash_select_string.rb +9 -0
- data/benchmark/bm_hash_shift_object.rb +10 -0
- data/benchmark/bm_hash_shift_string.rb +10 -0
- data/benchmark/bm_hash_to_a_object.rb +9 -0
- data/benchmark/bm_hash_to_a_string.rb +9 -0
- data/benchmark/bm_hash_to_h_object.rb +10 -0
- data/benchmark/bm_hash_to_h_string.rb +10 -0
- data/benchmark/bm_hash_values_object.rb +9 -0
- data/benchmark/bm_hash_values_string.rb +9 -0
- data/benchmark/run.rb +37 -0
- data/bin/opal +27 -0
- data/bin/opal-build +77 -0
- data/bin/opal-mspec +10 -0
- data/bin/opal-repl +72 -0
- data/config.ru +14 -0
- data/docs/compiler_directives.md +127 -0
- data/examples/rack/.gitignore +1 -0
- data/examples/rack/Gemfile +3 -0
- data/examples/rack/app/application.rb +13 -0
- data/examples/rack/app/user.rb +22 -0
- data/examples/rack/config.ru +20 -0
- data/examples/rack/index.html.erb +10 -0
- data/examples/sinatra/Gemfile +5 -0
- data/examples/sinatra/app/application.rb +7 -0
- data/examples/sinatra/config.ru +38 -0
- data/lib/mspec/opal/main.rb.erb +9 -0
- data/lib/mspec/opal/new.html.erb +1 -0
- data/lib/mspec/opal/rake_task.rb +248 -0
- data/lib/mspec/opal/runner.rb +281 -0
- data/lib/mspec/opal/special_calls.rb +44 -0
- data/lib/mspec/opal/sprockets.js +57 -0
- data/lib/opal-wedge.rb +4 -0
- data/lib/opal.rb +11 -0
- data/lib/opal/builder.rb +161 -0
- data/lib/opal/builder_processors.rb +149 -0
- data/lib/opal/cli.rb +162 -0
- data/lib/opal/cli_options.rb +158 -0
- data/lib/opal/cli_runners.rb +11 -0
- data/lib/opal/cli_runners/apple_script.rb +65 -0
- data/lib/opal/cli_runners/nodejs.rb +63 -0
- data/lib/opal/cli_runners/phantom.js +44 -0
- data/lib/opal/cli_runners/phantomjs.rb +28 -0
- data/lib/opal/cli_runners/server.rb +56 -0
- data/lib/opal/compiler.rb +381 -0
- data/lib/opal/config.rb +48 -0
- data/lib/opal/erb.rb +84 -0
- data/lib/opal/fragment.rb +53 -0
- data/lib/opal/hike_path_finder.rb +18 -0
- data/lib/opal/nodes.rb +26 -0
- data/lib/opal/nodes/arglist.rb +56 -0
- data/lib/opal/nodes/array.rb +54 -0
- data/lib/opal/nodes/base.rb +151 -0
- data/lib/opal/nodes/call.rb +290 -0
- data/lib/opal/nodes/call_special.rb +252 -0
- data/lib/opal/nodes/case.rb +96 -0
- data/lib/opal/nodes/class.rb +42 -0
- data/lib/opal/nodes/constants.rb +78 -0
- data/lib/opal/nodes/def.rb +281 -0
- data/lib/opal/nodes/defined.rb +113 -0
- data/lib/opal/nodes/definitions.rb +168 -0
- data/lib/opal/nodes/for.rb +48 -0
- data/lib/opal/nodes/hash.rb +67 -0
- data/lib/opal/nodes/helpers.rb +116 -0
- data/lib/opal/nodes/if.rb +81 -0
- data/lib/opal/nodes/iter.rb +136 -0
- data/lib/opal/nodes/literal.rb +247 -0
- data/lib/opal/nodes/logic.rb +217 -0
- data/lib/opal/nodes/masgn.rb +62 -0
- data/lib/opal/nodes/module.rb +45 -0
- data/lib/opal/nodes/rescue.rb +143 -0
- data/lib/opal/nodes/runtime_helpers.rb +45 -0
- data/lib/opal/nodes/scope.rb +281 -0
- data/lib/opal/nodes/singleton_class.rb +26 -0
- data/lib/opal/nodes/super.rb +97 -0
- data/lib/opal/nodes/top.rb +103 -0
- data/lib/opal/nodes/variables.rb +191 -0
- data/lib/opal/nodes/while.rb +65 -0
- data/lib/opal/nodes/yield.rb +95 -0
- data/lib/opal/parser.rb +742 -0
- data/lib/opal/parser/grammar.rb +5723 -0
- data/lib/opal/parser/grammar.y +1787 -0
- data/lib/opal/parser/keywords.rb +66 -0
- data/lib/opal/parser/lexer.rb +1260 -0
- data/lib/opal/parser/parser_scope.rb +28 -0
- data/lib/opal/parser/sexp.rb +81 -0
- data/lib/opal/path_reader.rb +35 -0
- data/lib/opal/paths.rb +55 -0
- data/lib/opal/regexp_anchors.rb +5 -0
- data/lib/opal/source_map.rb +70 -0
- data/lib/opal/sprockets.rb +3 -0
- data/lib/opal/sprockets/cache_key_fix.rb +17 -0
- data/lib/opal/sprockets/environment.rb +31 -0
- data/lib/opal/sprockets/erb.rb +23 -0
- data/lib/opal/sprockets/path_reader.rb +36 -0
- data/lib/opal/sprockets/processor.rb +167 -0
- data/lib/opal/sprockets/server.rb +160 -0
- data/lib/opal/sprockets/source_map_header_patch.rb +41 -0
- data/lib/opal/sprockets/source_map_server.rb +115 -0
- data/lib/opal/util.rb +69 -0
- data/lib/opal/version.rb +5 -0
- data/lib/tilt/opal.rb +54 -0
- data/opal.gemspec +37 -0
- data/opal/README.md +6 -0
- data/opal/corelib/array.rb +2073 -0
- data/opal/corelib/array/inheritance.rb +127 -0
- data/opal/corelib/basic_object.rb +82 -0
- data/opal/corelib/boolean.rb +47 -0
- data/opal/corelib/class.rb +55 -0
- data/opal/corelib/comparable.rb +57 -0
- data/opal/corelib/complex.rb +3 -0
- data/opal/corelib/dir.rb +20 -0
- data/opal/corelib/enumerable.rb +1138 -0
- data/opal/corelib/enumerator.rb +426 -0
- data/opal/corelib/error.rb +77 -0
- data/opal/corelib/file.rb +59 -0
- data/opal/corelib/hash.rb +951 -0
- data/opal/corelib/helpers.rb +102 -0
- data/opal/corelib/io.rb +73 -0
- data/opal/corelib/kernel.rb +1124 -0
- data/opal/corelib/main.rb +7 -0
- data/opal/corelib/match_data.rb +128 -0
- data/opal/corelib/method.rb +62 -0
- data/opal/corelib/module.rb +553 -0
- data/opal/corelib/nil_class.rb +57 -0
- data/opal/corelib/numeric.rb +564 -0
- data/opal/corelib/proc.rb +105 -0
- data/opal/corelib/process.rb +27 -0
- data/opal/corelib/range.rb +116 -0
- data/opal/corelib/rational.rb +3 -0
- data/opal/corelib/regexp.rb +203 -0
- data/opal/corelib/runtime.js +1637 -0
- data/opal/corelib/string.rb +1762 -0
- data/opal/corelib/string/inheritance.rb +117 -0
- data/opal/corelib/struct.rb +159 -0
- data/opal/corelib/time.rb +746 -0
- data/opal/corelib/variables.rb +28 -0
- data/opal/opal.rb +33 -0
- data/spec/README.md +8 -0
- data/spec/filters/bugs/array.rb +77 -0
- data/spec/filters/bugs/basicobject.rb +33 -0
- data/spec/filters/bugs/class.rb +15 -0
- data/spec/filters/bugs/comparable.rb +4 -0
- data/spec/filters/bugs/date.rb +173 -0
- data/spec/filters/bugs/enumerable.rb +62 -0
- data/spec/filters/bugs/enumerator.rb +45 -0
- data/spec/filters/bugs/exception.rb +84 -0
- data/spec/filters/bugs/fixnum.rb +35 -0
- data/spec/filters/bugs/float.rb +100 -0
- data/spec/filters/bugs/hash.rb +17 -0
- data/spec/filters/bugs/integer.rb +63 -0
- data/spec/filters/bugs/kernel.rb +395 -0
- data/spec/filters/bugs/language.rb +246 -0
- data/spec/filters/bugs/math.rb +89 -0
- data/spec/filters/bugs/method.rb +5 -0
- data/spec/filters/bugs/module.rb +372 -0
- data/spec/filters/bugs/nil.rb +7 -0
- data/spec/filters/bugs/numeric.rb +123 -0
- data/spec/filters/bugs/proc.rb +65 -0
- data/spec/filters/bugs/range.rb +148 -0
- data/spec/filters/bugs/regexp.rb +252 -0
- data/spec/filters/bugs/set.rb +51 -0
- data/spec/filters/bugs/singleton.rb +6 -0
- data/spec/filters/bugs/string.rb +99 -0
- data/spec/filters/bugs/strscan.rb +106 -0
- data/spec/filters/bugs/struct.rb +22 -0
- data/spec/filters/bugs/time.rb +28 -0
- data/spec/filters/bugs/unboundmethod.rb +22 -0
- data/spec/filters/unsupported/array.rb +176 -0
- data/spec/filters/unsupported/basicobject.rb +12 -0
- data/spec/filters/unsupported/class.rb +4 -0
- data/spec/filters/unsupported/delegator.rb +5 -0
- data/spec/filters/unsupported/enumerable.rb +8 -0
- data/spec/filters/unsupported/enumerator.rb +13 -0
- data/spec/filters/unsupported/fixnum.rb +15 -0
- data/spec/filters/unsupported/float.rb +6 -0
- data/spec/filters/unsupported/hash.rb +55 -0
- data/spec/filters/unsupported/integer.rb +3 -0
- data/spec/filters/unsupported/kernel.rb +22 -0
- data/spec/filters/unsupported/language.rb +31 -0
- data/spec/filters/unsupported/matchdata.rb +33 -0
- data/spec/filters/unsupported/math.rb +3 -0
- data/spec/filters/unsupported/module.rb +36 -0
- data/spec/filters/unsupported/pathname.rb +3 -0
- data/spec/filters/unsupported/regexp.rb +94 -0
- data/spec/filters/unsupported/set.rb +4 -0
- data/spec/filters/unsupported/singleton.rb +6 -0
- data/spec/filters/unsupported/string.rb +538 -0
- data/spec/filters/unsupported/struct.rb +3 -0
- data/spec/filters/unsupported/time.rb +208 -0
- data/spec/lib/builder_processors_spec.rb +27 -0
- data/spec/lib/builder_spec.rb +72 -0
- data/spec/lib/cli_spec.rb +150 -0
- data/spec/lib/compiler/pre_processed_conditionals_spec.rb +87 -0
- data/spec/lib/compiler_spec.rb +131 -0
- data/spec/lib/dependency_resolver_spec.rb +40 -0
- data/spec/lib/fixtures/complex_sprockets.js.rb.erb +4 -0
- data/spec/lib/fixtures/file_with_directives.js +2 -0
- data/spec/lib/fixtures/jst_file.js.jst +1 -0
- data/spec/lib/fixtures/no_requires.rb +1 -0
- data/spec/lib/fixtures/opal_file.rb +2 -0
- data/spec/lib/fixtures/require_tree_test.rb +3 -0
- data/spec/lib/fixtures/required_file.js +1 -0
- data/spec/lib/fixtures/required_tree_test/required_file1.rb +1 -0
- data/spec/lib/fixtures/required_tree_test/required_file2.rb +1 -0
- data/spec/lib/fixtures/requires.rb +7 -0
- data/spec/lib/fixtures/source_map.rb +1 -0
- data/spec/lib/fixtures/source_map/subfolder/other_file.rb +1 -0
- data/spec/lib/fixtures/sprockets_file.js.rb +3 -0
- data/spec/lib/fixtures/sprockets_require_tree_test.rb +3 -0
- data/spec/lib/hike_path_finder_spec.rb +23 -0
- data/spec/lib/lexer_spec.rb +110 -0
- data/spec/lib/parser/alias_spec.rb +26 -0
- data/spec/lib/parser/and_spec.rb +13 -0
- data/spec/lib/parser/attrasgn_spec.rb +28 -0
- data/spec/lib/parser/begin_spec.rb +42 -0
- data/spec/lib/parser/block_spec.rb +12 -0
- data/spec/lib/parser/break_spec.rb +17 -0
- data/spec/lib/parser/call_spec.rb +165 -0
- data/spec/lib/parser/class_spec.rb +35 -0
- data/spec/lib/parser/comments_spec.rb +11 -0
- data/spec/lib/parser/def_spec.rb +80 -0
- data/spec/lib/parser/if_spec.rb +26 -0
- data/spec/lib/parser/iter_spec.rb +59 -0
- data/spec/lib/parser/lambda_spec.rb +64 -0
- data/spec/lib/parser/literal_spec.rb +118 -0
- data/spec/lib/parser/masgn_spec.rb +37 -0
- data/spec/lib/parser/module_spec.rb +27 -0
- data/spec/lib/parser/not_spec.rb +21 -0
- data/spec/lib/parser/op_asgn1_spec.rb +23 -0
- data/spec/lib/parser/op_asgn2_spec.rb +23 -0
- data/spec/lib/parser/or_spec.rb +13 -0
- data/spec/lib/parser/return_spec.rb +17 -0
- data/spec/lib/parser/sclass_spec.rb +21 -0
- data/spec/lib/parser/string_spec.rb +276 -0
- data/spec/lib/parser/super_spec.rb +20 -0
- data/spec/lib/parser/unary_spec.rb +48 -0
- data/spec/lib/parser/undef_spec.rb +15 -0
- data/spec/lib/parser/unless_spec.rb +13 -0
- data/spec/lib/parser/variables_spec.rb +92 -0
- data/spec/lib/parser/while_spec.rb +15 -0
- data/spec/lib/parser/yield_spec.rb +20 -0
- data/spec/lib/path_reader_spec.rb +36 -0
- data/spec/lib/shared/path_finder_shared.rb +19 -0
- data/spec/lib/shared/path_reader_shared.rb +31 -0
- data/spec/lib/spec_helper.rb +9 -0
- data/spec/lib/sprockets/erb_spec.rb +38 -0
- data/spec/lib/sprockets/path_reader_spec.rb +41 -0
- data/spec/lib/sprockets/processor_spec.rb +67 -0
- data/spec/lib/sprockets/server_spec.rb +102 -0
- data/spec/lib/tilt/opal_spec.rb +37 -0
- data/spec/opal/compiler/irb_spec.rb +44 -0
- data/spec/opal/core/array/intersection_spec.rb +38 -0
- data/spec/opal/core/array/minus_spec.rb +38 -0
- data/spec/opal/core/array/select_spec.rb +14 -0
- data/spec/opal/core/array/set_range_to_array_spec.rb +7 -0
- data/spec/opal/core/array/union_spec.rb +38 -0
- data/spec/opal/core/array/uniq_spec.rb +49 -0
- data/spec/opal/core/date_spec.rb +177 -0
- data/spec/opal/core/enumerable/all_break_spec.rb +5 -0
- data/spec/opal/core/enumerable/any_break_spec.rb +5 -0
- data/spec/opal/core/enumerable/collect_break_spec.rb +13 -0
- data/spec/opal/core/enumerable/count_break_spec.rb +5 -0
- data/spec/opal/core/enumerable/detect_break_spec.rb +5 -0
- data/spec/opal/core/enumerable/drop_while_break_spec.rb +5 -0
- data/spec/opal/core/enumerable/each_slice_break.rb +6 -0
- data/spec/opal/core/enumerable/each_with_index_break_spec.rb +5 -0
- data/spec/opal/core/enumerable/each_with_object_break_spec.rb +5 -0
- data/spec/opal/core/enumerable/find_all_break_spec.rb +5 -0
- data/spec/opal/core/enumerable/find_index_break_spec.rb +5 -0
- data/spec/opal/core/enumerable/grep_break_spec.rb +5 -0
- data/spec/opal/core/enumerable/max_break_spec.rb +5 -0
- data/spec/opal/core/enumerable/max_by_break_spec.rb +5 -0
- data/spec/opal/core/enumerable/min_break_spec.rb +5 -0
- data/spec/opal/core/enumerable/min_by_break_spec.rb +5 -0
- data/spec/opal/core/enumerable/none_break_spec.rb +5 -0
- data/spec/opal/core/enumerable/one_break_spec.rb +5 -0
- data/spec/opal/core/enumerable/reduce_break_spec.rb +5 -0
- data/spec/opal/core/enumerable/take_while_break_spec.rb +5 -0
- data/spec/opal/core/exception_spec.rb +13 -0
- data/spec/opal/core/fixtures/class.rb +124 -0
- data/spec/opal/core/fixtures/class_variables.rb +0 -0
- data/spec/opal/core/fixtures/constants.rb +33 -0
- data/spec/opal/core/fixtures/require_tree_files/file 1.rb +1 -0
- data/spec/opal/core/fixtures/require_tree_files/file 2.rb +1 -0
- data/spec/opal/core/fixtures/require_tree_files/file 3.rb +1 -0
- data/spec/opal/core/fixtures/require_tree_files/file 4.rb +1 -0
- data/spec/opal/core/fixtures/require_tree_files/file 5.rb +1 -0
- data/spec/opal/core/fixtures/require_tree_files/nested/nested 1.rb +1 -0
- data/spec/opal/core/fixtures/require_tree_files/nested/nested 2.rb +1 -0
- data/spec/opal/core/fixtures/require_tree_files/other/other 1.rb +1 -0
- data/spec/opal/core/fixtures/require_tree_with_dot/file 1.rb +1 -0
- data/spec/opal/core/fixtures/require_tree_with_dot/file 2.rb +1 -0
- data/spec/opal/core/fixtures/require_tree_with_dot/file 3.rb +1 -0
- data/spec/opal/core/fixtures/require_tree_with_dot/index.rb +3 -0
- data/spec/opal/core/hash/has_value_spec.rb +13 -0
- data/spec/opal/core/hash/internals_spec.rb +332 -0
- data/spec/opal/core/kernel/Array_spec.rb +10 -0
- data/spec/opal/core/kernel/block_given_spec.rb +30 -0
- data/spec/opal/core/kernel/class_spec.rb +6 -0
- data/spec/opal/core/kernel/define_singleton_method_spec.rb +21 -0
- data/spec/opal/core/kernel/equal_value_spec.rb +12 -0
- data/spec/opal/core/kernel/extend_spec.rb +21 -0
- data/spec/opal/core/kernel/format_spec.rb +122 -0
- data/spec/opal/core/kernel/freeze_spec.rb +15 -0
- data/spec/opal/core/kernel/instance_eval_spec.rb +28 -0
- data/spec/opal/core/kernel/instance_variable_defined_spec.rb +15 -0
- data/spec/opal/core/kernel/instance_variable_get_spec.rb +14 -0
- data/spec/opal/core/kernel/instance_variable_set_spec.rb +10 -0
- data/spec/opal/core/kernel/loop_spec.rb +23 -0
- data/spec/opal/core/kernel/match_spec.rb +5 -0
- data/spec/opal/core/kernel/method_spec.rb +31 -0
- data/spec/opal/core/kernel/methods_spec.rb +25 -0
- data/spec/opal/core/kernel/nil_spec.rb +7 -0
- data/spec/opal/core/kernel/p_spec.rb +15 -0
- data/spec/opal/core/kernel/printf_spec.rb +11 -0
- data/spec/opal/core/kernel/proc_spec.rb +13 -0
- data/spec/opal/core/kernel/rand_spec.rb +23 -0
- data/spec/opal/core/kernel/require_tree_spec.rb +18 -0
- data/spec/opal/core/kernel/respond_to_spec.rb +41 -0
- data/spec/opal/core/kernel/send_spec.rb +56 -0
- data/spec/opal/core/kernel/sprintf_spec.rb +5 -0
- data/spec/opal/core/language/block_spec.rb +538 -0
- data/spec/opal/core/language/fixtures/array.rb +11 -0
- data/spec/opal/core/language/fixtures/block.rb +57 -0
- data/spec/opal/core/language/fixtures/break.rb +240 -0
- data/spec/opal/core/language/fixtures/ensure.rb +72 -0
- data/spec/opal/core/language/fixtures/literal_lambda.rb +7 -0
- data/spec/opal/core/language/fixtures/metaclass.rb +33 -0
- data/spec/opal/core/language/fixtures/module.rb +24 -0
- data/spec/opal/core/language/fixtures/next.rb +128 -0
- data/spec/opal/core/language/fixtures/return.rb +118 -0
- data/spec/opal/core/language/fixtures/send.rb +110 -0
- data/spec/opal/core/language/fixtures/send_1.9.rb +22 -0
- data/spec/opal/core/language/fixtures/super.rb +308 -0
- data/spec/opal/core/language/fixtures/variables.rb +58 -0
- data/spec/opal/core/language/fixtures/yield.rb +28 -0
- data/spec/opal/core/language/predefined_spec.rb +138 -0
- data/spec/opal/core/language/proc_spec.rb +263 -0
- data/spec/opal/core/language/regexp_spec.rb +20 -0
- data/spec/opal/core/language/send_spec.rb +225 -0
- data/spec/opal/core/language/string_spec.rb +44 -0
- data/spec/opal/core/language/variables_spec.rb +1366 -0
- data/spec/opal/core/language/versions/array_1.9.rb +39 -0
- data/spec/opal/core/language/versions/block_1.9.rb +0 -0
- data/spec/opal/core/language/versions/break_1.9.rb +0 -0
- data/spec/opal/core/language/versions/case_1.9.rb +20 -0
- data/spec/opal/core/language/versions/def_2_0_spec.rb +62 -0
- data/spec/opal/core/language/versions/hash_1.9.rb +18 -0
- data/spec/opal/core/language/versions/literal_lambda_1.9.rb +143 -0
- data/spec/opal/core/language/versions/not_1.9.rb +22 -0
- data/spec/opal/core/language/versions/send_1.9.rb +241 -0
- data/spec/opal/core/language/versions/symbol_1.9.rb +15 -0
- data/spec/opal/core/language/versions/variables_1.9.rb +8 -0
- data/spec/opal/core/language_spec.rb +23 -0
- data/spec/opal/core/method/to_proc_spec.rb +28 -0
- data/spec/opal/core/module/alias_method_spec.rb +28 -0
- data/spec/opal/core/module/ancestors_spec.rb +11 -0
- data/spec/opal/core/module/append_features_spec.rb +14 -0
- data/spec/opal/core/module/attr_accessor_spec.rb +26 -0
- data/spec/opal/core/module/const_defined_spec.rb +85 -0
- data/spec/opal/core/module/const_get_spec.rb +85 -0
- data/spec/opal/core/module/const_missing_spec.rb +17 -0
- data/spec/opal/core/module/const_set_spec.rb +64 -0
- data/spec/opal/core/module/constants_spec.rb +49 -0
- data/spec/opal/core/module/fixtures/classes.rb +434 -0
- data/spec/opal/core/module/method_defined_spec.rb +48 -0
- data/spec/opal/core/module/module_function_spec.rb +25 -0
- data/spec/opal/core/module/name_spec.rb +52 -0
- data/spec/opal/core/module/public_method_defined_spec.rb +18 -0
- data/spec/opal/core/module/remove_const_spec.rb +22 -0
- data/spec/opal/core/module/undef_method_spec.rb +66 -0
- data/spec/opal/core/numeric/bit_and_spec.rb +7 -0
- data/spec/opal/core/numeric/bit_or_spec.rb +8 -0
- data/spec/opal/core/numeric/bit_xor_spec.rb +6 -0
- data/spec/opal/core/numeric/ceil_spec.rb +8 -0
- data/spec/opal/core/numeric/chr_spec.rb +8 -0
- data/spec/opal/core/numeric/comparison_spec.rb +24 -0
- data/spec/opal/core/numeric/complement_spec.rb +8 -0
- data/spec/opal/core/numeric/divide_spec.rb +10 -0
- data/spec/opal/core/numeric/eql_spec.rb +9 -0
- data/spec/opal/core/numeric/exponent_spec.rb +33 -0
- data/spec/opal/core/numeric/floor_spec.rb +8 -0
- data/spec/opal/core/numeric/gt_spec.rb +11 -0
- data/spec/opal/core/numeric/gte_spec.rb +12 -0
- data/spec/opal/core/numeric/integer_spec.rb +9 -0
- data/spec/opal/core/numeric/left_shift_spec.rb +21 -0
- data/spec/opal/core/numeric/lt_spec.rb +11 -0
- data/spec/opal/core/numeric/lte_spec.rb +12 -0
- data/spec/opal/core/numeric/minus_spec.rb +8 -0
- data/spec/opal/core/numeric/modulo_spec.rb +19 -0
- data/spec/opal/core/numeric/multiply_spec.rb +9 -0
- data/spec/opal/core/numeric/next_spec.rb +9 -0
- data/spec/opal/core/numeric/ord_spec.rb +9 -0
- data/spec/opal/core/numeric/plus_spec.rb +8 -0
- data/spec/opal/core/numeric/pred_spec.rb +7 -0
- data/spec/opal/core/numeric/right_shift_spec.rb +25 -0
- data/spec/opal/core/numeric/step_spec.rb +11 -0
- data/spec/opal/core/numeric/succ_spec.rb +9 -0
- data/spec/opal/core/numeric/times_spec.rb +36 -0
- data/spec/opal/core/numeric/to_f_spec.rb +7 -0
- data/spec/opal/core/numeric/to_i_spec.rb +7 -0
- data/spec/opal/core/numeric/to_json_spec.rb +8 -0
- data/spec/opal/core/numeric/to_s_spec.rb +26 -0
- data/spec/opal/core/numeric/uminus_spec.rb +9 -0
- data/spec/opal/core/numeric/upto_spec.rb +19 -0
- data/spec/opal/core/numeric/zero_spec.rb +7 -0
- data/spec/opal/core/object_id_spec.rb +56 -0
- data/spec/opal/core/proc/call_spec.rb +21 -0
- data/spec/opal/core/proc/element_reference_spec.rb +21 -0
- data/spec/opal/core/proc/proc_tricks_spec.rb +7 -0
- data/spec/opal/core/runtime/begin_spec.rb +39 -0
- data/spec/opal/core/runtime/block_send_spec.rb +28 -0
- data/spec/opal/core/runtime/block_spec.rb +23 -0
- data/spec/opal/core/runtime/bridged_classes_spec.rb +111 -0
- data/spec/opal/core/runtime/constants_spec.rb +13 -0
- data/spec/opal/core/runtime/donate_spec.rb +53 -0
- data/spec/opal/core/runtime/eval_spec.rb +5 -0
- data/spec/opal/core/runtime/main_methods_spec.rb +27 -0
- data/spec/opal/core/runtime/method_missing_spec.rb +62 -0
- data/spec/opal/core/runtime/method_spec.rb +31 -0
- data/spec/opal/core/runtime/operator_call_spec.rb +13 -0
- data/spec/opal/core/runtime/paren_spec.rb +14 -0
- data/spec/opal/core/runtime/rescue_spec.rb +38 -0
- data/spec/opal/core/runtime/return_spec.rb +38 -0
- data/spec/opal/core/runtime/send_spec.rb +34 -0
- data/spec/opal/core/runtime/singleton_class_spec.rb +13 -0
- data/spec/opal/core/runtime/super_spec.rb +212 -0
- data/spec/opal/core/runtime/truthy_spec.rb +23 -0
- data/spec/opal/core/runtime/variables_spec.rb +20 -0
- data/spec/opal/core/runtime_spec.rb +58 -0
- data/spec/opal/core/source_map_spec.rb +15 -0
- data/spec/opal/core/string_spec.rb +11 -0
- data/spec/opal/stdlib/erb/erb_spec.rb +30 -0
- data/spec/opal/stdlib/erb/inline_block.opalerb +3 -0
- data/spec/opal/stdlib/erb/quoted.opalerb +1 -0
- data/spec/opal/stdlib/erb/simple.opalerb +1 -0
- data/spec/opal/stdlib/js_spec.rb +66 -0
- data/spec/opal/stdlib/json/ext_spec.rb +48 -0
- data/spec/opal/stdlib/json/parse_spec.rb +33 -0
- data/spec/opal/stdlib/native/alias_native_spec.rb +27 -0
- data/spec/opal/stdlib/native/each_spec.rb +13 -0
- data/spec/opal/stdlib/native/element_reference_spec.rb +16 -0
- data/spec/opal/stdlib/native/exposure_spec.rb +33 -0
- data/spec/opal/stdlib/native/ext_spec.rb +19 -0
- data/spec/opal/stdlib/native/initialize_spec.rb +17 -0
- data/spec/opal/stdlib/native/method_missing_spec.rb +51 -0
- data/spec/opal/stdlib/native/native_alias_spec.rb +19 -0
- data/spec/opal/stdlib/native/native_class_spec.rb +18 -0
- data/spec/opal/stdlib/native/native_module_spec.rb +13 -0
- data/spec/opal/stdlib/native/native_reader_spec.rb +22 -0
- data/spec/opal/stdlib/native/native_writer_spec.rb +30 -0
- data/spec/opal/stdlib/native/new_spec.rb +8 -0
- data/spec/opal/stdlib/promise/always_spec.rb +30 -0
- data/spec/opal/stdlib/promise/error_spec.rb +15 -0
- data/spec/opal/stdlib/promise/rescue_spec.rb +44 -0
- data/spec/opal/stdlib/promise/then_spec.rb +71 -0
- data/spec/opal/stdlib/promise/trace_spec.rb +52 -0
- data/spec/opal/stdlib/promise/value_spec.rb +15 -0
- data/spec/opal/stdlib/promise/when_spec.rb +34 -0
- data/spec/opal/stdlib/template/paths_spec.rb +10 -0
- data/spec/opal/stdlib/thread/mutex_spec.rb +40 -0
- data/spec/opal/stdlib/thread/thread_queue_spec.rb +32 -0
- data/spec/opal/stdlib/thread/thread_spec.rb +60 -0
- data/spec/rubyspecs +144 -0
- data/spec/spec_helper.rb +53 -0
- data/spec/support/mspec_rspec_adapter.rb +33 -0
- data/spec/support/parser_helpers.rb +37 -0
- data/stdlib/README.md +3 -0
- data/stdlib/base64.rb +152 -0
- data/stdlib/benchmark.rb +557 -0
- data/stdlib/buffer.rb +41 -0
- data/stdlib/buffer/array.rb +66 -0
- data/stdlib/buffer/view.rb +70 -0
- data/stdlib/date.rb +248 -0
- data/stdlib/delegate.rb +29 -0
- data/stdlib/dir.rb +1 -0
- data/stdlib/encoding.rb +170 -0
- data/stdlib/enumerator.rb +1 -0
- data/stdlib/erb.rb +16 -0
- data/stdlib/file.rb +1 -0
- data/stdlib/fileutils.rb +0 -0
- data/stdlib/forwardable.rb +71 -0
- data/stdlib/iconv.rb +0 -0
- data/stdlib/js.rb +56 -0
- data/stdlib/json.rb +190 -0
- data/stdlib/math.rb +370 -0
- data/stdlib/native.rb +530 -0
- data/stdlib/nodejs.rb +7 -0
- data/stdlib/nodejs/dir.rb +13 -0
- data/stdlib/nodejs/file.rb +98 -0
- data/stdlib/nodejs/fileutils.rb +26 -0
- data/stdlib/nodejs/io.rb +2 -0
- data/stdlib/nodejs/irb.rb +45 -0
- data/stdlib/nodejs/kernel.rb +33 -0
- data/stdlib/nodejs/node_modules/.bin/js-yaml +140 -0
- data/stdlib/nodejs/node_modules/glob/LICENSE +15 -0
- data/stdlib/nodejs/node_modules/glob/README.md +357 -0
- data/stdlib/nodejs/node_modules/glob/common.js +177 -0
- data/stdlib/nodejs/node_modules/glob/glob.js +649 -0
- data/stdlib/nodejs/node_modules/glob/node_modules/inflight/.eslintrc +17 -0
- data/stdlib/nodejs/node_modules/glob/node_modules/inflight/LICENSE +15 -0
- data/stdlib/nodejs/node_modules/glob/node_modules/inflight/README.md +37 -0
- data/stdlib/nodejs/node_modules/glob/node_modules/inflight/inflight.js +44 -0
- data/stdlib/nodejs/node_modules/glob/node_modules/inflight/node_modules/wrappy/LICENSE +15 -0
- data/stdlib/nodejs/node_modules/glob/node_modules/inflight/node_modules/wrappy/README.md +36 -0
- data/stdlib/nodejs/node_modules/glob/node_modules/inflight/node_modules/wrappy/package.json +52 -0
- data/stdlib/nodejs/node_modules/glob/node_modules/inflight/node_modules/wrappy/test/basic.js +51 -0
- data/stdlib/nodejs/node_modules/glob/node_modules/inflight/node_modules/wrappy/wrappy.js +33 -0
- data/stdlib/nodejs/node_modules/glob/node_modules/inflight/package.json +61 -0
- data/stdlib/nodejs/node_modules/glob/node_modules/inflight/test.js +97 -0
- data/stdlib/nodejs/node_modules/glob/node_modules/inherits/LICENSE +16 -0
- data/stdlib/nodejs/node_modules/glob/node_modules/inherits/README.md +42 -0
- data/stdlib/nodejs/node_modules/glob/node_modules/inherits/inherits.js +1 -0
- data/stdlib/nodejs/node_modules/glob/node_modules/inherits/inherits_browser.js +23 -0
- data/stdlib/nodejs/node_modules/glob/node_modules/inherits/package.json +51 -0
- data/stdlib/nodejs/node_modules/glob/node_modules/inherits/test.js +25 -0
- data/stdlib/nodejs/node_modules/glob/node_modules/minimatch/.npmignore +1 -0
- data/stdlib/nodejs/node_modules/glob/node_modules/minimatch/.travis.yml +4 -0
- data/stdlib/nodejs/node_modules/glob/node_modules/minimatch/LICENSE +23 -0
- data/stdlib/nodejs/node_modules/glob/node_modules/minimatch/README.md +216 -0
- data/stdlib/nodejs/node_modules/glob/node_modules/minimatch/benchmark.js +15 -0
- data/stdlib/nodejs/node_modules/glob/node_modules/minimatch/browser.js +1181 -0
- data/stdlib/nodejs/node_modules/glob/node_modules/minimatch/minimatch.js +845 -0
- data/stdlib/nodejs/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/.npmignore +2 -0
- data/stdlib/nodejs/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/.travis.yml +3 -0
- data/stdlib/nodejs/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/README.md +121 -0
- data/stdlib/nodejs/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/example.js +8 -0
- data/stdlib/nodejs/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/index.js +191 -0
- data/stdlib/nodejs/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match/.npmignore +2 -0
- data/stdlib/nodejs/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match/.travis.yml +4 -0
- data/stdlib/nodejs/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match/Makefile +6 -0
- data/stdlib/nodejs/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match/README.md +80 -0
- data/stdlib/nodejs/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match/example.js +5 -0
- data/stdlib/nodejs/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match/index.js +38 -0
- data/stdlib/nodejs/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match/package.json +73 -0
- data/stdlib/nodejs/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match/test/balanced.js +56 -0
- data/stdlib/nodejs/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/concat-map/.travis.yml +4 -0
- data/stdlib/nodejs/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/concat-map/LICENSE +18 -0
- data/stdlib/nodejs/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/concat-map/README.markdown +62 -0
- data/stdlib/nodejs/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/concat-map/example/map.js +6 -0
- data/stdlib/nodejs/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/concat-map/index.js +13 -0
- data/stdlib/nodejs/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/concat-map/package.json +83 -0
- data/stdlib/nodejs/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/concat-map/test/map.js +39 -0
- data/stdlib/nodejs/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/package.json +75 -0
- data/stdlib/nodejs/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/test/bash-comparison.js +32 -0
- data/stdlib/nodejs/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/test/bash-results.txt +1075 -0
- data/stdlib/nodejs/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/test/cases.txt +182 -0
- data/stdlib/nodejs/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/test/dollar.js +9 -0
- data/stdlib/nodejs/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/test/empty-option.js +10 -0
- data/stdlib/nodejs/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/test/generate.sh +24 -0
- data/stdlib/nodejs/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/test/negative-increment.js +15 -0
- data/stdlib/nodejs/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/test/nested.js +16 -0
- data/stdlib/nodejs/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/test/order.js +10 -0
- data/stdlib/nodejs/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/test/pad.js +13 -0
- data/stdlib/nodejs/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/test/same-type.js +7 -0
- data/stdlib/nodejs/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/test/sequence.js +50 -0
- data/stdlib/nodejs/node_modules/glob/node_modules/minimatch/package.json +60 -0
- data/stdlib/nodejs/node_modules/glob/node_modules/minimatch/test/basic.js +399 -0
- data/stdlib/nodejs/node_modules/glob/node_modules/minimatch/test/brace-expand.js +45 -0
- data/stdlib/nodejs/node_modules/glob/node_modules/minimatch/test/defaults.js +274 -0
- data/stdlib/nodejs/node_modules/glob/node_modules/minimatch/test/extglob-ending-with-state-char.js +8 -0
- data/stdlib/nodejs/node_modules/glob/node_modules/once/LICENSE +27 -0
- data/stdlib/nodejs/node_modules/glob/node_modules/once/README.md +51 -0
- data/stdlib/nodejs/node_modules/glob/node_modules/once/node_modules/wrappy/LICENSE +15 -0
- data/stdlib/nodejs/node_modules/glob/node_modules/once/node_modules/wrappy/README.md +36 -0
- data/stdlib/nodejs/node_modules/glob/node_modules/once/node_modules/wrappy/package.json +52 -0
- data/stdlib/nodejs/node_modules/glob/node_modules/once/node_modules/wrappy/test/basic.js +51 -0
- data/stdlib/nodejs/node_modules/glob/node_modules/once/node_modules/wrappy/wrappy.js +33 -0
- data/stdlib/nodejs/node_modules/glob/node_modules/once/once.js +21 -0
- data/stdlib/nodejs/node_modules/glob/node_modules/once/package.json +60 -0
- data/stdlib/nodejs/node_modules/glob/node_modules/once/test/once.js +23 -0
- data/stdlib/nodejs/node_modules/glob/package.json +72 -0
- data/stdlib/nodejs/node_modules/glob/sync.js +409 -0
- data/stdlib/nodejs/node_modules/js-yaml/HISTORY.md +277 -0
- data/stdlib/nodejs/node_modules/js-yaml/LICENSE +21 -0
- data/stdlib/nodejs/node_modules/js-yaml/README.md +288 -0
- data/stdlib/nodejs/node_modules/js-yaml/bin/js-yaml.js +140 -0
- data/stdlib/nodejs/node_modules/js-yaml/bower.json +23 -0
- data/stdlib/nodejs/node_modules/js-yaml/dist/js-yaml.js +3666 -0
- data/stdlib/nodejs/node_modules/js-yaml/dist/js-yaml.min.js +3 -0
- data/stdlib/nodejs/node_modules/js-yaml/examples/custom_types.js +102 -0
- data/stdlib/nodejs/node_modules/js-yaml/examples/custom_types.yml +18 -0
- data/stdlib/nodejs/node_modules/js-yaml/examples/dumper.js +31 -0
- data/stdlib/nodejs/node_modules/js-yaml/examples/dumper.json +22 -0
- data/stdlib/nodejs/node_modules/js-yaml/examples/sample_document.js +18 -0
- data/stdlib/nodejs/node_modules/js-yaml/examples/sample_document.yml +197 -0
- data/stdlib/nodejs/node_modules/js-yaml/index.js +7 -0
- data/stdlib/nodejs/node_modules/js-yaml/lib/js-yaml.js +39 -0
- data/stdlib/nodejs/node_modules/js-yaml/lib/js-yaml/common.js +62 -0
- data/stdlib/nodejs/node_modules/js-yaml/lib/js-yaml/dumper.js +554 -0
- data/stdlib/nodejs/node_modules/js-yaml/lib/js-yaml/exception.js +25 -0
- data/stdlib/nodejs/node_modules/js-yaml/lib/js-yaml/loader.js +1581 -0
- data/stdlib/nodejs/node_modules/js-yaml/lib/js-yaml/mark.js +78 -0
- data/stdlib/nodejs/node_modules/js-yaml/lib/js-yaml/schema.js +103 -0
- data/stdlib/nodejs/node_modules/js-yaml/lib/js-yaml/schema/core.js +18 -0
- data/stdlib/nodejs/node_modules/js-yaml/lib/js-yaml/schema/default_full.js +25 -0
- data/stdlib/nodejs/node_modules/js-yaml/lib/js-yaml/schema/default_safe.js +28 -0
- data/stdlib/nodejs/node_modules/js-yaml/lib/js-yaml/schema/failsafe.js +17 -0
- data/stdlib/nodejs/node_modules/js-yaml/lib/js-yaml/schema/json.js +25 -0
- data/stdlib/nodejs/node_modules/js-yaml/lib/js-yaml/type.js +61 -0
- data/stdlib/nodejs/node_modules/js-yaml/lib/js-yaml/type/binary.js +133 -0
- data/stdlib/nodejs/node_modules/js-yaml/lib/js-yaml/type/bool.js +37 -0
- data/stdlib/nodejs/node_modules/js-yaml/lib/js-yaml/type/float.js +110 -0
- data/stdlib/nodejs/node_modules/js-yaml/lib/js-yaml/type/int.js +183 -0
- data/stdlib/nodejs/node_modules/js-yaml/lib/js-yaml/type/js/function.js +85 -0
- data/stdlib/nodejs/node_modules/js-yaml/lib/js-yaml/type/js/regexp.js +84 -0
- data/stdlib/nodejs/node_modules/js-yaml/lib/js-yaml/type/js/undefined.js +27 -0
- data/stdlib/nodejs/node_modules/js-yaml/lib/js-yaml/type/map.js +8 -0
- data/stdlib/nodejs/node_modules/js-yaml/lib/js-yaml/type/merge.js +12 -0
- data/stdlib/nodejs/node_modules/js-yaml/lib/js-yaml/type/null.js +36 -0
- data/stdlib/nodejs/node_modules/js-yaml/lib/js-yaml/type/omap.js +56 -0
- data/stdlib/nodejs/node_modules/js-yaml/lib/js-yaml/type/pairs.js +61 -0
- data/stdlib/nodejs/node_modules/js-yaml/lib/js-yaml/type/seq.js +8 -0
- data/stdlib/nodejs/node_modules/js-yaml/lib/js-yaml/type/set.js +33 -0
- data/stdlib/nodejs/node_modules/js-yaml/lib/js-yaml/type/str.js +8 -0
- data/stdlib/nodejs/node_modules/js-yaml/lib/js-yaml/type/timestamp.js +98 -0
- data/stdlib/nodejs/node_modules/js-yaml/node_modules/.bin/esparse +117 -0
- data/stdlib/nodejs/node_modules/js-yaml/node_modules/.bin/esvalidate +177 -0
- data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/HISTORY.md +115 -0
- data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/LICENSE +21 -0
- data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/README.md +239 -0
- data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/examples/arguments.js +36 -0
- data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/examples/choice.js +22 -0
- data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/examples/constants.js +59 -0
- data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/examples/help.js +13 -0
- data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/examples/nargs.js +33 -0
- data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/examples/parents.js +28 -0
- data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/examples/prefix_chars.js +23 -0
- data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/examples/sub_commands.js +49 -0
- data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/examples/sum.js +35 -0
- data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/examples/testformatters.js +270 -0
- data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/index.js +1 -0
- data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/lib/action.js +146 -0
- data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/lib/action/append.js +55 -0
- data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/lib/action/append/constant.js +47 -0
- data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/lib/action/count.js +40 -0
- data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/lib/action/help.js +48 -0
- data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/lib/action/store.js +50 -0
- data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/lib/action/store/constant.js +43 -0
- data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/lib/action/store/false.js +27 -0
- data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/lib/action/store/true.js +26 -0
- data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/lib/action/subparsers.js +148 -0
- data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/lib/action/version.js +50 -0
- data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/lib/action_container.js +481 -0
- data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/lib/argparse.js +14 -0
- data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/lib/argument/error.js +50 -0
- data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/lib/argument/exclusive.js +54 -0
- data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/lib/argument/group.js +75 -0
- data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/lib/argument_parser.js +1168 -0
- data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/lib/const.js +18 -0
- data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/lib/help/added_formatters.js +88 -0
- data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/lib/help/formatter.js +798 -0
- data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/lib/namespace.js +77 -0
- data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/.npmignore +2 -0
- data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/.travis.yml +8 -0
- data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/README.markdown +825 -0
- data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/bower.json +33 -0
- data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/component.json +11 -0
- data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/foo.js +10 -0
- data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/gulpfile.js +26 -0
- data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/lib/underscore.string.js +673 -0
- data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/libpeerconnection.log +0 -0
- data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/package.json +107 -0
- data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/node_modules/underscore/LICENSE +23 -0
- data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/node_modules/underscore/README.md +22 -0
- data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/node_modules/underscore/package.json +69 -0
- data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/node_modules/underscore/underscore-min.js +6 -0
- data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/node_modules/underscore/underscore.js +1415 -0
- data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/package.json +62 -0
- data/stdlib/nodejs/node_modules/js-yaml/node_modules/esprima/README.md +73 -0
- data/stdlib/nodejs/node_modules/js-yaml/node_modules/esprima/bin/esparse.js +117 -0
- data/stdlib/nodejs/node_modules/js-yaml/node_modules/esprima/bin/esvalidate.js +177 -0
- data/stdlib/nodejs/node_modules/js-yaml/node_modules/esprima/esprima.js +3908 -0
- data/stdlib/nodejs/node_modules/js-yaml/node_modules/esprima/package.json +69 -0
- data/stdlib/nodejs/node_modules/js-yaml/node_modules/esprima/test/compat.js +239 -0
- data/stdlib/nodejs/node_modules/js-yaml/node_modules/esprima/test/reflect.js +422 -0
- data/stdlib/nodejs/node_modules/js-yaml/node_modules/esprima/test/run.js +66 -0
- data/stdlib/nodejs/node_modules/js-yaml/node_modules/esprima/test/runner.js +387 -0
- data/stdlib/nodejs/node_modules/js-yaml/node_modules/esprima/test/test.js +20238 -0
- data/stdlib/nodejs/node_modules/js-yaml/package.json +83 -0
- data/stdlib/nodejs/package.json +6 -0
- data/stdlib/nodejs/require.rb +30 -0
- data/stdlib/nodejs/rubygems.rb +68 -0
- data/stdlib/nodejs/yaml.rb +11 -0
- data/stdlib/observer.rb +202 -0
- data/stdlib/opal-parser.rb +54 -0
- data/stdlib/opal-source-maps.rb +2 -0
- data/stdlib/ostruct.rb +69 -0
- data/stdlib/pathname.rb +55 -0
- data/stdlib/phantomjs.rb +3 -0
- data/stdlib/pp.rb +35 -0
- data/stdlib/promise.rb +427 -0
- data/stdlib/racc/parser.rb +215 -0
- data/stdlib/rbconfig.rb +18 -0
- data/stdlib/securerandom.rb +12 -0
- data/stdlib/set.rb +170 -0
- data/stdlib/singleton.rb +40 -0
- data/stdlib/source_map.rb +5 -0
- data/stdlib/source_map/map.rb +220 -0
- data/stdlib/source_map/mapping.rb +26 -0
- data/stdlib/source_map/offset.rb +88 -0
- data/stdlib/source_map/version.rb +3 -0
- data/stdlib/source_map/vlq.rb +98 -0
- data/stdlib/sourcemap.rb +1 -0
- data/stdlib/stringio.rb +181 -0
- data/stdlib/strscan.rb +166 -0
- data/stdlib/template.rb +46 -0
- data/stdlib/thread.rb +164 -0
- data/stdlib/time.rb +9 -0
- data/stdlib/yaml.rb +1 -0
- data/tasks/benchmarking.rake +88 -0
- data/tasks/building.rake +58 -0
- data/tasks/documenting.rake +37 -0
- data/tasks/github.rake +19 -0
- data/tasks/linting.rake +18 -0
- data/tasks/testing.rake +125 -0
- data/vendored-minitest/minitest.rb +780 -0
- data/vendored-minitest/minitest/assertions.rb +662 -0
- data/vendored-minitest/minitest/autorun.rb +12 -0
- data/vendored-minitest/minitest/benchmark.rb +426 -0
- data/vendored-minitest/minitest/expectations.rb +281 -0
- data/vendored-minitest/minitest/hell.rb +11 -0
- data/vendored-minitest/minitest/mock.rb +220 -0
- data/vendored-minitest/minitest/parallel.rb +65 -0
- data/vendored-minitest/minitest/pride.rb +4 -0
- data/vendored-minitest/minitest/pride_plugin.rb +142 -0
- data/vendored-minitest/minitest/spec.rb +310 -0
- data/vendored-minitest/minitest/test.rb +293 -0
- data/vendored-minitest/minitest/unit.rb +45 -0
- data/vendored-minitest/test/unit.rb +28 -0
- metadata +1058 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 656f6a973e173e0bd5a50df20a8897162d94448c
|
4
|
+
data.tar.gz: 3f36e708f162370ad1f6d9ce690069eac5265158
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: fa31c2681ea73a1528173b7a0792daf3ceaaab09e1099828e1d892fd9414b3e07188cddaccd2938b5bc307ce060eb8a660957105ea15da95ed7e96b0a31e8697
|
7
|
+
data.tar.gz: 638f1d51d485b764d3344e2b8150e1f2e6538c73f183bddd2ef2dd79a1587a709ef6359e93a803071c76114570898f70d35179750722bb395214f38549107fa5
|
data/.gitignore
ADDED
data/.gitmodules
ADDED
data/.inch.yml
ADDED
@@ -0,0 +1,19 @@
|
|
1
|
+
# files:
|
2
|
+
# # define files included in the analysis (defaults to ["{app,lib}/**/*.rb"])
|
3
|
+
# included:
|
4
|
+
# - plugins/**/*.rb
|
5
|
+
# # define files excluded from the analysis (defaults to [])
|
6
|
+
# excluded:
|
7
|
+
# # you can use file paths
|
8
|
+
# - plugins/vendor/sparkr/sparkr.rb
|
9
|
+
# # or globs
|
10
|
+
# - plugins/vendor/**/*.rb
|
11
|
+
# # or regular expressions
|
12
|
+
# - !ruby/regexp /vendor/
|
13
|
+
|
14
|
+
|
15
|
+
files:
|
16
|
+
included:
|
17
|
+
- lib/**/*.rb
|
18
|
+
excluded:
|
19
|
+
- lib/opal/parser/grammar.rb
|
data/.jshintrc
ADDED
@@ -0,0 +1,48 @@
|
|
1
|
+
{
|
2
|
+
// http://jshint.com/docs/options
|
3
|
+
|
4
|
+
"curly" : true, // Require curly braces around blocks in loops and conditionals
|
5
|
+
"eqeqeq" : true, // Prohibit the use of == and != in favor of === and !==
|
6
|
+
"es3" : true, // Adhere to ECMAScript 3 specification
|
7
|
+
"forin" : true, // Require all for in loops to filter object's items (hasOwnProperty)
|
8
|
+
"latedef" : "nofunc", // Prohibit the use of a variable before it was defined (allow function declarations to be ignored)
|
9
|
+
"noarg" : true, // Prohibit the use of arguments.caller and arguments.callee
|
10
|
+
"undef" : true, // Prohibit the use of explicitly undeclared variables
|
11
|
+
"unused" : true, // Warn when you define and never use your variables
|
12
|
+
|
13
|
+
"globals": {
|
14
|
+
"Opal": true,
|
15
|
+
"OpalNode": true,
|
16
|
+
"callPhantom": true,
|
17
|
+
"JSON": true,
|
18
|
+
"Pippo": true
|
19
|
+
},
|
20
|
+
|
21
|
+
"browser": true,
|
22
|
+
"node": true,
|
23
|
+
|
24
|
+
// Currently the following checks are failing:
|
25
|
+
|
26
|
+
// To investigate:
|
27
|
+
"-W053": false, // Do not use String as a constructor
|
28
|
+
"-W069": false, // ['prop'] is better written in dot notation
|
29
|
+
"-W089": false, // The body of a for in should be wrapped in an if statement to filter unwanted properties from the prototype
|
30
|
+
|
31
|
+
// Compiler:
|
32
|
+
"-W021": false, // '$ClassName' is a function
|
33
|
+
"-W027": false, // Unreachable ';' after 'return'
|
34
|
+
"-W030": false, // Expected an assignment or function call and instead saw an expression
|
35
|
+
"-W032": false, // Unnecessary semicolon
|
36
|
+
"-W033": false, // Missing semicolon
|
37
|
+
"-W067": false, // Bad invocation
|
38
|
+
"-W083": false, // Don't make functions within a loop
|
39
|
+
"-W093": false, // Did you mean to return a conditional instead of an assignment?
|
40
|
+
"-W098": false, // 'variable' is defined but never used
|
41
|
+
"-W116": false, // Expected '===' and instead saw '=='
|
42
|
+
"-W120": false, // You might be leaking a variable ($ClassName) here
|
43
|
+
|
44
|
+
// Keeping these:
|
45
|
+
"-W061": false, // eval can be harmful
|
46
|
+
"-W086": false, // Expected a 'break' statement before 'case'
|
47
|
+
"-W100": false // This character may get silently deleted by one or more browsers
|
48
|
+
}
|
data/.rspec
ADDED
data/.spectator
ADDED
data/.spectator-mspec
ADDED
data/.travis.yml
ADDED
@@ -0,0 +1,60 @@
|
|
1
|
+
language: ruby
|
2
|
+
|
3
|
+
sudo: false
|
4
|
+
|
5
|
+
cache:
|
6
|
+
bundler: true
|
7
|
+
directories:
|
8
|
+
- /home/travis/.nvm/
|
9
|
+
|
10
|
+
matrix:
|
11
|
+
fast_finish: true
|
12
|
+
|
13
|
+
include:
|
14
|
+
- rvm: 2.2
|
15
|
+
env: RUN=default TZ="/usr/share/zoneinfo/Pacific/Fiji"
|
16
|
+
|
17
|
+
- rvm: 2.2
|
18
|
+
env: RUN=rspec TILT_VERSION=2.0.1
|
19
|
+
|
20
|
+
- rvm: 2.1
|
21
|
+
env: RUN=rspec
|
22
|
+
|
23
|
+
- rvm: 1.9.3
|
24
|
+
env: RUN=rspec
|
25
|
+
|
26
|
+
- rvm: 2.0.0
|
27
|
+
env: RUN="rspec mspec_phantom"
|
28
|
+
|
29
|
+
- rvm: rbx
|
30
|
+
env: RUN=rspec
|
31
|
+
|
32
|
+
- rvm: jruby
|
33
|
+
env: RUN=rspec
|
34
|
+
|
35
|
+
- rvm: jruby-head
|
36
|
+
env: RUN=rspec
|
37
|
+
|
38
|
+
allow_failures:
|
39
|
+
- rvm: 1.9.3
|
40
|
+
- rvm: rbx
|
41
|
+
- rvm: jruby
|
42
|
+
- rvm: jruby-head
|
43
|
+
|
44
|
+
|
45
|
+
before_install:
|
46
|
+
# Keep track of which version of node and phantomjs we're running the specs against
|
47
|
+
- node -v
|
48
|
+
- phantomjs -v
|
49
|
+
- git submodule update --init
|
50
|
+
- npm install -g jshint
|
51
|
+
|
52
|
+
script:
|
53
|
+
- "bundle exec rake $RUN"
|
54
|
+
|
55
|
+
notifications:
|
56
|
+
irc: "irc.freenode.org#opal"
|
57
|
+
webhooks:
|
58
|
+
urls:
|
59
|
+
- https://webhooks.gitter.im/e/2ea12333adebda0c2289
|
60
|
+
|
data/.yardopts
ADDED
data/CHANGELOG.md
ADDED
@@ -0,0 +1,571 @@
|
|
1
|
+
## 0.9.0 (edge)
|
2
|
+
|
3
|
+
## 0.8.0 2015-07-16
|
4
|
+
|
5
|
+
* Update to Sprockets v3.0.
|
6
|
+
|
7
|
+
* Delegate dependency management directly to Sprockets (when used) making sourcemaps swift again.
|
8
|
+
This means code generated by sprockets will always need to be bootstrapped via `Opal.load` or `Opal.require`.
|
9
|
+
Luckily `Opal::Processor.load_asset_code(sprockets, name)` does just that in the right way.
|
10
|
+
|
11
|
+
* Enable operator inlining by default in the compiler.
|
12
|
+
|
13
|
+
* Fix `Promise#always`.
|
14
|
+
|
15
|
+
* Update to Sprockets v3.0.
|
16
|
+
|
17
|
+
* Delegate dependency management directly to Sprockets (when used) making sourcemaps swift again.
|
18
|
+
This means code generated by sprockets will always need to be bootstrapped via `Opal.load` or `Opal.require`.
|
19
|
+
Luckily `Opal::Processor.load_asset_code(sprockets, name)` does just that in the right way.
|
20
|
+
|
21
|
+
* Enable operator inlining by default in the compiler.
|
22
|
+
|
23
|
+
* Fix `Promise#always`.
|
24
|
+
|
25
|
+
* Fix `String#split` when no match is found and a limit is provided
|
26
|
+
|
27
|
+
* Fix `require_tree(".")` when used from file at the root of the assets paths
|
28
|
+
|
29
|
+
* `Hash[]` implementation fully compliant with rubyspec
|
30
|
+
|
31
|
+
* Removed `minitest` from stdlib. It's not part of MRI and it never belonged there, checkout the `opal-minitest` gem instead.
|
32
|
+
|
33
|
+
* Parser: Allow trailing comma in paren arglists, after normal args as
|
34
|
+
well as assoc args.
|
35
|
+
|
36
|
+
* Parser: Fix parsing of parens following divide operator without a
|
37
|
+
space.
|
38
|
+
|
39
|
+
* Parser: Fix bug where keyword arguments could not be parsed if
|
40
|
+
method definition did not have parens around arguments.
|
41
|
+
|
42
|
+
* Newly compliant with RubySpec:
|
43
|
+
* `Array#bsearch`
|
44
|
+
* `Array#combination`
|
45
|
+
* `Array#permutation`
|
46
|
+
* `Array#product`
|
47
|
+
* `Array#rotate!`
|
48
|
+
* `Array#rotate`
|
49
|
+
* `Array#sample`
|
50
|
+
* `Array#to_h`
|
51
|
+
* `Array#values_at`
|
52
|
+
* `Array#zip`
|
53
|
+
* `Enumerator#with_index`
|
54
|
+
* `Kernel#===`
|
55
|
+
* `Kernel#Array`
|
56
|
+
* `Kernel#Float`
|
57
|
+
* `Kernel#Hash`
|
58
|
+
* `Kernel#Integer`
|
59
|
+
* `Kernel#String`
|
60
|
+
* `Kernel#format`
|
61
|
+
* `Kernel#sprintf`
|
62
|
+
* `MatchData#==`
|
63
|
+
* `MatchData#eql?`
|
64
|
+
* `MatchData#values_at`
|
65
|
+
* `Module#instance_methods`
|
66
|
+
* `Regexp#match`
|
67
|
+
* `String#%`
|
68
|
+
* `String#===`
|
69
|
+
* `String#==`
|
70
|
+
* `String#[]`
|
71
|
+
* `String#each_line`
|
72
|
+
* `String#eql?`
|
73
|
+
* `String#index`
|
74
|
+
* `String#inspect`
|
75
|
+
* `String#lines`
|
76
|
+
* `String#match`
|
77
|
+
* `String#next`
|
78
|
+
* `String#oct`
|
79
|
+
* `String#scan`
|
80
|
+
* `String#slice`
|
81
|
+
* `String#split`
|
82
|
+
* `String#succ`
|
83
|
+
* `String#to_i`
|
84
|
+
* `String#try_convert`
|
85
|
+
|
86
|
+
* Misc corelib fixes:
|
87
|
+
* `Module#const_get` accepts a scoped constant name
|
88
|
+
* `Regexp#===` sets global match data vars
|
89
|
+
|
90
|
+
## 0.7.2 2015-04-23
|
91
|
+
|
92
|
+
* Remove Sprockets 3.0 support (focus moved to upcoming 0.8)
|
93
|
+
|
94
|
+
* Fix version number consistency.
|
95
|
+
|
96
|
+
## 0.7.1 2015-02-14
|
97
|
+
|
98
|
+
* CLI options `-d` and `-v` now set respectively `$DEBUG` and `$VERBOSE`
|
99
|
+
|
100
|
+
* Fixed a bug that would make the `-v` CLI option wait for STDIN input
|
101
|
+
|
102
|
+
* Add the `-E` / `--no-exit` CLI option to skip implicit `Kernel#exit` call
|
103
|
+
|
104
|
+
* Now the CLI implicitly calls `Kernel#exit` at the end of the script, thus making `at_exit` blocks be respected.
|
105
|
+
|
106
|
+
## 0.7.0 2015-02-01
|
107
|
+
|
108
|
+
* Stop keyword-arg variable names leaking to global javascript scope
|
109
|
+
|
110
|
+
* `Class#native_class` now also exposes `MyClass.new` (Ruby) as `Opal.global.MyClass.new()` (JS)
|
111
|
+
|
112
|
+
* Add CRuby (MRI) tests harness to start checking Opal against them too.
|
113
|
+
|
114
|
+
* Add Minitest to the stdlib.
|
115
|
+
|
116
|
+
* Add `Date#<=>` with specs.
|
117
|
+
|
118
|
+
* Show extended info and context upon parsing, compiling and building errors.
|
119
|
+
|
120
|
+
* Support keyword arguments in method calls and definitions.
|
121
|
+
|
122
|
+
* Fix `begin`/`rescue` blocks to evaluate to last expression.
|
123
|
+
|
124
|
+
* Add support for `RUBY_ENGINE/RUBY_PLATFORM != "opal"` pre-processor directives.
|
125
|
+
|
126
|
+
if RUBY_ENGINE != "opal"
|
127
|
+
# this code never compiles
|
128
|
+
end
|
129
|
+
|
130
|
+
* Fix donating methods defined in modules. This ensures that if a class includes more than one module, then the methods defined on the class respect the order in which the modules are included.
|
131
|
+
|
132
|
+
* Improved support for recursive `Hash` for both `#inspect` and `#hash`.
|
133
|
+
|
134
|
+
* Optimized `Hash` implementation for `String` and `Symbol`, they have a separate hash-table in which they're used as both keys and hashes.
|
135
|
+
|
136
|
+
* Added real `#hash` / `eql?` support, previously was relying on `.toString()`.
|
137
|
+
|
138
|
+
* `String#to_proc` now uses `__send__` instead of `send` for calling
|
139
|
+
methods on receivers.
|
140
|
+
|
141
|
+
* Deprecated `Opal::Sprockets::Environment`. It can easily be replaced by `Opal::Server` or by appending `Opal.paths` to a `Sprockets::Environment`:
|
142
|
+
|
143
|
+
Sprockets::Environment.new.tap { |e| Opal.paths.each {|p| e.append_path(p)} }
|
144
|
+
|
145
|
+
* Add `Set` methods `#classify`, `#collect!`, `#map!`, `#subtract` `#replace`,
|
146
|
+
`#difference` and `#eql?`
|
147
|
+
|
148
|
+
* Support `module_function` without args to toggle module functions.
|
149
|
+
|
150
|
+
* Fix bug where command calls with no space and sym arg were incorrectly parsed.
|
151
|
+
|
152
|
+
* Add some `StringScanner` methods.
|
153
|
+
|
154
|
+
* Add `Date#<<` and `Date#>>` implementations.
|
155
|
+
|
156
|
+
* Support nested directories using `require_tree` directive.
|
157
|
+
|
158
|
+
* Fix bug where Exception subclasses could not have methods defined on them.
|
159
|
+
|
160
|
+
* Fix symbols with interpolations `:"#{foo}"`
|
161
|
+
|
162
|
+
* Implement $1..N matchers and rewrite support for $~, $', $& and $\`.
|
163
|
+
|
164
|
+
* Implement `Regexp.last_match`.
|
165
|
+
|
166
|
+
* Fixed `-@` unary op. precedence with a numeric and followed by a method call (e.g. `-1.foo` was parsed as `-(1.foo)`)
|
167
|
+
|
168
|
+
* `require_relative` (with strings) is now preprocessed, expanded and added to `Compiler#requires`
|
169
|
+
|
170
|
+
* Rewritten the require system to respect requires position (previously all the requires were stacked up at the top of the file)
|
171
|
+
|
172
|
+
* Implement for-loop syntax
|
173
|
+
|
174
|
+
* Add Array#|
|
175
|
+
|
176
|
+
* Fix Range.new to raise `ArgumentError` on contructor values that cannot
|
177
|
+
be compared
|
178
|
+
|
179
|
+
* Fix compiler bug where Contiguous strings were not getting concatenated.
|
180
|
+
|
181
|
+
* Cleanup generated code for constant access. All constant lookups now go through `$scope.get('CONST_NAME')` to produce cleaner code and a unified place for const missing dispatch.
|
182
|
+
|
183
|
+
* Remove `const_missing` option from compiler. All constant lookups are now strict.
|
184
|
+
|
185
|
+
* Add initial support for Module#autoload.
|
186
|
+
|
187
|
+
* Fix `Enumerator#with_index`, `Numeric#round`.
|
188
|
+
|
189
|
+
## 0.6.2 2014-04-25
|
190
|
+
|
191
|
+
* Added Range#size
|
192
|
+
|
193
|
+
* `opal` executable now reads STDIN when no file or `-e` are passed
|
194
|
+
|
195
|
+
* `opal` executable doesn't exit after showing version on `-v` if other options are passed
|
196
|
+
|
197
|
+
* (Internal) improved the mspec runner
|
198
|
+
|
199
|
+
## 0.6.1 2014-04-15
|
200
|
+
|
201
|
+
* Updated RubySpecs to master and added `rubysl-*` specs. Thanks to Mike Owens (@mieko)
|
202
|
+
|
203
|
+
* Added `Kernel#require_remote(url)` in `opal-parser` that requires files with basic synchronous ajax
|
204
|
+
GET requests. It is used to load `<scripts type="text/ruby" src="…url…">`.
|
205
|
+
|
206
|
+
* Various parsing fixes (Hash parsing, `def` returns method name, cleanup `core/util`, Enumerator fixes)
|
207
|
+
|
208
|
+
* Added `#native_reader`, `#native_writer` and `#native_accessor`as class methods
|
209
|
+
donated by `include Native`
|
210
|
+
|
211
|
+
* Added specs for Sprockets' processors (both .js.rb and .opalerb), backported from `opal-rails`
|
212
|
+
|
213
|
+
* Set 2.1.1 as RUBY_VERSION
|
214
|
+
|
215
|
+
* Add `opal-build` command utility to easily build libraries to js
|
216
|
+
|
217
|
+
* Add `opal-repl` to gemspec executables,
|
218
|
+
previously was only available by using Opal from source
|
219
|
+
|
220
|
+
* Fix parsing `=>` in hash literals where it would sometimes incorrectly
|
221
|
+
parse as a key name.
|
222
|
+
|
223
|
+
## 0.6.0 2014-03-05
|
224
|
+
|
225
|
+
* Fix parsing of escapes in single-strings ('foo\n'). Only ' and \
|
226
|
+
characters now get escaped in single quoted strings. Also, more escape
|
227
|
+
sequences in double-quoted strings are now supported: `\a`, `\v`, `\f`,
|
228
|
+
`\e`, `\s`, octal (`\314`), hex (`\xff`) and unicode (`\u1234`).
|
229
|
+
|
230
|
+
* Sourcemaps revamp. Lexer now tracks column and line info for every token to
|
231
|
+
produce much more accurate sourcemaps. All method calls are now located on
|
232
|
+
the correct source line, and multi-line xstrings are now split to generate
|
233
|
+
a map line-to-line for long inline javascript parts.
|
234
|
+
|
235
|
+
* Merged sprockets support from `opal-sprockets` directly into Opal. For the
|
236
|
+
next release, the exernal `opal-sprockets` gem is no longer needed. This
|
237
|
+
commit adds `Opal::Processor`, `Opal::Server` and `Opal::Environment`.
|
238
|
+
|
239
|
+
* Introduce pre-processed if directives to hide code from Opal. Two special
|
240
|
+
constant checks now take place in the compiler. Either `RUBY_ENGINE` or
|
241
|
+
`RUBY_PLATFORM` when `== "opal"`. Both if and unless statements can pick
|
242
|
+
up these logic checks:
|
243
|
+
|
244
|
+
if RUBY_ENGINE == "opal"
|
245
|
+
# this code compiles
|
246
|
+
else
|
247
|
+
# this code never compiles
|
248
|
+
end
|
249
|
+
|
250
|
+
Unless:
|
251
|
+
|
252
|
+
unless RUBY_ENGINE == "opal"
|
253
|
+
# this code never compiles
|
254
|
+
end
|
255
|
+
|
256
|
+
This is particularly useful for avoiding `require()` statements being
|
257
|
+
picked up, which are included at compile time.
|
258
|
+
|
259
|
+
* Add special `debugger` method to compiler. Compiles down to javascript
|
260
|
+
`debugger` keyword to start in-browser debug console.
|
261
|
+
|
262
|
+
* Add missing string escapes to `read_escape` in lexer. Now most ruby escape
|
263
|
+
sequences are properly detected and handled in string parsing.
|
264
|
+
|
265
|
+
* Disable escapes inside x-strings. This means no more double escaping all
|
266
|
+
characters in x-strings and backticks. (`\n` => `\n`).
|
267
|
+
|
268
|
+
* Add `time.rb` to stdlib and moved `Time.parse()` and `Time.iso8601()`
|
269
|
+
methods there.
|
270
|
+
|
271
|
+
* `!` is now treated as an unary method call on the object. Opal now parsed
|
272
|
+
`!` as a def method name, and implements the method on `BasicObject`,
|
273
|
+
`NilClass` and `Boolean`.
|
274
|
+
|
275
|
+
* Fixed bug where true/false as object literals from javascript were not
|
276
|
+
correctly being detected as truthy/falsy respectively. This is due to the
|
277
|
+
javascript "feature" where `new Boolean(false) !== false`.
|
278
|
+
|
279
|
+
* Moved `native.rb` to stdlib. Native support must now be explicitly required
|
280
|
+
into Opal. `Native` is also now a module, instead of a top level class.
|
281
|
+
Also added `Native::Object#respond_to?`.
|
282
|
+
|
283
|
+
* Remove all core `#as_json()` methods from `json.rb`. Added them externally
|
284
|
+
to `opal-activesupport`.
|
285
|
+
|
286
|
+
* `Kernel#respond_to?` now calls `#respond_to_missing?` for compliance.
|
287
|
+
|
288
|
+
* Fix various `String` methods and add relevant rubyspecs for them. `#chars`,
|
289
|
+
`#to_f`, `#clone`, `#split`.
|
290
|
+
|
291
|
+
* Fix `Array` method compliance: `#first`, `#fetch`, `#insert`, `#delete_at`,
|
292
|
+
`#last`, `#splice`, `.try_convert`.
|
293
|
+
|
294
|
+
* Fix compliance of `Kernel#extend` and ensure it calls `#extended()` hook.
|
295
|
+
|
296
|
+
* Fix bug where sometimes the wrong regexp flags would be generated in the
|
297
|
+
output javascript.
|
298
|
+
|
299
|
+
* Support parsing `__END__` constructs in ruby code, inside the lexer. The
|
300
|
+
content is gathered up by use of the parser. The special constant `DATA`
|
301
|
+
is then available inside the ruby code to read the content.
|
302
|
+
|
303
|
+
* Support single character strings (using ? prefix) with escaped characters.
|
304
|
+
|
305
|
+
* Fix lexer to detect dereferencing on local variables even when whitespace
|
306
|
+
is present (`a = 0; a [0]` parses as a deference on a).
|
307
|
+
|
308
|
+
* Fix various `Struct` methods. Fixed `#each` and `#each_pair` to return
|
309
|
+
self. Add `Struct.[]` as synonym for `Struct.new`.
|
310
|
+
|
311
|
+
* Implemented some `Enumerable` methods: `#collect_concat`, `#flat_map`,
|
312
|
+
`#reject`, `#reverse_each`, `#partition` and `#zip`.
|
313
|
+
|
314
|
+
* Support any Tilt template for `index_path` in `Opal::Server`. All index
|
315
|
+
files are now run through `Tilt` (now supports haml etc).
|
316
|
+
|
317
|
+
* Fix code generation of `op_asgn_1` calls (`foo[val] += 10`).
|
318
|
+
|
319
|
+
* Add `base64` to stdlib.
|
320
|
+
|
321
|
+
* Add promises implementation to stdlib.
|
322
|
+
|
323
|
+
* Add `Math` module to corelib.
|
324
|
+
|
325
|
+
* Use `//#` instead of `//@` deprecated syntax for sourceMappingURL.
|
326
|
+
|
327
|
+
* Implicitly require `erb` from stdlib when including erb templates.
|
328
|
+
|
329
|
+
* Fix `Regexp.escape` to also escape '(' character.
|
330
|
+
|
331
|
+
* Support '<' and '>' as matching pairs in string boundrys `%q<hi>`.
|
332
|
+
|
333
|
+
* `Opal::Server` no longer searches for an index file if not specified.
|
334
|
+
|
335
|
+
* Move `Math` and `Encoding` to stdlib. Can be required using
|
336
|
+
`require 'math'`, etc.
|
337
|
+
|
338
|
+
* Fix some stdlib `Date` methods.
|
339
|
+
|
340
|
+
* Fix `Regexp.escape` to properly escape \n, \t, \r, \f characters.
|
341
|
+
|
342
|
+
* Add `Regexp.quote` as an alias of `escape`.
|
343
|
+
|
344
|
+
## 0.5.5 2013-11-25
|
345
|
+
|
346
|
+
* Fix regression: add `%i[foo bar]` style words back to lexer
|
347
|
+
|
348
|
+
* Move corelib from `opal/core` to `opal/corelib`. This stops files in
|
349
|
+
`core/` clashing with user files.
|
350
|
+
|
351
|
+
## 0.5.4 2013-11-20
|
352
|
+
|
353
|
+
* Reverted `RUBY_VERSION` to `1.9.3`. Opal `0.6.0` will be the first release
|
354
|
+
for `2.0.0`.
|
355
|
+
|
356
|
+
## 0.5.3 2013-11-12
|
357
|
+
|
358
|
+
* Opal now targets ruby 2.0.0
|
359
|
+
|
360
|
+
* Named function inside class body now generates with `$` prefix, e.g.
|
361
|
+
`$MyClass`. This makes it easier to wrap/bridge native functions.
|
362
|
+
|
363
|
+
* Support Array subclasses
|
364
|
+
|
365
|
+
* Various fixes to `String`, `Kernel` and other core classes
|
366
|
+
|
367
|
+
* Fix `Method#call` to use correct receiver
|
368
|
+
|
369
|
+
* Fix `Module#define_method` to call `#to_proc` on explicit argument
|
370
|
+
|
371
|
+
* Fix `super()` dispatches on class methods
|
372
|
+
|
373
|
+
* Support `yield()` calls from inside a block (inside a method)
|
374
|
+
|
375
|
+
* Cleanup string parsing inside lexer
|
376
|
+
|
377
|
+
* Cleanup parser/lexer to use `t` and `k` prefixes for all tokens
|
378
|
+
|
379
|
+
## 0.5.2 2013-11-11
|
380
|
+
|
381
|
+
* Include native into corelib for 0.5.x
|
382
|
+
|
383
|
+
## 0.5.1 2013-11-10
|
384
|
+
|
385
|
+
* Move all corelib under `core/` directory to prevent filename clashes with
|
386
|
+
`require`
|
387
|
+
|
388
|
+
* Move `native.rb` into stdlib - must now be explicitly required
|
389
|
+
|
390
|
+
* Implement `BasicObject#__id__`
|
391
|
+
|
392
|
+
* Cleanup and fix various `Enumerable` methods
|
393
|
+
|
394
|
+
## 0.5.0 2013-11-03
|
395
|
+
|
396
|
+
* WIP: https://gist.github.com/elia/7747460
|
397
|
+
|
398
|
+
## 0.4.2 2013-07-03
|
399
|
+
|
400
|
+
* Added `Kernel#rand`. (fntzr)
|
401
|
+
|
402
|
+
* Restored the `bin/opal` executable in gemspec.
|
403
|
+
|
404
|
+
* Now `.valueOf()` is used in `#to_n` of Boolean, Numeric, Regexp and String
|
405
|
+
to return the naked JavaScript value instead of a wrapping object.
|
406
|
+
|
407
|
+
* Parser now wraps or-ops in paranthesis to stop variable order from
|
408
|
+
leaking out when minified by uglify. We now have code in this
|
409
|
+
format: `(((tmp = lhs) !== false || !==nil) ? tmp : rhs)`.
|
410
|
+
|
411
|
+
## 0.4.1 2013-06-16
|
412
|
+
|
413
|
+
* Move sprockets logic out to external opal-sprockets gem. That now
|
414
|
+
handles the compiling and loading of opal files in sprockets.
|
415
|
+
|
416
|
+
## 0.4.0 2013-06-15
|
417
|
+
|
418
|
+
* Added fragments to parser. All parser methods now generate one or
|
419
|
+
more Fragments which store the original sexp. This allows us to
|
420
|
+
enumerate over them after parsing to map generated lines back to
|
421
|
+
original line numbers.
|
422
|
+
|
423
|
+
* Reverted `null` for `nil`. Too buggy at this time.
|
424
|
+
|
425
|
+
* Add Opal::SprocketsParser as Parser subclass for handling parsing
|
426
|
+
for sprockets environment. This subclass handles require statements
|
427
|
+
and stores them for sprockets to use.
|
428
|
+
|
429
|
+
* Add :irb option to parser to keep top level lvars stored inside
|
430
|
+
opal runtime so that an irb session can be persisted and maintain
|
431
|
+
access to local variables.
|
432
|
+
|
433
|
+
* Add Opal::Environment#use_gem() helper to add a gem to opals load
|
434
|
+
path.
|
435
|
+
|
436
|
+
* Stop pre-setting ivars to `nil`. This is no longer needed as `nil`
|
437
|
+
is now `null` or `undefined`.
|
438
|
+
|
439
|
+
* Use `null` as `nil` in opal. This allows us to send methods to
|
440
|
+
`null` and `undefined`, and both act as `nil`. This makes opal a
|
441
|
+
much better javascript citizen. **REVERTED**
|
442
|
+
|
443
|
+
* Add Enumerable#none? with specs.
|
444
|
+
|
445
|
+
* Add Opal.block_send() runtime helper for sending methods to an
|
446
|
+
object which uses a block.
|
447
|
+
|
448
|
+
* Remove \_klass variable for denoting ruby classes, and use
|
449
|
+
constructor instead. constructor is a javascript property used for
|
450
|
+
the same purpose, and this makes opal fit in as a better js citizen.
|
451
|
+
|
452
|
+
* Add Class.bridge\_class method to bridge a native constructor into an
|
453
|
+
opal class which will set it up with all methods from Object, as
|
454
|
+
well as giving it a scope and name.
|
455
|
+
|
456
|
+
* Added native #[]= and #to_h methods, for setting properties and
|
457
|
+
converting to a hash respectivaly.
|
458
|
+
|
459
|
+
* Fix bug where '::' was parsed as :colon2 instead of :colon3 when in
|
460
|
+
an args scope. Fixes #213
|
461
|
+
|
462
|
+
* Remove lots of properties added to opal classes. This makes normal
|
463
|
+
js constructors a lot closer to opal classes, making is easier to
|
464
|
+
treat js classes as opal classes.
|
465
|
+
|
466
|
+
* Merge Hash.from_native into Hash.new
|
467
|
+
|
468
|
+
## 0.3.44 2013-05-31
|
469
|
+
|
470
|
+
* Cleanup runtime, and remove various flags and functions from opal
|
471
|
+
objects and classes (moving them to runtime methods).
|
472
|
+
|
473
|
+
* Remove some activesupport methods into external lib.
|
474
|
+
|
475
|
+
* Add/fix lots of String methods, with specs.
|
476
|
+
|
477
|
+
* Add more methods to MatchData class.
|
478
|
+
|
479
|
+
* Implement $' and $` variables.
|
480
|
+
|
481
|
+
* Opal can now call methods on all native objects, via method missing
|
482
|
+
dispatcher.
|
483
|
+
|
484
|
+
* Add Opal::Environment as custom sprockets subclass which adds all
|
485
|
+
opal load paths automatically.
|
486
|
+
|
487
|
+
## 0.3.43 2013-05-02
|
488
|
+
|
489
|
+
* Stop inlining respond_to? inside the parser. This now fully respects
|
490
|
+
an object overriding respond_to?.
|
491
|
+
|
492
|
+
* Expose `Opal.eval()` function when parser is loaded for parsing
|
493
|
+
and running strings of ruby code.
|
494
|
+
|
495
|
+
* Add erb to corelib (as well as compiler to gem lib). ERB files with
|
496
|
+
.opalerb extension will automatically be compiled into Template
|
497
|
+
constant.
|
498
|
+
|
499
|
+
* Added some examples into examples/ dir.
|
500
|
+
|
501
|
+
* Add Opal.send() javascript function for sending methods to ruby
|
502
|
+
objects.
|
503
|
+
|
504
|
+
* Native class for wrapping and interacting with native objects and
|
505
|
+
function calls.
|
506
|
+
|
507
|
+
* Add local_storage to stdlib as a basic wrapper around localStorage.
|
508
|
+
|
509
|
+
* Make method_missing more performant by reusing same dispatch function
|
510
|
+
instead of reallocating one for each run.
|
511
|
+
|
512
|
+
* Fix Kernel#format to work in firefox. String.prototype.replace() had
|
513
|
+
different semantics for empty matching groups which was breaking
|
514
|
+
Kernel#format.
|
515
|
+
|
516
|
+
## 0.3.42 2013-03-21
|
517
|
+
|
518
|
+
* Fix/add lots of language specs.
|
519
|
+
|
520
|
+
* Seperate sprockets support out to opal-sprockets gem.
|
521
|
+
|
522
|
+
* Support %r[foo] style regexps.
|
523
|
+
|
524
|
+
* Use mspec to run specs on corelib and runtime. Rubyspecs are now
|
525
|
+
used, where possible to be as compliant as possible.
|
526
|
+
|
527
|
+
## 0.3.41 2013-02-26
|
528
|
+
|
529
|
+
* Remove bin/opal - no longer required for building sources.
|
530
|
+
|
531
|
+
* Depreceate Opal::Environment. The Opal::Server class provides a better
|
532
|
+
method of using the opal load paths. Opal.paths still stores a list of
|
533
|
+
load paths for generic sprockets based apps to use.
|
534
|
+
|
535
|
+
## 0.3.40 2013-02-23
|
536
|
+
|
537
|
+
* Add Opal::Server as an easy to configure rack server for testing and
|
538
|
+
running Opal based apps.
|
539
|
+
|
540
|
+
* Added optional arity check mode for parser. When turned on, every method
|
541
|
+
will have code which checks the argument arity. Off by default.
|
542
|
+
|
543
|
+
* Exception subclasses now relfect their name in webkit/firefox debuggers
|
544
|
+
to show both their class name and message.
|
545
|
+
|
546
|
+
* Add Class#const_set. Trying to access undefined constants by a literal
|
547
|
+
constant will now also raise a NameError.
|
548
|
+
|
549
|
+
## 0.3.39 2013-02-20
|
550
|
+
|
551
|
+
* Fix bug where methods defined on a parent class after subclass was defined
|
552
|
+
would not given subclass access to method. Subclasses are now also tracked
|
553
|
+
by superclass, by a private '_inherited' property.
|
554
|
+
|
555
|
+
* Fix bug where classes defined by `Class.new` did not have a constant scope.
|
556
|
+
|
557
|
+
* Move Date out of opal.rb loading, as it is part of stdlib not corelib.
|
558
|
+
|
559
|
+
* Fix for defining methods inside metaclass, or singleton_class scopes.
|
560
|
+
|
561
|
+
## 0.3.38 2013-02-13
|
562
|
+
|
563
|
+
* Add Native module used for wrapping objects to forward calls as native
|
564
|
+
calls.
|
565
|
+
|
566
|
+
* Support method_missing for all objects. Feature can be enabled/disabled on
|
567
|
+
Opal::Processor.
|
568
|
+
|
569
|
+
* Hash can now use any ruby object as a key.
|
570
|
+
|
571
|
+
* Move to Sprockets based building via `Opal::Processor`.
|