opal 0.10.0 → 0.11.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 +4 -4
- data/.codeclimate.yml +19 -0
- data/.gitmodules +1 -1
- data/.jshintrc +1 -2
- data/.rspec +1 -2
- data/.travis.yml +42 -20
- data/.yardopts +3 -1
- data/CHANGELOG.md +164 -1
- data/Gemfile +16 -9
- data/HACKING.md +4 -2
- data/README.md +11 -11
- data/Rakefile +1 -1
- data/appveyor.yml +29 -0
- data/benchmark/bm_constant_lookup_big.rb +799 -0
- data/benchmark/bm_constant_lookup_small.rb +59 -0
- data/benchmark/bm_module_definition_big.rb +400 -0
- data/benchmark/bm_module_definition_small.rb +30 -0
- data/benchmark-ips/bm_case.rb +33 -0
- data/benchmark-ips/bm_constants_lookup.rb +13 -0
- data/benchmark-ips/bm_is_number.rb +29 -0
- data/benchmark-ips/bm_symbol_to_proc.rb +19 -0
- data/bin +1 -0
- data/docs/compiled_ruby.md +16 -14
- data/docs/faq.md +3 -3
- data/docs/headless_chrome.md +105 -0
- data/docs/rspec.md +4 -20
- data/docs/unsupported_features.md +6 -4
- data/examples/rack/Gemfile +1 -0
- data/examples/rack/Gemfile.lock +11 -7
- data/examples/rack/app/application.rb +14 -3
- data/examples/rack/app/user.rb +2 -0
- data/examples/rack/config.ru +1 -1
- data/examples/rack/index.html.erb +1 -0
- data/examples/sinatra/Gemfile +1 -1
- data/examples/sinatra/Gemfile.lock +8 -11
- data/examples/sinatra/app/application.rb +2 -0
- data/{bin → exe}/opal +4 -2
- data/{bin → exe}/opal-repl +23 -1
- data/lib/opal/ast/builder.rb +13 -0
- data/lib/opal/ast/node.rb +30 -0
- data/lib/opal/builder.rb +82 -17
- data/lib/opal/builder_processors.rb +9 -7
- data/lib/opal/cli.rb +45 -59
- data/lib/opal/cli_options.rb +19 -12
- data/lib/opal/cli_runners/applescript.rb +3 -4
- data/lib/opal/cli_runners/chrome.js +135 -0
- data/lib/opal/cli_runners/chrome.rb +100 -0
- data/lib/opal/cli_runners/nashorn.rb +1 -1
- data/lib/opal/cli_runners/node_modules/.bin/chrome-remote-interface +1 -0
- data/lib/opal/cli_runners/node_modules/chrome-remote-interface/LICENSE +18 -0
- data/lib/opal/cli_runners/node_modules/chrome-remote-interface/README.md +843 -0
- data/lib/opal/cli_runners/node_modules/chrome-remote-interface/bin/client.js +326 -0
- data/lib/opal/cli_runners/node_modules/chrome-remote-interface/chrome-remote-interface.js +11 -0
- data/lib/opal/cli_runners/node_modules/chrome-remote-interface/index.js +39 -0
- data/lib/opal/cli_runners/node_modules/chrome-remote-interface/lib/api.js +84 -0
- data/lib/opal/cli_runners/node_modules/chrome-remote-interface/lib/chrome.js +289 -0
- data/lib/opal/cli_runners/node_modules/chrome-remote-interface/lib/defaults.js +4 -0
- data/lib/opal/cli_runners/node_modules/chrome-remote-interface/lib/devtools.js +245 -0
- data/lib/opal/cli_runners/node_modules/chrome-remote-interface/lib/external-request.js +23 -0
- data/lib/opal/cli_runners/node_modules/chrome-remote-interface/lib/protocol.json +13303 -0
- data/lib/opal/cli_runners/node_modules/chrome-remote-interface/lib/websocket-wrapper.js +32 -0
- data/lib/opal/cli_runners/node_modules/chrome-remote-interface/package.json +128 -0
- data/lib/opal/cli_runners/node_modules/chrome-remote-interface/webpack.config.js +55 -0
- data/lib/opal/cli_runners/node_modules/commander/Readme.md +195 -0
- data/lib/opal/cli_runners/node_modules/commander/index.js +851 -0
- data/lib/opal/cli_runners/node_modules/commander/package.json +92 -0
- data/{stdlib/nodejs/node_modules/js-yaml/node_modules/argparse → lib/opal/cli_runners/node_modules/ultron}/LICENSE +7 -6
- data/lib/opal/cli_runners/node_modules/ultron/index.js +138 -0
- data/lib/opal/cli_runners/node_modules/ultron/package.json +112 -0
- data/{stdlib/nodejs/node_modules/js-yaml → lib/opal/cli_runners/node_modules/ws}/LICENSE +6 -6
- data/lib/opal/cli_runners/node_modules/ws/README.md +259 -0
- data/lib/opal/cli_runners/node_modules/ws/SECURITY.md +33 -0
- data/lib/opal/cli_runners/node_modules/ws/index.js +15 -0
- data/lib/opal/cli_runners/node_modules/ws/lib/BufferUtil.fallback.js +56 -0
- data/lib/opal/cli_runners/node_modules/ws/lib/BufferUtil.js +15 -0
- data/lib/opal/cli_runners/node_modules/ws/lib/ErrorCodes.js +28 -0
- data/lib/opal/cli_runners/node_modules/ws/lib/EventTarget.js +158 -0
- data/lib/opal/cli_runners/node_modules/ws/lib/Extensions.js +69 -0
- data/lib/opal/cli_runners/node_modules/ws/lib/PerMessageDeflate.js +339 -0
- data/lib/opal/cli_runners/node_modules/ws/lib/Receiver.js +520 -0
- data/lib/opal/cli_runners/node_modules/ws/lib/Sender.js +438 -0
- data/lib/opal/cli_runners/node_modules/ws/lib/Validation.fallback.js +9 -0
- data/lib/opal/cli_runners/node_modules/ws/lib/Validation.js +17 -0
- data/lib/opal/cli_runners/node_modules/ws/lib/WebSocket.js +705 -0
- data/lib/opal/cli_runners/node_modules/ws/lib/WebSocketServer.js +336 -0
- data/lib/opal/cli_runners/node_modules/ws/package.json +122 -0
- data/lib/opal/cli_runners/nodejs.rb +4 -2
- data/lib/opal/cli_runners/package.json +5 -0
- data/lib/opal/cli_runners/server.rb +1 -1
- data/lib/opal/cli_runners.rb +2 -1
- data/lib/opal/compiler.rb +136 -95
- data/lib/opal/config.rb +114 -36
- data/lib/opal/deprecations.rb +18 -0
- data/lib/opal/eof_content.rb +36 -0
- data/lib/opal/erb.rb +1 -0
- data/lib/opal/errors.rb +1 -0
- data/lib/opal/fragment.rb +1 -0
- data/lib/opal/nodes/arglist.rb +2 -1
- data/lib/opal/nodes/args/initialize_kwargs.rb +1 -0
- data/lib/opal/nodes/args/kwarg.rb +9 -7
- data/lib/opal/nodes/args/kwoptarg.rb +13 -8
- data/lib/opal/nodes/args/kwrestarg.rb +5 -5
- data/lib/opal/nodes/args/mlhsarg.rb +3 -2
- data/lib/opal/nodes/args/normarg.rb +6 -7
- data/lib/opal/nodes/args/optarg.rb +5 -7
- data/lib/opal/nodes/args/post_args.rb +6 -5
- data/lib/opal/nodes/args/post_kwargs.rb +1 -0
- data/lib/opal/nodes/args/restarg.rb +7 -7
- data/lib/opal/nodes/array.rb +1 -0
- data/lib/opal/nodes/base.rb +24 -3
- data/lib/opal/nodes/call.rb +168 -155
- data/lib/opal/nodes/call_special.rb +37 -214
- data/lib/opal/nodes/case.rb +36 -22
- data/lib/opal/nodes/class.rb +4 -3
- data/lib/opal/nodes/constants.rb +28 -48
- data/lib/opal/nodes/csend.rb +25 -0
- data/lib/opal/nodes/def.rb +57 -17
- data/lib/opal/nodes/defined.rb +170 -60
- data/lib/opal/nodes/definitions.rb +42 -133
- data/lib/opal/nodes/defs.rb +29 -0
- data/lib/opal/nodes/hash.rb +12 -35
- data/lib/opal/nodes/helpers.rb +31 -62
- data/lib/opal/nodes/if.rb +21 -32
- data/lib/opal/nodes/inline_args.rb +12 -13
- data/lib/opal/nodes/iter.rb +61 -36
- data/lib/opal/nodes/literal.rb +206 -114
- data/lib/opal/nodes/logic.rb +39 -57
- data/lib/opal/nodes/masgn.rb +20 -18
- data/lib/opal/nodes/module.rb +10 -11
- data/lib/opal/nodes/node_with_args.rb +15 -18
- data/lib/opal/nodes/rescue.rb +37 -70
- data/lib/opal/nodes/runtime_helpers.rb +8 -3
- data/lib/opal/nodes/scope.rb +10 -5
- data/lib/opal/nodes/singleton_class.rb +4 -3
- data/lib/opal/nodes/super.rb +112 -88
- data/lib/opal/nodes/top.rb +7 -2
- data/lib/opal/nodes/variables.rb +57 -35
- data/lib/opal/nodes/while.rb +11 -1
- data/lib/opal/nodes/yield.rb +1 -17
- data/lib/opal/nodes.rb +3 -1
- data/lib/opal/parser.rb +29 -766
- data/lib/opal/path_reader.rb +22 -5
- data/lib/opal/paths.rb +10 -4
- data/lib/opal/regexp_anchors.rb +1 -0
- data/lib/opal/rewriter.rb +64 -0
- data/lib/opal/rewriters/base.rb +63 -0
- data/lib/opal/rewriters/binary_operator_assignment.rb +141 -0
- data/lib/opal/rewriters/block_to_iter.rb +17 -0
- data/lib/opal/rewriters/break_finder.rb +34 -0
- data/lib/opal/rewriters/dot_js_syntax.rb +60 -0
- data/lib/opal/rewriters/explicit_writer_return.rb +58 -0
- data/lib/opal/rewriters/for_rewriter.rb +93 -0
- data/lib/opal/rewriters/hashes/key_duplicates_rewriter.rb +58 -0
- data/lib/opal/rewriters/js_reserved_words.rb +108 -0
- data/lib/opal/rewriters/logical_operator_assignment.rb +154 -0
- data/lib/opal/rewriters/opal_engine_check.rb +42 -0
- data/lib/opal/rewriters/rubyspec/filters_rewriter.rb +67 -0
- data/lib/opal/server.rb +4 -0
- data/lib/opal/simple_server.rb +101 -0
- data/lib/opal/source_map.rb +1 -1
- data/lib/opal/util.rb +6 -6
- data/lib/opal/version.rb +2 -1
- data/lib/opal.rb +7 -1
- data/lib/tilt/opal.rb +1 -0
- data/opal/README.md +1 -1
- data/opal/corelib/array.rb +184 -107
- data/opal/corelib/basic_object.rb +6 -6
- data/opal/corelib/boolean.rb +11 -3
- data/opal/corelib/class.rb +14 -11
- data/opal/corelib/comparable.rb +16 -0
- data/opal/corelib/complex.rb +5 -1
- data/opal/corelib/constants.rb +3 -3
- data/opal/corelib/enumerable.rb +176 -11
- data/opal/corelib/error.rb +35 -17
- data/opal/corelib/file.rb +114 -176
- data/opal/corelib/hash.rb +226 -13
- data/opal/corelib/helpers.rb +12 -15
- data/opal/corelib/io.rb +3 -2
- data/opal/corelib/kernel.rb +68 -32
- data/opal/corelib/marshal/read_buffer.rb +288 -150
- data/opal/corelib/marshal/write_buffer.rb +27 -2
- data/opal/corelib/method.rb +33 -13
- data/opal/corelib/module.rb +134 -82
- data/opal/corelib/nil.rb +11 -3
- data/opal/corelib/number.rb +220 -34
- data/opal/corelib/numeric.rb +3 -11
- data/opal/corelib/process.rb +44 -4
- data/opal/corelib/random/seedrandom.js.rb +15 -0
- data/opal/corelib/random.rb +117 -0
- data/opal/corelib/range.rb +147 -24
- data/opal/corelib/regexp.rb +82 -13
- data/opal/corelib/runtime.js +623 -397
- data/opal/corelib/string/encoding.rb +67 -31
- data/opal/corelib/string/inheritance.rb +1 -1
- data/opal/corelib/string.rb +40 -9
- data/opal/corelib/struct.rb +18 -3
- data/opal/corelib/time.rb +3 -3
- data/opal/corelib/variables.rb +1 -1
- data/opal/opal.rb +1 -0
- data/opal.gemspec +32 -29
- data/stdlib/base64.rb +4 -2
- data/stdlib/bigdecimal/bignumber.js.rb +1 -1
- data/stdlib/buffer/array.rb +4 -2
- data/stdlib/date.rb +64 -31
- data/stdlib/headless_chrome.rb +11 -0
- data/stdlib/json.rb +16 -4
- data/stdlib/nashorn/file.rb +15 -0
- data/stdlib/native.rb +21 -12
- data/stdlib/nodejs/dir.rb +1 -1
- data/stdlib/nodejs/file.rb +77 -23
- data/stdlib/nodejs/io.rb +30 -1
- data/stdlib/nodejs/{node_modules/js-yaml/dist/js-yaml.js → js-yaml-3-6-1.js} +815 -626
- data/stdlib/nodejs/kernel.rb +3 -1
- data/stdlib/nodejs/package.json +0 -1
- data/stdlib/nodejs/stacktrace.rb +179 -0
- data/stdlib/nodejs/yaml.rb +2 -1
- data/stdlib/opal/platform.rb +6 -14
- data/stdlib/opal-builder.rb +1 -0
- data/stdlib/opal-platform.rb +15 -0
- data/stdlib/pathname.rb +1 -1
- data/stdlib/rbconfig.rb +1 -1
- data/stdlib/securerandom.rb +1 -1
- data/stdlib/strscan.rb +15 -1
- data/stdlib/yaml.rb +1 -1
- data/tasks/benchmarking.rake +9 -0
- data/tasks/building.rake +24 -20
- data/tasks/linting.rake +24 -13
- data/tasks/testing/mspec_special_calls.rb +44 -15
- data/tasks/testing/opal_rspec_smoketest.Gemfile +6 -0
- data/tasks/testing.rake +351 -202
- metadata +135 -915
- data/lib/opal/cli_runners/phantom.js +0 -70
- data/lib/opal/cli_runners/phantomjs.rb +0 -28
- data/lib/opal/hike_path_finder.rb +0 -18
- data/lib/opal/nodes/for.rb +0 -48
- data/lib/opal/parser/grammar.rb +0 -6157
- data/lib/opal/parser/grammar.y +0 -2011
- data/lib/opal/parser/keywords.rb +0 -66
- data/lib/opal/parser/lexer.rb +0 -1352
- data/lib/opal/parser/parser_scope.rb +0 -28
- data/lib/opal/parser/sexp.rb +0 -90
- data/lib/opal/sprockets/environment.rb +0 -23
- data/lib/opal/sprockets/erb.rb +0 -23
- data/lib/opal/sprockets/path_reader.rb +0 -36
- data/lib/opal/sprockets/processor.rb +0 -145
- data/lib/opal/sprockets/server.rb +0 -133
- data/lib/opal/sprockets/source_map_header_patch.rb +0 -41
- data/lib/opal/sprockets/source_map_server.rb +0 -115
- data/lib/opal/sprockets.rb +0 -91
- data/spec/README.md +0 -10
- data/spec/filters/bugs/array.rb +0 -12
- data/spec/filters/bugs/basicobject.rb +0 -16
- data/spec/filters/bugs/bigdecimal.rb +0 -160
- data/spec/filters/bugs/class.rb +0 -10
- data/spec/filters/bugs/compiler_opal.rb +0 -5
- data/spec/filters/bugs/complex.rb +0 -3
- data/spec/filters/bugs/date.rb +0 -94
- data/spec/filters/bugs/enumerable.rb +0 -50
- data/spec/filters/bugs/enumerator.rb +0 -42
- data/spec/filters/bugs/exception.rb +0 -58
- data/spec/filters/bugs/float.rb +0 -33
- data/spec/filters/bugs/hash.rb +0 -11
- data/spec/filters/bugs/inheritance.rb +0 -5
- data/spec/filters/bugs/integer.rb +0 -28
- data/spec/filters/bugs/kernel.rb +0 -297
- data/spec/filters/bugs/language.rb +0 -275
- data/spec/filters/bugs/language_opal.rb +0 -88
- data/spec/filters/bugs/marshal.rb +0 -43
- data/spec/filters/bugs/method.rb +0 -84
- data/spec/filters/bugs/module.rb +0 -196
- data/spec/filters/bugs/numeric.rb +0 -127
- data/spec/filters/bugs/pathname.rb +0 -5
- data/spec/filters/bugs/proc.rb +0 -36
- data/spec/filters/bugs/range.rb +0 -144
- data/spec/filters/bugs/rational.rb +0 -4
- data/spec/filters/bugs/regexp.rb +0 -196
- data/spec/filters/bugs/set.rb +0 -42
- data/spec/filters/bugs/singleton.rb +0 -6
- data/spec/filters/bugs/string.rb +0 -101
- data/spec/filters/bugs/stringscanner.rb +0 -79
- data/spec/filters/bugs/struct.rb +0 -4
- data/spec/filters/bugs/time.rb +0 -29
- data/spec/filters/bugs/unboundmethod.rb +0 -27
- data/spec/filters/unsupported/array.rb +0 -163
- data/spec/filters/unsupported/basicobject.rb +0 -14
- data/spec/filters/unsupported/bignum.rb +0 -52
- data/spec/filters/unsupported/class.rb +0 -4
- data/spec/filters/unsupported/delegator.rb +0 -5
- data/spec/filters/unsupported/enumerable.rb +0 -11
- data/spec/filters/unsupported/enumerator.rb +0 -13
- data/spec/filters/unsupported/fixnum.rb +0 -14
- data/spec/filters/unsupported/float.rb +0 -43
- data/spec/filters/unsupported/freeze.rb +0 -53
- data/spec/filters/unsupported/hash.rb +0 -51
- data/spec/filters/unsupported/integer.rb +0 -3
- data/spec/filters/unsupported/kernel.rb +0 -31
- data/spec/filters/unsupported/language.rb +0 -17
- data/spec/filters/unsupported/marshal.rb +0 -46
- data/spec/filters/unsupported/matchdata.rb +0 -30
- data/spec/filters/unsupported/math.rb +0 -3
- data/spec/filters/unsupported/module.rb +0 -8
- data/spec/filters/unsupported/pathname.rb +0 -3
- data/spec/filters/unsupported/privacy.rb +0 -147
- data/spec/filters/unsupported/proc.rb +0 -3
- data/spec/filters/unsupported/regexp.rb +0 -59
- data/spec/filters/unsupported/set.rb +0 -4
- data/spec/filters/unsupported/singleton.rb +0 -6
- data/spec/filters/unsupported/string.rb +0 -537
- data/spec/filters/unsupported/struct.rb +0 -6
- data/spec/filters/unsupported/symbol.rb +0 -19
- data/spec/filters/unsupported/taint.rb +0 -15
- data/spec/filters/unsupported/thread.rb +0 -7
- data/spec/filters/unsupported/time.rb +0 -202
- data/spec/lib/builder_processors_spec.rb +0 -27
- data/spec/lib/builder_spec.rb +0 -72
- data/spec/lib/cli_runners/phantomjs_spec.rb +0 -39
- data/spec/lib/cli_spec.rb +0 -211
- data/spec/lib/compiler/call_spec.rb +0 -700
- data/spec/lib/compiler/pre_processed_conditionals_spec.rb +0 -87
- data/spec/lib/compiler_spec.rb +0 -285
- data/spec/lib/config_spec.rb +0 -13
- data/spec/lib/dependency_resolver_spec.rb +0 -40
- data/spec/lib/fixtures/complex_sprockets.js.rb.erb +0 -4
- data/spec/lib/fixtures/file_with_directives.js +0 -2
- data/spec/lib/fixtures/jst_file.js.jst +0 -1
- data/spec/lib/fixtures/no_requires.rb +0 -1
- data/spec/lib/fixtures/opal_file.rb +0 -2
- data/spec/lib/fixtures/require_tree_test.rb +0 -3
- data/spec/lib/fixtures/required_file.js +0 -1
- data/spec/lib/fixtures/required_tree_test/required_file1.rb +0 -1
- data/spec/lib/fixtures/required_tree_test/required_file2.rb +0 -1
- data/spec/lib/fixtures/requires.rb +0 -7
- data/spec/lib/fixtures/source_map/subfolder/other_file.rb +0 -1
- data/spec/lib/fixtures/source_map.rb +0 -1
- data/spec/lib/fixtures/sprockets_file.js.rb +0 -3
- data/spec/lib/fixtures/sprockets_require_tree_test.rb +0 -3
- data/spec/lib/hike_path_finder_spec.rb +0 -23
- data/spec/lib/lexer_spec.rb +0 -110
- data/spec/lib/parser/alias_spec.rb +0 -26
- data/spec/lib/parser/and_spec.rb +0 -13
- data/spec/lib/parser/aref_spec.rb +0 -10
- data/spec/lib/parser/attrasgn_spec.rb +0 -28
- data/spec/lib/parser/begin_spec.rb +0 -42
- data/spec/lib/parser/block_spec.rb +0 -12
- data/spec/lib/parser/break_spec.rb +0 -17
- data/spec/lib/parser/call_spec.rb +0 -201
- data/spec/lib/parser/class_spec.rb +0 -35
- data/spec/lib/parser/comments_spec.rb +0 -11
- data/spec/lib/parser/def_spec.rb +0 -109
- data/spec/lib/parser/if_spec.rb +0 -26
- data/spec/lib/parser/iter_spec.rb +0 -59
- data/spec/lib/parser/lambda_spec.rb +0 -219
- data/spec/lib/parser/literal_spec.rb +0 -118
- data/spec/lib/parser/masgn_spec.rb +0 -37
- data/spec/lib/parser/module_spec.rb +0 -27
- data/spec/lib/parser/not_spec.rb +0 -21
- data/spec/lib/parser/op_asgn1_spec.rb +0 -23
- data/spec/lib/parser/op_asgn2_spec.rb +0 -23
- data/spec/lib/parser/op_asgn_spec.rb +0 -17
- data/spec/lib/parser/or_spec.rb +0 -13
- data/spec/lib/parser/return_spec.rb +0 -22
- data/spec/lib/parser/sclass_spec.rb +0 -21
- data/spec/lib/parser/string_spec.rb +0 -286
- data/spec/lib/parser/super_spec.rb +0 -20
- data/spec/lib/parser/unary_spec.rb +0 -52
- data/spec/lib/parser/undef_spec.rb +0 -19
- data/spec/lib/parser/unless_spec.rb +0 -13
- data/spec/lib/parser/variables_spec.rb +0 -116
- data/spec/lib/parser/while_spec.rb +0 -15
- data/spec/lib/parser/yield_spec.rb +0 -20
- data/spec/lib/path_reader_spec.rb +0 -36
- data/spec/lib/paths_spec.rb +0 -18
- data/spec/lib/shared/path_finder_shared.rb +0 -19
- data/spec/lib/shared/path_reader_shared.rb +0 -31
- data/spec/lib/spec_helper.rb +0 -16
- data/spec/lib/sprockets/erb_spec.rb +0 -38
- data/spec/lib/sprockets/path_reader_spec.rb +0 -41
- data/spec/lib/sprockets/processor_spec.rb +0 -79
- data/spec/lib/sprockets/server_spec.rb +0 -102
- data/spec/lib/sprockets_spec.rb +0 -32
- data/spec/lib/tilt/opal_spec.rb +0 -37
- data/spec/mspec-opal/formatters.rb +0 -188
- data/spec/mspec-opal/runner.rb +0 -193
- data/spec/opal/compiler/irb_spec.rb +0 -44
- data/spec/opal/core/arity_spec.rb +0 -142
- data/spec/opal/core/array/intersection_spec.rb +0 -38
- data/spec/opal/core/array/minus_spec.rb +0 -38
- data/spec/opal/core/array/select_spec.rb +0 -14
- data/spec/opal/core/array/set_range_to_array_spec.rb +0 -7
- data/spec/opal/core/array/union_spec.rb +0 -38
- data/spec/opal/core/array/uniq_spec.rb +0 -49
- data/spec/opal/core/date_spec.rb +0 -177
- data/spec/opal/core/enumerable/all_break_spec.rb +0 -5
- data/spec/opal/core/enumerable/any_break_spec.rb +0 -5
- data/spec/opal/core/enumerable/collect_break_spec.rb +0 -13
- data/spec/opal/core/enumerable/count_break_spec.rb +0 -5
- data/spec/opal/core/enumerable/detect_break_spec.rb +0 -5
- data/spec/opal/core/enumerable/drop_while_break_spec.rb +0 -5
- data/spec/opal/core/enumerable/each_slice_break.rb +0 -6
- data/spec/opal/core/enumerable/each_with_index_break_spec.rb +0 -5
- data/spec/opal/core/enumerable/each_with_object_break_spec.rb +0 -5
- data/spec/opal/core/enumerable/find_all_break_spec.rb +0 -5
- data/spec/opal/core/enumerable/find_index_break_spec.rb +0 -5
- data/spec/opal/core/enumerable/grep_break_spec.rb +0 -5
- data/spec/opal/core/enumerable/max_break_spec.rb +0 -5
- data/spec/opal/core/enumerable/max_by_break_spec.rb +0 -5
- data/spec/opal/core/enumerable/min_break_spec.rb +0 -5
- data/spec/opal/core/enumerable/min_by_break_spec.rb +0 -5
- data/spec/opal/core/enumerable/none_break_spec.rb +0 -5
- data/spec/opal/core/enumerable/one_break_spec.rb +0 -5
- data/spec/opal/core/enumerable/reduce_break_spec.rb +0 -5
- data/spec/opal/core/enumerable/take_while_break_spec.rb +0 -5
- data/spec/opal/core/enumerator/with_index_spec.rb +0 -6
- data/spec/opal/core/exception_spec.rb +0 -20
- data/spec/opal/core/fixtures/class.rb +0 -124
- data/spec/opal/core/fixtures/class_variables.rb +0 -0
- data/spec/opal/core/fixtures/constants.rb +0 -33
- data/spec/opal/core/fixtures/require_tree_files/file 1.rb +0 -1
- data/spec/opal/core/fixtures/require_tree_files/file 2.rb +0 -1
- data/spec/opal/core/fixtures/require_tree_files/file 3.rb +0 -1
- data/spec/opal/core/fixtures/require_tree_files/file 4.rb +0 -1
- data/spec/opal/core/fixtures/require_tree_files/file 5.rb +0 -1
- data/spec/opal/core/fixtures/require_tree_files/nested/nested 1.rb +0 -1
- data/spec/opal/core/fixtures/require_tree_files/nested/nested 2.rb +0 -1
- data/spec/opal/core/fixtures/require_tree_files/other/other 1.rb +0 -1
- data/spec/opal/core/fixtures/require_tree_with_dot/file 1.rb +0 -1
- data/spec/opal/core/fixtures/require_tree_with_dot/file 2.rb +0 -1
- data/spec/opal/core/fixtures/require_tree_with_dot/file 3.rb +0 -1
- data/spec/opal/core/fixtures/require_tree_with_dot/index.rb +0 -3
- data/spec/opal/core/hash/has_value_spec.rb +0 -13
- data/spec/opal/core/hash/internals_spec.rb +0 -332
- data/spec/opal/core/helpers_spec.rb +0 -14
- data/spec/opal/core/kernel/Array_spec.rb +0 -10
- data/spec/opal/core/kernel/at_exit_spec.rb +0 -70
- data/spec/opal/core/kernel/block_given_spec.rb +0 -30
- data/spec/opal/core/kernel/class_spec.rb +0 -6
- data/spec/opal/core/kernel/define_singleton_method_spec.rb +0 -21
- data/spec/opal/core/kernel/equal_value_spec.rb +0 -12
- data/spec/opal/core/kernel/extend_spec.rb +0 -21
- data/spec/opal/core/kernel/format_spec.rb +0 -122
- data/spec/opal/core/kernel/freeze_spec.rb +0 -15
- data/spec/opal/core/kernel/instance_eval_spec.rb +0 -28
- data/spec/opal/core/kernel/instance_variable_defined_spec.rb +0 -15
- data/spec/opal/core/kernel/instance_variable_get_spec.rb +0 -14
- data/spec/opal/core/kernel/instance_variable_set_spec.rb +0 -10
- data/spec/opal/core/kernel/instance_variables_spec.rb +0 -110
- data/spec/opal/core/kernel/loop_spec.rb +0 -23
- data/spec/opal/core/kernel/match_spec.rb +0 -5
- data/spec/opal/core/kernel/method_spec.rb +0 -31
- data/spec/opal/core/kernel/methods_spec.rb +0 -25
- data/spec/opal/core/kernel/nil_spec.rb +0 -7
- data/spec/opal/core/kernel/p_spec.rb +0 -15
- data/spec/opal/core/kernel/printf_spec.rb +0 -11
- data/spec/opal/core/kernel/proc_spec.rb +0 -13
- data/spec/opal/core/kernel/raise_spec.rb +0 -13
- data/spec/opal/core/kernel/rand_spec.rb +0 -23
- data/spec/opal/core/kernel/require_tree_spec.rb +0 -18
- data/spec/opal/core/kernel/respond_to_spec.rb +0 -41
- data/spec/opal/core/kernel/send_spec.rb +0 -56
- data/spec/opal/core/kernel/sprintf_spec.rb +0 -5
- data/spec/opal/core/language/arguments/mlhs_arg_spec.rb +0 -19
- data/spec/opal/core/language/block_spec.rb +0 -538
- data/spec/opal/core/language/class_spec.rb +0 -55
- data/spec/opal/core/language/equal_spec.rb +0 -8
- data/spec/opal/core/language/fixtures/array.rb +0 -11
- data/spec/opal/core/language/fixtures/block.rb +0 -57
- data/spec/opal/core/language/fixtures/break.rb +0 -240
- data/spec/opal/core/language/fixtures/ensure.rb +0 -72
- data/spec/opal/core/language/fixtures/literal_lambda.rb +0 -7
- data/spec/opal/core/language/fixtures/metaclass.rb +0 -33
- data/spec/opal/core/language/fixtures/module.rb +0 -24
- data/spec/opal/core/language/fixtures/next.rb +0 -128
- data/spec/opal/core/language/fixtures/return.rb +0 -118
- data/spec/opal/core/language/fixtures/send.rb +0 -111
- data/spec/opal/core/language/fixtures/send_1.9.rb +0 -22
- data/spec/opal/core/language/fixtures/super.rb +0 -308
- data/spec/opal/core/language/fixtures/variables.rb +0 -58
- data/spec/opal/core/language/fixtures/yield.rb +0 -28
- data/spec/opal/core/language/heredoc_spec.rb +0 -42
- data/spec/opal/core/language/keyword_arguments_spec.rb +0 -11
- data/spec/opal/core/language/predefined_spec.rb +0 -138
- data/spec/opal/core/language/proc_spec.rb +0 -263
- data/spec/opal/core/language/regexp_spec.rb +0 -20
- data/spec/opal/core/language/rescue_spec.rb +0 -18
- data/spec/opal/core/language/send_spec.rb +0 -230
- data/spec/opal/core/language/string_spec.rb +0 -44
- data/spec/opal/core/language/ternary_operator_spec.rb +0 -20
- data/spec/opal/core/language/variables_spec.rb +0 -1366
- data/spec/opal/core/language/versions/array_1.9.rb +0 -39
- 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 +0 -20
- data/spec/opal/core/language/versions/def_2_0_spec.rb +0 -62
- data/spec/opal/core/language/versions/hash_1_9_spec.rb +0 -23
- data/spec/opal/core/language/versions/literal_lambda_1.9.rb +0 -143
- data/spec/opal/core/language/versions/not_1.9.rb +0 -22
- data/spec/opal/core/language/versions/send_1.9.rb +0 -241
- data/spec/opal/core/language/versions/symbol_1.9.rb +0 -15
- data/spec/opal/core/language/versions/variables_1.9.rb +0 -8
- data/spec/opal/core/language_spec.rb +0 -45
- data/spec/opal/core/marshal/dump_spec.rb +0 -53
- data/spec/opal/core/marshal/load_spec.rb +0 -7
- data/spec/opal/core/method/to_proc_spec.rb +0 -28
- data/spec/opal/core/module/alias_method_spec.rb +0 -28
- data/spec/opal/core/module/ancestors_spec.rb +0 -11
- data/spec/opal/core/module/append_features_spec.rb +0 -14
- data/spec/opal/core/module/attr_accessor_spec.rb +0 -26
- data/spec/opal/core/module/const_defined_spec.rb +0 -84
- data/spec/opal/core/module/const_get_spec.rb +0 -85
- data/spec/opal/core/module/const_missing_spec.rb +0 -17
- data/spec/opal/core/module/const_set_spec.rb +0 -64
- data/spec/opal/core/module/constants_spec.rb +0 -49
- data/spec/opal/core/module/fixtures/classes.rb +0 -444
- data/spec/opal/core/module/method_defined_spec.rb +0 -48
- data/spec/opal/core/module/method_lookup_spec.rb +0 -13
- data/spec/opal/core/module/module_function_spec.rb +0 -25
- data/spec/opal/core/module/name_spec.rb +0 -41
- data/spec/opal/core/module/public_method_defined_spec.rb +0 -18
- data/spec/opal/core/module/remove_const_spec.rb +0 -22
- data/spec/opal/core/module/undef_method_spec.rb +0 -66
- data/spec/opal/core/numeric/bit_and_spec.rb +0 -7
- data/spec/opal/core/numeric/bit_or_spec.rb +0 -8
- data/spec/opal/core/numeric/bit_xor_spec.rb +0 -6
- data/spec/opal/core/numeric/ceil_spec.rb +0 -8
- data/spec/opal/core/numeric/chr_spec.rb +0 -8
- data/spec/opal/core/numeric/comparison_spec.rb +0 -24
- data/spec/opal/core/numeric/complement_spec.rb +0 -8
- data/spec/opal/core/numeric/divide_spec.rb +0 -10
- data/spec/opal/core/numeric/eql_spec.rb +0 -9
- data/spec/opal/core/numeric/exponent_spec.rb +0 -33
- data/spec/opal/core/numeric/floor_spec.rb +0 -8
- data/spec/opal/core/numeric/gt_spec.rb +0 -11
- data/spec/opal/core/numeric/gte_spec.rb +0 -12
- data/spec/opal/core/numeric/integer_spec.rb +0 -9
- data/spec/opal/core/numeric/left_shift_spec.rb +0 -21
- data/spec/opal/core/numeric/lt_spec.rb +0 -11
- data/spec/opal/core/numeric/lte_spec.rb +0 -12
- data/spec/opal/core/numeric/minus_spec.rb +0 -8
- data/spec/opal/core/numeric/modulo_spec.rb +0 -19
- data/spec/opal/core/numeric/multiply_spec.rb +0 -9
- data/spec/opal/core/numeric/next_spec.rb +0 -9
- data/spec/opal/core/numeric/ord_spec.rb +0 -9
- data/spec/opal/core/numeric/plus_spec.rb +0 -8
- data/spec/opal/core/numeric/pred_spec.rb +0 -7
- data/spec/opal/core/numeric/right_shift_spec.rb +0 -25
- data/spec/opal/core/numeric/step_spec.rb +0 -11
- data/spec/opal/core/numeric/succ_spec.rb +0 -9
- data/spec/opal/core/numeric/times_spec.rb +0 -36
- data/spec/opal/core/numeric/to_f_spec.rb +0 -7
- data/spec/opal/core/numeric/to_i_spec.rb +0 -7
- data/spec/opal/core/numeric/to_json_spec.rb +0 -8
- data/spec/opal/core/numeric/to_s_spec.rb +0 -26
- data/spec/opal/core/numeric/uminus_spec.rb +0 -9
- data/spec/opal/core/numeric/upto_spec.rb +0 -19
- data/spec/opal/core/numeric/zero_spec.rb +0 -7
- data/spec/opal/core/object_id_spec.rb +0 -56
- data/spec/opal/core/proc/call_spec.rb +0 -21
- data/spec/opal/core/proc/element_reference_spec.rb +0 -21
- data/spec/opal/core/proc/proc_tricks_spec.rb +0 -7
- data/spec/opal/core/runtime/begin_spec.rb +0 -39
- data/spec/opal/core/runtime/block_send_spec.rb +0 -28
- data/spec/opal/core/runtime/block_spec.rb +0 -23
- data/spec/opal/core/runtime/bridged_classes_spec.rb +0 -123
- data/spec/opal/core/runtime/constants_spec.rb +0 -13
- data/spec/opal/core/runtime/donate_spec.rb +0 -53
- data/spec/opal/core/runtime/eval_spec.rb +0 -5
- data/spec/opal/core/runtime/main_methods_spec.rb +0 -27
- data/spec/opal/core/runtime/method_missing_spec.rb +0 -68
- data/spec/opal/core/runtime/method_spec.rb +0 -31
- data/spec/opal/core/runtime/operator_call_spec.rb +0 -13
- data/spec/opal/core/runtime/paren_spec.rb +0 -14
- data/spec/opal/core/runtime/rescue_spec.rb +0 -71
- data/spec/opal/core/runtime/return_spec.rb +0 -38
- data/spec/opal/core/runtime/send_spec.rb +0 -34
- data/spec/opal/core/runtime/singleton_class_spec.rb +0 -13
- data/spec/opal/core/runtime/super_spec.rb +0 -223
- data/spec/opal/core/runtime/truthy_spec.rb +0 -63
- data/spec/opal/core/runtime/variables_spec.rb +0 -20
- data/spec/opal/core/runtime_spec.rb +0 -58
- data/spec/opal/core/source_map_spec.rb +0 -49
- data/spec/opal/core/string_spec.rb +0 -32
- data/spec/opal/javascript_api_spec.rb +0 -16
- data/spec/opal/stdlib/erb/erb_spec.rb +0 -30
- data/spec/opal/stdlib/erb/inline_block.opalerb +0 -3
- data/spec/opal/stdlib/erb/quoted.opalerb +0 -1
- data/spec/opal/stdlib/erb/simple.opalerb +0 -1
- data/spec/opal/stdlib/js_spec.rb +0 -66
- data/spec/opal/stdlib/json/ext_spec.rb +0 -48
- data/spec/opal/stdlib/json/parse_spec.rb +0 -33
- data/spec/opal/stdlib/native/alias_native_spec.rb +0 -27
- data/spec/opal/stdlib/native/array_spec.rb +0 -11
- data/spec/opal/stdlib/native/each_spec.rb +0 -13
- data/spec/opal/stdlib/native/element_reference_spec.rb +0 -16
- data/spec/opal/stdlib/native/exposure_spec.rb +0 -33
- data/spec/opal/stdlib/native/ext_spec.rb +0 -19
- data/spec/opal/stdlib/native/hash_spec.rb +0 -51
- data/spec/opal/stdlib/native/initialize_spec.rb +0 -17
- data/spec/opal/stdlib/native/method_missing_spec.rb +0 -51
- data/spec/opal/stdlib/native/native_alias_spec.rb +0 -19
- data/spec/opal/stdlib/native/native_class_spec.rb +0 -18
- data/spec/opal/stdlib/native/native_module_spec.rb +0 -13
- data/spec/opal/stdlib/native/native_reader_spec.rb +0 -22
- data/spec/opal/stdlib/native/native_writer_spec.rb +0 -30
- data/spec/opal/stdlib/native/new_spec.rb +0 -92
- data/spec/opal/stdlib/native/struct_spec.rb +0 -12
- data/spec/opal/stdlib/promise/always_spec.rb +0 -49
- data/spec/opal/stdlib/promise/error_spec.rb +0 -15
- data/spec/opal/stdlib/promise/rescue_spec.rb +0 -53
- data/spec/opal/stdlib/promise/then_spec.rb +0 -79
- data/spec/opal/stdlib/promise/trace_spec.rb +0 -51
- data/spec/opal/stdlib/promise/value_spec.rb +0 -15
- data/spec/opal/stdlib/promise/when_spec.rb +0 -34
- data/spec/opal/stdlib/source_map_spec.rb +0 -8
- data/spec/opal/stdlib/strscan/scan_spec.rb +0 -11
- data/spec/opal/stdlib/template/paths_spec.rb +0 -10
- data/spec/opal/stdlib/thread/mutex_spec.rb +0 -40
- data/spec/opal/stdlib/thread/thread_queue_spec.rb +0 -32
- data/spec/opal/stdlib/thread/thread_spec.rb +0 -60
- data/spec/ruby_specs +0 -121
- data/spec/spec_helper.rb +0 -26
- data/spec/support/match_helpers.rb +0 -57
- data/spec/support/mspec_rspec_adapter.rb +0 -33
- data/spec/support/parser_helpers.rb +0 -37
- data/stdlib/nodejs/node_modules/js-yaml/HISTORY.md +0 -277
- data/stdlib/nodejs/node_modules/js-yaml/README.md +0 -288
- data/stdlib/nodejs/node_modules/js-yaml/bin/js-yaml.js +0 -140
- data/stdlib/nodejs/node_modules/js-yaml/bower.json +0 -23
- data/stdlib/nodejs/node_modules/js-yaml/dist/js-yaml.min.js +0 -3
- data/stdlib/nodejs/node_modules/js-yaml/examples/custom_types.js +0 -102
- data/stdlib/nodejs/node_modules/js-yaml/examples/custom_types.yml +0 -18
- data/stdlib/nodejs/node_modules/js-yaml/examples/dumper.js +0 -31
- data/stdlib/nodejs/node_modules/js-yaml/examples/dumper.json +0 -22
- data/stdlib/nodejs/node_modules/js-yaml/examples/sample_document.js +0 -18
- data/stdlib/nodejs/node_modules/js-yaml/examples/sample_document.yml +0 -197
- data/stdlib/nodejs/node_modules/js-yaml/index.js +0 -7
- data/stdlib/nodejs/node_modules/js-yaml/lib/js-yaml/common.js +0 -62
- data/stdlib/nodejs/node_modules/js-yaml/lib/js-yaml/dumper.js +0 -554
- data/stdlib/nodejs/node_modules/js-yaml/lib/js-yaml/exception.js +0 -25
- data/stdlib/nodejs/node_modules/js-yaml/lib/js-yaml/loader.js +0 -1581
- data/stdlib/nodejs/node_modules/js-yaml/lib/js-yaml/mark.js +0 -78
- data/stdlib/nodejs/node_modules/js-yaml/lib/js-yaml/schema/core.js +0 -18
- data/stdlib/nodejs/node_modules/js-yaml/lib/js-yaml/schema/default_full.js +0 -25
- data/stdlib/nodejs/node_modules/js-yaml/lib/js-yaml/schema/default_safe.js +0 -28
- data/stdlib/nodejs/node_modules/js-yaml/lib/js-yaml/schema/failsafe.js +0 -17
- data/stdlib/nodejs/node_modules/js-yaml/lib/js-yaml/schema/json.js +0 -25
- data/stdlib/nodejs/node_modules/js-yaml/lib/js-yaml/schema.js +0 -103
- data/stdlib/nodejs/node_modules/js-yaml/lib/js-yaml/type/binary.js +0 -133
- data/stdlib/nodejs/node_modules/js-yaml/lib/js-yaml/type/bool.js +0 -37
- data/stdlib/nodejs/node_modules/js-yaml/lib/js-yaml/type/float.js +0 -110
- data/stdlib/nodejs/node_modules/js-yaml/lib/js-yaml/type/int.js +0 -183
- data/stdlib/nodejs/node_modules/js-yaml/lib/js-yaml/type/js/function.js +0 -85
- data/stdlib/nodejs/node_modules/js-yaml/lib/js-yaml/type/js/regexp.js +0 -84
- data/stdlib/nodejs/node_modules/js-yaml/lib/js-yaml/type/js/undefined.js +0 -27
- data/stdlib/nodejs/node_modules/js-yaml/lib/js-yaml/type/map.js +0 -8
- data/stdlib/nodejs/node_modules/js-yaml/lib/js-yaml/type/merge.js +0 -12
- data/stdlib/nodejs/node_modules/js-yaml/lib/js-yaml/type/null.js +0 -36
- data/stdlib/nodejs/node_modules/js-yaml/lib/js-yaml/type/omap.js +0 -56
- data/stdlib/nodejs/node_modules/js-yaml/lib/js-yaml/type/pairs.js +0 -61
- data/stdlib/nodejs/node_modules/js-yaml/lib/js-yaml/type/seq.js +0 -8
- data/stdlib/nodejs/node_modules/js-yaml/lib/js-yaml/type/set.js +0 -33
- data/stdlib/nodejs/node_modules/js-yaml/lib/js-yaml/type/str.js +0 -8
- data/stdlib/nodejs/node_modules/js-yaml/lib/js-yaml/type/timestamp.js +0 -98
- data/stdlib/nodejs/node_modules/js-yaml/lib/js-yaml/type.js +0 -61
- data/stdlib/nodejs/node_modules/js-yaml/lib/js-yaml.js +0 -39
- data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/HISTORY.md +0 -115
- data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/README.md +0 -239
- data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/examples/arguments.js +0 -36
- data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/examples/choice.js +0 -22
- data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/examples/constants.js +0 -59
- data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/examples/help.js +0 -13
- data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/examples/nargs.js +0 -33
- data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/examples/parents.js +0 -28
- data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/examples/prefix_chars.js +0 -23
- data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/examples/sub_commands.js +0 -49
- data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/examples/sum.js +0 -35
- data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/examples/testformatters.js +0 -270
- data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/index.js +0 -1
- data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/lib/action/append/constant.js +0 -47
- data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/lib/action/append.js +0 -55
- data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/lib/action/count.js +0 -40
- data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/lib/action/help.js +0 -48
- data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/lib/action/store/constant.js +0 -43
- data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/lib/action/store/false.js +0 -27
- data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/lib/action/store/true.js +0 -26
- data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/lib/action/store.js +0 -50
- data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/lib/action/subparsers.js +0 -148
- data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/lib/action/version.js +0 -50
- data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/lib/action.js +0 -146
- data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/lib/action_container.js +0 -481
- data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/lib/argparse.js +0 -14
- data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/lib/argument/error.js +0 -50
- data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/lib/argument/exclusive.js +0 -54
- data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/lib/argument/group.js +0 -75
- data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/lib/argument_parser.js +0 -1168
- data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/lib/const.js +0 -18
- data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/lib/help/added_formatters.js +0 -88
- data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/lib/help/formatter.js +0 -798
- data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/lib/namespace.js +0 -77
- data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/node_modules/underscore/LICENSE +0 -23
- data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/node_modules/underscore/README.md +0 -22
- data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/node_modules/underscore/package.json +0 -69
- data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/node_modules/underscore/underscore-min.js +0 -6
- data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/node_modules/underscore/underscore.js +0 -1415
- data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/.npmignore +0 -2
- data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/.travis.yml +0 -8
- data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/README.markdown +0 -825
- data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/bower.json +0 -33
- data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/component.json +0 -11
- data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/foo.js +0 -10
- data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/gulpfile.js +0 -26
- data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/lib/underscore.string.js +0 -673
- 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 +0 -107
- data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/package.json +0 -62
- data/stdlib/nodejs/node_modules/js-yaml/node_modules/esprima/README.md +0 -73
- data/stdlib/nodejs/node_modules/js-yaml/node_modules/esprima/bin/esparse.js +0 -117
- data/stdlib/nodejs/node_modules/js-yaml/node_modules/esprima/bin/esvalidate.js +0 -177
- data/stdlib/nodejs/node_modules/js-yaml/node_modules/esprima/esprima.js +0 -3908
- data/stdlib/nodejs/node_modules/js-yaml/node_modules/esprima/package.json +0 -69
- data/stdlib/nodejs/node_modules/js-yaml/node_modules/esprima/test/compat.js +0 -239
- data/stdlib/nodejs/node_modules/js-yaml/node_modules/esprima/test/reflect.js +0 -422
- data/stdlib/nodejs/node_modules/js-yaml/node_modules/esprima/test/run.js +0 -66
- data/stdlib/nodejs/node_modules/js-yaml/node_modules/esprima/test/runner.js +0 -387
- data/stdlib/nodejs/node_modules/js-yaml/node_modules/esprima/test/test.js +0 -20238
- data/stdlib/nodejs/node_modules/js-yaml/package.json +0 -83
- data/stdlib/phantomjs.rb +0 -17
- data/tasks/testing/sprockets-phantomjs.js +0 -54
- data/test/nodejs/test_dir.rb +0 -17
- data/test/nodejs/test_file.rb +0 -30
- data/test/opal/test_keyword.rb +0 -590
- data/test/opal/unsupported_and_bugs.rb +0 -30
- /data/{CODE_OF_CONDUCT.md → CONDUCT.md} +0 -0
- /data/{bin → exe}/opal-build +0 -0
- /data/{bin → exe}/opal-mspec +0 -0
|
@@ -1,56 +0,0 @@
|
|
|
1
|
-
module KernelSpecs
|
|
2
|
-
class Foo
|
|
3
|
-
def bar
|
|
4
|
-
'done'
|
|
5
|
-
end
|
|
6
|
-
|
|
7
|
-
alias :aka :bar
|
|
8
|
-
|
|
9
|
-
def baz(*args) args end
|
|
10
|
-
|
|
11
|
-
def foo(first, *rest) [first, *rest] end
|
|
12
|
-
|
|
13
|
-
def buz(first = true) first end
|
|
14
|
-
|
|
15
|
-
def self.bar
|
|
16
|
-
'done'
|
|
17
|
-
end
|
|
18
|
-
end
|
|
19
|
-
end
|
|
20
|
-
|
|
21
|
-
describe "Kernel#send" do
|
|
22
|
-
it "invokes the named public method" do
|
|
23
|
-
KernelSpecs::Foo.new.send(:bar).should == 'done'
|
|
24
|
-
end
|
|
25
|
-
|
|
26
|
-
it "invokes the named alias of a public method" do
|
|
27
|
-
KernelSpecs::Foo.new.send(:aka).should == 'done'
|
|
28
|
-
end
|
|
29
|
-
end
|
|
30
|
-
|
|
31
|
-
describe "Kernel#send" do
|
|
32
|
-
it "invokes the named method" do
|
|
33
|
-
KernelSpecs::Foo.new.send(:bar).should == 'done'
|
|
34
|
-
end
|
|
35
|
-
|
|
36
|
-
it "invokes a class method if called on a class" do
|
|
37
|
-
KernelSpecs::Foo.send(:bar).should == 'done'
|
|
38
|
-
end
|
|
39
|
-
|
|
40
|
-
it "succeeds if passed an arbitrary number of arguments as a splat parameter" do
|
|
41
|
-
KernelSpecs::Foo.new.send(:baz).should == []
|
|
42
|
-
KernelSpecs::Foo.new.send(:baz, :quux).should == [:quux]
|
|
43
|
-
KernelSpecs::Foo.new.send(:baz, :quux, :foo).should == [:quux, :foo]
|
|
44
|
-
end
|
|
45
|
-
|
|
46
|
-
it "succeeds when passing 1 or more arguments as a required and a splat parameter" do
|
|
47
|
-
KernelSpecs::Foo.new.send(:foo, :quux).should == [:quux]
|
|
48
|
-
KernelSpecs::Foo.new.send(:foo, :quux, :bar).should == [:quux, :bar]
|
|
49
|
-
KernelSpecs::Foo.new.send(:foo, :quux, :bar, :baz).should == [:quux, :bar, :baz]
|
|
50
|
-
end
|
|
51
|
-
|
|
52
|
-
it "succeeds when passing 0 arguments to a method with one parameter with a default" do
|
|
53
|
-
KernelSpecs::Foo.new.send(:buz).should == true
|
|
54
|
-
KernelSpecs::Foo.new.send(:buz, :arg).should == :arg
|
|
55
|
-
end
|
|
56
|
-
end
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
# regression test
|
|
2
|
-
describe 'mlhs argument' do
|
|
3
|
-
context 'when pased value is falsey in JS' do
|
|
4
|
-
it 'still returns it' do
|
|
5
|
-
p = ->((a)){ a }
|
|
6
|
-
p.call(false).should == false
|
|
7
|
-
p.call("").should == ""
|
|
8
|
-
p.call(0).should == 0
|
|
9
|
-
end
|
|
10
|
-
end
|
|
11
|
-
|
|
12
|
-
context 'when passed value == null' do
|
|
13
|
-
it 'replaces it with nil' do
|
|
14
|
-
p = ->((a)){ a }
|
|
15
|
-
p.call([`undefined`]).should == nil
|
|
16
|
-
p.call([`null`]).should == nil
|
|
17
|
-
end
|
|
18
|
-
end
|
|
19
|
-
end
|
|
@@ -1,538 +0,0 @@
|
|
|
1
|
-
require File.expand_path('../fixtures/block', __FILE__)
|
|
2
|
-
|
|
3
|
-
describe "A block" do
|
|
4
|
-
before :each do
|
|
5
|
-
@y = BlockSpecs::Yielder.new
|
|
6
|
-
end
|
|
7
|
-
|
|
8
|
-
it "captures locals from the surrounding scope" do
|
|
9
|
-
var = 1
|
|
10
|
-
@y.z { var }.should == 1
|
|
11
|
-
end
|
|
12
|
-
|
|
13
|
-
it "allows for a leading space before the arguments" do
|
|
14
|
-
# res = @y.s (:a){ 1 }
|
|
15
|
-
# res.should == 1
|
|
16
|
-
end
|
|
17
|
-
|
|
18
|
-
it "allows to define a block variable with the same name as the enclosing block" do
|
|
19
|
-
o = BlockSpecs::OverwriteBlockVariable.new
|
|
20
|
-
o.z { 1 }.should == 1
|
|
21
|
-
end
|
|
22
|
-
|
|
23
|
-
ruby_version_is ""..."1.9" do
|
|
24
|
-
it "overwrites a captured local when used as an argument" do
|
|
25
|
-
var = 1
|
|
26
|
-
@y.s(2) { |var| var }.should == 2
|
|
27
|
-
var.should == 2
|
|
28
|
-
end
|
|
29
|
-
end
|
|
30
|
-
|
|
31
|
-
ruby_version_is "1.9" do
|
|
32
|
-
it "does not capture a local when an argument has the same name" do
|
|
33
|
-
var = 1
|
|
34
|
-
@y.s(2) { |var| var }.should == 2
|
|
35
|
-
var.should == 1
|
|
36
|
-
end
|
|
37
|
-
end
|
|
38
|
-
|
|
39
|
-
describe "taking zero arguments" do
|
|
40
|
-
it "does not raise an exception when no values are yielded" do
|
|
41
|
-
@y.z { 1 }.should == 1
|
|
42
|
-
end
|
|
43
|
-
|
|
44
|
-
it "does not raise an exception when values are yielded" do
|
|
45
|
-
@y.s(0) { 1 }.should == 1
|
|
46
|
-
end
|
|
47
|
-
end
|
|
48
|
-
|
|
49
|
-
describe "taking || arguments" do
|
|
50
|
-
it "does not raise an exception when no values are yielded" do
|
|
51
|
-
@y.z { || 1 }.should == 1
|
|
52
|
-
end
|
|
53
|
-
|
|
54
|
-
it "does not raise an exception when values are yielded" do
|
|
55
|
-
@y.s(0) { || 1 }.should == 1
|
|
56
|
-
end
|
|
57
|
-
end
|
|
58
|
-
|
|
59
|
-
describe "taking |a| arguments" do
|
|
60
|
-
it "assigns nil to the argument when no values are yielded" do
|
|
61
|
-
@y.z { |a| a }.should be_nil
|
|
62
|
-
end
|
|
63
|
-
|
|
64
|
-
it "assigns the value yielded to the argument" do
|
|
65
|
-
@y.s(1) { |a| a }.should == 1
|
|
66
|
-
end
|
|
67
|
-
|
|
68
|
-
it "does not call #to_ary to convert a single yielded object to an Array" do
|
|
69
|
-
obj = mock("block yield to_ary")
|
|
70
|
-
obj.should_not_receive(:to_ary)
|
|
71
|
-
|
|
72
|
-
@y.s(obj) { |a| a }.should equal(obj)
|
|
73
|
-
end
|
|
74
|
-
|
|
75
|
-
ruby_version_is ""..."1.9" do
|
|
76
|
-
it "assigns all the values yielded to the argument as an Array" do
|
|
77
|
-
@y.m(1, 2) { |a| a }.should == [1, 2]
|
|
78
|
-
end
|
|
79
|
-
end
|
|
80
|
-
|
|
81
|
-
ruby_version_is "1.9" do
|
|
82
|
-
it "assigns the first value yielded to the argument" do
|
|
83
|
-
@y.m(1, 2) { |a| a }.should == 1
|
|
84
|
-
end
|
|
85
|
-
end
|
|
86
|
-
|
|
87
|
-
it "does not destructure a single Array value" do
|
|
88
|
-
@y.s([1, 2]) { |a| a }.should == [1, 2]
|
|
89
|
-
end
|
|
90
|
-
end
|
|
91
|
-
|
|
92
|
-
describe "taking |a, b| arguments" do
|
|
93
|
-
it "assgins nil to the arguments when no values are yielded" do
|
|
94
|
-
@y.z { |a, b| [a, b] }.should == [nil, nil]
|
|
95
|
-
end
|
|
96
|
-
|
|
97
|
-
it "assigns one value yielded to the first argument" do
|
|
98
|
-
@y.s(1) { |a, b| [a, b] }.should == [1, nil]
|
|
99
|
-
end
|
|
100
|
-
|
|
101
|
-
it "assigns the first two values yielded to the arguments" do
|
|
102
|
-
@y.m(1, 2, 3) { |a, b| [a, b] }.should == [1, 2]
|
|
103
|
-
end
|
|
104
|
-
|
|
105
|
-
it "does not destructure an Array value as one of several values yielded" do
|
|
106
|
-
@y.m([1, 2], 3, 4) { |a, b| [a, b] }.should == [[1, 2], 3]
|
|
107
|
-
end
|
|
108
|
-
|
|
109
|
-
it "assigns 'nil' and 'nil' to the arguments when a single, empty Array is yielded" do
|
|
110
|
-
@y.s([]) { |a, b| [a, b] }.should == [nil, nil]
|
|
111
|
-
end
|
|
112
|
-
|
|
113
|
-
it "assigns the element of a single element Array to the first argument" do
|
|
114
|
-
@y.s([1]) { |a, b| [a, b] }.should == [1, nil]
|
|
115
|
-
@y.s([nil]) { |a, b| [a, b] }.should == [nil, nil]
|
|
116
|
-
@y.s([[]]) { |a, b| [a, b] }.should == [[], nil]
|
|
117
|
-
end
|
|
118
|
-
|
|
119
|
-
it "destructures a single Array value yielded" do
|
|
120
|
-
@y.s([1, 2, 3]) { |a, b| [a, b] }.should == [1, 2]
|
|
121
|
-
end
|
|
122
|
-
|
|
123
|
-
ruby_version_is ""..."1.9" do
|
|
124
|
-
it "does not destructure a splatted Array" do
|
|
125
|
-
@y.r([[]]) { |a, b| [a, b] }.should == [[], nil]
|
|
126
|
-
@y.r([[1]]) { |a, b| [a, b] }.should == [[1], nil]
|
|
127
|
-
end
|
|
128
|
-
end
|
|
129
|
-
|
|
130
|
-
ruby_version_is "1.9" do
|
|
131
|
-
it "destructures a splatted Array" do
|
|
132
|
-
@y.r([[]]) { |a, b| [a, b] }.should == [nil, nil]
|
|
133
|
-
@y.r([[1]]) { |a, b| [a, b] }.should == [1, nil]
|
|
134
|
-
end
|
|
135
|
-
end
|
|
136
|
-
|
|
137
|
-
it "calls #to_ary to convert a single yielded object to an Array" do
|
|
138
|
-
obj = mock("block yield to_ary")
|
|
139
|
-
obj.should_receive(:to_ary).and_return([1, 2])
|
|
140
|
-
|
|
141
|
-
@y.s(obj) { |a, b| [a, b] }.should == [1, 2]
|
|
142
|
-
end
|
|
143
|
-
|
|
144
|
-
it "does not call #to_ary if the single yielded object is an Array" do
|
|
145
|
-
obj = [1, 2]
|
|
146
|
-
obj.should_not_receive(:to_ary)
|
|
147
|
-
|
|
148
|
-
@y.s(obj) { |a, b| [a, b] }.should == [1, 2]
|
|
149
|
-
end
|
|
150
|
-
|
|
151
|
-
it "does not call #to_ary if the object does not respond to #to_ary" do
|
|
152
|
-
obj = mock("block yield no to_ary")
|
|
153
|
-
|
|
154
|
-
@y.s(obj) { |a, b| [a, b] }.should == [obj, nil]
|
|
155
|
-
end
|
|
156
|
-
|
|
157
|
-
it "raises an TypeError if #to_ary does not return an Array" do
|
|
158
|
-
obj = mock("block yield to_ary invalid")
|
|
159
|
-
obj.should_receive(:to_ary).and_return(1)
|
|
160
|
-
|
|
161
|
-
lambda { @y.s(obj) { |a, b| } }.should raise_error(TypeError)
|
|
162
|
-
end
|
|
163
|
-
end
|
|
164
|
-
|
|
165
|
-
describe "taking |a, *b| arguments" do
|
|
166
|
-
it "assigns 'nil' and '[]' to the arguments when no values are yielded" do
|
|
167
|
-
@y.z { |a, *b| [a, b] }.should == [nil, []]
|
|
168
|
-
end
|
|
169
|
-
|
|
170
|
-
it "assigns all yielded values after the first to the rest argument" do
|
|
171
|
-
@y.m(1, 2, 3) { |a, *b| [a, b] }.should == [1, [2, 3]]
|
|
172
|
-
end
|
|
173
|
-
|
|
174
|
-
it "assigns 'nil' and '[]' to the arguments when a single, empty Array is yielded" do
|
|
175
|
-
@y.s([]) { |a, *b| [a, b] }.should == [nil, []]
|
|
176
|
-
end
|
|
177
|
-
|
|
178
|
-
it "assigns the element of a single element Array to the first argument" do
|
|
179
|
-
@y.s([1]) { |a, *b| [a, b] }.should == [1, []]
|
|
180
|
-
@y.s([nil]) { |a, *b| [a, b] }.should == [nil, []]
|
|
181
|
-
@y.s([[]]) { |a, *b| [a, b] }.should == [[], []]
|
|
182
|
-
end
|
|
183
|
-
|
|
184
|
-
ruby_version_is ""..."1.9" do
|
|
185
|
-
it "does not destructure a splatted Array" do
|
|
186
|
-
@y.r([[]]) { |a, *b| [a, b] }.should == [[], []]
|
|
187
|
-
@y.r([[1]]) { |a, *b| [a, b] }.should == [[1], []]
|
|
188
|
-
end
|
|
189
|
-
end
|
|
190
|
-
|
|
191
|
-
ruby_version_is "1.9" do
|
|
192
|
-
it "destructures a splatted Array" do
|
|
193
|
-
@y.r([[]]) { |a, *b| [a, b] }.should == [nil, []]
|
|
194
|
-
@y.r([[1]]) { |a, *b| [a, b] }.should == [1, []]
|
|
195
|
-
end
|
|
196
|
-
end
|
|
197
|
-
|
|
198
|
-
it "destructures a single Array value assigning the remaining values to the rest argument" do
|
|
199
|
-
@y.s([1, 2, 3]) { |a, *b| [a, b] }.should == [1, [2, 3]]
|
|
200
|
-
end
|
|
201
|
-
|
|
202
|
-
it "calls #to_ary to convert a single yielded object to an Array" do
|
|
203
|
-
obj = mock("block yield to_ary")
|
|
204
|
-
obj.should_receive(:to_ary).and_return([1, 2])
|
|
205
|
-
|
|
206
|
-
@y.s(obj) { |a, *b| [a, b] }.should == [1, [2]]
|
|
207
|
-
end
|
|
208
|
-
|
|
209
|
-
it "does not call #to_ary if the single yielded object is an Array" do
|
|
210
|
-
obj = [1, 2]
|
|
211
|
-
obj.should_not_receive(:to_ary)
|
|
212
|
-
|
|
213
|
-
@y.s(obj) { |a, *b| [a, b] }.should == [1, [2]]
|
|
214
|
-
end
|
|
215
|
-
|
|
216
|
-
it "does not call #to_ary if the object does not respond to #to_ary" do
|
|
217
|
-
obj = mock("block yield no to_ary")
|
|
218
|
-
|
|
219
|
-
@y.s(obj) { |a, *b| [a, b] }.should == [obj, []]
|
|
220
|
-
end
|
|
221
|
-
|
|
222
|
-
it "raises an TypeError if #to_ary does not return an Array" do
|
|
223
|
-
obj = mock("block yield to_ary invalid")
|
|
224
|
-
obj.should_receive(:to_ary).and_return(1)
|
|
225
|
-
|
|
226
|
-
lambda { @y.s(obj) { |a, *b| } }.should raise_error(TypeError)
|
|
227
|
-
end
|
|
228
|
-
end
|
|
229
|
-
|
|
230
|
-
describe "taking |*| arguments" do
|
|
231
|
-
it "does not raise an exception when no values are yielded" do
|
|
232
|
-
# @y.z { |*| 1 }.should == 1
|
|
233
|
-
end
|
|
234
|
-
|
|
235
|
-
it "does not raise an exception when values are yielded" do
|
|
236
|
-
# @y.s(0) { |*| 1 }.should == 1
|
|
237
|
-
end
|
|
238
|
-
|
|
239
|
-
it "does not call #to_ary if the single yielded object is an Array" do
|
|
240
|
-
obj = [1, 2]
|
|
241
|
-
obj.should_not_receive(:to_ary)
|
|
242
|
-
|
|
243
|
-
# @y.s(obj) { |*| 1 }.should == 1
|
|
244
|
-
end
|
|
245
|
-
|
|
246
|
-
it "does not call #to_ary if the object does not respond to #to_ary" do
|
|
247
|
-
obj = mock("block yield no to_ary")
|
|
248
|
-
|
|
249
|
-
# @y.s(obj) { |*| 1 }.should == 1
|
|
250
|
-
end
|
|
251
|
-
|
|
252
|
-
ruby_version_is ""..."1.9" do
|
|
253
|
-
it "calls #to_ary to convert a single yielded object to an Array" do
|
|
254
|
-
obj = mock("block yield to_ary")
|
|
255
|
-
obj.should_receive(:to_ary).and_return([1, 2])
|
|
256
|
-
|
|
257
|
-
# @y.s(obj) { |*| 1 }.should == 1
|
|
258
|
-
end
|
|
259
|
-
|
|
260
|
-
it "does not raise a TypeError if #to_ary returns nil" do
|
|
261
|
-
obj = mock("block yield to_ary nil")
|
|
262
|
-
obj.should_receive(:to_ary).and_return(nil)
|
|
263
|
-
|
|
264
|
-
# @y.s(obj) { |*o| o }.should == [obj]
|
|
265
|
-
end
|
|
266
|
-
|
|
267
|
-
it "raises an TypeError if #to_ary does not return an Array" do
|
|
268
|
-
obj = mock("block yield to_ary invalid")
|
|
269
|
-
obj.should_receive(:to_ary).and_return(1)
|
|
270
|
-
|
|
271
|
-
# lambda { @y.s(obj) { |*| } }.should raise_error(TypeError)
|
|
272
|
-
end
|
|
273
|
-
end
|
|
274
|
-
|
|
275
|
-
ruby_version_is "1.9" do
|
|
276
|
-
it "does not call #to_ary to convert a single yielded object to an Array" do
|
|
277
|
-
obj = mock("block yield to_ary")
|
|
278
|
-
obj.should_not_receive(:to_ary)
|
|
279
|
-
|
|
280
|
-
# @y.s(obj) { |*| 1 }.should == 1
|
|
281
|
-
end
|
|
282
|
-
end
|
|
283
|
-
end
|
|
284
|
-
|
|
285
|
-
describe "taking |*a| arguments" do
|
|
286
|
-
it "assigns '[]' to the argument when no values are yielded" do
|
|
287
|
-
@y.z { |*a| a }.should == []
|
|
288
|
-
end
|
|
289
|
-
|
|
290
|
-
it "assigns a single value yielded to the argument as an Array" do
|
|
291
|
-
@y.s(1) { |*a| a }.should == [1]
|
|
292
|
-
end
|
|
293
|
-
|
|
294
|
-
it "assigns all the values passed to the argument as an Array" do
|
|
295
|
-
@y.m(1, 2, 3) { |*a| a }.should == [1, 2, 3]
|
|
296
|
-
end
|
|
297
|
-
|
|
298
|
-
it "assigns '[[]]' to the argument when passed an empty Array" do
|
|
299
|
-
@y.s([]) { |*a| a }.should == [[]]
|
|
300
|
-
end
|
|
301
|
-
|
|
302
|
-
it "assigns a single Array value passed to the argument by wrapping it in an Array" do
|
|
303
|
-
@y.s([1, 2, 3]) { |*a| a }.should == [[1, 2, 3]]
|
|
304
|
-
end
|
|
305
|
-
|
|
306
|
-
it "does not call #to_ary if the single yielded object is an Array" do
|
|
307
|
-
obj = [1, 2]
|
|
308
|
-
obj.should_not_receive(:to_ary)
|
|
309
|
-
|
|
310
|
-
@y.s(obj) { |*a| a }.should == [[1, 2]]
|
|
311
|
-
end
|
|
312
|
-
|
|
313
|
-
it "does not call #to_ary if the object does not respond to #to_ary" do
|
|
314
|
-
obj = mock("block yield no to_ary")
|
|
315
|
-
|
|
316
|
-
@y.s(obj) { |*a| a }.should == [obj]
|
|
317
|
-
end
|
|
318
|
-
|
|
319
|
-
ruby_version_is ""..."1.9" do
|
|
320
|
-
it "calls #to_ary to convert a single yielded object to an Array" do
|
|
321
|
-
obj = mock("block yield to_ary")
|
|
322
|
-
obj.should_receive(:to_ary).and_return([1, 2])
|
|
323
|
-
|
|
324
|
-
@y.s(obj) { |*a| a }.should == [obj]
|
|
325
|
-
end
|
|
326
|
-
|
|
327
|
-
it "raises an TypeError if #to_ary does not return an Array" do
|
|
328
|
-
obj = mock("block yield to_ary invalid")
|
|
329
|
-
obj.should_receive(:to_ary).and_return(1)
|
|
330
|
-
|
|
331
|
-
lambda { @y.s(obj) { |*a| } }.should raise_error(TypeError)
|
|
332
|
-
end
|
|
333
|
-
end
|
|
334
|
-
|
|
335
|
-
ruby_version_is "1.9" do
|
|
336
|
-
it "does not call #to_ary to convert a single yielded object to an Array" do
|
|
337
|
-
obj = mock("block yield to_ary")
|
|
338
|
-
obj.should_not_receive(:to_ary)
|
|
339
|
-
|
|
340
|
-
@y.s(obj) { |*a| a }.should == [obj]
|
|
341
|
-
end
|
|
342
|
-
end
|
|
343
|
-
end
|
|
344
|
-
|
|
345
|
-
describe "taking |a, | arguments" do
|
|
346
|
-
it "assigns nil to the argument when no values are yielded" do
|
|
347
|
-
# @y.z { |a, | a }.should be_nil
|
|
348
|
-
end
|
|
349
|
-
|
|
350
|
-
it "assgins the argument a single value yielded" do
|
|
351
|
-
# @y.s(1) { |a, | a }.should == 1
|
|
352
|
-
end
|
|
353
|
-
|
|
354
|
-
it "assigns the argument the first value yielded" do
|
|
355
|
-
# @y.m(1, 2) { |a, | a }.should == 1
|
|
356
|
-
end
|
|
357
|
-
|
|
358
|
-
it "assigns the argument the first of several values yielded when it is an Array" do
|
|
359
|
-
# @y.m([1, 2], 3) { |a, | a }.should == [1, 2]
|
|
360
|
-
end
|
|
361
|
-
|
|
362
|
-
it "assigns nil to the argument when passed an empty Array" do
|
|
363
|
-
# @y.s([]) { |a, | a }.should be_nil
|
|
364
|
-
end
|
|
365
|
-
|
|
366
|
-
it "assigns the argument the first element of the Array when passed a single Array" do
|
|
367
|
-
# @y.s([1, 2]) { |a, | a }.should == 1
|
|
368
|
-
end
|
|
369
|
-
|
|
370
|
-
it "calls #to_ary to convert a single yielded object to an Array" do
|
|
371
|
-
# obj = mock("block yield to_ary")
|
|
372
|
-
# obj.should_receive(:to_ary).and_return([1, 2])
|
|
373
|
-
|
|
374
|
-
# @y.s(obj) { |a, | a }.should == 1
|
|
375
|
-
end
|
|
376
|
-
|
|
377
|
-
it "does not call #to_ary if the single yielded object is an Array" do
|
|
378
|
-
# obj = [1, 2]
|
|
379
|
-
# obj.should_not_receive(:to_ary)
|
|
380
|
-
|
|
381
|
-
# @y.s(obj) { |a, | a }.should == 1
|
|
382
|
-
end
|
|
383
|
-
|
|
384
|
-
it "does not call #to_ary if the object does not respond to #to_ary" do
|
|
385
|
-
# obj = mock("block yield no to_ary")
|
|
386
|
-
|
|
387
|
-
# @y.s(obj) { |a, | a }.should == obj
|
|
388
|
-
end
|
|
389
|
-
|
|
390
|
-
it "raises an TypeError if #to_ary does not return an Array" do
|
|
391
|
-
# obj = mock("block yield to_ary invalid")
|
|
392
|
-
# obj.should_receive(:to_ary).and_return(1)
|
|
393
|
-
|
|
394
|
-
# lambda { @y.s(obj) { |a, | } }.should raise_error(TypeError)
|
|
395
|
-
end
|
|
396
|
-
end
|
|
397
|
-
|
|
398
|
-
describe "taking |(a, b)| arguments" do
|
|
399
|
-
it "assigns nil to the arguments when yielded no values" do
|
|
400
|
-
@y.z { |(a, b)| [a, b] }.should == [nil, nil]
|
|
401
|
-
end
|
|
402
|
-
|
|
403
|
-
it "destructures a single Array value yielded" do
|
|
404
|
-
@y.s([1, 2]) { |(a, b)| [a, b] }.should == [1, 2]
|
|
405
|
-
end
|
|
406
|
-
|
|
407
|
-
it "calls #to_ary to convert a single yielded object to an Array" do
|
|
408
|
-
obj = mock("block yield to_ary")
|
|
409
|
-
obj.should_receive(:to_ary).and_return([1, 2])
|
|
410
|
-
|
|
411
|
-
@y.s(obj) { |(a, b)| [a, b] }.should == [1, 2]
|
|
412
|
-
end
|
|
413
|
-
|
|
414
|
-
it "does not call #to_ary if the single yielded object is an Array" do
|
|
415
|
-
obj = [1, 2]
|
|
416
|
-
obj.should_not_receive(:to_ary)
|
|
417
|
-
|
|
418
|
-
@y.s(obj) { |(a, b)| [a, b] }.should == [1, 2]
|
|
419
|
-
end
|
|
420
|
-
|
|
421
|
-
it "does not call #to_ary if the object does not respond to #to_ary" do
|
|
422
|
-
obj = mock("block yield no to_ary")
|
|
423
|
-
|
|
424
|
-
@y.s(obj) { |(a, b)| [a, b] }.should == [obj, nil]
|
|
425
|
-
end
|
|
426
|
-
|
|
427
|
-
it "raises an TypeError if #to_ary does not return an Array" do
|
|
428
|
-
obj = mock("block yield to_ary invalid")
|
|
429
|
-
obj.should_receive(:to_ary).and_return(1)
|
|
430
|
-
|
|
431
|
-
lambda { @y.s(obj) { |(a, b)| } }.should raise_error(TypeError)
|
|
432
|
-
end
|
|
433
|
-
end
|
|
434
|
-
|
|
435
|
-
describe "taking |(a, b), c| arguments" do
|
|
436
|
-
it "assigns nil to the arguments when yielded no values" do
|
|
437
|
-
@y.z { |(a, b), c| [a, b, c] }.should == [nil, nil, nil]
|
|
438
|
-
end
|
|
439
|
-
|
|
440
|
-
it "destructures a single one-level Array value yielded" do
|
|
441
|
-
@y.s([1, 2]) { |(a, b), c| [a, b, c] }.should == [1, nil, 2]
|
|
442
|
-
end
|
|
443
|
-
|
|
444
|
-
it "destructures a single multi-level Array value yielded" do
|
|
445
|
-
@y.s([[1, 2, 3], 4]) { |(a, b), c| [a, b, c] }.should == [1, 2, 4]
|
|
446
|
-
end
|
|
447
|
-
|
|
448
|
-
it "calls #to_ary to convert a single yielded object to an Array" do
|
|
449
|
-
obj = mock("block yield to_ary")
|
|
450
|
-
obj.should_receive(:to_ary).and_return([1, 2])
|
|
451
|
-
|
|
452
|
-
@y.s(obj) { |(a, b), c| [a, b, c] }.should == [1, nil, 2]
|
|
453
|
-
end
|
|
454
|
-
|
|
455
|
-
it "does not call #to_ary if the single yielded object is an Array" do
|
|
456
|
-
obj = [1, 2]
|
|
457
|
-
obj.should_not_receive(:to_ary)
|
|
458
|
-
|
|
459
|
-
@y.s(obj) { |(a, b), c| [a, b, c] }.should == [1, nil, 2]
|
|
460
|
-
end
|
|
461
|
-
|
|
462
|
-
it "does not call #to_ary if the object does not respond to #to_ary" do
|
|
463
|
-
obj = mock("block yield no to_ary")
|
|
464
|
-
|
|
465
|
-
@y.s(obj) { |(a, b), c| [a, b, c] }.should == [obj, nil, nil]
|
|
466
|
-
end
|
|
467
|
-
|
|
468
|
-
it "raises an TypeError if #to_ary does not return an Array" do
|
|
469
|
-
obj = mock("block yield to_ary invalid")
|
|
470
|
-
obj.should_receive(:to_ary).and_return(1)
|
|
471
|
-
|
|
472
|
-
lambda { @y.s(obj) { |(a, b), c| } }.should raise_error(TypeError)
|
|
473
|
-
end
|
|
474
|
-
end
|
|
475
|
-
|
|
476
|
-
describe "taking nested |a, (b, (c, d))|" do
|
|
477
|
-
it "assigns nil to the arguments when yielded no values" do
|
|
478
|
-
# @y.m { |a, (b, (c, d))| [a, b, c, d] }.should == [nil, nil, nil, nil]
|
|
479
|
-
end
|
|
480
|
-
|
|
481
|
-
it "destructures separate yielded values" do
|
|
482
|
-
# @y.m(1, 2) { |a, (b, (c, d))| [a, b, c, d] }.should == [1, 2, nil, nil]
|
|
483
|
-
end
|
|
484
|
-
|
|
485
|
-
it "destructures a single multi-level Array value yielded" do
|
|
486
|
-
# @y.m(1, [2, 3]) { |a, (b, (c, d))| [a, b, c, d] }.should == [1, 2, 3, nil]
|
|
487
|
-
end
|
|
488
|
-
|
|
489
|
-
it "destructures a single multi-level Array value yielded" do
|
|
490
|
-
# @y.m(1, [2, [3, 4]]) { |a, (b, (c, d))| [a, b, c, d] }.should == [1, 2, 3, 4]
|
|
491
|
-
end
|
|
492
|
-
end
|
|
493
|
-
|
|
494
|
-
describe "taking nested |a, ((b, c), d)|" do
|
|
495
|
-
it "assigns nil to the arguments when yielded no values" do
|
|
496
|
-
# @y.m { |a, ((b, c), d)| [a, b, c, d] }.should == [nil, nil, nil, nil]
|
|
497
|
-
end
|
|
498
|
-
|
|
499
|
-
it "destructures separate yielded values" do
|
|
500
|
-
# @y.m(1, 2) { |a, ((b, c), d)| [a, b, c, d] }.should == [1, 2, nil, nil]
|
|
501
|
-
end
|
|
502
|
-
|
|
503
|
-
it "destructures a single multi-level Array value yielded" do
|
|
504
|
-
# @y.m(1, [2, 3]) { |a, ((b, c), d)| [a, b, c, d] }.should == [1, 2, nil, 3]
|
|
505
|
-
end
|
|
506
|
-
|
|
507
|
-
it "destructures a single multi-level Array value yielded" do
|
|
508
|
-
# @y.m(1, [[2, 3], 4]) { |a, ((b, c), d)| [a, b, c, d] }.should == [1, 2, 3, 4]
|
|
509
|
-
end
|
|
510
|
-
end
|
|
511
|
-
|
|
512
|
-
describe "arguments with _" do
|
|
513
|
-
|
|
514
|
-
ruby_version_is ""..."1.9" do
|
|
515
|
-
it "extracts arguments with _" do
|
|
516
|
-
@y.m([[1, 2, 3], 4]) { |(_, a, _), _| a }.should == 4
|
|
517
|
-
end
|
|
518
|
-
|
|
519
|
-
it "assigns the last variable named" do
|
|
520
|
-
@y.m(1, 2) { |_, _| _ }.should == 2
|
|
521
|
-
end
|
|
522
|
-
end
|
|
523
|
-
|
|
524
|
-
ruby_version_is "1.9" do
|
|
525
|
-
it "extracts arguments with _" do
|
|
526
|
-
@y.m([[1, 2, 3], 4]) { |(_, a, _), _| a }.should == 2
|
|
527
|
-
end
|
|
528
|
-
|
|
529
|
-
it "assigns the first variable named" do
|
|
530
|
-
@y.m(1, 2) { |_, _| _ }.should == 1
|
|
531
|
-
end
|
|
532
|
-
end
|
|
533
|
-
|
|
534
|
-
end
|
|
535
|
-
|
|
536
|
-
end
|
|
537
|
-
|
|
538
|
-
language_version __FILE__, "block"
|
|
@@ -1,55 +0,0 @@
|
|
|
1
|
-
class AssignClassNewConst
|
|
2
|
-
TEST_CONST = :bar
|
|
3
|
-
|
|
4
|
-
def foo
|
|
5
|
-
TEST_CONST
|
|
6
|
-
end
|
|
7
|
-
|
|
8
|
-
def self.assign_klass
|
|
9
|
-
k = Class.new(self) do
|
|
10
|
-
def foobar
|
|
11
|
-
# ensure we can still use constants from AssignClassNewConst even though we use AssignClassConstBase
|
|
12
|
-
TEST_CONST
|
|
13
|
-
end
|
|
14
|
-
end
|
|
15
|
-
AssignClassConstBase.assign_const(k)
|
|
16
|
-
end
|
|
17
|
-
end
|
|
18
|
-
|
|
19
|
-
module AssignClassConstBase
|
|
20
|
-
def self.assign_const(group)
|
|
21
|
-
self.const_set("MyStuff", group)
|
|
22
|
-
end
|
|
23
|
-
end
|
|
24
|
-
|
|
25
|
-
describe "Assigning Class.new to a constant" do
|
|
26
|
-
klass = Class.new do
|
|
27
|
-
def bar
|
|
28
|
-
:bar
|
|
29
|
-
end
|
|
30
|
-
end
|
|
31
|
-
ConstantWithAssignedClass = klass
|
|
32
|
-
class ConstantWithAssignedClass
|
|
33
|
-
def foo
|
|
34
|
-
:foo
|
|
35
|
-
end
|
|
36
|
-
end
|
|
37
|
-
|
|
38
|
-
it "sets the class' name" do
|
|
39
|
-
ConstantWithAssignedClass.name.should == 'ConstantWithAssignedClass'
|
|
40
|
-
end
|
|
41
|
-
|
|
42
|
-
it "can be reopened by the constant name" do
|
|
43
|
-
ConstantWithAssignedClass.new.foo.should == :foo
|
|
44
|
-
ConstantWithAssignedClass.new.bar.should == :bar
|
|
45
|
-
end
|
|
46
|
-
|
|
47
|
-
it "respects a different base scope" do
|
|
48
|
-
AssignClassNewConst.assign_klass
|
|
49
|
-
AssignClassConstBase::MyStuff.to_s.should == "AssignClassConstBase::MyStuff"
|
|
50
|
-
AssignClassConstBase::MyStuff.name.should == "AssignClassConstBase::MyStuff"
|
|
51
|
-
obj = AssignClassConstBase::MyStuff.new
|
|
52
|
-
obj.foo.should == :bar
|
|
53
|
-
obj.foobar.should == :bar
|
|
54
|
-
end
|
|
55
|
-
end
|