opal 0.10.6 → 0.11.0.rc1
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 +5 -5
- data/.codeclimate.yml +19 -0
- data/.gitmodules +1 -1
- data/.jshintrc +1 -2
- data/.travis.yml +26 -18
- data/CHANGELOG.md +89 -23
- data/{CODE_OF_CONDUCT.md → CONDUCT.md} +0 -0
- data/Gemfile +19 -21
- data/HACKING.md +2 -0
- data/README.md +7 -6
- data/Rakefile +1 -1
- data/appveyor.yml +21 -4
- 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/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/bin/opal-repl +23 -1
- data/docs/compiled_ruby.md +16 -14
- data/docs/faq.md +3 -3
- data/docs/rspec.md +2 -1
- data/docs/unsupported_features.md +6 -4
- data/examples/rack/Gemfile +1 -0
- 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/lib/opal.rb +6 -1
- data/lib/opal/ast/builder.rb +17 -0
- data/lib/opal/ast/node.rb +30 -0
- data/lib/opal/builder.rb +14 -3
- data/lib/opal/builder_processors.rb +1 -0
- data/lib/opal/cli.rb +45 -59
- data/lib/opal/cli_options.rb +11 -7
- data/lib/opal/cli_runners.rb +1 -0
- data/lib/opal/cli_runners/applescript.rb +3 -3
- data/lib/opal/cli_runners/nashorn.rb +1 -0
- data/lib/opal/cli_runners/nodejs.rb +4 -1
- data/lib/opal/cli_runners/phantom.js +1 -2
- data/lib/opal/cli_runners/phantomjs.rb +3 -2
- data/lib/opal/cli_runners/server.rb +1 -0
- data/lib/opal/compiler.rb +145 -94
- data/lib/opal/config.rb +1 -0
- data/lib/opal/deprecations.rb +18 -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/hike_path_finder.rb +1 -0
- data/lib/opal/nodes.rb +3 -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 +7 -7
- data/lib/opal/nodes/args/kwoptarg.rb +6 -7
- 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 +167 -155
- data/lib/opal/nodes/call_special.rb +31 -217
- 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 +49 -16
- data/lib/opal/nodes/defined.rb +170 -60
- data/lib/opal/nodes/definitions.rb +40 -133
- data/lib/opal/nodes/defs.rb +29 -0
- data/lib/opal/nodes/for.rb +52 -25
- data/lib/opal/nodes/hash.rb +12 -35
- data/lib/opal/nodes/helpers.rb +27 -54
- 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 +189 -116
- data/lib/opal/nodes/logic.rb +20 -25
- data/lib/opal/nodes/masgn.rb +20 -18
- data/lib/opal/nodes/module.rb +10 -11
- data/lib/opal/nodes/node_with_args.rb +14 -17
- data/lib/opal/nodes/rescue.rb +37 -70
- data/lib/opal/nodes/runtime_helpers.rb +8 -3
- data/lib/opal/nodes/scope.rb +9 -5
- data/lib/opal/nodes/singleton_class.rb +4 -3
- data/lib/opal/nodes/super.rb +115 -87
- data/lib/opal/nodes/top.rb +7 -2
- data/lib/opal/nodes/variables.rb +46 -35
- data/lib/opal/nodes/while.rb +11 -1
- data/lib/opal/nodes/yield.rb +1 -17
- data/lib/opal/parser.rb +28 -770
- data/lib/opal/path_reader.rb +5 -1
- data/lib/opal/paths.rb +10 -4
- data/lib/opal/regexp_anchors.rb +1 -0
- data/lib/opal/rewriter.rb +60 -0
- data/lib/opal/rewriters/base.rb +60 -0
- data/lib/opal/rewriters/binary_operator_assignment.rb +144 -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/js_reserved_words.rb +111 -0
- data/lib/opal/rewriters/logical_operator_assignment.rb +155 -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 +100 -0
- data/lib/opal/source_map.rb +1 -1
- data/lib/opal/util.rb +5 -5
- data/lib/opal/version.rb +2 -1
- data/lib/tilt/opal.rb +1 -0
- data/opal.gemspec +8 -7
- data/opal/README.md +1 -1
- data/opal/corelib/array.rb +137 -83
- data/opal/corelib/basic_object.rb +6 -6
- data/opal/corelib/class.rb +14 -11
- data/opal/corelib/complex.rb +5 -1
- data/opal/corelib/constants.rb +3 -3
- data/opal/corelib/enumerable.rb +129 -11
- data/opal/corelib/error.rb +35 -17
- data/opal/corelib/file.rb +65 -170
- data/opal/corelib/hash.rb +128 -13
- data/opal/corelib/helpers.rb +12 -15
- data/opal/corelib/io.rb +1 -0
- data/opal/corelib/kernel.rb +40 -21
- data/opal/corelib/marshal/read_buffer.rb +1 -1
- data/opal/corelib/method.rb +33 -13
- data/opal/corelib/module.rb +133 -81
- data/opal/corelib/number.rb +141 -25
- data/opal/corelib/numeric.rb +0 -8
- data/opal/corelib/process.rb +44 -4
- data/opal/corelib/random.rb +117 -0
- data/opal/corelib/random/seedrandom.js.rb +15 -0
- data/opal/corelib/range.rb +133 -10
- data/opal/corelib/regexp.rb +37 -9
- data/opal/corelib/runtime.js +601 -390
- data/opal/corelib/string.rb +39 -8
- data/opal/corelib/string/encoding.rb +51 -7
- data/opal/corelib/struct.rb +20 -0
- data/opal/corelib/time.rb +3 -3
- data/opal/corelib/variables.rb +1 -1
- data/opal/opal.rb +1 -0
- data/spec/filters/bugs/array.rb +5 -1
- data/spec/filters/bugs/basicobject.rb +2 -5
- data/spec/filters/bugs/bigdecimal.rb +8 -22
- data/spec/filters/bugs/class.rb +2 -1
- data/spec/filters/bugs/comparable.rb +5 -0
- data/spec/filters/bugs/date.rb +3 -3
- data/spec/filters/bugs/enumerable.rb +4 -11
- data/spec/filters/bugs/enumerator.rb +2 -4
- data/spec/filters/bugs/exception.rb +16 -2
- data/spec/filters/bugs/file.rb +8 -0
- data/spec/filters/bugs/float.rb +7 -1
- data/spec/filters/bugs/hash.rb +6 -2
- data/spec/filters/bugs/integer.rb +2 -0
- data/spec/filters/bugs/io.rb +8 -0
- data/spec/filters/bugs/kernel.rb +9 -138
- data/spec/filters/bugs/language.rb +89 -174
- data/spec/filters/bugs/marshal.rb +33 -35
- data/spec/filters/bugs/method.rb +0 -24
- data/spec/filters/bugs/module.rb +19 -55
- data/spec/filters/bugs/numeric.rb +0 -119
- data/spec/filters/bugs/pathname.rb +2 -0
- data/spec/filters/bugs/proc.rb +5 -4
- data/spec/filters/bugs/random.rb +7 -0
- data/spec/filters/bugs/range.rb +12 -120
- data/spec/filters/bugs/rational.rb +1 -1
- data/spec/filters/bugs/regexp.rb +2 -40
- data/spec/filters/bugs/set.rb +0 -1
- data/spec/filters/bugs/string.rb +5 -8
- data/spec/filters/bugs/stringscanner.rb +11 -19
- data/spec/filters/bugs/time.rb +7 -1
- data/spec/filters/bugs/unboundmethod.rb +1 -11
- data/spec/filters/unsupported/array.rb +5 -1
- data/spec/filters/unsupported/basicobject.rb +1 -1
- data/spec/filters/unsupported/bignum.rb +4 -1
- data/spec/filters/unsupported/class.rb +1 -1
- data/spec/filters/unsupported/delegator.rb +1 -1
- data/spec/filters/unsupported/enumerable.rb +1 -1
- data/spec/filters/unsupported/enumerator.rb +1 -1
- data/spec/filters/unsupported/file.rb +4 -0
- data/spec/filters/unsupported/fixnum.rb +1 -1
- data/spec/filters/unsupported/float.rb +4 -1
- data/spec/filters/unsupported/freeze.rb +27 -5
- data/spec/filters/unsupported/hash.rb +7 -15
- data/spec/filters/unsupported/integer.rb +1 -1
- data/spec/filters/unsupported/kernel.rb +2 -1
- data/spec/filters/unsupported/language.rb +6 -1
- data/spec/filters/unsupported/marshal.rb +1 -1
- data/spec/filters/unsupported/matchdata.rb +4 -1
- data/spec/filters/unsupported/math.rb +1 -1
- data/spec/filters/unsupported/pathname.rb +1 -1
- data/spec/filters/unsupported/privacy.rb +141 -9
- data/spec/filters/unsupported/proc.rb +1 -1
- data/spec/filters/unsupported/random.rb +4 -0
- data/spec/filters/unsupported/range.rb +7 -0
- data/spec/filters/unsupported/regexp.rb +25 -15
- data/spec/filters/unsupported/set.rb +1 -1
- data/spec/filters/unsupported/singleton.rb +1 -1
- data/spec/filters/unsupported/string.rb +110 -101
- data/spec/filters/unsupported/struct.rb +1 -1
- data/spec/filters/unsupported/symbol.rb +2 -1
- data/spec/filters/unsupported/taint.rb +22 -7
- data/spec/filters/unsupported/thread.rb +1 -1
- data/spec/filters/unsupported/time.rb +1 -1
- data/spec/lib/builder_spec.rb +17 -0
- data/spec/lib/cli_spec.rb +37 -8
- data/spec/lib/compiler/call_spec.rb +98 -66
- data/spec/lib/compiler_spec.rb +39 -30
- data/spec/lib/dependency_resolver_spec.rb +2 -2
- data/spec/lib/deprecations_spec.rb +16 -0
- data/spec/lib/fixtures/source_location_test.rb +7 -0
- data/spec/lib/rewriters/binary_operator_assignment_spec.rb +151 -0
- data/spec/lib/rewriters/block_to_iter_spec.rb +28 -0
- data/spec/lib/rewriters/dot_js_syntax_spec.rb +108 -0
- data/spec/lib/rewriters/explicit_writer_return_spec.rb +186 -0
- data/spec/lib/rewriters/js_reserved_words_spec.rb +116 -0
- data/spec/lib/rewriters/logical_operator_assignment_spec.rb +202 -0
- data/spec/lib/rewriters/opal_engine_check_spec.rb +82 -0
- data/spec/lib/rewriters/rubyspec/filters_rewriter_spec.rb +53 -0
- data/spec/lib/simple_server_spec.rb +54 -0
- data/spec/mspec-opal/formatters.rb +65 -17
- data/spec/mspec-opal/runner.rb +47 -67
- data/spec/opal/core/date_spec.rb +14 -0
- data/spec/opal/core/exception_spec.rb +10 -0
- data/spec/opal/core/hash/internals_spec.rb +10 -10
- data/spec/opal/core/kernel/rand_spec.rb +0 -4
- data/spec/opal/core/kernel/respond_to_spec.rb +5 -2
- data/spec/opal/core/language/constant_lookup_spec.rb +38 -0
- data/spec/opal/core/language/predefined_spec.rb +1 -1
- data/spec/opal/core/language/safe_navigator_spec.rb +7 -0
- data/spec/opal/core/language/send_spec.rb +1 -9
- data/spec/opal/core/language/string_spec.rb +8 -8
- data/spec/opal/core/language/versions/def_2_0_spec.rb +0 -4
- data/spec/opal/core/language_spec.rb +32 -0
- data/spec/opal/core/module/const_get_spec.rb +1 -1
- data/spec/opal/core/runtime/is_a_spec.rb +36 -0
- data/spec/opal/core/runtime/rescue_spec.rb +35 -0
- data/spec/opal/core/runtime_spec.rb +4 -4
- data/spec/opal/core/string_spec.rb +8 -8
- data/spec/opal/core/time_spec.rb +26 -17
- data/spec/opal/stdlib/erb/quoted.opalerb +1 -1
- data/spec/opal/stdlib/json/parse_spec.rb +4 -0
- data/spec/opal/stdlib/native/hash_spec.rb +16 -0
- data/spec/ruby_specs +2 -1
- data/spec/spec_helper.rb +1 -0
- data/spec/support/rewriters_helper.rb +24 -0
- data/stdlib/base64.rb +4 -2
- data/stdlib/bigdecimal/bignumber.js.rb +1 -1
- data/stdlib/date.rb +18 -19
- 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 +49 -20
- data/stdlib/nodejs/io.rb +22 -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 +163 -0
- data/stdlib/nodejs/yaml.rb +2 -1
- data/stdlib/opal-platform.rb +15 -0
- data/stdlib/opal/platform.rb +5 -13
- data/stdlib/pathname.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.rake +322 -205
- data/tasks/testing/mspec_special_calls.rb +44 -15
- data/tasks/testing/opal_rspec_smoketest.Gemfile +13 -0
- data/test/nodejs/fixtures/hello.rb +1 -0
- data/test/nodejs/test_file.rb +57 -0
- data/test/nodejs/test_io.rb +18 -0
- data/test/nodejs/test_opal_builder.rb +12 -0
- data/test/opal/unsupported_and_bugs.rb +9 -0
- metadata +127 -240
- 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.rb +0 -77
- data/lib/opal/sprockets/environment.rb +0 -23
- data/lib/opal/sprockets/erb.rb +0 -28
- data/lib/opal/sprockets/path_reader.rb +0 -36
- data/lib/opal/sprockets/processor.rb +0 -173
- 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 -117
- data/spec/filters/bugs/compiler_opal.rb +0 -5
- data/spec/filters/bugs/language_opal.rb +0 -88
- data/spec/filters/unsupported/module.rb +0 -8
- data/spec/lib/compiler/pre_processed_conditionals_spec.rb +0 -87
- 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 -112
- data/spec/lib/parser/while_spec.rb +0 -15
- data/spec/lib/parser/yield_spec.rb +0 -20
- 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 -39
- data/spec/lib/tilt/opal_spec.rb +0 -37
- data/spec/opal/core/language/block_spec.rb +0 -538
- data/spec/opal/core/language/proc_spec.rb +0 -263
- data/spec/opal/core/language/variables_spec.rb +0 -1366
- data/spec/opal/core/runtime/block_send_spec.rb +0 -28
- data/spec/opal/core/runtime/send_spec.rb +0 -34
- 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/LICENSE +0 -21
- 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.js +0 -39
- 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.js +0 -103
- 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/type.js +0 -61
- 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/node_modules/argparse/HISTORY.md +0 -115
- data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/LICENSE +0 -21
- 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.js +0 -146
- 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/append/constant.js +0 -47
- 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.js +0 -50
- 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/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_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.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/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/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
@@ -1,4 +1,4 @@
|
|
1
|
-
|
1
|
+
opal_unsupported_filter "Kernel" do
|
2
2
|
fails "Kernel has private instance method Array()"
|
3
3
|
fails "Kernel has private instance method Hash()"
|
4
4
|
fails "Kernel#Float is a private method"
|
@@ -28,4 +28,5 @@ opal_filter "Kernel" do
|
|
28
28
|
fails "Kernel#dup raises a TypeError for Symbol"
|
29
29
|
fails "Kernel.fail is a private method"
|
30
30
|
fails "Kernel#raise is a private method"
|
31
|
+
fails "Kernel#inspect returns an untrusted string if self is untrusted"
|
31
32
|
end
|
@@ -1,4 +1,4 @@
|
|
1
|
-
|
1
|
+
opal_unsupported_filter "language" do
|
2
2
|
fails "Magic comment can be after the shebang"
|
3
3
|
fails "Magic comment can take Emacs style"
|
4
4
|
fails "Magic comment can take vim style"
|
@@ -14,4 +14,9 @@ opal_filter "language" do
|
|
14
14
|
fails "The private keyword changes visiblity of previously called methods with same send/call site"
|
15
15
|
fails "The private keyword is overridden when a new class is opened"
|
16
16
|
fails "The private keyword marks following methods as being private"
|
17
|
+
fails "Ruby String literals with a magic frozen comment produce different objects for literals with the same content in different files if the other file doesn't have the comment"
|
18
|
+
fails "Ruby String literals with a magic frozen comment produce different objects for literals with the same content in different files if they have different encodings"
|
19
|
+
fails "Ruby String literals with a magic frozen comment produce the same object each time"
|
20
|
+
fails "Ruby String literals with a magic frozen comment produce the same object for literals with the same content"
|
21
|
+
fails "Ruby String literals with a magic frozen comment produce the same object for literals with the same content in different files"
|
17
22
|
end
|
@@ -1,4 +1,4 @@
|
|
1
|
-
|
1
|
+
opal_unsupported_filter "MatchData" do
|
2
2
|
fails "MatchData#begin returns nil when the nth match isn't found"
|
3
3
|
fails "MatchData#begin returns the offset for multi byte strings"
|
4
4
|
fails "MatchData#begin returns the offset of the start of the nth element"
|
@@ -27,4 +27,7 @@ opal_filter "MatchData" do
|
|
27
27
|
fails "MatchData#[Symbol] returns the corresponding named match when given a Symbol"
|
28
28
|
fails "MatchData#[Symbol] returns the last match when multiple named matches exist with the same name"
|
29
29
|
fails "MatchData#[Symbol] returns the matching version of multiple corresponding named match"
|
30
|
+
fails "MatchData#begin returns the offset for multi byte strings with unicode regexp"
|
31
|
+
fails "MatchData#end returns the offset for multi byte strings with unicode regexp"
|
32
|
+
fails "MatchData#offset returns the offset for multi byte strings with unicode regexp"
|
30
33
|
end
|
@@ -1,10 +1,111 @@
|
|
1
|
-
|
1
|
+
opal_unsupported_filter "private" do
|
2
2
|
fails "BasicObject#initialize is a private instance method"
|
3
3
|
fails "BasicObject#method_missing for a Class raises a NoMethodError when an undefined method is called"
|
4
4
|
fails "BasicObject#method_missing is a private method"
|
5
5
|
fails "BasicObject#singleton_method_added is a private method"
|
6
6
|
fails "BasicObject#singleton_method_removed is a private method"
|
7
7
|
fails "BasicObject#singleton_method_undefined is a private method"
|
8
|
+
fails "Defining a 'respond_to_missing?' method sets the method's visibility to private"
|
9
|
+
fails "Defining a method at the top-level defines it on Object with private visibility by default"
|
10
|
+
fails "Defining an 'initialize' method sets the method's visibility to private"
|
11
|
+
fails "Defining an 'initialize_clone' method sets the method's visibility to private"
|
12
|
+
fails "Defining an 'initialize_copy' method sets the method's visibility to private"
|
13
|
+
fails "Defining an 'initialize_dup' method sets the method's visibility to private"
|
14
|
+
fails "Enumerator#initialize is a private method"
|
15
|
+
fails "Invoking a private getter method does not permit self as a receiver"
|
16
|
+
fails "Kernel#block_given? is a private method"
|
17
|
+
fails "Kernel#eval is a private method"
|
18
|
+
fails "Kernel#iterator? is a private method"
|
19
|
+
fails "Kernel#local_variables is a private method"
|
20
|
+
fails "Kernel#methods returns private singleton methods defined by obj.meth"
|
21
|
+
fails "Kernel#methods returns singleton methods defined in 'class << self' when it follows 'private'"
|
22
|
+
fails "Kernel#p is a private method"
|
23
|
+
fails "Kernel#print is a private method"
|
24
|
+
fails "Kernel#printf is a private method"
|
25
|
+
fails "Kernel#private_methods returns a list of the names of privately accessible methods in the object and its ancestors and mixed-in modules"
|
26
|
+
fails "Kernel#private_methods returns a list of the names of privately accessible methods in the object"
|
27
|
+
fails "Kernel#private_methods returns private methods mixed in to the metaclass"
|
28
|
+
fails "Kernel#private_methods when not passed an argument returns a unique list for a class including a module"
|
29
|
+
fails "Kernel#private_methods when not passed an argument returns a unique list for a subclass of a class that includes a module"
|
30
|
+
fails "Kernel#private_methods when not passed an argument returns a unique list for an object extended by a module"
|
31
|
+
fails "Kernel#private_methods when passed false returns a list of private methods in without its ancestors"
|
32
|
+
fails "Kernel#private_methods when passed nil returns a list of private methods in without its ancestors"
|
33
|
+
fails "Kernel#private_methods when passed true returns a unique list for a class including a module"
|
34
|
+
fails "Kernel#private_methods when passed true returns a unique list for a subclass of a class that includes a module"
|
35
|
+
fails "Kernel#private_methods when passed true returns a unique list for an object extended by a module"
|
36
|
+
fails "Kernel#protected_methods returns a list of the names of protected methods accessible in the object and from its ancestors and mixed-in modules"
|
37
|
+
fails "Kernel#protected_methods returns a list of the names of protected methods accessible in the object"
|
38
|
+
fails "Kernel#protected_methods returns methods mixed in to the metaclass"
|
39
|
+
fails "Kernel#protected_methods when not passed an argument returns a unique list for a class including a module"
|
40
|
+
fails "Kernel#protected_methods when not passed an argument returns a unique list for a subclass of a class that includes a module"
|
41
|
+
fails "Kernel#protected_methods when not passed an argument returns a unique list for an object extended by a module"
|
42
|
+
fails "Kernel#protected_methods when passed false returns a list of protected methods in without its ancestors"
|
43
|
+
fails "Kernel#protected_methods when passed nil returns a list of protected methods in without its ancestors"
|
44
|
+
fails "Kernel#protected_methods when passed true returns a unique list for a class including a module"
|
45
|
+
fails "Kernel#protected_methods when passed true returns a unique list for a subclass of a class that includes a module"
|
46
|
+
fails "Kernel#protected_methods when passed true returns a unique list for an object extended by a module"
|
47
|
+
fails "Kernel#public_send called from own public method raises a NoMethodError if the method is private"
|
48
|
+
fails "Kernel#public_send called from own public method raises a NoMethodError if the method is protected"
|
49
|
+
fails "Kernel#public_send raises a NoMethodError if the method is protected"
|
50
|
+
fails "Kernel#public_send raises a NoMethodError if the named method is an alias of a private method"
|
51
|
+
fails "Kernel#public_send raises a NoMethodError if the named method is an alias of a protected method"
|
52
|
+
fails "Kernel#public_send raises a NoMethodError if the named method is private"
|
53
|
+
fails "Kernel#puts is a private method"
|
54
|
+
fails "Kernel#respond_to? does not change method visibility when finding private method"
|
55
|
+
fails "Kernel#respond_to? returns false even if obj responds to the given private method (include_private = false)"
|
56
|
+
fails "Kernel#respond_to? returns false if obj responds to the given private method"
|
57
|
+
fails "Kernel#respond_to? returns false if obj responds to the given protected method (include_private = false)"
|
58
|
+
fails "Kernel#respond_to? returns false if obj responds to the given protected method"
|
59
|
+
fails "Kernel#respond_to_missing? is a private method"
|
60
|
+
fails "Kernel#respond_to_missing? is called when obj responds to the given private method, include_private = false"
|
61
|
+
fails "Kernel#respond_to_missing? is called when obj responds to the given protected method, include_private = false"
|
62
|
+
fails "Kernel#respond_to_missing? isn't called when obj responds to the given private method, include_private = true"
|
63
|
+
fails "Kernel#respond_to_missing? isn't called when obj responds to the given protected method, include_private = true"
|
64
|
+
fails "Kernel#respond_to_missing? isn't called when obj responds to the given public method, include_private = true"
|
65
|
+
fails "Kernel#singleton_methods when not passed an argument does not return private class methods for a class"
|
66
|
+
fails "Kernel#singleton_methods when not passed an argument does not return private inherited singleton methods for a class including a module"
|
67
|
+
fails "Kernel#singleton_methods when not passed an argument does not return private inherited singleton methods for a module including a module"
|
68
|
+
fails "Kernel#singleton_methods when not passed an argument does not return private inherited singleton methods for a subclass including a module"
|
69
|
+
fails "Kernel#singleton_methods when not passed an argument does not return private inherited singleton methods for a subclass of a class including a module"
|
70
|
+
fails "Kernel#singleton_methods when not passed an argument does not return private inherited singleton methods for a subclass of a class that includes a module, where the subclass also includes a module"
|
71
|
+
fails "Kernel#singleton_methods when not passed an argument does not return private inherited singleton methods for a subclass"
|
72
|
+
fails "Kernel#singleton_methods when not passed an argument does not return private module methods for a module"
|
73
|
+
fails "Kernel#singleton_methods when not passed an argument does not return private singleton methods for a class extended with a module"
|
74
|
+
fails "Kernel#singleton_methods when not passed an argument does not return private singleton methods for an object extended with a module"
|
75
|
+
fails "Kernel#singleton_methods when not passed an argument does not return private singleton methods for an object extended with two modules"
|
76
|
+
fails "Kernel#singleton_methods when not passed an argument does not return private singleton methods for an object extented with a module including a module"
|
77
|
+
fails "Kernel#singleton_methods when passed false does not return private class methods for a class"
|
78
|
+
fails "Kernel#singleton_methods when passed false does not return private inherited singleton methods for a class including a module"
|
79
|
+
fails "Kernel#singleton_methods when passed false does not return private inherited singleton methods for a module including a module"
|
80
|
+
fails "Kernel#singleton_methods when passed false does not return private inherited singleton methods for a subclass including a module"
|
81
|
+
fails "Kernel#singleton_methods when passed false does not return private inherited singleton methods for a subclass of a class including a module"
|
82
|
+
fails "Kernel#singleton_methods when passed false does not return private inherited singleton methods for a subclass of a class that includes a module, where the subclass also includes a module"
|
83
|
+
fails "Kernel#singleton_methods when passed false does not return private inherited singleton methods for a subclass"
|
84
|
+
fails "Kernel#singleton_methods when passed false does not return private module methods for a module"
|
85
|
+
fails "Kernel#singleton_methods when passed false does not return private singleton methods for a class extended with a module"
|
86
|
+
fails "Kernel#singleton_methods when passed false does not return private singleton methods for an object extended with a module"
|
87
|
+
fails "Kernel#singleton_methods when passed false does not return private singleton methods for an object extended with two modules"
|
88
|
+
fails "Kernel#singleton_methods when passed false does not return private singleton methods for an object extented with a module including a module"
|
89
|
+
fails "Kernel#singleton_methods when passed true does not return private class methods for a class"
|
90
|
+
fails "Kernel#singleton_methods when passed true does not return private inherited singleton methods for a class including a module"
|
91
|
+
fails "Kernel#singleton_methods when passed true does not return private inherited singleton methods for a module including a module"
|
92
|
+
fails "Kernel#singleton_methods when passed true does not return private inherited singleton methods for a subclass including a module"
|
93
|
+
fails "Kernel#singleton_methods when passed true does not return private inherited singleton methods for a subclass of a class including a module"
|
94
|
+
fails "Kernel#singleton_methods when passed true does not return private inherited singleton methods for a subclass of a class that includes a module, where the subclass also includes a module"
|
95
|
+
fails "Kernel#singleton_methods when passed true does not return private inherited singleton methods for a subclass"
|
96
|
+
fails "Kernel#singleton_methods when passed true does not return private module methods for a module"
|
97
|
+
fails "Kernel#singleton_methods when passed true does not return private singleton methods for a class extended with a module"
|
98
|
+
fails "Kernel#singleton_methods when passed true does not return private singleton methods for an object extended with a module"
|
99
|
+
fails "Kernel#singleton_methods when passed true does not return private singleton methods for an object extended with two modules"
|
100
|
+
fails "Kernel#singleton_methods when passed true does not return private singleton methods for an object extented with a module including a module"
|
101
|
+
fails "Kernel.global_variables is a private method"
|
102
|
+
fails "Kernel.lambda is a private method"
|
103
|
+
fails "Kernel.loop is a private method"
|
104
|
+
fails "Kernel.proc is a private method"
|
105
|
+
fails "Kernel.rand is a private method"
|
106
|
+
fails "Kernel.srand is a private method"
|
107
|
+
fails "Method#== missing methods calls respond_to_missing? with true to include private methods"
|
108
|
+
fails "Method#eql? missing methods calls respond_to_missing? with true to include private methods"
|
8
109
|
fails "Module#alias_method aliasing special methods keeps initialize private when aliasing"
|
9
110
|
fails "Module#alias_method aliasing special methods keeps initialize_clone private when aliasing"
|
10
111
|
fails "Module#alias_method aliasing special methods keeps initialize_copy private when aliasing"
|
@@ -16,13 +117,18 @@ opal_filter "private" do
|
|
16
117
|
fails "Module#attr_accessor is a private method"
|
17
118
|
fails "Module#attr_reader is a private method"
|
18
119
|
fails "Module#attr_writer is a private method"
|
19
|
-
fails "Module#define_method
|
120
|
+
fails "Module#define_method is private"
|
121
|
+
fails "Module#define_method when given an UnboundMethod sets the new method's visibility to the current frame's visibility" # Expected NoMethodError but no exception was raised ("piggy" was returned)
|
122
|
+
fails "Module#define_method when name is :initialize given an UnboundMethod sets the visibility to private when method is named :initialize"
|
123
|
+
fails "Module#define_method when name is :initialize passed a block sets visibility to private when method name is :initialize"
|
20
124
|
fails "Module#define_method when name is not a special private name given an UnboundMethod and called from the target module sets the visibility of the method to the current visibility"
|
125
|
+
fails "Module#define_method when name is not a special private name given an UnboundMethod sets the visibility of the method to the current visibility"
|
21
126
|
fails "Module#define_method when name is not a special private name passed a block and called from the target module sets the visibility of the method to the current visibility"
|
22
127
|
fails "Module#extend_object is a private method"
|
23
128
|
fails "Module#extend_object is called even when private"
|
24
129
|
fails "Module#extended is private in its default implementation"
|
25
130
|
fails "Module#included is private in its default implementation"
|
131
|
+
fails "Module#instance_methods makes a private Object instance method public in Kernel"
|
26
132
|
fails "Module#method_added is a private instance method"
|
27
133
|
fails "Module#method_removed is a private instance method"
|
28
134
|
fails "Module#method_undefined is a private instance method"
|
@@ -45,6 +151,7 @@ opal_filter "private" do
|
|
45
151
|
fails "Module#private without arguments does not affect module_evaled method definitions when itself is outside the eval"
|
46
152
|
fails "Module#private without arguments sets visibility to following method definitions"
|
47
153
|
fails "Module#private without arguments stops setting visibility if the body encounters other visibility setters without arguments"
|
154
|
+
fails "Module#private without arguments within a closure sets the visibility outside the closure"
|
48
155
|
fails "Module#private_class_method accepts more than one method at a time"
|
49
156
|
fails "Module#private_class_method makes a class method private"
|
50
157
|
fails "Module#private_class_method makes an existing class method private up the inheritance tree"
|
@@ -55,6 +162,25 @@ opal_filter "private" do
|
|
55
162
|
fails "Module#private_constant accepts multiple names"
|
56
163
|
fails "Module#private_constant accepts strings as constant names"
|
57
164
|
fails "Module#private_constant can only be passed constant names defined in the target (self) module"
|
165
|
+
fails "Module#private_constant marked constants in Object cannot be accessed using ::Const form"
|
166
|
+
fails "Module#private_constant marked constants in Object is not defined? using ::Const form"
|
167
|
+
fails "Module#private_constant marked constants in a class can be accessed from lexical scope"
|
168
|
+
fails "Module#private_constant marked constants in a class can be accessed from the class itself"
|
169
|
+
fails "Module#private_constant marked constants in a class cannot be accessed from outside the class"
|
170
|
+
fails "Module#private_constant marked constants in a class cannot be reopened as a class"
|
171
|
+
fails "Module#private_constant marked constants in a class cannot be reopened as a module"
|
172
|
+
fails "Module#private_constant marked constants in a class is defined? from lexical scope"
|
173
|
+
fails "Module#private_constant marked constants in a class is not defined? with A::B form"
|
174
|
+
fails "Module#private_constant marked constants in a module can be accessed from lexical scope"
|
175
|
+
fails "Module#private_constant marked constants in a module can be accessed from the module itself"
|
176
|
+
fails "Module#private_constant marked constants in a module cannot be accessed from outside the module"
|
177
|
+
fails "Module#private_constant marked constants in a module cannot be reopened as a class from scope where constant would be private" # Expected NameError but no exception was raised (nil was returned)
|
178
|
+
fails "Module#private_constant marked constants in a module cannot be reopened as a class"
|
179
|
+
fails "Module#private_constant marked constants in a module cannot be reopened as a module from scope where constant would be private" # Exception: Cannot read property '$pretty_inspect' of undefined
|
180
|
+
fails "Module#private_constant marked constants in a module cannot be reopened as a module"
|
181
|
+
fails "Module#private_constant marked constants in a module is defined? from lexical scope"
|
182
|
+
fails "Module#private_constant marked constants in a module is not defined? with A::B form"
|
183
|
+
fails "Module#private_constant marked constants remain private even when updated"
|
58
184
|
fails "Module#private_instance_methods returns a list of private methods in module and its ancestors"
|
59
185
|
fails "Module#private_instance_methods when not passed an argument returns a unique list for a class including a module"
|
60
186
|
fails "Module#private_instance_methods when not passed an argument returns a unique list for a subclass"
|
@@ -83,6 +209,7 @@ opal_filter "private" do
|
|
83
209
|
fails "Module#protected without arguments does not affect module_evaled method definitions when itself is outside the eval"
|
84
210
|
fails "Module#protected without arguments sets visibility to following method definitions"
|
85
211
|
fails "Module#protected without arguments stops setting visibility if the body encounters other visibility setters without arguments"
|
212
|
+
fails "Module#protected without arguments within a closure sets the visibility outside the closure"
|
86
213
|
fails "Module#protected_instance_methods default list should be the same as passing true as an argument"
|
87
214
|
fails "Module#protected_instance_methods returns a list of protected methods in module and its ancestors"
|
88
215
|
fails "Module#protected_instance_methods when not passed an argument returns a unique list for a class including a module"
|
@@ -116,6 +243,11 @@ opal_filter "private" do
|
|
116
243
|
fails "Module#public_class_method raises a NameError when the given name is not a method"
|
117
244
|
fails "Module#public_constant accepts multiple names"
|
118
245
|
fails "Module#public_constant accepts strings as constant names"
|
246
|
+
fails "Module#public_constant can only be passed constant names defined in the target (self) module"
|
247
|
+
fails "Module#public_constant marked constants in a class can be accessed from outside the class"
|
248
|
+
fails "Module#public_constant marked constants in a class is defined? with A::B form" # Exception: Opal.TypeError is not a constructor
|
249
|
+
fails "Module#public_constant marked constants in a module can be accessed from outside the module"
|
250
|
+
fails "Module#public_constant marked constants in a module is defined? with A::B form" # Exception: Opal.TypeError is not a constructor
|
119
251
|
fails "Module#public_instance_method is a public method"
|
120
252
|
fails "Module#public_instance_method raises a TypeError when given a name is not Symbol or String"
|
121
253
|
fails "Module#public_instance_method requires an argument"
|
@@ -133,15 +265,15 @@ opal_filter "private" do
|
|
133
265
|
fails "Module#remove_const is a private method"
|
134
266
|
fails "Module#remove_method is a private method"
|
135
267
|
fails "Module#undef_method is a private method"
|
268
|
+
fails "NoMethodError#message for an protected method match /protected method/"
|
269
|
+
fails "NoMethodError#message for private method match /private method/"
|
136
270
|
fails "OpenStruct#initialize is private"
|
137
271
|
fails "OpenStruct#new_ostruct_member is protected"
|
138
272
|
fails "OpenStruct#table is protected"
|
139
|
-
fails "
|
140
|
-
fails "Defining an 'initialize' method sets the method's visibility to private"
|
141
|
-
fails "Defining an 'initialize_copy' method sets the method's visibility to private"
|
142
|
-
fails "Defining an 'initialize_dup' method sets the method's visibility to private"
|
143
|
-
fails "Defining an 'initialize_clone' method sets the method's visibility to private"
|
144
|
-
fails "Defining a 'respond_to_missing?' method sets the method's visibility to private"
|
145
|
-
fails "Redefining a singleton method does not inherit a previously set visibility"
|
273
|
+
fails "Rational#marshal_dump is a private method"
|
146
274
|
fails "Redefining a singleton method does not inherit a previously set visibility"
|
275
|
+
fails "Regexp#initialize is a private method"
|
276
|
+
fails "Set#flatten_merge is protected"
|
277
|
+
fails "String#+@ returns mutable copy despite freeze-magic-comment in file" # NoMethodError: undefined method `tmp' for #<Object:0x3bdc>
|
278
|
+
fails "StringScanner#initialize is a private method"
|
147
279
|
end
|
@@ -0,0 +1,4 @@
|
|
1
|
+
opal_unsupported_filter "Random" do
|
2
|
+
fails "Random#bytes returns the same numeric output for a given seed accross all implementations and platforms"
|
3
|
+
fails "Random#bytes returns the same numeric output for a given huge seed accross all implementations and platforms"
|
4
|
+
end
|
@@ -0,0 +1,7 @@
|
|
1
|
+
opal_unsupported_filter "Range" do
|
2
|
+
fails "Range#initialize is private"
|
3
|
+
fails "Range#inspect returns a tainted string if either end is tainted"
|
4
|
+
fails "Range#inspect returns a untrusted string if either end is untrusted"
|
5
|
+
fails "Range#to_s returns a tainted string if either end is tainted"
|
6
|
+
fails "Range#to_s returns a untrusted string if either end is untrusted"
|
7
|
+
end
|
@@ -1,22 +1,26 @@
|
|
1
|
-
|
1
|
+
opal_unsupported_filter "Regexp" do
|
2
|
+
fails "Regexp with character classes doesn't match non-ASCII characters with [[:ascii:]]"
|
2
3
|
fails "Regexp#options does not include Regexp::FIXEDENCODING for a Regexp literal with the 'n' option"
|
3
4
|
fails "Regexp#options includes Regexp::FIXEDENCODING for a Regexp literal with the 'e' option"
|
4
5
|
fails "Regexp#options includes Regexp::FIXEDENCODING for a Regexp literal with the 's' option"
|
5
6
|
fails "Regexp#options includes Regexp::FIXEDENCODING for a Regexp literal with the 'u' option"
|
6
7
|
fails "Regexp#options includes Regexp::NOENCODING for a Regexp literal with the 'n' option"
|
8
|
+
fails "Regexp#source has US-ASCII encoding when created from an ASCII-only \\u{} literal"
|
9
|
+
fails "Regexp#source has UTF-8 encoding when created from a non-ASCII-only \\u{} literal"
|
10
|
+
fails "Regexp#to_s deals properly with uncaptured groups"
|
11
|
+
fails "Regexp#to_s displays groups with options"
|
12
|
+
fails "Regexp#to_s displays options if included"
|
13
|
+
fails "Regexp#to_s displays single group with same options as main regex as the main regex"
|
14
|
+
fails "Regexp#to_s handles abusive option groups"
|
7
15
|
fails "Regexp.escape sets the encoding of the result to ASCII-8BIT if any non-US-ASCII characters are present in an input String with invalid encoding"
|
8
|
-
fails "Regexp.escape sets the encoding of the result to the encoding of the String if any non-US-ASCII characters are present in an input String with valid encoding"
|
9
16
|
fails "Regexp.escape sets the encoding of the result to US-ASCII if there are only US-ASCII characters present in the input String"
|
17
|
+
fails "Regexp.escape sets the encoding of the result to the encoding of the String if any non-US-ASCII characters are present in an input String with valid encoding"
|
10
18
|
fails "Regexp.new given a String accepts a Fixnum of two or more options ORed together as the second argument"
|
11
19
|
fails "Regexp.new given a String ignores the third argument if it is 'e' or 'euc' (case-insensitive)"
|
12
20
|
fails "Regexp.new given a String ignores the third argument if it is 's' or 'sjis' (case-insensitive)"
|
13
21
|
fails "Regexp.new given a String ignores the third argument if it is 'u' or 'utf8' (case-insensitive)"
|
14
22
|
fails "Regexp.new given a String uses ASCII_8BIT encoding if third argument is 'n' or 'none' (case insensitive) and non-ascii characters"
|
15
23
|
fails "Regexp.new given a String uses US_ASCII encoding if third argument is 'n' or 'none' (case insensitive) and only ascii characters"
|
16
|
-
fails "Regexp.new given a String with escaped characters accepts a combination of escaped octal and hexadecimal digits and \\u{HHHH}"
|
17
|
-
fails "Regexp.new given a String with escaped characters accepts characters followed by \\u{HHHH}"
|
18
|
-
fails "Regexp.new given a String with escaped characters accepts escaped hexadecimal digits followed by \\u{HHHH}"
|
19
|
-
fails "Regexp.new given a String with escaped characters accepts escaped octal digits followed by \\u{HHHH}"
|
20
24
|
fails "Regexp.new given a String with escaped characters accepts \\u{HHHHHH} for a single Unicode codepoint"
|
21
25
|
fails "Regexp.new given a String with escaped characters accepts \\u{HHHHH} for a single Unicode codepoint"
|
22
26
|
fails "Regexp.new given a String with escaped characters accepts \\u{HHHH} followed by characters"
|
@@ -24,21 +28,26 @@ opal_filter "Regexp" do
|
|
24
28
|
fails "Regexp.new given a String with escaped characters accepts \\u{HHH} for a single Unicode codepoint"
|
25
29
|
fails "Regexp.new given a String with escaped characters accepts \\u{HH} for a single Unicode codepoint"
|
26
30
|
fails "Regexp.new given a String with escaped characters accepts \\u{H} for a single Unicode codepoint"
|
31
|
+
fails "Regexp.new given a String with escaped characters accepts a combination of escaped octal and hexadecimal digits and \\u{HHHH}"
|
32
|
+
fails "Regexp.new given a String with escaped characters accepts characters followed by \\u{HHHH}"
|
33
|
+
fails "Regexp.new given a String with escaped characters accepts escaped hexadecimal digits followed by \\u{HHHH}"
|
34
|
+
fails "Regexp.new given a String with escaped characters accepts escaped octal digits followed by \\u{HHHH}"
|
27
35
|
fails "Regexp.new given a String with escaped characters raises a RegexpError if less than four digits are given for \\uHHHH"
|
28
36
|
fails "Regexp.new given a String with escaped characters raises a RegexpError if the \\u{} escape is empty"
|
29
|
-
fails "Regexp.new given a String with escaped characters returns a Regexp with
|
30
|
-
fails "Regexp.new given a String with escaped characters returns a Regexp with
|
37
|
+
fails "Regexp.new given a String with escaped characters returns a Regexp with US-ASCII encoding if UTF-8 escape sequences using only 7-bit ASCII are present"
|
38
|
+
fails "Regexp.new given a String with escaped characters returns a Regexp with US-ASCII encoding if only 7-bit ASCII characters are present regardless of the input String's encoding"
|
39
|
+
fails "Regexp.new given a String with escaped characters returns a Regexp with UTF-8 encoding if any UTF-8 escape sequences outside 7-bit ASCII are present"
|
31
40
|
fails "Regexp.new given a String with escaped characters returns a Regexp with source String having US-ASCII encoding if UTF-8 escape sequences using only 7-bit ASCII are present"
|
41
|
+
fails "Regexp.new given a String with escaped characters returns a Regexp with source String having US-ASCII encoding if only 7-bit ASCII characters are present regardless of the input String's encoding"
|
32
42
|
fails "Regexp.new given a String with escaped characters returns a Regexp with source String having UTF-8 encoding if any UTF-8 escape sequences outside 7-bit ASCII are present"
|
43
|
+
fails "Regexp.new given a String with escaped characters returns a Regexp with source String having the input String's encoding"
|
33
44
|
fails "Regexp.new given a String with escaped characters returns a Regexp with the input String's encoding"
|
34
|
-
fails "Regexp.new given a String with escaped characters returns a Regexp with US-ASCII encoding if only 7-bit ASCII characters are present regardless of the input String's encoding"
|
35
|
-
fails "Regexp.new given a String with escaped characters returns a Regexp with US-ASCII encoding if UTF-8 escape sequences using only 7-bit ASCII are present"
|
36
|
-
fails "Regexp.new given a String with escaped characters returns a Regexp with UTF-8 encoding if any UTF-8 escape sequences outside 7-bit ASCII are present"
|
37
45
|
fails "Regexp.quote sets the encoding of the result to ASCII-8BIT if any non-US-ASCII characters are present in an input String with invalid encoding"
|
38
|
-
fails "Regexp.quote sets the encoding of the result to the encoding of the String if any non-US-ASCII characters are present in an input String with valid encoding"
|
39
46
|
fails "Regexp.quote sets the encoding of the result to US-ASCII if there are only US-ASCII characters present in the input String"
|
40
|
-
fails "Regexp.
|
47
|
+
fails "Regexp.quote sets the encoding of the result to the encoding of the String if any non-US-ASCII characters are present in an input String with valid encoding"
|
48
|
+
fails "Regexp.try_convert returns the argument if given a Regexp"
|
41
49
|
fails "Regexp.union raises ArgumentError if the arguments include a String containing non-ASCII-compatible characters and a fixed encoding Regexp in a different encoding"
|
50
|
+
fails "Regexp.union raises ArgumentError if the arguments include a fixed encoding Regexp and a String containing non-ASCII-compatible characters in a different encoding"
|
42
51
|
fails "Regexp.union raises ArgumentError if the arguments include an ASCII-incompatible Regexp and a Regexp containing non-ASCII-compatible characters in a different encoding"
|
43
52
|
fails "Regexp.union raises ArgumentError if the arguments include an ASCII-incompatible Regexp and a String containing non-ASCII-compatible characters in a different encoding"
|
44
53
|
fails "Regexp.union raises ArgumentError if the arguments include an ASCII-incompatible Regexp and an ASCII-only Regexp"
|
@@ -48,12 +57,13 @@ opal_filter "Regexp" do
|
|
48
57
|
fails "Regexp.union raises ArgumentError if the arguments include an ASCII-incompatible String and an ASCII-only Regexp"
|
49
58
|
fails "Regexp.union raises ArgumentError if the arguments include an ASCII-incompatible String and an ASCII-only String"
|
50
59
|
fails "Regexp.union raises ArgumentError if the arguments include conflicting ASCII-incompatible Regexps"
|
60
|
+
fails "Regexp.union raises ArgumentError if the arguments include conflicting ASCII-incompatible Strings" # Expected ArgumentError but no exception was raised (/a|b/ was returned)
|
51
61
|
fails "Regexp.union raises ArgumentError if the arguments include conflicting fixed encoding Regexps"
|
62
|
+
fails "Regexp.union returns a Regexp with US-ASCII encoding if all arguments are ASCII-only"
|
63
|
+
fails "Regexp.union returns a Regexp with UTF-8 if one part is UTF-8"
|
52
64
|
fails "Regexp.union returns a Regexp with the encoding of a String containing non-ASCII-compatible characters and another ASCII-only String"
|
53
65
|
fails "Regexp.union returns a Regexp with the encoding of a String containing non-ASCII-compatible characters"
|
54
66
|
fails "Regexp.union returns a Regexp with the encoding of an ASCII-incompatible String argument"
|
55
67
|
fails "Regexp.union returns a Regexp with the encoding of multiple non-conflicting ASCII-incompatible String arguments"
|
56
68
|
fails "Regexp.union returns a Regexp with the encoding of multiple non-conflicting Strings containing non-ASCII-compatible characters"
|
57
|
-
fails "Regexp.union returns a Regexp with US-ASCII encoding if all arguments are ASCII-only"
|
58
|
-
fails "Regexp.union returns a Regexp with UTF-8 if one part is UTF-8"
|
59
69
|
end
|
@@ -1,5 +1,18 @@
|
|
1
|
-
|
1
|
+
opal_unsupported_filter "String" do
|
2
2
|
fails "BasicObject#__id__ returns a different value for two String literals"
|
3
|
+
fails "Ruby character strings Unicode escaping can be done with \\u{} and one to six hex digits"
|
4
|
+
fails "Ruby character strings Unicode escaping with ASCII_8BIT source encoding produces a UTF-8-encoded string when escaping non-ASCII characters via \\u" # Expected #<Encoding:UTF-16LE> to equal #<Encoding:UTF-8>
|
5
|
+
fails "Ruby character strings Unicode escaping with ASCII_8BIT source encoding produces a UTF-8-encoded string when escaping non-ASCII characters via \\u{}" # Expected #<Encoding:UTF-16LE> to equal #<Encoding:UTF-8>
|
6
|
+
fails "Ruby character strings Unicode escaping with ASCII_8BIT source encoding produces an ASCII string when escaping ASCII characters via \\u" # Expected #<Encoding:UTF-16LE> to equal #<Encoding:ASCII-8BIT>
|
7
|
+
fails "Ruby character strings Unicode escaping with ASCII_8BIT source encoding produces an ASCII string when escaping ASCII characters via \\u{}" # Expected #<Encoding:UTF-16LE> to equal #<Encoding:ASCII-8BIT>
|
8
|
+
fails "Ruby character strings Unicode escaping with US-ASCII source encoding produces a UTF-8-encoded string when escaping non-ASCII characters via \\u"
|
9
|
+
fails "Ruby character strings Unicode escaping with US-ASCII source encoding produces a UTF-8-encoded string when escaping non-ASCII characters via \\u{}"
|
10
|
+
fails "Ruby character strings Unicode escaping with US-ASCII source encoding produces an ASCII string when escaping ASCII characters via \\u"
|
11
|
+
fails "Ruby character strings Unicode escaping with US-ASCII source encoding produces an ASCII string when escaping ASCII characters via \\u{}"
|
12
|
+
fails "Ruby character strings are produced from control character shortcuts"
|
13
|
+
fails "Ruby character strings backslashes follow the same rules as interpolation"
|
14
|
+
fails "Ruby character strings taints the result of interpolation when an interpolated value is tainted"
|
15
|
+
fails "Ruby character strings untrusts the result of interpolation when an interpolated value is untrusted"
|
3
16
|
fails "String#% always taints the result when the format string is tainted"
|
4
17
|
fails "String#% supports negative bignums with %u or %d"
|
5
18
|
fails "String#% taints result for %p when argument.inspect is tainted"
|
@@ -42,9 +55,9 @@ opal_filter "String" do
|
|
42
55
|
fails "String#<< when the argument is in an ASCII-incompatible encoding incompatible with self's encoding uses the argument's encoding if self is empty"
|
43
56
|
fails "String#<< with Integer concatencates the argument interpreted as a codepoint"
|
44
57
|
fails "String#<< with Integer doesn't call to_int on its argument"
|
45
|
-
fails "String#<< with Integer raises a RuntimeError when self is frozen"
|
46
58
|
fails "String#<< with Integer raises RangeError if the argument is an invalid codepoint for self's encoding"
|
47
59
|
fails "String#<< with Integer raises RangeError if the argument is negative"
|
60
|
+
fails "String#<< with Integer raises a RuntimeError when self is frozen"
|
48
61
|
fails "String#<< with Integer returns a ASCII-8BIT string if self is US-ASCII and the argument is between 128-255 (inclusive)"
|
49
62
|
fails "String#<=> with String compares the indices of the encodings when the strings have identical non-ASCII-compatible bytes"
|
50
63
|
fails "String#<=> with String ignores encoding difference"
|
@@ -57,6 +70,62 @@ opal_filter "String" do
|
|
57
70
|
fails "String#=== considers encoding compatibility"
|
58
71
|
fails "String#=== considers encoding difference of incompatible string"
|
59
72
|
fails "String#=== ignores encoding difference of compatible string"
|
73
|
+
fails "String#[] with Range always taints resulting strings when self is tainted"
|
74
|
+
fails "String#[] with Regexp, index always taints resulting strings when self or regexp is tainted"
|
75
|
+
fails "String#[] with String taints resulting strings when other is tainted"
|
76
|
+
fails "String#[] with Symbol raises TypeError"
|
77
|
+
fails "String#[] with index, length always taints resulting strings when self is tainted"
|
78
|
+
fails "String#[]= with Fixnum index allows assignment to the zero'th element of an empty String"
|
79
|
+
fails "String#[]= with Fixnum index calls #to_str to convert other to a String"
|
80
|
+
fails "String#[]= with Fixnum index calls to_int on index"
|
81
|
+
fails "String#[]= with Fixnum index raises IndexError if the string index doesn't match a position in the string"
|
82
|
+
fails "String#[]= with Fixnum index raises a RuntimeError when self is frozen"
|
83
|
+
fails "String#[]= with Fixnum index raises a TypeError if other_str can't be converted to a String"
|
84
|
+
fails "String#[]= with Fixnum index raises an IndexError without changing self if idx is outside of self"
|
85
|
+
fails "String#[]= with Fixnum index replaces the char at idx with other_str"
|
86
|
+
fails "String#[]= with Fixnum index taints self if other_str is tainted"
|
87
|
+
fails "String#[]= with Fixnum index, count appends other_str to the end of the string if idx == the length of the string"
|
88
|
+
fails "String#[]= with Fixnum index, count calls #to_int to convert the index and count objects"
|
89
|
+
fails "String#[]= with Fixnum index, count calls #to_str to convert the replacement object"
|
90
|
+
fails "String#[]= with Fixnum index, count counts negative idx values from end of the string"
|
91
|
+
fails "String#[]= with Fixnum index, count deletes characters if other_str is an empty string"
|
92
|
+
fails "String#[]= with Fixnum index, count deletes characters up to the maximum length of the existing string"
|
93
|
+
fails "String#[]= with Fixnum index, count overwrites and deletes characters if count is more than the length of other_str"
|
94
|
+
fails "String#[]= with Fixnum index, count raises a TypeError if #to_int for count does not return an Integer"
|
95
|
+
fails "String#[]= with Fixnum index, count raises a TypeError if #to_int for index does not return an Integer"
|
96
|
+
fails "String#[]= with Fixnum index, count raises a TypeError if other_str is a type other than String"
|
97
|
+
fails "String#[]= with Fixnum index, count raises a TypeError of #to_str does not return a String"
|
98
|
+
fails "String#[]= with Fixnum index, count raises an IndexError if count < 0"
|
99
|
+
fails "String#[]= with Fixnum index, count raises an IndexError if |idx| is greater than the length of the string"
|
100
|
+
fails "String#[]= with Fixnum index, count starts at idx and overwrites count characters before inserting the rest of other_str"
|
101
|
+
fails "String#[]= with Fixnum index, count taints self if other_str is tainted"
|
102
|
+
fails "String#[]= with String index raises an IndexError if the search String is not found"
|
103
|
+
fails "String#[]= with String index replaces characters with no characters"
|
104
|
+
fails "String#[]= with String index replaces fewer characters with more characters"
|
105
|
+
fails "String#[]= with String index replaces more characters with fewer characters"
|
106
|
+
fails "String#[]= with a Range index raises a RangeError if negative Range begin is out of range"
|
107
|
+
fails "String#[]= with a Range index raises a RangeError if positive Range begin is greater than String size"
|
108
|
+
fails "String#[]= with a Range index replaces a partial string"
|
109
|
+
fails "String#[]= with a Range index replaces the contents with a longer String"
|
110
|
+
fails "String#[]= with a Range index replaces the contents with a shorter String"
|
111
|
+
fails "String#[]= with a Range index treats a negative out-of-range Range end with a negative Range begin as a zero count"
|
112
|
+
fails "String#[]= with a Range index treats a negative out-of-range Range end with a positive Range begin as a zero count"
|
113
|
+
fails "String#[]= with a Range index uses the Range end as an index rather than a count"
|
114
|
+
fails "String#[]= with a Range index with an empty replacement does not replace a character with a zero exclude-end range"
|
115
|
+
fails "String#[]= with a Range index with an empty replacement does not replace a character with a zero-index, zero exclude-end range"
|
116
|
+
fails "String#[]= with a Range index with an empty replacement replaces a character with a zero non-exclude-end range"
|
117
|
+
fails "String#[]= with a Range index with an empty replacement replaces a character with zero-index, zero non-exclude-end range"
|
118
|
+
fails "String#[]= with a Regexp index calls #to_str to convert the replacement"
|
119
|
+
fails "String#[]= with a Regexp index checks the match before calling #to_str to convert the replacement"
|
120
|
+
fails "String#[]= with a Regexp index raises IndexError if the regexp index doesn't match a position in the string"
|
121
|
+
fails "String#[]= with a Regexp index replaces the matched text with the rhs"
|
122
|
+
fails "String#[]= with a Regexp index with 3 arguments allows the specified capture to be negative and count from the end"
|
123
|
+
fails "String#[]= with a Regexp index with 3 arguments calls #to_int to convert the second object"
|
124
|
+
fails "String#[]= with a Regexp index with 3 arguments checks the match index before calling #to_str to convert the replacement"
|
125
|
+
fails "String#[]= with a Regexp index with 3 arguments raises IndexError if the specified capture isn't available"
|
126
|
+
fails "String#[]= with a Regexp index with 3 arguments raises a TypeError if #to_int does not return a Fixnum"
|
127
|
+
fails "String#[]= with a Regexp index with 3 arguments uses the 2nd of 3 arguments as which capture should be replaced"
|
128
|
+
fails "String#[]= with a Regexp index with 3 arguments when the optional capture does not match raises an IndexError before setting the replacement"
|
60
129
|
fails "String#capitalize is locale insensitive (only upcases a-z and only downcases A-Z)"
|
61
130
|
fails "String#capitalize taints resulting string when self is tainted"
|
62
131
|
fails "String#capitalize! capitalizes self in place"
|
@@ -142,9 +211,9 @@ opal_filter "String" do
|
|
142
211
|
fails "String#concat when the argument is in an ASCII-incompatible encoding incompatible with self's encoding uses the argument's encoding if self is empty"
|
143
212
|
fails "String#concat with Integer concatencates the argument interpreted as a codepoint"
|
144
213
|
fails "String#concat with Integer doesn't call to_int on its argument"
|
145
|
-
fails "String#concat with Integer raises a RuntimeError when self is frozen"
|
146
214
|
fails "String#concat with Integer raises RangeError if the argument is an invalid codepoint for self's encoding"
|
147
215
|
fails "String#concat with Integer raises RangeError if the argument is negative"
|
216
|
+
fails "String#concat with Integer raises a RuntimeError when self is frozen"
|
148
217
|
fails "String#concat with Integer returns a ASCII-8BIT string if self is US-ASCII and the argument is between 128-255 (inclusive)"
|
149
218
|
fails "String#count returns the number of occurrences of a multi-byte character"
|
150
219
|
fails "String#delete taints result when self is tainted"
|
@@ -156,6 +225,7 @@ opal_filter "String" do
|
|
156
225
|
fails "String#downcase! modifies self in place"
|
157
226
|
fails "String#downcase! raises a RuntimeError when self is frozen"
|
158
227
|
fails "String#downcase! returns nil if no modifications were made"
|
228
|
+
fails "String#dump untrusts the result if self is untrusted"
|
159
229
|
fails "String#dup does not modify the original string when changing dupped string"
|
160
230
|
fails "String#each_char is unicode aware"
|
161
231
|
fails "String#each_line does not care if the string is modified while substituting"
|
@@ -164,29 +234,22 @@ opal_filter "String" do
|
|
164
234
|
fails "String#eql? considers encoding compatibility"
|
165
235
|
fails "String#eql? considers encoding difference of incompatible string"
|
166
236
|
fails "String#eql? ignores encoding difference of compatible string"
|
167
|
-
fails "String#gsub with pattern and block raises an Encoding::CompatibilityError if the encodings are not compatible"
|
168
|
-
fails "String#gsub with pattern and block replaces the incompatible part properly even if the encodings are not compatible"
|
169
|
-
fails "String#gsub with pattern and block untrusts the result if the original string or replacement is untrusted"
|
170
|
-
fails "String#gsub with pattern and block uses the compatible encoding if they are compatible"
|
171
237
|
fails "String#gsub with pattern and Hash ignores non-String keys"
|
172
238
|
fails "String#gsub with pattern and Hash taints the result if a hash value is tainted"
|
173
239
|
fails "String#gsub with pattern and Hash taints the result if the original string is tainted"
|
174
240
|
fails "String#gsub with pattern and Hash untrusts the result if a hash value is untrusted"
|
175
241
|
fails "String#gsub with pattern and Hash untrusts the result if the original string is untrusted"
|
242
|
+
fails "String#gsub with pattern and block raises an ArgumentError if encoding is not valid"
|
243
|
+
fails "String#gsub with pattern and block raises an Encoding::CompatibilityError if the encodings are not compatible"
|
244
|
+
fails "String#gsub with pattern and block replaces the incompatible part properly even if the encodings are not compatible"
|
245
|
+
fails "String#gsub with pattern and block untrusts the result if the original string or replacement is untrusted"
|
246
|
+
fails "String#gsub with pattern and block uses the compatible encoding if they are compatible"
|
176
247
|
fails "String#gsub with pattern and replacement doesn't freak out when replacing ^" #Only fails "Text\nFoo".gsub(/^/, ' ').should == " Text\n Foo"
|
177
248
|
fails "String#gsub with pattern and replacement replaces \\k named backreferences with the regexp's corresponding capture"
|
178
249
|
fails "String#gsub with pattern and replacement returns a copy of self with all occurrences of pattern replaced with replacement" #Only fails str.gsub(/\Ah\S+\s*/, "huh? ").should == "huh? homely world. hah!"
|
179
250
|
fails "String#gsub with pattern and replacement supports \\G which matches at the beginning of the remaining (non-matched) string"
|
180
251
|
fails "String#gsub with pattern and replacement taints the result if the original string or replacement is tainted"
|
181
252
|
fails "String#gsub with pattern and replacement untrusts the result if the original string or replacement is untrusted"
|
182
|
-
fails "String#gsub! with pattern and block modifies self in place and returns self"
|
183
|
-
fails "String#gsub! with pattern and block raises a RuntimeError when self is frozen"
|
184
|
-
fails "String#gsub! with pattern and block raises an Encoding::CompatibilityError if the encodings are not compatible"
|
185
|
-
fails "String#gsub! with pattern and block replaces the incompatible part properly even if the encodings are not compatible"
|
186
|
-
fails "String#gsub! with pattern and block returns nil if no modifications were made"
|
187
|
-
fails "String#gsub! with pattern and block taints self if block's result is tainted"
|
188
|
-
fails "String#gsub! with pattern and block untrusts self if block's result is untrusted"
|
189
|
-
fails "String#gsub! with pattern and block uses the compatible encoding if they are compatible"
|
190
253
|
fails "String#gsub! with pattern and Hash coerces the hash values with #to_s"
|
191
254
|
fails "String#gsub! with pattern and Hash doesn't interpolate special sequences like \\1 for the block's return value"
|
192
255
|
fails "String#gsub! with pattern and Hash ignores keys that don't correspond to matches"
|
@@ -201,12 +264,21 @@ opal_filter "String" do
|
|
201
264
|
fails "String#gsub! with pattern and Hash uses a key's value as many times as needed"
|
202
265
|
fails "String#gsub! with pattern and Hash uses the hash's default value for missing keys"
|
203
266
|
fails "String#gsub! with pattern and Hash uses the hash's value set from default_proc for missing keys"
|
267
|
+
fails "String#gsub! with pattern and block modifies self in place and returns self"
|
268
|
+
fails "String#gsub! with pattern and block raises a RuntimeError when self is frozen"
|
269
|
+
fails "String#gsub! with pattern and block raises an ArgumentError if encoding is not valid"
|
270
|
+
fails "String#gsub! with pattern and block raises an Encoding::CompatibilityError if the encodings are not compatible"
|
271
|
+
fails "String#gsub! with pattern and block replaces the incompatible part properly even if the encodings are not compatible"
|
272
|
+
fails "String#gsub! with pattern and block returns nil if no modifications were made"
|
273
|
+
fails "String#gsub! with pattern and block taints self if block's result is tainted"
|
274
|
+
fails "String#gsub! with pattern and block untrusts self if block's result is untrusted"
|
275
|
+
fails "String#gsub! with pattern and block uses the compatible encoding if they are compatible"
|
204
276
|
fails "String#gsub! with pattern and replacement modifies self in place and returns self"
|
277
|
+
fails "String#gsub! with pattern and replacement modifies self in place with multi-byte characters and returns self"
|
205
278
|
fails "String#gsub! with pattern and replacement raises a RuntimeError when self is frozen"
|
206
279
|
fails "String#gsub! with pattern and replacement returns nil if no modifications were made"
|
207
280
|
fails "String#gsub! with pattern and replacement taints self if replacement is tainted"
|
208
281
|
fails "String#gsub! with pattern and replacement untrusts self if replacement is untrusted"
|
209
|
-
fails "String#gsub! with pattern and replacement modifies self in place with multi-byte characters and returns self"
|
210
282
|
fails "String#gsub! with pattern and without replacement and block returned Enumerator size should return nil"
|
211
283
|
fails "String#gsub! with pattern and without replacement and block returns an enumerator"
|
212
284
|
fails "String#index raises a TypeError if passed a Symbol"
|
@@ -233,8 +305,8 @@ opal_filter "String" do
|
|
233
305
|
fails "String#insert with index, other raises a TypeError if other can't be converted to string"
|
234
306
|
fails "String#insert with index, other raises an IndexError if the index is beyond string"
|
235
307
|
fails "String#insert with index, other taints self if string to insert is tainted"
|
236
|
-
fails "String#inspect returns a string with non-printing characters replaced by \\x notation"
|
237
308
|
fails "String#inspect returns a string with a NUL character replaced by \\x notation"
|
309
|
+
fails "String#inspect returns a string with non-printing characters replaced by \\x notation"
|
238
310
|
fails "String#inspect taints the result if self is tainted"
|
239
311
|
fails "String#inspect untrusts the result if self is untrusted"
|
240
312
|
fails "String#lines does not care if the string is modified while substituting"
|
@@ -273,6 +345,7 @@ opal_filter "String" do
|
|
273
345
|
fails "String#reverse! raises a RuntimeError on a frozen instance that is modified"
|
274
346
|
fails "String#reverse! raises a RuntimeError on a frozen instance that would not be modified"
|
275
347
|
fails "String#reverse! reverses self in place and always returns self"
|
348
|
+
fails "String#rindex with Regexp supports \\G which matches at the given start offset"
|
276
349
|
fails "String#rjust with length, padding taints result when self or padstr is tainted"
|
277
350
|
fails "String#rjust with length, padding when padding is tainted and self is untainted returns a tainted string if and only if length is longer than self"
|
278
351
|
fails "String#rstrip taints the result when self is tainted"
|
@@ -304,11 +377,11 @@ opal_filter "String" do
|
|
304
377
|
fails "String#setbyte regards a negative index as counting from the end of the String"
|
305
378
|
fails "String#setbyte returns an Integer"
|
306
379
|
fails "String#setbyte sets a byte at an index greater than String size"
|
307
|
-
fails "String#slice with index, length always taints resulting strings when self is tainted"
|
308
380
|
fails "String#slice with Range always taints resulting strings when self is tainted"
|
309
381
|
fails "String#slice with Regexp, index always taints resulting strings when self or regexp is tainted"
|
310
382
|
fails "String#slice with String taints resulting strings when other is tainted"
|
311
383
|
fails "String#slice with Symbol raises TypeError"
|
384
|
+
fails "String#slice with index, length always taints resulting strings when self is tainted"
|
312
385
|
fails "String#slice! Range always taints resulting strings when self is tainted"
|
313
386
|
fails "String#slice! Range calls to_int on range arguments"
|
314
387
|
fails "String#slice! Range deletes and return the substring given by the offsets of the range"
|
@@ -317,16 +390,6 @@ opal_filter "String" do
|
|
317
390
|
fails "String#slice! Range returns nil if the given range is out of self"
|
318
391
|
fails "String#slice! Range returns subclass instances"
|
319
392
|
fails "String#slice! Range works with Range subclasses"
|
320
|
-
fails "String#slice! with index calls to_int on index"
|
321
|
-
fails "String#slice! with index deletes and return the char at the given position"
|
322
|
-
fails "String#slice! with index raises a RuntimeError if self is frozen"
|
323
|
-
fails "String#slice! with index returns nil if idx is outside of self"
|
324
|
-
fails "String#slice! with index, length always taints resulting strings when self is tainted"
|
325
|
-
fails "String#slice! with index, length calls to_int on idx and length"
|
326
|
-
fails "String#slice! with index, length deletes and returns the substring at idx and the given length"
|
327
|
-
fails "String#slice! with index, length raises a RuntimeError if self is frozen"
|
328
|
-
fails "String#slice! with index, length returns nil if the length is negative"
|
329
|
-
fails "String#slice! with index, length returns subclass instances"
|
330
393
|
fails "String#slice! with Regexp always taints resulting strings when self or regexp is tainted"
|
331
394
|
fails "String#slice! with Regexp deletes and returns the first match from self"
|
332
395
|
fails "String#slice! with Regexp doesn't taint self when regexp is tainted"
|
@@ -352,6 +415,16 @@ opal_filter "String" do
|
|
352
415
|
fails "String#slice! with String returns a subclass instance when given a subclass instance"
|
353
416
|
fails "String#slice! with String returns nil if self does not contain other"
|
354
417
|
fails "String#slice! with String taints resulting strings when other is tainted"
|
418
|
+
fails "String#slice! with index calls to_int on index"
|
419
|
+
fails "String#slice! with index deletes and return the char at the given position"
|
420
|
+
fails "String#slice! with index raises a RuntimeError if self is frozen"
|
421
|
+
fails "String#slice! with index returns nil if idx is outside of self"
|
422
|
+
fails "String#slice! with index, length always taints resulting strings when self is tainted"
|
423
|
+
fails "String#slice! with index, length calls to_int on idx and length"
|
424
|
+
fails "String#slice! with index, length deletes and returns the substring at idx and the given length"
|
425
|
+
fails "String#slice! with index, length raises a RuntimeError if self is frozen"
|
426
|
+
fails "String#slice! with index, length returns nil if the length is negative"
|
427
|
+
fails "String#slice! with index, length returns subclass instances"
|
355
428
|
fails "String#split with Regexp doesn't taints the resulting strings if the Regexp is tainted"
|
356
429
|
fails "String#split with Regexp respects the encoding of the regexp when splitting between characters"
|
357
430
|
fails "String#split with Regexp retains the encoding of the source string"
|
@@ -371,21 +444,16 @@ opal_filter "String" do
|
|
371
444
|
fails "String#strip! raises a RuntimeError on a frozen instance that is modified"
|
372
445
|
fails "String#strip! raises a RuntimeError on a frozen instance that would not be modified"
|
373
446
|
fails "String#strip! returns nil if no modifications where made"
|
374
|
-
fails "String#sub with pattern and block doesn't raise a RuntimeError if the string is modified while substituting"
|
375
|
-
fails "String#sub with pattern and block taints the result if the original string or replacement is tainted"
|
376
447
|
fails "String#sub with pattern and Hash ignores non-String keys"
|
377
448
|
fails "String#sub with pattern and Hash taints the result if a hash value is tainted"
|
378
449
|
fails "String#sub with pattern and Hash taints the result if the original string is tainted"
|
379
450
|
fails "String#sub with pattern and Hash untrusts the result if a hash value is untrusted"
|
380
451
|
fails "String#sub with pattern and Hash untrusts the result if the original string is untrusted"
|
452
|
+
fails "String#sub with pattern and block doesn't raise a RuntimeError if the string is modified while substituting"
|
453
|
+
fails "String#sub with pattern and block taints the result if the original string or replacement is tainted"
|
454
|
+
fails "String#sub with pattern, replacement raises a TypeError when pattern is a Symbol"
|
381
455
|
fails "String#sub with pattern, replacement supports \\G which matches at the beginning of the string"
|
382
456
|
fails "String#sub with pattern, replacement taints the result if the original string or replacement is tainted"
|
383
|
-
fails "String#sub! with pattern and block modifies self in place and returns self"
|
384
|
-
fails "String#sub! with pattern and block raises a RuntimeError if the string is modified while substituting"
|
385
|
-
fails "String#sub! with pattern and block raises a RuntimeError when self is frozen"
|
386
|
-
fails "String#sub! with pattern and block returns nil if no modifications were made"
|
387
|
-
fails "String#sub! with pattern and block sets $~ for access from the block"
|
388
|
-
fails "String#sub! with pattern and block taints self if block's result is tainted"
|
389
457
|
fails "String#sub! with pattern and Hash coerces the hash values with #to_s"
|
390
458
|
fails "String#sub! with pattern and Hash doesn't interpolate special sequences like \\1 for the block's return value"
|
391
459
|
fails "String#sub! with pattern and Hash ignores non-String keys"
|
@@ -399,6 +467,12 @@ opal_filter "String" do
|
|
399
467
|
fails "String#sub! with pattern and Hash uses a key's value only a single time"
|
400
468
|
fails "String#sub! with pattern and Hash uses the hash's default value for missing keys"
|
401
469
|
fails "String#sub! with pattern and Hash uses the hash's value set from default_proc for missing keys"
|
470
|
+
fails "String#sub! with pattern and block modifies self in place and returns self"
|
471
|
+
fails "String#sub! with pattern and block raises a RuntimeError if the string is modified while substituting"
|
472
|
+
fails "String#sub! with pattern and block raises a RuntimeError when self is frozen"
|
473
|
+
fails "String#sub! with pattern and block returns nil if no modifications were made"
|
474
|
+
fails "String#sub! with pattern and block sets $~ for access from the block"
|
475
|
+
fails "String#sub! with pattern and block taints self if block's result is tainted"
|
402
476
|
fails "String#sub! with pattern and without replacement and block raises a ArgumentError"
|
403
477
|
fails "String#sub! with pattern, replacement modifies self in place and returns self"
|
404
478
|
fails "String#sub! with pattern, replacement raises a RuntimeError when self is frozen"
|
@@ -464,74 +538,9 @@ opal_filter "String" do
|
|
464
538
|
fails "String#upcase! raises a RuntimeError when self is frozen"
|
465
539
|
fails "String#upcase! returns nil if no modifications were made"
|
466
540
|
fails "String#upto does not work with symbols"
|
467
|
-
fails "String#[] with index, length always taints resulting strings when self is tainted"
|
468
|
-
fails "String#[] with Range always taints resulting strings when self is tainted"
|
469
|
-
fails "String#[] with Regexp, index always taints resulting strings when self or regexp is tainted"
|
470
|
-
fails "String#[] with String taints resulting strings when other is tainted"
|
471
|
-
fails "String#[] with Symbol raises TypeError"
|
472
|
-
fails "String#[]= with a Range index raises a RangeError if negative Range begin is out of range"
|
473
|
-
fails "String#[]= with a Range index raises a RangeError if positive Range begin is greater than String size"
|
474
|
-
fails "String#[]= with a Range index replaces a partial string"
|
475
|
-
fails "String#[]= with a Range index replaces the contents with a longer String"
|
476
|
-
fails "String#[]= with a Range index replaces the contents with a shorter String"
|
477
|
-
fails "String#[]= with a Range index treats a negative out-of-range Range end with a negative Range begin as a zero count"
|
478
|
-
fails "String#[]= with a Range index treats a negative out-of-range Range end with a positive Range begin as a zero count"
|
479
|
-
fails "String#[]= with a Range index uses the Range end as an index rather than a count"
|
480
|
-
fails "String#[]= with a Range index with an empty replacement does not replace a character with a zero exclude-end range"
|
481
|
-
fails "String#[]= with a Range index with an empty replacement does not replace a character with a zero-index, zero exclude-end range"
|
482
|
-
fails "String#[]= with a Range index with an empty replacement replaces a character with a zero non-exclude-end range"
|
483
|
-
fails "String#[]= with a Range index with an empty replacement replaces a character with zero-index, zero non-exclude-end range"
|
484
|
-
fails "String#[]= with a Regexp index calls #to_str to convert the replacement"
|
485
|
-
fails "String#[]= with a Regexp index checks the match before calling #to_str to convert the replacement"
|
486
|
-
fails "String#[]= with a Regexp index raises IndexError if the regexp index doesn't match a position in the string"
|
487
|
-
fails "String#[]= with a Regexp index replaces the matched text with the rhs"
|
488
|
-
fails "String#[]= with a Regexp index with 3 arguments allows the specified capture to be negative and count from the end"
|
489
|
-
fails "String#[]= with a Regexp index with 3 arguments calls #to_int to convert the second object"
|
490
|
-
fails "String#[]= with a Regexp index with 3 arguments checks the match index before calling #to_str to convert the replacement"
|
491
|
-
fails "String#[]= with a Regexp index with 3 arguments raises a TypeError if #to_int does not return a Fixnum"
|
492
|
-
fails "String#[]= with a Regexp index with 3 arguments raises IndexError if the specified capture isn't available"
|
493
|
-
fails "String#[]= with a Regexp index with 3 arguments uses the 2nd of 3 arguments as which capture should be replaced"
|
494
|
-
fails "String#[]= with a Regexp index with 3 arguments when the optional capture does not match raises an IndexError before setting the replacement"
|
495
|
-
fails "String#[]= with Fixnum index allows assignment to the zero'th element of an empty String"
|
496
|
-
fails "String#[]= with Fixnum index calls #to_str to convert other to a String"
|
497
|
-
fails "String#[]= with Fixnum index calls to_int on index"
|
498
|
-
fails "String#[]= with Fixnum index raises a RuntimeError when self is frozen"
|
499
|
-
fails "String#[]= with Fixnum index raises a TypeError if other_str can't be converted to a String"
|
500
|
-
fails "String#[]= with Fixnum index raises an IndexError without changing self if idx is outside of self"
|
501
|
-
fails "String#[]= with Fixnum index raises IndexError if the string index doesn't match a position in the string"
|
502
|
-
fails "String#[]= with Fixnum index replaces the char at idx with other_str"
|
503
|
-
fails "String#[]= with Fixnum index taints self if other_str is tainted"
|
504
|
-
fails "String#[]= with Fixnum index, count appends other_str to the end of the string if idx == the length of the string"
|
505
|
-
fails "String#[]= with Fixnum index, count calls #to_int to convert the index and count objects"
|
506
|
-
fails "String#[]= with Fixnum index, count calls #to_str to convert the replacement object"
|
507
|
-
fails "String#[]= with Fixnum index, count counts negative idx values from end of the string"
|
508
|
-
fails "String#[]= with Fixnum index, count deletes characters if other_str is an empty string"
|
509
|
-
fails "String#[]= with Fixnum index, count deletes characters up to the maximum length of the existing string"
|
510
|
-
fails "String#[]= with Fixnum index, count overwrites and deletes characters if count is more than the length of other_str"
|
511
|
-
fails "String#[]= with Fixnum index, count raises a TypeError if #to_int for count does not return an Integer"
|
512
|
-
fails "String#[]= with Fixnum index, count raises a TypeError if #to_int for index does not return an Integer"
|
513
|
-
fails "String#[]= with Fixnum index, count raises a TypeError if other_str is a type other than String"
|
514
|
-
fails "String#[]= with Fixnum index, count raises a TypeError of #to_str does not return a String"
|
515
|
-
fails "String#[]= with Fixnum index, count raises an IndexError if count < 0"
|
516
|
-
fails "String#[]= with Fixnum index, count raises an IndexError if |idx| is greater than the length of the string"
|
517
|
-
fails "String#[]= with Fixnum index, count starts at idx and overwrites count characters before inserting the rest of other_str"
|
518
|
-
fails "String#[]= with Fixnum index, count taints self if other_str is tainted"
|
519
|
-
fails "String#[]= with String index raises an IndexError if the search String is not found"
|
520
|
-
fails "String#[]= with String index replaces characters with no characters"
|
521
|
-
fails "String#[]= with String index replaces fewer characters with more characters"
|
522
|
-
fails "String#[]= with String index replaces more characters with fewer characters"
|
523
541
|
fails "String.allocate returns a binary String"
|
524
542
|
fails "String.allocate returns a fully-formed String"
|
525
543
|
fails "String.new returns a binary String"
|
526
544
|
fails "String.new returns a fully-formed String"
|
527
545
|
fails "String.new returns a new string given a string argument"
|
528
|
-
fails "Ruby character strings taints the result of interpolation when an interpolated value is tainted"
|
529
|
-
fails "Ruby character strings untrusts the result of interpolation when an interpolated value is untrusted"
|
530
|
-
fails "Ruby character strings backslashes follow the same rules as interpolation"
|
531
|
-
fails "Ruby character strings are produced from control character shortcuts"
|
532
|
-
fails "Ruby character strings Unicode escaping can be done with \\u{} and one to six hex digits"
|
533
|
-
fails "Ruby character strings Unicode escaping with US-ASCII source encoding produces an ASCII string when escaping ASCII characters via \\u"
|
534
|
-
fails "Ruby character strings Unicode escaping with US-ASCII source encoding produces an ASCII string when escaping ASCII characters via \\u{}"
|
535
|
-
fails "Ruby character strings Unicode escaping with US-ASCII source encoding produces a UTF-8-encoded string when escaping non-ASCII characters via \\u"
|
536
|
-
fails "Ruby character strings Unicode escaping with US-ASCII source encoding produces a UTF-8-encoded string when escaping non-ASCII characters via \\u{}"
|
537
546
|
end
|