opal 0.8.1 → 0.9.0.beta1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.gitignore +2 -2
- data/.gitmodules +3 -3
- data/.jshintrc +17 -20
- data/.travis.yml +22 -11
- data/CHANGELOG.md +51 -1
- data/CODE_OF_CONDUCT.md +15 -0
- data/CONTRIBUTING.md +125 -9
- data/Gemfile +1 -1
- data/Guardfile +2 -2
- data/README.md +95 -29
- data/Rakefile +1 -1
- data/benchmark/benchmarks +103 -0
- data/benchmark/bm_array_flatten.rb +9 -0
- data/benchmark/bm_array_intersection_numbers.rb +7 -0
- data/benchmark/bm_array_intersection_objects.rb +7 -0
- data/benchmark/bm_array_intersection_strings.rb +7 -0
- data/benchmark/bm_array_join_ary.rb +9 -0
- data/benchmark/bm_array_minus_numbers.rb +7 -0
- data/benchmark/bm_array_minus_objects.rb +7 -0
- data/benchmark/bm_array_minus_strings.rb +7 -0
- data/benchmark/bm_array_union_numbers.rb +7 -0
- data/benchmark/bm_array_union_objects.rb +7 -0
- data/benchmark/bm_array_union_strings.rb +7 -0
- data/benchmark/bm_array_uniq_bang_numbers.rb +5 -0
- data/benchmark/bm_array_uniq_bang_objects.rb +5 -0
- data/benchmark/bm_array_uniq_bang_strings.rb +5 -0
- data/benchmark/bm_array_uniq_numbers.rb +5 -0
- data/benchmark/bm_array_uniq_objects.rb +5 -0
- data/benchmark/bm_array_uniq_strings.rb +5 -0
- data/benchmark/bm_dispatch_bind_table.rb +57 -0
- data/benchmark/bm_dispatch_code_gen.rb +65 -0
- data/benchmark/bm_dispatch_code_gen_if.rb +64 -0
- data/benchmark/bm_dispatch_hardcoded.rb +44 -0
- data/benchmark/bm_dispatch_send.rb +38 -0
- data/benchmark/bm_dispatch_send_table.rb +57 -0
- data/benchmark/bm_hash_assoc_object.rb +11 -0
- data/benchmark/bm_hash_assoc_string.rb +9 -0
- data/benchmark/bm_hash_clone_object.rb +9 -0
- data/benchmark/bm_hash_clone_string.rb +9 -0
- data/benchmark/bm_hash_delete_object.rb +11 -0
- data/benchmark/bm_hash_delete_string.rb +9 -0
- data/benchmark/bm_hash_each_key_object.rb +9 -0
- data/benchmark/bm_hash_each_key_string.rb +9 -0
- data/benchmark/bm_hash_each_object.rb +9 -0
- data/benchmark/bm_hash_each_string.rb +9 -0
- data/benchmark/bm_hash_each_value_object.rb +9 -0
- data/benchmark/bm_hash_each_value_string.rb +9 -0
- data/benchmark/bm_hash_element_reference_object.rb +11 -0
- data/benchmark/bm_hash_element_reference_string.rb +9 -0
- data/benchmark/bm_hash_element_set_object.rb +5 -0
- data/benchmark/bm_hash_element_set_string.rb +5 -0
- data/benchmark/bm_hash_equal_value_object.rb +14 -0
- data/benchmark/bm_hash_equal_value_string.rb +11 -0
- data/benchmark/bm_hash_fetch_object.rb +11 -0
- data/benchmark/bm_hash_fetch_string.rb +9 -0
- data/benchmark/bm_hash_flatten_object.rb +9 -0
- data/benchmark/bm_hash_flatten_string.rb +9 -0
- data/benchmark/bm_hash_has_key_object.rb +11 -0
- data/benchmark/bm_hash_has_key_string.rb +9 -0
- data/benchmark/bm_hash_has_value_object.rb +9 -0
- data/benchmark/bm_hash_has_value_string.rb +9 -0
- data/benchmark/bm_hash_hash_object.rb +9 -0
- data/benchmark/bm_hash_hash_string.rb +9 -0
- data/benchmark/bm_hash_inspect_object.rb +9 -0
- data/benchmark/bm_hash_inspect_string.rb +9 -0
- data/benchmark/bm_hash_invert_object.rb +9 -0
- data/benchmark/bm_hash_invert_string.rb +9 -0
- data/benchmark/bm_hash_keep_if_object.rb +9 -0
- data/benchmark/bm_hash_keep_if_string.rb +9 -0
- data/benchmark/bm_hash_key_object.rb +9 -0
- data/benchmark/bm_hash_key_string.rb +9 -0
- data/benchmark/bm_hash_keys_object.rb +9 -0
- data/benchmark/bm_hash_keys_string.rb +9 -0
- data/benchmark/bm_hash_literal_mixed_large.rb +3 -0
- data/benchmark/bm_hash_literal_mixed_small.rb +3 -0
- data/benchmark/bm_hash_literal_object_large.rb +4 -0
- data/benchmark/bm_hash_literal_object_small.rb +3 -0
- data/benchmark/bm_hash_literal_string_large.rb +4 -0
- data/benchmark/bm_hash_literal_string_small.rb +3 -0
- data/benchmark/bm_hash_merge_object.rb +22 -0
- data/benchmark/bm_hash_merge_string.rb +18 -0
- data/benchmark/bm_hash_rassoc_object.rb +9 -0
- data/benchmark/bm_hash_rassoc_string.rb +9 -0
- data/benchmark/bm_hash_rehash_object.rb +9 -0
- data/benchmark/bm_hash_rehash_string.rb +9 -0
- data/benchmark/bm_hash_reject_bang_object.rb +9 -0
- data/benchmark/bm_hash_reject_bang_string.rb +9 -0
- data/benchmark/bm_hash_reject_object.rb +9 -0
- data/benchmark/bm_hash_reject_string.rb +9 -0
- data/benchmark/bm_hash_replace_object.rb +18 -0
- data/benchmark/bm_hash_replace_string.rb +14 -0
- data/benchmark/bm_hash_select_bang_object.rb +9 -0
- data/benchmark/bm_hash_select_bang_string.rb +9 -0
- data/benchmark/bm_hash_select_object.rb +9 -0
- data/benchmark/bm_hash_select_string.rb +9 -0
- data/benchmark/bm_hash_shift_object.rb +10 -0
- data/benchmark/bm_hash_shift_string.rb +10 -0
- data/benchmark/bm_hash_to_a_object.rb +9 -0
- data/benchmark/bm_hash_to_a_string.rb +9 -0
- data/benchmark/bm_hash_to_h_object.rb +10 -0
- data/benchmark/bm_hash_to_h_string.rb +10 -0
- data/benchmark/bm_hash_values_object.rb +9 -0
- data/benchmark/bm_hash_values_string.rb +9 -0
- data/benchmark/run.rb +48 -0
- data/bin/opal-mspec +1 -1
- data/bin/opal-repl +4 -4
- data/docs/compiled_ruby.md +214 -56
- data/docs/configuring_gems.md +2 -2
- data/docs/faq.md +2 -2
- data/docs/getting_started.md +19 -2
- data/docs/jquery.md +5 -5
- data/docs/opal_parser.md +53 -0
- data/docs/unsupported_features.md +2 -2
- data/docs/upgrading.md +22 -0
- data/docs/using_sprockets.md +15 -0
- data/examples/rack/config.ru +13 -0
- data/examples/sinatra/config.ru +4 -5
- data/lib/mspec/opal/runner.rb +54 -11
- data/lib/opal.rb +1 -1
- data/lib/opal/builder.rb +1 -1
- data/lib/opal/builder_processors.rb +1 -1
- data/lib/opal/cli.rb +17 -13
- data/lib/opal/cli_options.rb +1 -1
- data/lib/opal/compiler.rb +12 -0
- data/lib/opal/config.rb +4 -0
- data/lib/opal/nodes/arglist.rb +5 -7
- data/lib/opal/nodes/call.rb +6 -1
- data/lib/opal/nodes/call_special.rb +74 -0
- data/lib/opal/nodes/def.rb +35 -28
- data/lib/opal/nodes/definitions.rb +3 -5
- data/lib/opal/nodes/for.rb +13 -0
- data/lib/opal/nodes/helpers.rb +15 -1
- data/lib/opal/nodes/if.rb +5 -5
- data/lib/opal/nodes/iter.rb +6 -1
- data/lib/opal/nodes/literal.rb +1 -1
- data/lib/opal/nodes/logic.rb +2 -2
- data/lib/opal/nodes/masgn.rb +1 -2
- data/lib/opal/nodes/module.rb +2 -1
- data/lib/opal/nodes/rescue.rb +10 -1
- data/lib/opal/nodes/scope.rb +8 -2
- data/lib/opal/nodes/singleton_class.rb +1 -1
- data/lib/opal/nodes/top.rb +11 -0
- data/lib/opal/nodes/variables.rb +4 -4
- data/lib/opal/parser.rb +21 -3
- data/lib/opal/parser/grammar.rb +3115 -2961
- data/lib/opal/parser/grammar.y +29 -6
- data/lib/opal/parser/lexer.rb +18 -8
- data/lib/opal/sprockets.rb +85 -0
- data/lib/opal/sprockets/processor.rb +11 -35
- data/lib/opal/sprockets/server.rb +3 -15
- data/lib/opal/version.rb +2 -2
- data/opal.gemspec +4 -4
- data/opal/README.md +9 -0
- data/opal/corelib/array.rb +433 -181
- data/opal/corelib/basic_object.rb +48 -4
- data/opal/corelib/boolean.rb +15 -6
- data/opal/corelib/class.rb +6 -5
- data/opal/corelib/comparable.rb +12 -0
- data/opal/corelib/complex.rb +282 -0
- data/opal/corelib/constants.rb +9 -0
- data/opal/corelib/enumerable.rb +83 -34
- data/opal/corelib/enumerator.rb +3 -1
- data/opal/corelib/error.rb +49 -10
- data/opal/corelib/file.rb +1 -0
- data/opal/corelib/hash.rb +353 -577
- data/opal/corelib/helpers.rb +20 -0
- data/opal/corelib/kernel.rb +114 -59
- data/opal/corelib/math.rb +470 -0
- data/opal/corelib/method.rb +11 -2
- data/opal/corelib/module.rb +96 -96
- data/opal/corelib/{nil_class.rb → nil.rb} +20 -1
- data/opal/corelib/number.rb +751 -0
- data/opal/corelib/numeric.rb +77 -437
- data/opal/corelib/proc.rb +81 -1
- data/opal/corelib/process.rb +27 -0
- data/opal/corelib/rational.rb +358 -0
- data/opal/corelib/regexp.rb +156 -27
- data/opal/corelib/runtime.js +724 -335
- data/opal/corelib/string.rb +93 -104
- data/opal/corelib/string/encoding.rb +177 -0
- data/opal/corelib/string/inheritance.rb +2 -0
- data/opal/corelib/struct.rb +105 -18
- data/opal/corelib/time.rb +267 -146
- data/opal/corelib/unsupported.rb +216 -0
- data/opal/corelib/variables.rb +0 -6
- data/opal/opal.rb +8 -22
- data/opal/opal/base.rb +9 -0
- data/opal/opal/mini.rb +17 -0
- data/spec/README.md +1 -1
- data/spec/filters/bugs/array.rb +38 -136
- data/spec/filters/bugs/{basic_object.rb → basicobject.rb} +14 -15
- data/spec/filters/bugs/class.rb +6 -12
- data/spec/filters/bugs/complex.rb +3 -0
- data/spec/filters/bugs/date.rb +162 -10
- data/spec/filters/bugs/enumerable.rb +31 -58
- data/spec/filters/bugs/enumerator.rb +42 -0
- data/spec/filters/bugs/exception.rb +66 -10
- data/spec/filters/bugs/float.rb +17 -0
- data/spec/filters/bugs/hash.rb +11 -97
- data/spec/filters/bugs/inheritance.rb +5 -0
- data/spec/filters/bugs/integer.rb +28 -0
- data/spec/filters/bugs/kernel.rb +304 -12
- data/spec/filters/bugs/language.rb +133 -399
- data/spec/filters/bugs/language_opal.rb +88 -0
- data/spec/filters/bugs/module.rb +203 -62
- data/spec/filters/bugs/numeric.rb +32 -0
- data/spec/filters/bugs/proc.rb +39 -0
- data/spec/filters/bugs/range.rb +148 -0
- data/spec/filters/bugs/regexp.rb +168 -0
- data/spec/filters/bugs/set.rb +46 -3
- data/spec/filters/bugs/singleton.rb +1 -2
- data/spec/filters/bugs/string.rb +59 -90
- data/spec/filters/bugs/strscan.rb +80 -0
- data/spec/filters/bugs/struct.rb +10 -20
- data/spec/filters/bugs/time.rb +17 -184
- data/spec/filters/bugs/unboundmethod.rb +22 -0
- data/spec/filters/unsupported/array.rb +163 -0
- data/spec/filters/unsupported/basicobject.rb +14 -0
- data/spec/filters/unsupported/bignum.rb +46 -0
- data/spec/filters/unsupported/class.rb +4 -0
- data/spec/filters/unsupported/delegator.rb +5 -0
- data/spec/filters/unsupported/enumerable.rb +11 -0
- data/spec/filters/unsupported/enumerator.rb +8 -9
- data/spec/filters/unsupported/fixnum.rb +14 -0
- data/spec/filters/unsupported/float.rb +41 -7
- data/spec/filters/unsupported/freeze.rb +45 -0
- data/spec/filters/unsupported/hash.rb +50 -0
- data/spec/filters/unsupported/integer.rb +3 -0
- data/spec/filters/unsupported/kernel.rb +31 -0
- data/spec/filters/unsupported/language.rb +17 -0
- data/spec/filters/unsupported/matchdata.rb +30 -0
- data/spec/filters/unsupported/math.rb +3 -0
- data/spec/filters/unsupported/module.rb +5 -3
- data/spec/filters/unsupported/pathname.rb +3 -0
- data/spec/filters/unsupported/privacy.rb +136 -0
- data/spec/filters/unsupported/proc.rb +3 -0
- data/spec/filters/unsupported/regexp.rb +59 -0
- data/spec/filters/unsupported/set.rb +4 -0
- data/spec/filters/unsupported/{marshal.rb → singleton.rb} +4 -2
- data/spec/filters/unsupported/{mutable_strings.rb → string.rb} +456 -336
- data/spec/filters/unsupported/struct.rb +3 -0
- data/spec/filters/unsupported/symbol.rb +5 -0
- data/spec/filters/unsupported/taint.rb +16 -0
- data/spec/filters/unsupported/thread.rb +5 -0
- data/spec/filters/unsupported/time.rb +197 -16
- data/spec/lib/cli_spec.rb +14 -4
- data/spec/lib/compiler_spec.rb +9 -1
- data/spec/lib/parser/call_spec.rb +18 -0
- data/spec/lib/parser/not_spec.rb +2 -8
- data/spec/lib/sprockets_spec.rb +24 -0
- data/spec/opal/core/array/intersection_spec.rb +38 -0
- data/spec/opal/core/array/minus_spec.rb +38 -0
- data/spec/opal/core/array/union_spec.rb +38 -0
- data/spec/opal/core/array/uniq_spec.rb +49 -0
- data/spec/opal/core/exception_spec.rb +7 -0
- data/spec/opal/core/fixtures/require_tree_with_dot/file 1.rb +1 -0
- data/spec/opal/core/fixtures/require_tree_with_dot/file 2.rb +1 -0
- data/spec/opal/core/fixtures/require_tree_with_dot/file 3.rb +1 -0
- data/spec/opal/core/fixtures/require_tree_with_dot/index.rb +3 -0
- data/spec/opal/core/hash/internals_spec.rb +332 -0
- data/spec/opal/core/helpers_spec.rb +14 -0
- data/spec/opal/core/kernel/freeze_spec.rb +1 -1
- data/spec/opal/core/kernel/raise_spec.rb +13 -0
- data/spec/opal/core/kernel/require_tree_spec.rb +9 -0
- data/spec/opal/core/language/class_spec.rb +55 -0
- data/spec/opal/core/language/fixtures/send.rb +1 -0
- data/spec/opal/core/language/keyword_arguments_spec.rb +11 -0
- data/spec/opal/core/language/send_spec.rb +5 -0
- data/spec/opal/core/method/to_proc_spec.rb +28 -0
- data/spec/opal/core/module/name_spec.rb +0 -17
- data/spec/opal/core/runtime/bridged_classes_spec.rb +2 -2
- data/spec/opal/core/runtime/eval_spec.rb +1 -1
- data/spec/opal/core/runtime/method_missing_spec.rb +6 -0
- data/spec/opal/core/runtime_spec.rb +51 -0
- data/spec/opal/stdlib/js_spec.rb +66 -0
- data/spec/opal/stdlib/native/hash_spec.rb +36 -0
- data/spec/rubyspecs +152 -273
- data/spec/spec_helper.rb +10 -11
- data/stdlib/base64.rb +9 -9
- data/stdlib/benchmark.rb +551 -4
- data/stdlib/console.rb +94 -0
- data/stdlib/date.rb +1 -1
- data/stdlib/encoding.rb +1 -170
- data/stdlib/js.rb +56 -0
- data/stdlib/json.rb +9 -14
- data/stdlib/math.rb +1 -370
- data/stdlib/native.rb +133 -63
- data/stdlib/nodejs/file.rb +5 -0
- data/stdlib/nodejs/fileutils.rb +13 -6
- data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/README.md +1 -1
- data/stdlib/opal-parser.rb +1 -2
- data/stdlib/ostruct.rb +65 -6
- data/stdlib/pp.rb +2 -4
- data/stdlib/rbconfig.rb +1 -3
- data/stdlib/strscan.rb +164 -28
- data/tasks/benchmarking.rake +88 -0
- data/tasks/testing.rake +181 -55
- data/{lib/mspec/opal/special_calls.rb → tasks/testing/mspec_special_calls.rb} +1 -1
- data/{lib/mspec/opal/sprockets.js → tasks/testing/phantomjs1-sprockets.js} +17 -6
- data/test/opal/test_keyword.rb +590 -0
- data/vendored-minitest/minitest.rb +2 -2
- data/vendored-minitest/test/unit.rb +5 -0
- metadata +229 -62
- data/benchmarks/operators.rb +0 -11
- data/benchmarks/prova.js.rb +0 -13
- data/docs/libraries.md +0 -36
- data/lib/mspec/opal/new.html.erb +0 -1
- data/lib/mspec/opal/rake_task.rb +0 -248
- data/opal/corelib/match_data.rb +0 -128
- data/spec/filters/bugs/math.rb +0 -95
- data/spec/filters/bugs/nil.rb +0 -7
- data/spec/filters/bugs/opal.rb +0 -9
- data/spec/filters/bugs/regular_expressions.rb +0 -41
- data/spec/filters/bugs/stringscanner.rb +0 -33
- data/spec/filters/unsupported/encoding.rb +0 -102
- data/spec/filters/unsupported/frozen.rb +0 -92
- data/spec/filters/unsupported/hash_compare_by_identity.rb +0 -16
- data/spec/filters/unsupported/integer_size.rb +0 -59
- data/spec/filters/unsupported/method_added.rb +0 -10
- data/spec/filters/unsupported/private_constants.rb +0 -30
- data/spec/filters/unsupported/private_methods.rb +0 -55
- data/spec/filters/unsupported/random.rb +0 -4
- data/spec/filters/unsupported/rational_numbers.rb +0 -4
- data/spec/filters/unsupported/regular_expressions.rb +0 -137
- data/spec/filters/unsupported/ruby_exe.rb +0 -5
- data/spec/filters/unsupported/symbols.rb +0 -17
- data/spec/filters/unsupported/tainted.rb +0 -180
- data/spec/filters/unsupported/trusted.rb +0 -88
- data/stdlib/process.rb +0 -10
- data/tasks/documenting.rake +0 -37
@@ -0,0 +1,59 @@
|
|
1
|
+
opal_filter "Regexp" do
|
2
|
+
fails "Regexp#options does not include Regexp::FIXEDENCODING for a Regexp literal with the 'n' option"
|
3
|
+
fails "Regexp#options includes Regexp::FIXEDENCODING for a Regexp literal with the 'e' option"
|
4
|
+
fails "Regexp#options includes Regexp::FIXEDENCODING for a Regexp literal with the 's' option"
|
5
|
+
fails "Regexp#options includes Regexp::FIXEDENCODING for a Regexp literal with the 'u' option"
|
6
|
+
fails "Regexp#options includes Regexp::NOENCODING for a Regexp literal with the 'n' option"
|
7
|
+
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
|
+
fails "Regexp.escape sets the encoding of the result to US-ASCII if there are only US-ASCII characters present in the input String"
|
10
|
+
fails "Regexp.new given a String accepts a Fixnum of two or more options ORed together as the second argument"
|
11
|
+
fails "Regexp.new given a String ignores the third argument if it is 'e' or 'euc' (case-insensitive)"
|
12
|
+
fails "Regexp.new given a String ignores the third argument if it is 's' or 'sjis' (case-insensitive)"
|
13
|
+
fails "Regexp.new given a String ignores the third argument if it is 'u' or 'utf8' (case-insensitive)"
|
14
|
+
fails "Regexp.new given a String uses ASCII_8BIT encoding if third argument is 'n' or 'none' (case insensitive) and non-ascii characters"
|
15
|
+
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
|
+
fails "Regexp.new given a String with escaped characters accepts \\u{HHHHHH} for a single Unicode codepoint"
|
21
|
+
fails "Regexp.new given a String with escaped characters accepts \\u{HHHHH} for a single Unicode codepoint"
|
22
|
+
fails "Regexp.new given a String with escaped characters accepts \\u{HHHH} followed by characters"
|
23
|
+
fails "Regexp.new given a String with escaped characters accepts \\u{HHHH} for a single Unicode codepoint"
|
24
|
+
fails "Regexp.new given a String with escaped characters accepts \\u{HHH} for a single Unicode codepoint"
|
25
|
+
fails "Regexp.new given a String with escaped characters accepts \\u{HH} for a single Unicode codepoint"
|
26
|
+
fails "Regexp.new given a String with escaped characters accepts \\u{H} for a single Unicode codepoint"
|
27
|
+
fails "Regexp.new given a String with escaped characters raises a RegexpError if less than four digits are given for \\uHHHH"
|
28
|
+
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 source String having the input String's encoding"
|
30
|
+
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"
|
31
|
+
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"
|
32
|
+
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"
|
33
|
+
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
|
+
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
|
+
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.union raises ArgumentError if the arguments include a fixed encoding Regexp and a String containing non-ASCII-compatible characters in a different encoding"
|
41
|
+
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"
|
42
|
+
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
|
+
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
|
+
fails "Regexp.union raises ArgumentError if the arguments include an ASCII-incompatible Regexp and an ASCII-only Regexp"
|
45
|
+
fails "Regexp.union raises ArgumentError if the arguments include an ASCII-incompatible Regexp and an ASCII-only String"
|
46
|
+
fails "Regexp.union raises ArgumentError if the arguments include an ASCII-incompatible String and a Regexp containing non-ASCII-compatible characters in a different encoding"
|
47
|
+
fails "Regexp.union raises ArgumentError if the arguments include an ASCII-incompatible String and a String containing non-ASCII-compatible characters in a different encoding"
|
48
|
+
fails "Regexp.union raises ArgumentError if the arguments include an ASCII-incompatible String and an ASCII-only Regexp"
|
49
|
+
fails "Regexp.union raises ArgumentError if the arguments include an ASCII-incompatible String and an ASCII-only String"
|
50
|
+
fails "Regexp.union raises ArgumentError if the arguments include conflicting ASCII-incompatible Regexps"
|
51
|
+
fails "Regexp.union raises ArgumentError if the arguments include conflicting fixed encoding Regexps"
|
52
|
+
fails "Regexp.union returns a Regexp with the encoding of a String containing non-ASCII-compatible characters and another ASCII-only String"
|
53
|
+
fails "Regexp.union returns a Regexp with the encoding of a String containing non-ASCII-compatible characters"
|
54
|
+
fails "Regexp.union returns a Regexp with the encoding of an ASCII-incompatible String argument"
|
55
|
+
fails "Regexp.union returns a Regexp with the encoding of multiple non-conflicting ASCII-incompatible String arguments"
|
56
|
+
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
|
+
end
|
@@ -1,4 +1,6 @@
|
|
1
1
|
opal_filter "Singleton" do
|
2
|
-
fails "Singleton#_dump returns an empty string"
|
3
2
|
fails "Singleton#_dump returns an empty string from a singleton subclass"
|
4
|
-
|
3
|
+
fails "Singleton#_dump returns an empty string"
|
4
|
+
fails "Singleton.allocate is a private method"
|
5
|
+
fails "Singleton.new is a private method"
|
6
|
+
end
|
@@ -1,406 +1,526 @@
|
|
1
|
-
opal_filter "
|
2
|
-
fails "
|
3
|
-
fails "String
|
4
|
-
|
1
|
+
opal_filter "String" do
|
2
|
+
fails "BasicObject#__id__ returns a different value for two String literals"
|
3
|
+
fails "String#% always taints the result when the format string is tainted"
|
4
|
+
fails "String#% supports negative bignums with %u or %d"
|
5
|
+
fails "String#% taints result for %p when argument.inspect is tainted"
|
6
|
+
fails "String#% taints result for %s when argument is tainted"
|
7
|
+
fails "String#* always taints the result when self is tainted"
|
8
|
+
fails "String#+ taints the result when self or other is tainted"
|
9
|
+
fails "String#+ when self and the argument are in different ASCII-compatible encodings raises Encoding::CompatibilityError if neither are ASCII-only"
|
10
|
+
fails "String#+ when self and the argument are in different ASCII-compatible encodings uses self's encoding if both are ASCII-only"
|
11
|
+
fails "String#+ when self and the argument are in different ASCII-compatible encodings uses self's encoding if the argument is ASCII-only"
|
12
|
+
fails "String#+ when self and the argument are in different ASCII-compatible encodings uses the argument's encoding if self is ASCII-only"
|
13
|
+
fails "String#+ when self is ASCII-8BIT and argument is US-ASCII uses ASCII-8BIT encoding"
|
14
|
+
fails "String#+ when self is in an ASCII-incompatible encoding incompatible with the argument's encoding raises Encoding::CompatibilityError if neither are empty"
|
5
15
|
fails "String#+ when self is in an ASCII-incompatible encoding incompatible with the argument's encoding uses self's encoding if both are empty"
|
6
16
|
fails "String#+ when self is in an ASCII-incompatible encoding incompatible with the argument's encoding uses self's encoding if the argument is empty"
|
7
17
|
fails "String#+ when self is in an ASCII-incompatible encoding incompatible with the argument's encoding uses the argument's encoding if self is empty"
|
8
|
-
fails "String#+ when
|
18
|
+
fails "String#+ when the argument is in an ASCII-incompatible encoding incompatible with self's encoding raises Encoding::CompatibilityError if neither are empty"
|
9
19
|
fails "String#+ when the argument is in an ASCII-incompatible encoding incompatible with self's encoding uses self's encoding if both are empty"
|
10
20
|
fails "String#+ when the argument is in an ASCII-incompatible encoding incompatible with self's encoding uses self's encoding if the argument is empty"
|
11
21
|
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"
|
12
|
-
fails "String#+ when the argument is in an ASCII-incompatible encoding incompatible with self's encoding raises Encoding::CompatibilityError if neither are empty"
|
13
|
-
fails "String#+ when self and the argument are in different ASCII-compatible encodings uses self's encoding if both are ASCII-only"
|
14
|
-
fails "String#+ when self and the argument are in different ASCII-compatible encodings uses self's encoding if the argument is ASCII-only"
|
15
|
-
fails "String#+ when self and the argument are in different ASCII-compatible encodings uses the argument's encoding if self is ASCII-only"
|
16
|
-
fails "String#+ when self and the argument are in different ASCII-compatible encodings raises Encoding::CompatibilityError if neither are ASCII-only"
|
17
|
-
fails "String#+ when self is ASCII-8BIT and argument is US-ASCII uses ASCII-8BIT encoding"
|
18
|
-
|
19
|
-
fails "String#upcase! raises a RuntimeError when self is frozen"
|
20
|
-
fails "String#upcase! returns nil if no modifications were made"
|
21
|
-
fails "String#upcase! modifies self in place"
|
22
|
-
fails "String#swapcase! modifies self in place"
|
23
|
-
fails "String#swapcase! returns nil if no modifications were made"
|
24
|
-
fails "String#swapcase! raises a RuntimeError when self is frozen"
|
25
|
-
fails "String#reverse! raises a RuntimeError on a frozen instance that would not be modified"
|
26
|
-
fails "String#reverse! raises a RuntimeError on a frozen instance that is modified"
|
27
|
-
fails "String#reverse! reverses self in place and always returns self"
|
28
|
-
fails "String#downcase! raises a RuntimeError when self is frozen"
|
29
|
-
fails "String#downcase! returns nil if no modifications were made"
|
30
|
-
fails "String#downcase! modifies self in place"
|
31
|
-
fails "String#capitalize! raises a RuntimeError when self is frozen"
|
32
|
-
fails "String#capitalize! returns nil when no changes are made"
|
33
|
-
fails "String#capitalize! capitalizes self in place"
|
34
|
-
fails "String#chomp! when passed a String does not taint the result when the argument is tainted"
|
35
|
-
fails "String#chomp! when passed a String taints the result if self is tainted"
|
36
|
-
fails "String#chomp! when passed a String returns nil when self is empty"
|
37
|
-
fails "String#chomp! when passed a String returns nil if the argument does not match the trailing characters"
|
38
|
-
fails "String#chomp! when passed a String removes the trailing characters if they match the argument"
|
39
|
-
fails "String#chomp! when passed an Object raises a TypeError if #to_str does not return a String"
|
40
|
-
fails "String#chomp! when passed an Object calls #to_str to convert to a String"
|
41
|
-
fails "String#chomp! when passed '\\n' returns nil when self is empty"
|
42
|
-
fails "String#chomp! when passed '\\n' taints the result if self is tainted"
|
43
|
-
fails "String#chomp! when passed '\\n' removes one trailing carrige return, newline pair"
|
44
|
-
fails "String#chomp! when passed '\\n' removes one trailing carriage return"
|
45
|
-
fails "String#chomp! when passed '\\n' removes one trailing newline"
|
46
|
-
fails "String#chomp! when passed '' returns nil when self is empty"
|
47
|
-
fails "String#chomp! when passed '' taints the result if self is tainted"
|
48
|
-
fails "String#chomp! when passed '' removes more than one trailing carriage return, newline pairs"
|
49
|
-
fails "String#chomp! when passed '' removes more than one trailing newlines"
|
50
|
-
fails "String#chomp! when passed '' does not remove a final carriage return"
|
51
|
-
fails "String#chomp! when passed '' removes a final carriage return, newline"
|
52
|
-
fails "String#chomp! when passed '' removes a final newline"
|
53
|
-
fails "String#chomp! when passed nil returns nil when self is empty"
|
54
|
-
fails "String#chomp! when passed nil returns nil"
|
55
|
-
fails "String#chomp! when passed no argument removes trailing characters that match $/ when it has been assigned a value"
|
56
|
-
fails "String#chomp! when passed no argument returns subclass instances when called on a subclass"
|
57
|
-
fails "String#chomp! when passed no argument taints the result if self is tainted"
|
58
|
-
fails "String#chomp! when passed no argument returns nil when self is empty"
|
59
|
-
fails "String#chomp! when passed no argument removes one trailing carrige return, newline pair"
|
60
|
-
fails "String#chomp! when passed no argument removes one trailing carriage return"
|
61
|
-
fails "String#chomp! when passed no argument removes one trailing newline"
|
62
|
-
fails "String#chomp! when passed no argument returns nil if self is not modified"
|
63
|
-
fails "String#chomp! when passed no argument modifies self"
|
64
|
-
fails "String#chomp! raises a RuntimeError on a frozen instance when it would not be modified"
|
65
|
-
fails "String#chomp! raises a RuntimeError on a frozen instance when it is modified"
|
66
|
-
|
67
|
-
fails "Array#fill does not replicate the filler"
|
68
|
-
|
69
|
-
fails "Hash literal freezes string keys on initialization"
|
70
|
-
|
71
|
-
fails "Time#strftime formats time according to the directives in the given format string"
|
72
|
-
fails "Time#strftime with %z formats a local time with positive UTC offset as '+HHMM'"
|
73
|
-
fails "Time#strftime with %z formats a local time with negative UTC offset as '-HHMM'"
|
74
|
-
|
75
22
|
fails "String#<< concatenates the given argument to self and returns self"
|
76
23
|
fails "String#<< converts the given argument to a String using to_str"
|
77
|
-
fails "String#<< converts the given argument to a String using to_str"
|
78
|
-
fails "String#<< raises a TypeError if the given argument can't be converted to a String"
|
79
24
|
fails "String#<< raises a RuntimeError when self is frozen"
|
80
|
-
fails "String#<<
|
25
|
+
fails "String#<< raises a TypeError if the given argument can't be converted to a String"
|
26
|
+
fails "String#<< returns a String when given a subclass instance"
|
27
|
+
fails "String#<< returns an instance of same class when called on a subclass"
|
81
28
|
fails "String#<< taints self if other is tainted"
|
82
29
|
fails "String#<< untrusts self if other is untrusted"
|
83
|
-
fails "String#<<
|
84
|
-
fails "String#<<
|
85
|
-
fails "String#<<
|
86
|
-
fails "String#<<
|
87
|
-
fails "String#<<
|
88
|
-
fails "String#<< with
|
30
|
+
fails "String#<< when self and the argument are in different ASCII-compatible encodings raises Encoding::CompatibilityError if neither are ASCII-only"
|
31
|
+
fails "String#<< when self and the argument are in different ASCII-compatible encodings uses self's encoding if both are ASCII-only"
|
32
|
+
fails "String#<< when self and the argument are in different ASCII-compatible encodings uses self's encoding if the argument is ASCII-only"
|
33
|
+
fails "String#<< when self and the argument are in different ASCII-compatible encodings uses the argument's encoding if self is ASCII-only"
|
34
|
+
fails "String#<< when self is ASCII-8BIT and argument is US-ASCII uses ASCII-8BIT encoding"
|
35
|
+
fails "String#<< when self is in an ASCII-incompatible encoding incompatible with the argument's encoding raises Encoding::CompatibilityError if neither are empty"
|
89
36
|
fails "String#<< when self is in an ASCII-incompatible encoding incompatible with the argument's encoding uses self's encoding if both are empty"
|
90
37
|
fails "String#<< when self is in an ASCII-incompatible encoding incompatible with the argument's encoding uses self's encoding if the argument is empty"
|
91
38
|
fails "String#<< when self is in an ASCII-incompatible encoding incompatible with the argument's encoding uses the argument's encoding if self is empty"
|
92
|
-
fails "String#<< when
|
39
|
+
fails "String#<< when the argument is in an ASCII-incompatible encoding incompatible with self's encoding raises Encoding::CompatibilityError if neither are empty"
|
93
40
|
fails "String#<< when the argument is in an ASCII-incompatible encoding incompatible with self's encoding uses self's encoding if both are empty"
|
94
41
|
fails "String#<< when the argument is in an ASCII-incompatible encoding incompatible with self's encoding uses self's encoding if the argument is empty"
|
95
42
|
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"
|
96
|
-
fails "String#<<
|
97
|
-
fails "String#<<
|
98
|
-
fails "String#<<
|
99
|
-
fails "String#<<
|
100
|
-
fails "String#<<
|
101
|
-
fails "String#<<
|
102
|
-
fails "String
|
103
|
-
fails "String
|
104
|
-
|
43
|
+
fails "String#<< with Integer concatencates the argument interpreted as a codepoint"
|
44
|
+
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
|
+
fails "String#<< with Integer raises RangeError if the argument is an invalid codepoint for self's encoding"
|
47
|
+
fails "String#<< with Integer raises RangeError if the argument is negative"
|
48
|
+
fails "String#<< with Integer returns a ASCII-8BIT string if self is US-ASCII and the argument is between 128-255 (inclusive)"
|
49
|
+
fails "String#<=> with String compares the indices of the encodings when the strings have identical non-ASCII-compatible bytes"
|
50
|
+
fails "String#<=> with String ignores encoding difference"
|
51
|
+
fails "String#<=> with String returns -1 if self is bytewise less than other"
|
52
|
+
fails "String#<=> with String returns 0 with identical ASCII-compatible bytes of different encodings"
|
53
|
+
fails "String#<=> with String returns 1 if self is bytewise greater than other"
|
54
|
+
fails "String#== considers encoding compatibility"
|
55
|
+
fails "String#== considers encoding difference of incompatible string"
|
56
|
+
fails "String#== ignores encoding difference of compatible string"
|
57
|
+
fails "String#=== considers encoding compatibility"
|
58
|
+
fails "String#=== considers encoding difference of incompatible string"
|
59
|
+
fails "String#=== ignores encoding difference of compatible string"
|
60
|
+
fails "String#capitalize is locale insensitive (only upcases a-z and only downcases A-Z)"
|
61
|
+
fails "String#capitalize taints resulting string when self is tainted"
|
62
|
+
fails "String#capitalize! capitalizes self in place"
|
63
|
+
fails "String#capitalize! raises a RuntimeError when self is frozen"
|
64
|
+
fails "String#capitalize! returns nil when no changes are made"
|
65
|
+
fails "String#center with length, padding taints result when self or padstr is tainted"
|
66
|
+
fails "String#center with length, padding when padding is tainted and self is untainted returns a tainted string if and only if length is longer than self"
|
67
|
+
fails "String#chars is unicode aware"
|
68
|
+
fails "String#chomp when passed '' taints the result if self is tainted"
|
69
|
+
fails "String#chomp when passed '\\n' taints the result if self is tainted"
|
70
|
+
fails "String#chomp when passed a String does not taint the result when the argument is tainted"
|
71
|
+
fails "String#chomp when passed a String taints the result if self is tainted"
|
72
|
+
fails "String#chomp when passed nil returns a copy of the String"
|
73
|
+
fails "String#chomp when passed nil taints the result if self is tainted"
|
105
74
|
fails "String#chomp when passed no argument returns a copy of the String when it is not modified"
|
106
|
-
|
75
|
+
fails "String#chomp when passed no argument taints the result if self is tainted"
|
76
|
+
fails "String#chomp! raises a RuntimeError on a frozen instance when it is modified"
|
77
|
+
fails "String#chomp! raises a RuntimeError on a frozen instance when it would not be modified"
|
78
|
+
fails "String#chomp! when passed '' does not remove a final carriage return"
|
79
|
+
fails "String#chomp! when passed '' removes a final carriage return, newline"
|
80
|
+
fails "String#chomp! when passed '' removes a final newline"
|
81
|
+
fails "String#chomp! when passed '' removes more than one trailing carriage return, newline pairs"
|
82
|
+
fails "String#chomp! when passed '' removes more than one trailing newlines"
|
83
|
+
fails "String#chomp! when passed '' returns nil when self is empty"
|
84
|
+
fails "String#chomp! when passed '' taints the result if self is tainted"
|
85
|
+
fails "String#chomp! when passed '\\n' removes one trailing carriage return"
|
86
|
+
fails "String#chomp! when passed '\\n' removes one trailing carrige return, newline pair"
|
87
|
+
fails "String#chomp! when passed '\\n' removes one trailing newline"
|
88
|
+
fails "String#chomp! when passed '\\n' returns nil when self is empty"
|
89
|
+
fails "String#chomp! when passed '\\n' taints the result if self is tainted"
|
90
|
+
fails "String#chomp! when passed a String does not taint the result when the argument is tainted"
|
91
|
+
fails "String#chomp! when passed a String removes the trailing characters if they match the argument"
|
92
|
+
fails "String#chomp! when passed a String returns nil if the argument does not match the trailing characters"
|
93
|
+
fails "String#chomp! when passed a String returns nil when self is empty"
|
94
|
+
fails "String#chomp! when passed a String taints the result if self is tainted"
|
95
|
+
fails "String#chomp! when passed an Object calls #to_str to convert to a String"
|
96
|
+
fails "String#chomp! when passed an Object raises a TypeError if #to_str does not return a String"
|
97
|
+
fails "String#chomp! when passed nil returns nil when self is empty"
|
98
|
+
fails "String#chomp! when passed nil returns nil"
|
99
|
+
fails "String#chomp! when passed no argument modifies self"
|
100
|
+
fails "String#chomp! when passed no argument removes one trailing carriage return"
|
101
|
+
fails "String#chomp! when passed no argument removes one trailing carrige return, newline pair"
|
102
|
+
fails "String#chomp! when passed no argument removes one trailing newline"
|
103
|
+
fails "String#chomp! when passed no argument removes trailing characters that match $/ when it has been assigned a value"
|
104
|
+
fails "String#chomp! when passed no argument returns nil if self is not modified"
|
105
|
+
fails "String#chomp! when passed no argument returns nil when self is empty"
|
106
|
+
fails "String#chomp! when passed no argument returns subclass instances when called on a subclass"
|
107
|
+
fails "String#chomp! when passed no argument taints the result if self is tainted"
|
107
108
|
fails "String#chop returns a new string when applied to an empty string"
|
108
|
-
|
109
|
-
fails "String#chop
|
110
|
-
fails "String#chop! removes the final carriage return"
|
111
|
-
fails "String#chop! removes the final newline"
|
112
|
-
fails "String#chop! removes the final carriage return, newline"
|
113
|
-
fails "String#chop! removes the carrige return, newline if they are the only characters"
|
109
|
+
fails "String#chop taints result when self is tainted"
|
110
|
+
fails "String#chop untrusts result when self is untrusted"
|
114
111
|
fails "String#chop! does not remove more than the final carriage return, newline"
|
115
|
-
fails "String#chop! returns self if modifications were made"
|
116
|
-
fails "String#chop! returns nil when called on an empty string"
|
117
112
|
fails "String#chop! raises a RuntimeError on a frozen instance that is modified"
|
118
113
|
fails "String#chop! raises a RuntimeError on a frozen instance that would not be modified"
|
119
|
-
|
120
|
-
fails "String#
|
121
|
-
|
122
|
-
fails "String#
|
114
|
+
fails "String#chop! removes the carrige return, newline if they are the only characters"
|
115
|
+
fails "String#chop! removes the final carriage return"
|
116
|
+
fails "String#chop! removes the final carriage return, newline"
|
117
|
+
fails "String#chop! removes the final character"
|
118
|
+
fails "String#chop! removes the final newline"
|
119
|
+
fails "String#chop! returns nil when called on an empty string"
|
120
|
+
fails "String#chop! returns self if modifications were made"
|
121
|
+
fails "String#clone does not modify the original string when changing cloned string" # string can't be modified
|
122
|
+
fails "String#concat concatenates the given argument to self and returns self"
|
123
|
+
fails "String#concat converts the given argument to a String using to_str"
|
124
|
+
fails "String#concat raises a RuntimeError when self is frozen"
|
125
|
+
fails "String#concat raises a TypeError if the given argument can't be converted to a String"
|
126
|
+
fails "String#concat returns a String when given a subclass instance"
|
127
|
+
fails "String#concat returns an instance of same class when called on a subclass"
|
128
|
+
fails "String#concat taints self if other is tainted"
|
129
|
+
fails "String#concat untrusts self if other is untrusted"
|
130
|
+
fails "String#concat when self and the argument are in different ASCII-compatible encodings raises Encoding::CompatibilityError if neither are ASCII-only"
|
131
|
+
fails "String#concat when self and the argument are in different ASCII-compatible encodings uses self's encoding if both are ASCII-only"
|
132
|
+
fails "String#concat when self and the argument are in different ASCII-compatible encodings uses self's encoding if the argument is ASCII-only"
|
133
|
+
fails "String#concat when self and the argument are in different ASCII-compatible encodings uses the argument's encoding if self is ASCII-only"
|
134
|
+
fails "String#concat when self is ASCII-8BIT and argument is US-ASCII uses ASCII-8BIT encoding"
|
135
|
+
fails "String#concat when self is in an ASCII-incompatible encoding incompatible with the argument's encoding raises Encoding::CompatibilityError if neither are empty"
|
136
|
+
fails "String#concat when self is in an ASCII-incompatible encoding incompatible with the argument's encoding uses self's encoding if both are empty"
|
137
|
+
fails "String#concat when self is in an ASCII-incompatible encoding incompatible with the argument's encoding uses self's encoding if the argument is empty"
|
138
|
+
fails "String#concat when self is in an ASCII-incompatible encoding incompatible with the argument's encoding uses the argument's encoding if self is empty"
|
139
|
+
fails "String#concat when the argument is in an ASCII-incompatible encoding incompatible with self's encoding raises Encoding::CompatibilityError if neither are empty"
|
140
|
+
fails "String#concat when the argument is in an ASCII-incompatible encoding incompatible with self's encoding uses self's encoding if both are empty"
|
141
|
+
fails "String#concat when the argument is in an ASCII-incompatible encoding incompatible with self's encoding uses self's encoding if the argument is empty"
|
142
|
+
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
|
+
fails "String#concat with Integer concatencates the argument interpreted as a codepoint"
|
144
|
+
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
|
+
fails "String#concat with Integer raises RangeError if the argument is an invalid codepoint for self's encoding"
|
147
|
+
fails "String#concat with Integer raises RangeError if the argument is negative"
|
148
|
+
fails "String#concat with Integer returns a ASCII-8BIT string if self is US-ASCII and the argument is between 128-255 (inclusive)"
|
149
|
+
fails "String#count returns the number of occurrences of a multi-byte character"
|
150
|
+
fails "String#delete taints result when self is tainted"
|
151
|
+
fails "String#delete! modifies self in place and returns self"
|
152
|
+
fails "String#delete! raises a RuntimeError when self is frozen"
|
153
|
+
fails "String#delete! returns nil if no modifications were made"
|
154
|
+
fails "String#downcase is locale insensitive (only replaces A-Z)"
|
155
|
+
fails "String#downcase taints result when self is tainted"
|
156
|
+
fails "String#downcase! modifies self in place"
|
157
|
+
fails "String#downcase! raises a RuntimeError when self is frozen"
|
158
|
+
fails "String#downcase! returns nil if no modifications were made"
|
159
|
+
fails "String#dup does not modify the original string when changing dupped string"
|
160
|
+
fails "String#each_char is unicode aware"
|
161
|
+
fails "String#each_line does not care if the string is modified while substituting"
|
162
|
+
fails "String#each_line raises a TypeError when the separator is a symbol"
|
163
|
+
fails "String#each_line taints substrings that are passed to the block if self is tainted"
|
164
|
+
fails "String#eql? considers encoding compatibility"
|
165
|
+
fails "String#eql? considers encoding difference of incompatible string"
|
166
|
+
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
|
+
fails "String#gsub with pattern and Hash ignores non-String keys"
|
172
|
+
fails "String#gsub with pattern and Hash taints the result if a hash value is tainted"
|
173
|
+
fails "String#gsub with pattern and Hash taints the result if the original string is tainted"
|
174
|
+
fails "String#gsub with pattern and Hash untrusts the result if a hash value is untrusted"
|
175
|
+
fails "String#gsub with pattern and Hash untrusts the result if the original string is untrusted"
|
176
|
+
fails "String#gsub with pattern and replacement doesn't freak out when replacing ^" #Only fails "Text\nFoo".gsub(/^/, ' ').should == " Text\n Foo"
|
177
|
+
fails "String#gsub with pattern and replacement replaces \\k named backreferences with the regexp's corresponding capture"
|
178
|
+
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
|
+
fails "String#gsub with pattern and replacement supports \\G which matches at the beginning of the remaining (non-matched) string"
|
180
|
+
fails "String#gsub with pattern and replacement taints the result if the original string or replacement is tainted"
|
181
|
+
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
|
+
fails "String#gsub! with pattern and Hash coerces the hash values with #to_s"
|
191
|
+
fails "String#gsub! with pattern and Hash doesn't interpolate special sequences like \\1 for the block's return value"
|
123
192
|
fails "String#gsub! with pattern and Hash ignores keys that don't correspond to matches"
|
124
|
-
fails "String#gsub! with pattern and Hash replaces self with an empty string if the pattern matches but the hash specifies no replacements"
|
125
193
|
fails "String#gsub! with pattern and Hash ignores non-String keys"
|
194
|
+
fails "String#gsub! with pattern and Hash keeps tainted state"
|
195
|
+
fails "String#gsub! with pattern and Hash keeps untrusted state"
|
196
|
+
fails "String#gsub! with pattern and Hash replaces self with an empty string if the pattern matches but the hash specifies no replacements"
|
197
|
+
fails "String#gsub! with pattern and Hash returns self with all occurrences of pattern replaced with the value of the corresponding hash key"
|
198
|
+
fails "String#gsub! with pattern and Hash sets $~ to MatchData of last match and nil when there's none for access from outside"
|
199
|
+
fails "String#gsub! with pattern and Hash taints self if a hash value is tainted"
|
200
|
+
fails "String#gsub! with pattern and Hash untrusts self if a hash value is untrusted"
|
126
201
|
fails "String#gsub! with pattern and Hash uses a key's value as many times as needed"
|
127
202
|
fails "String#gsub! with pattern and Hash uses the hash's default value for missing keys"
|
128
|
-
fails "String#gsub! with pattern and Hash coerces the hash values with #to_s"
|
129
|
-
fails "String#gsub! with pattern and Hash coerces the hash values with #to_s"
|
130
203
|
fails "String#gsub! with pattern and Hash uses the hash's value set from default_proc for missing keys"
|
131
|
-
fails "String#gsub! with pattern and Hash sets $~ to MatchData of last match and nil when there's none for access from outside"
|
132
|
-
fails "String#gsub! with pattern and Hash doesn't interpolate special sequences like \\1 for the block's return value"
|
133
|
-
fails "String#gsub! with pattern and Hash keeps untrusted state"
|
134
|
-
fails "String#gsub! with pattern and Hash untrusts self if a hash value is untrusted"
|
135
|
-
fails "String#gsub! with pattern and Hash keeps tainted state"
|
136
|
-
fails "String#gsub! with pattern and Hash taints self if a hash value is tainted"
|
137
204
|
fails "String#gsub! with pattern and replacement modifies self in place and returns self"
|
205
|
+
fails "String#gsub! with pattern and replacement raises a RuntimeError when self is frozen"
|
206
|
+
fails "String#gsub! with pattern and replacement returns nil if no modifications were made"
|
138
207
|
fails "String#gsub! with pattern and replacement taints self if replacement is tainted"
|
139
208
|
fails "String#gsub! with pattern and replacement untrusts self if replacement is untrusted"
|
140
|
-
fails "String#gsub! with pattern and replacement
|
141
|
-
fails "String#gsub! with pattern and replacement
|
142
|
-
fails "String#
|
143
|
-
fails "String#
|
144
|
-
fails "String#
|
145
|
-
fails "String#
|
146
|
-
fails "String#
|
147
|
-
fails "String#
|
148
|
-
fails "String#
|
149
|
-
fails "String#
|
150
|
-
fails "String#
|
151
|
-
|
209
|
+
fails "String#gsub! with pattern and without replacement and block returned Enumerator size should return nil"
|
210
|
+
fails "String#gsub! with pattern and without replacement and block returns an enumerator"
|
211
|
+
fails "String#index raises a TypeError if passed a Symbol"
|
212
|
+
fails "String#index with Regexp supports \\G which matches at the given start offset"
|
213
|
+
fails "String#initialize is a private method"
|
214
|
+
fails "String#initialize with an argument carries over the encoding invalidity"
|
215
|
+
fails "String#initialize with an argument does not trust self if other is trusted"
|
216
|
+
fails "String#initialize with an argument does not untaint self if other is untainted"
|
217
|
+
fails "String#initialize with an argument raises a RuntimeError on a frozen instance that is modified"
|
218
|
+
fails "String#initialize with an argument raises a RuntimeError on a frozen instance when self-replacing"
|
219
|
+
fails "String#initialize with an argument raises a TypeError if other can't be converted to string"
|
220
|
+
fails "String#initialize with an argument replaces the content of self with other"
|
221
|
+
fails "String#initialize with an argument replaces the encoding of self with that of other"
|
222
|
+
fails "String#initialize with an argument returns self"
|
223
|
+
fails "String#initialize with an argument taints self if other is tainted"
|
224
|
+
fails "String#initialize with an argument tries to convert other to string using to_str"
|
225
|
+
fails "String#initialize with an argument untrusts self if other is untrusted"
|
226
|
+
fails "String#insert with index, other converts index to an integer using to_int"
|
227
|
+
fails "String#insert with index, other converts other to a string using to_str"
|
228
|
+
fails "String#insert with index, other inserts after the given character on an negative count"
|
229
|
+
fails "String#insert with index, other inserts other before the character at the given index"
|
230
|
+
fails "String#insert with index, other modifies self in place"
|
231
|
+
fails "String#insert with index, other raises a RuntimeError if self is frozen"
|
232
|
+
fails "String#insert with index, other raises a TypeError if other can't be converted to string"
|
233
|
+
fails "String#insert with index, other raises an IndexError if the index is beyond string"
|
234
|
+
fails "String#insert with index, other taints self if string to insert is tainted"
|
235
|
+
fails "String#inspect returns a string with non-printing characters replaced by \\x notation"
|
236
|
+
fails "String#inspect taints the result if self is tainted"
|
237
|
+
fails "String#inspect untrusts the result if self is untrusted"
|
238
|
+
fails "String#lines does not care if the string is modified while substituting"
|
239
|
+
fails "String#lines raises a TypeError when the separator is a symbol"
|
240
|
+
fails "String#lines taints substrings that are passed to the block if self is tainted"
|
241
|
+
fails "String#ljust with length, padding taints result when self or padstr is tainted"
|
242
|
+
fails "String#ljust with length, padding when padding is tainted and self is untainted returns a tainted string if and only if length is longer than self"
|
243
|
+
fails "String#lstrip taints the result when self is tainted"
|
152
244
|
fails "String#lstrip! modifies self in place and returns self"
|
153
|
-
fails "String#lstrip! returns nil if no modifications were made"
|
154
245
|
fails "String#lstrip! raises a RuntimeError on a frozen instance that is modified"
|
155
246
|
fails "String#lstrip! raises a RuntimeError on a frozen instance that would not be modified"
|
156
|
-
|
247
|
+
fails "String#lstrip! returns nil if no modifications were made"
|
248
|
+
fails "String#match matches \\G at the start of the string"
|
249
|
+
fails "String#next taints the result if self is tainted"
|
157
250
|
fails "String#next! is equivalent to succ, but modifies self in place (still returns self)"
|
158
251
|
fails "String#next! raises a RuntimeError if self is frozen"
|
159
|
-
|
160
|
-
fails "String#
|
161
|
-
fails "String#
|
162
|
-
fails "String#
|
163
|
-
fails "String#
|
164
|
-
fails "String#
|
165
|
-
|
166
|
-
fails "String#
|
167
|
-
fails "String#
|
168
|
-
fails "String#
|
169
|
-
fails "String#
|
170
|
-
fails "String#
|
171
|
-
fails "String#
|
172
|
-
fails "String#
|
173
|
-
fails "String#
|
174
|
-
fails "String#
|
175
|
-
fails "String#
|
176
|
-
fails "String#
|
177
|
-
fails "String#
|
252
|
+
fails "String#prepend converts the given argument to a String using to_str"
|
253
|
+
fails "String#prepend prepends the given argument to self and returns self"
|
254
|
+
fails "String#prepend raises a RuntimeError when self if frozen"
|
255
|
+
fails "String#prepend raises a TypeError if the given argument can't be converted to a String"
|
256
|
+
fails "String#prepend taints self if other is tainted"
|
257
|
+
fails "String#prepend works when given a subclass instance"
|
258
|
+
fails "String#replace carries over the encoding invalidity"
|
259
|
+
fails "String#replace does not trust self if other is trusted"
|
260
|
+
fails "String#replace does not untaint self if other is untainted"
|
261
|
+
fails "String#replace raises a RuntimeError on a frozen instance that is modified"
|
262
|
+
fails "String#replace raises a RuntimeError on a frozen instance when self-replacing"
|
263
|
+
fails "String#replace raises a TypeError if other can't be converted to string"
|
264
|
+
fails "String#replace replaces the content of self with other"
|
265
|
+
fails "String#replace replaces the encoding of self with that of other"
|
266
|
+
fails "String#replace returns self"
|
267
|
+
fails "String#replace taints self if other is tainted"
|
268
|
+
fails "String#replace tries to convert other to string using to_str"
|
269
|
+
fails "String#replace untrusts self if other is untrusted"
|
270
|
+
fails "String#reverse taints the result if self is tainted"
|
271
|
+
fails "String#reverse! raises a RuntimeError on a frozen instance that is modified"
|
272
|
+
fails "String#reverse! raises a RuntimeError on a frozen instance that would not be modified"
|
273
|
+
fails "String#reverse! reverses self in place and always returns self"
|
274
|
+
fails "String#rjust with length, padding taints result when self or padstr is tainted"
|
275
|
+
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"
|
276
|
+
fails "String#rstrip taints the result when self is tainted"
|
277
|
+
fails "String#rstrip! modifies self in place and returns self"
|
278
|
+
fails "String#rstrip! modifies self removing trailing NULL bytes and whitespace"
|
279
|
+
fails "String#rstrip! raises a RuntimeError on a frozen instance that is modified"
|
280
|
+
fails "String#rstrip! raises a RuntimeError on a frozen instance that would not be modified"
|
281
|
+
fails "String#rstrip! returns nil if no modifications were made"
|
282
|
+
fails "String#scan supports \\G which matches the end of the previous match / string start for first match"
|
283
|
+
fails "String#scan taints the results if the Regexp argument is tainted"
|
284
|
+
fails "String#scan taints the results if the String argument is tainted"
|
285
|
+
fails "String#scan taints the results when passed a Regexp argument if self is tainted"
|
286
|
+
fails "String#scan taints the results when passed a String argument if self is tainted"
|
287
|
+
fails "String#scan with pattern and block taints the results if the Regexp argument is tainted"
|
288
|
+
fails "String#scan with pattern and block taints the results if the String argument is tainted"
|
289
|
+
fails "String#scan with pattern and block taints the results when passed a Regexp argument if self is tainted"
|
290
|
+
fails "String#scan with pattern and block taints the results when passed a String argument if self is tainted"
|
291
|
+
fails "String#setbyte allows changing bytes in multi-byte characters"
|
292
|
+
fails "String#setbyte calls #to_int to convert the index"
|
293
|
+
fails "String#setbyte calls to_int to convert the value"
|
294
|
+
fails "String#setbyte can invalidate a String's encoding"
|
295
|
+
fails "String#setbyte changes the byte at the given index to the new byte"
|
296
|
+
fails "String#setbyte does not modify the original string when using String.new"
|
297
|
+
fails "String#setbyte modifies the receiver"
|
298
|
+
fails "String#setbyte raises a RuntimeError if self is frozen"
|
299
|
+
fails "String#setbyte raises a TypeError unless the second argument is an Integer"
|
300
|
+
fails "String#setbyte raises an IndexError if the index is greater than the String bytesize"
|
301
|
+
fails "String#setbyte raises an IndexError if the nexgative index is greater magnitude than the String bytesize"
|
302
|
+
fails "String#setbyte regards a negative index as counting from the end of the String"
|
303
|
+
fails "String#setbyte returns an Integer"
|
304
|
+
fails "String#setbyte sets a byte at an index greater than String size"
|
305
|
+
fails "String#slice with index, length always taints resulting strings when self is tainted"
|
306
|
+
fails "String#slice with Range always taints resulting strings when self is tainted"
|
307
|
+
fails "String#slice with Regexp, index always taints resulting strings when self or regexp is tainted"
|
308
|
+
fails "String#slice with String taints resulting strings when other is tainted"
|
309
|
+
fails "String#slice with Symbol raises TypeError"
|
178
310
|
fails "String#slice! Range always taints resulting strings when self is tainted"
|
179
|
-
fails "String#slice! Range returns subclass instances"
|
180
311
|
fails "String#slice! Range calls to_int on range arguments"
|
181
|
-
fails "String#slice! Range
|
312
|
+
fails "String#slice! Range deletes and return the substring given by the offsets of the range"
|
182
313
|
fails "String#slice! Range raises a RuntimeError on a frozen instance that is modified"
|
183
314
|
fails "String#slice! Range raises a RuntimeError on a frozen instance that would not be modified"
|
184
|
-
fails "String#slice!
|
185
|
-
fails "String#slice!
|
315
|
+
fails "String#slice! Range returns nil if the given range is out of self"
|
316
|
+
fails "String#slice! Range returns subclass instances"
|
317
|
+
fails "String#slice! Range works with Range subclasses"
|
318
|
+
fails "String#slice! with index calls to_int on index"
|
319
|
+
fails "String#slice! with index deletes and return the char at the given position"
|
320
|
+
fails "String#slice! with index raises a RuntimeError if self is frozen"
|
321
|
+
fails "String#slice! with index returns nil if idx is outside of self"
|
322
|
+
fails "String#slice! with index, length always taints resulting strings when self is tainted"
|
323
|
+
fails "String#slice! with index, length calls to_int on idx and length"
|
324
|
+
fails "String#slice! with index, length deletes and returns the substring at idx and the given length"
|
325
|
+
fails "String#slice! with index, length raises a RuntimeError if self is frozen"
|
326
|
+
fails "String#slice! with index, length returns nil if the length is negative"
|
327
|
+
fails "String#slice! with index, length returns subclass instances"
|
186
328
|
fails "String#slice! with Regexp always taints resulting strings when self or regexp is tainted"
|
329
|
+
fails "String#slice! with Regexp deletes and returns the first match from self"
|
187
330
|
fails "String#slice! with Regexp doesn't taint self when regexp is tainted"
|
188
|
-
fails "String#slice! with Regexp returns subclass instances"
|
189
|
-
fails "String#slice! with Regexp sets $~ to MatchData when there is a match and nil when there's none"
|
190
331
|
fails "String#slice! with Regexp raises a RuntimeError on a frozen instance that is modified"
|
191
332
|
fails "String#slice! with Regexp raises a RuntimeError on a frozen instance that would not be modified"
|
192
|
-
fails "String#slice! with Regexp
|
333
|
+
fails "String#slice! with Regexp returns nil if there was no match"
|
334
|
+
fails "String#slice! with Regexp returns subclass instances"
|
335
|
+
fails "String#slice! with Regexp sets $~ to MatchData when there is a match and nil when there's none"
|
336
|
+
fails "String#slice! with Regexp, index accepts a Float for capture index"
|
193
337
|
fails "String#slice! with Regexp, index always taints resulting strings when self or regexp is tainted"
|
338
|
+
fails "String#slice! with Regexp, index calls #to_int to convert an Object to capture index"
|
339
|
+
fails "String#slice! with Regexp, index deletes and returns the capture for idx from self"
|
194
340
|
fails "String#slice! with Regexp, index doesn't taint self when regexp is tainted"
|
195
|
-
fails "String#slice! with Regexp, index
|
341
|
+
fails "String#slice! with Regexp, index raises a RuntimeError if self is frozen"
|
196
342
|
fails "String#slice! with Regexp, index returns nil if there is no capture for idx"
|
197
|
-
fails "String#slice! with Regexp, index
|
343
|
+
fails "String#slice! with Regexp, index returns nil if there was no match"
|
198
344
|
fails "String#slice! with Regexp, index returns subclass instances"
|
199
345
|
fails "String#slice! with Regexp, index sets $~ to MatchData when there is a match and nil when there's none"
|
200
|
-
fails "String#slice! with Regexp, index raises a RuntimeError if self is frozen"
|
201
|
-
fails "String#slice! with String removes and returns the first occurrence of other_str from self"
|
202
|
-
fails "String#slice! with String taints resulting strings when other is tainted"
|
203
|
-
fails "String#slice! with String doesn't set $~"
|
204
|
-
fails "String#slice! with String returns nil if self does not contain other"
|
205
346
|
fails "String#slice! with String doesn't call to_str on its argument"
|
206
|
-
fails "String#slice! with String
|
347
|
+
fails "String#slice! with String doesn't set $~"
|
207
348
|
fails "String#slice! with String raises a RuntimeError if self is frozen"
|
208
|
-
fails "String#slice! with
|
209
|
-
fails "String#slice! with
|
210
|
-
|
211
|
-
fails "String#
|
212
|
-
fails "String#
|
213
|
-
fails "String#
|
214
|
-
fails "String#
|
215
|
-
fails "String#
|
216
|
-
fails "String#
|
217
|
-
fails "String#
|
218
|
-
fails "String#
|
219
|
-
fails "String#
|
220
|
-
fails "String#
|
221
|
-
fails "String#[]= with String index replaces more characters with fewer characters"
|
222
|
-
fails "String#[]= with String index replaces characters with no characters"
|
223
|
-
fails "String#[]= with String index raises an IndexError if the search String is not found"
|
224
|
-
fails "String#[]= with a Regexp index replaces the matched text with the rhs"
|
225
|
-
fails "String#[]= with a Regexp index raises IndexError if the regexp index doesn't match a position in the string"
|
226
|
-
fails "String#[]= with a Regexp index calls #to_str to convert the replacement"
|
227
|
-
fails "String#[]= with a Regexp index checks the match before calling #to_str to convert the replacement"
|
228
|
-
fails "String#[]= with a Regexp index with 3 arguments calls #to_int to convert the second object"
|
229
|
-
fails "String#[]= with a Regexp index with 3 arguments raises a TypeError if #to_int does not return a Fixnum"
|
230
|
-
fails "String#[]= with a Regexp index with 3 arguments uses the 2nd of 3 arguments as which capture should be replaced"
|
231
|
-
fails "String#[]= with a Regexp index with 3 arguments allows the specified capture to be negative and count from the end"
|
232
|
-
fails "String#[]= with a Regexp index with 3 arguments checks the match index before calling #to_str to convert the replacement"
|
233
|
-
fails "String#[]= with a Regexp index with 3 arguments raises IndexError if the specified capture isn't available"
|
234
|
-
fails "String#[]= with a Regexp index with 3 arguments when the optional capture does not match raises an IndexError before setting the replacement"
|
235
|
-
fails "String#[]= with a Range index replaces the contents with a shorter String"
|
236
|
-
fails "String#[]= with a Range index replaces the contents with a longer String"
|
237
|
-
fails "String#[]= with a Range index replaces a partial string"
|
238
|
-
fails "String#[]= with a Range index raises a RangeError if negative Range begin is out of range"
|
239
|
-
fails "String#[]= with a Range index raises a RangeError if positive Range begin is greater than String size"
|
240
|
-
fails "String#[]= with a Range index uses the Range end as an index rather than a count"
|
241
|
-
fails "String#[]= with a Range index treats a negative out-of-range Range end with a positive Range begin as a zero count"
|
242
|
-
fails "String#[]= with a Range index treats a negative out-of-range Range end with a negative Range begin as a zero count"
|
243
|
-
fails "String#[]= with a Range index with an empty replacement does not replace a character with a zero-index, zero exclude-end range"
|
244
|
-
fails "String#[]= with a Range index with an empty replacement does not replace a character with a zero exclude-end range"
|
245
|
-
fails "String#[]= with a Range index with an empty replacement replaces a character with zero-index, zero non-exclude-end range"
|
246
|
-
fails "String#[]= with a Range index with an empty replacement replaces a character with a zero non-exclude-end range"
|
247
|
-
fails "String#[]= with Fixnum index, count starts at idx and overwrites count characters before inserting the rest of other_str"
|
248
|
-
fails "String#[]= with Fixnum index, count counts negative idx values from end of the string"
|
249
|
-
fails "String#[]= with Fixnum index, count overwrites and deletes characters if count is more than the length of other_str"
|
250
|
-
fails "String#[]= with Fixnum index, count deletes characters if other_str is an empty string"
|
251
|
-
fails "String#[]= with Fixnum index, count deletes characters up to the maximum length of the existing string"
|
252
|
-
fails "String#[]= with Fixnum index, count appends other_str to the end of the string if idx == the length of the string"
|
253
|
-
fails "String#[]= with Fixnum index, count taints self if other_str is tainted"
|
254
|
-
fails "String#[]= with Fixnum index, count calls #to_int to convert the index and count objects"
|
255
|
-
fails "String#[]= with Fixnum index, count raises a TypeError if #to_int for index does not return an Integer"
|
256
|
-
fails "String#[]= with Fixnum index, count raises a TypeError if #to_int for count does not return an Integer"
|
257
|
-
fails "String#[]= with Fixnum index, count calls #to_str to convert the replacement object"
|
258
|
-
fails "String#[]= with Fixnum index, count raises a TypeError of #to_str does not return a String"
|
259
|
-
fails "String#[]= with Fixnum index, count raises an IndexError if |idx| is greater than the length of the string"
|
260
|
-
fails "String#[]= with Fixnum index, count raises an IndexError if count < 0"
|
261
|
-
fails "String#[]= with Fixnum index, count raises a TypeError if other_str is a type other than String"
|
262
|
-
|
349
|
+
fails "String#slice! with String removes and returns the first occurrence of other_str from self"
|
350
|
+
fails "String#slice! with String returns a subclass instance when given a subclass instance"
|
351
|
+
fails "String#slice! with String returns nil if self does not contain other"
|
352
|
+
fails "String#slice! with String taints resulting strings when other is tainted"
|
353
|
+
fails "String#split with Regexp doesn't taints the resulting strings if the Regexp is tainted"
|
354
|
+
fails "String#split with Regexp respects the encoding of the regexp when splitting between characters"
|
355
|
+
fails "String#split with Regexp retains the encoding of the source string"
|
356
|
+
fails "String#split with Regexp returns an ArgumentError if an invalid UTF-8 string is supplied"
|
357
|
+
fails "String#split with Regexp splits a string on each character for a multibyte encoding and empty split"
|
358
|
+
fails "String#split with Regexp taints an empty string if self is tainted"
|
359
|
+
fails "String#split with Regexp taints the resulting strings if self is tainted"
|
360
|
+
fails "String#split with String taints the resulting strings if self is tainted"
|
361
|
+
fails "String#squeeze taints the result when self is tainted"
|
263
362
|
fails "String#squeeze! modifies self in place and returns self"
|
264
|
-
fails "String#squeeze! returns nil if no modifications were made"
|
265
|
-
fails "String#squeeze! raises an ArgumentError when the parameter is out of sequence"
|
266
363
|
fails "String#squeeze! raises a RuntimeError when self is frozen"
|
267
|
-
|
364
|
+
fails "String#squeeze! raises an ArgumentError when the parameter is out of sequence"
|
365
|
+
fails "String#squeeze! returns nil if no modifications were made"
|
366
|
+
fails "String#strip taints the result when self is tainted"
|
268
367
|
fails "String#strip! modifies self in place and returns self"
|
269
|
-
fails "String#strip! returns nil if no modifications where made"
|
270
368
|
fails "String#strip! modifies self removing trailing NULL bytes and whitespace"
|
271
369
|
fails "String#strip! raises a RuntimeError on a frozen instance that is modified"
|
272
370
|
fails "String#strip! raises a RuntimeError on a frozen instance that would not be modified"
|
273
|
-
|
274
|
-
fails "String#sub
|
275
|
-
fails "String#sub
|
276
|
-
fails "String#sub
|
277
|
-
fails "String#sub
|
371
|
+
fails "String#strip! returns nil if no modifications where made"
|
372
|
+
fails "String#sub with pattern and block doesn't raise a RuntimeError if the string is modified while substituting"
|
373
|
+
fails "String#sub with pattern and block taints the result if the original string or replacement is tainted"
|
374
|
+
fails "String#sub with pattern and Hash ignores non-String keys"
|
375
|
+
fails "String#sub with pattern and Hash taints the result if a hash value is tainted"
|
376
|
+
fails "String#sub with pattern and Hash taints the result if the original string is tainted"
|
377
|
+
fails "String#sub with pattern and Hash untrusts the result if a hash value is untrusted"
|
378
|
+
fails "String#sub with pattern and Hash untrusts the result if the original string is untrusted"
|
379
|
+
fails "String#sub with pattern, replacement supports \\G which matches at the beginning of the string"
|
380
|
+
fails "String#sub with pattern, replacement taints the result if the original string or replacement is tainted"
|
278
381
|
fails "String#sub! with pattern and block modifies self in place and returns self"
|
279
|
-
fails "String#sub! with pattern and block sets $~ for access from the block"
|
280
|
-
fails "String#sub! with pattern and block taints self if block's result is tainted"
|
281
|
-
fails "String#sub! with pattern and block returns nil if no modifications were made"
|
282
382
|
fails "String#sub! with pattern and block raises a RuntimeError if the string is modified while substituting"
|
283
383
|
fails "String#sub! with pattern and block raises a RuntimeError when self is frozen"
|
284
|
-
fails "String#sub! with pattern and
|
285
|
-
fails "String#sub! with pattern and
|
286
|
-
fails "String#sub! with pattern and
|
287
|
-
fails "String#sub! with pattern and Hash uses a key's value only a single time"
|
288
|
-
fails "String#sub! with pattern and Hash uses the hash's default value for missing keys"
|
289
|
-
fails "String#sub! with pattern and Hash coerces the hash values with #to_s"
|
384
|
+
fails "String#sub! with pattern and block returns nil if no modifications were made"
|
385
|
+
fails "String#sub! with pattern and block sets $~ for access from the block"
|
386
|
+
fails "String#sub! with pattern and block taints self if block's result is tainted"
|
290
387
|
fails "String#sub! with pattern and Hash coerces the hash values with #to_s"
|
291
|
-
fails "String#sub! with pattern and Hash uses the hash's value set from default_proc for missing keys"
|
292
|
-
fails "String#sub! with pattern and Hash sets $~ to MatchData of first match and nil when there's none for access from outside"
|
293
388
|
fails "String#sub! with pattern and Hash doesn't interpolate special sequences like \\1 for the block's return value"
|
294
|
-
fails "String#sub! with pattern and Hash
|
295
|
-
fails "String#sub! with pattern and Hash untrusts self if a hash value is untrusted"
|
389
|
+
fails "String#sub! with pattern and Hash ignores non-String keys"
|
296
390
|
fails "String#sub! with pattern and Hash keeps tainted state"
|
391
|
+
fails "String#sub! with pattern and Hash keeps untrusted state"
|
392
|
+
fails "String#sub! with pattern and Hash removes keys that don't correspond to matches"
|
393
|
+
fails "String#sub! with pattern and Hash returns self with the first occurrence of pattern replaced with the value of the corresponding hash key"
|
394
|
+
fails "String#sub! with pattern and Hash sets $~ to MatchData of first match and nil when there's none for access from outside"
|
297
395
|
fails "String#sub! with pattern and Hash taints self if a hash value is tainted"
|
298
|
-
|
396
|
+
fails "String#sub! with pattern and Hash untrusts self if a hash value is untrusted"
|
397
|
+
fails "String#sub! with pattern and Hash uses a key's value only a single time"
|
398
|
+
fails "String#sub! with pattern and Hash uses the hash's default value for missing keys"
|
399
|
+
fails "String#sub! with pattern and Hash uses the hash's value set from default_proc for missing keys"
|
400
|
+
fails "String#sub! with pattern and without replacement and block raises a ArgumentError"
|
401
|
+
fails "String#sub! with pattern, replacement modifies self in place and returns self"
|
402
|
+
fails "String#sub! with pattern, replacement raises a RuntimeError when self is frozen"
|
403
|
+
fails "String#sub! with pattern, replacement returns nil if no modifications were made"
|
404
|
+
fails "String#sub! with pattern, replacement taints self if replacement is tainted"
|
405
|
+
fails "String#succ taints the result if self is tainted"
|
299
406
|
fails "String#succ! is equivalent to succ, but modifies self in place (still returns self)"
|
300
407
|
fails "String#succ! raises a RuntimeError if self is frozen"
|
301
|
-
|
302
|
-
fails "String#
|
303
|
-
fails "String#
|
408
|
+
fails "String#swapcase taints resulting string when self is tainted"
|
409
|
+
fails "String#swapcase! modifies self in place"
|
410
|
+
fails "String#swapcase! raises a RuntimeError when self is frozen"
|
411
|
+
fails "String#swapcase! returns nil if no modifications were made"
|
412
|
+
fails "String#to_i with bases parses a String in base 10"
|
413
|
+
fails "String#to_i with bases parses a String in base 11"
|
414
|
+
fails "String#to_i with bases parses a String in base 12"
|
415
|
+
fails "String#to_i with bases parses a String in base 13"
|
416
|
+
fails "String#to_i with bases parses a String in base 14"
|
417
|
+
fails "String#to_i with bases parses a String in base 15"
|
418
|
+
fails "String#to_i with bases parses a String in base 16"
|
419
|
+
fails "String#to_i with bases parses a String in base 17"
|
420
|
+
fails "String#to_i with bases parses a String in base 18"
|
421
|
+
fails "String#to_i with bases parses a String in base 19"
|
422
|
+
fails "String#to_i with bases parses a String in base 2"
|
423
|
+
fails "String#to_i with bases parses a String in base 20"
|
424
|
+
fails "String#to_i with bases parses a String in base 21"
|
425
|
+
fails "String#to_i with bases parses a String in base 22"
|
426
|
+
fails "String#to_i with bases parses a String in base 23"
|
427
|
+
fails "String#to_i with bases parses a String in base 24"
|
428
|
+
fails "String#to_i with bases parses a String in base 25"
|
429
|
+
fails "String#to_i with bases parses a String in base 26"
|
430
|
+
fails "String#to_i with bases parses a String in base 27"
|
431
|
+
fails "String#to_i with bases parses a String in base 28"
|
432
|
+
fails "String#to_i with bases parses a String in base 29"
|
433
|
+
fails "String#to_i with bases parses a String in base 3"
|
434
|
+
fails "String#to_i with bases parses a String in base 30"
|
435
|
+
fails "String#to_i with bases parses a String in base 31"
|
436
|
+
fails "String#to_i with bases parses a String in base 32"
|
437
|
+
fails "String#to_i with bases parses a String in base 33"
|
438
|
+
fails "String#to_i with bases parses a String in base 34"
|
439
|
+
fails "String#to_i with bases parses a String in base 35"
|
440
|
+
fails "String#to_i with bases parses a String in base 36"
|
441
|
+
fails "String#to_i with bases parses a String in base 4"
|
442
|
+
fails "String#to_i with bases parses a String in base 5"
|
443
|
+
fails "String#to_i with bases parses a String in base 6"
|
444
|
+
fails "String#to_i with bases parses a String in base 7"
|
445
|
+
fails "String#to_i with bases parses a String in base 8"
|
446
|
+
fails "String#to_i with bases parses a String in base 9"
|
447
|
+
fails "String#to_s taints the result when self is tainted"
|
448
|
+
fails "String#to_str taints the result when self is tainted"
|
449
|
+
fails "String#tr taints the result when self is tainted"
|
304
450
|
fails "String#tr! does not modify self if from_str is empty"
|
451
|
+
fails "String#tr! modifies self in place"
|
305
452
|
fails "String#tr! raises a RuntimeError if self is frozen"
|
306
|
-
|
307
|
-
fails "String#tr_s
|
308
|
-
fails "String#tr_s! returns nil if no modification was made"
|
453
|
+
fails "String#tr! returns nil if no modification was made"
|
454
|
+
fails "String#tr_s taints the result when self is tainted"
|
309
455
|
fails "String#tr_s! does not modify self if from_str is empty"
|
456
|
+
fails "String#tr_s! modifies self in place"
|
310
457
|
fails "String#tr_s! raises a RuntimeError if self is frozen"
|
311
|
-
|
312
|
-
fails "String#
|
313
|
-
fails "String#
|
314
|
-
fails "String#
|
315
|
-
fails "String#
|
316
|
-
fails "String#
|
317
|
-
fails "String#
|
318
|
-
fails "String#
|
319
|
-
fails "String#
|
320
|
-
fails "String#
|
321
|
-
fails "String#
|
322
|
-
fails "String#
|
323
|
-
fails "String#
|
324
|
-
fails "String#
|
325
|
-
fails "String#
|
326
|
-
|
327
|
-
fails "String#
|
328
|
-
fails "String#
|
329
|
-
fails "String#
|
330
|
-
fails "String#
|
331
|
-
fails "String#
|
332
|
-
fails "String#
|
333
|
-
|
334
|
-
fails "String#
|
335
|
-
fails "String#
|
336
|
-
fails "String#
|
337
|
-
fails "String#
|
338
|
-
fails "String#
|
339
|
-
fails "String#
|
340
|
-
fails "String#
|
341
|
-
fails "String#
|
342
|
-
fails "String#
|
343
|
-
fails "String#
|
344
|
-
fails "String#
|
345
|
-
fails "String#
|
346
|
-
|
347
|
-
fails "String#
|
348
|
-
fails "String#
|
349
|
-
fails "String#
|
350
|
-
fails "String#
|
351
|
-
fails "String#
|
352
|
-
fails "String#
|
353
|
-
fails "String#
|
354
|
-
fails "String#
|
355
|
-
fails "String#
|
356
|
-
|
357
|
-
fails "String#
|
358
|
-
fails "String#
|
359
|
-
fails "String#
|
360
|
-
|
361
|
-
fails "String#
|
362
|
-
fails "String#
|
363
|
-
fails "String#
|
364
|
-
fails "String#
|
365
|
-
fails "String#
|
366
|
-
fails "String#
|
367
|
-
fails "String#
|
368
|
-
fails "String#
|
369
|
-
fails "String#
|
370
|
-
fails "String#
|
371
|
-
fails "String#
|
372
|
-
fails "String#
|
373
|
-
fails "String#
|
374
|
-
fails "String
|
375
|
-
fails "String
|
376
|
-
fails "String
|
377
|
-
fails "String
|
378
|
-
fails "String
|
379
|
-
fails "String#concat when the argument is in an ASCII-incompatible encoding incompatible with self's encoding uses self's encoding if the argument is empty"
|
380
|
-
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"
|
381
|
-
fails "String#concat when the argument is in an ASCII-incompatible encoding incompatible with self's encoding raises Encoding::CompatibilityError if neither are empty"
|
382
|
-
fails "String#concat when self and the argument are in different ASCII-compatible encodings uses self's encoding if both are ASCII-only"
|
383
|
-
fails "String#concat when self and the argument are in different ASCII-compatible encodings uses self's encoding if the argument is ASCII-only"
|
384
|
-
fails "String#concat when self and the argument are in different ASCII-compatible encodings uses the argument's encoding if self is ASCII-only"
|
385
|
-
fails "String#concat when self and the argument are in different ASCII-compatible encodings raises Encoding::CompatibilityError if neither are ASCII-only"
|
386
|
-
fails "String#concat when self is ASCII-8BIT and argument is US-ASCII uses ASCII-8BIT encoding"
|
387
|
-
fails "String#concat returns a String when given a subclass instance"
|
388
|
-
fails "String#concat returns an instance of same class when called on a subclass"
|
389
|
-
|
390
|
-
fails "String#dup does not modify the original string when changing dupped string"
|
391
|
-
|
392
|
-
fails "String#each_line does not care if the string is modified while substituting"
|
393
|
-
fails "String#lines does not care if the string is modified while substituting"
|
394
|
-
|
395
|
-
fails "String#initialize with an argument raises a RuntimeError on a frozen instance when self-replacing"
|
396
|
-
fails "String#initialize with an argument raises a RuntimeError on a frozen instance that is modified"
|
397
|
-
fails "String#initialize with an argument raises a TypeError if other can't be converted to string"
|
398
|
-
fails "String#initialize with an argument tries to convert other to string using to_str"
|
399
|
-
fails "String#initialize with an argument replaces the encoding of self with that of other"
|
400
|
-
fails "String#initialize with an argument does not trust self if other is trusted"
|
401
|
-
fails "String#initialize with an argument untrusts self if other is untrusted"
|
402
|
-
fails "String#initialize with an argument does not untaint self if other is untainted"
|
403
|
-
fails "String#initialize with an argument taints self if other is tainted"
|
404
|
-
fails "String#initialize with an argument replaces the content of self with other"
|
405
|
-
fails "String#initialize with an argument returns self"
|
458
|
+
fails "String#tr_s! returns nil if no modification was made"
|
459
|
+
fails "String#upcase is locale insensitive (only replaces a-z)"
|
460
|
+
fails "String#upcase taints result when self is tainted"
|
461
|
+
fails "String#upcase! modifies self in place"
|
462
|
+
fails "String#upcase! raises a RuntimeError when self is frozen"
|
463
|
+
fails "String#upcase! returns nil if no modifications were made"
|
464
|
+
fails "String#upto does not work with symbols"
|
465
|
+
fails "String#[] with index, length always taints resulting strings when self is tainted"
|
466
|
+
fails "String#[] with Range always taints resulting strings when self is tainted"
|
467
|
+
fails "String#[] with Regexp, index always taints resulting strings when self or regexp is tainted"
|
468
|
+
fails "String#[] with String taints resulting strings when other is tainted"
|
469
|
+
fails "String#[] with Symbol raises TypeError"
|
470
|
+
fails "String#[]= with a Range index raises a RangeError if negative Range begin is out of range"
|
471
|
+
fails "String#[]= with a Range index raises a RangeError if positive Range begin is greater than String size"
|
472
|
+
fails "String#[]= with a Range index replaces a partial string"
|
473
|
+
fails "String#[]= with a Range index replaces the contents with a longer String"
|
474
|
+
fails "String#[]= with a Range index replaces the contents with a shorter String"
|
475
|
+
fails "String#[]= with a Range index treats a negative out-of-range Range end with a negative Range begin as a zero count"
|
476
|
+
fails "String#[]= with a Range index treats a negative out-of-range Range end with a positive Range begin as a zero count"
|
477
|
+
fails "String#[]= with a Range index uses the Range end as an index rather than a count"
|
478
|
+
fails "String#[]= with a Range index with an empty replacement does not replace a character with a zero exclude-end range"
|
479
|
+
fails "String#[]= with a Range index with an empty replacement does not replace a character with a zero-index, zero exclude-end range"
|
480
|
+
fails "String#[]= with a Range index with an empty replacement replaces a character with a zero non-exclude-end range"
|
481
|
+
fails "String#[]= with a Range index with an empty replacement replaces a character with zero-index, zero non-exclude-end range"
|
482
|
+
fails "String#[]= with a Regexp index calls #to_str to convert the replacement"
|
483
|
+
fails "String#[]= with a Regexp index checks the match before calling #to_str to convert the replacement"
|
484
|
+
fails "String#[]= with a Regexp index raises IndexError if the regexp index doesn't match a position in the string"
|
485
|
+
fails "String#[]= with a Regexp index replaces the matched text with the rhs"
|
486
|
+
fails "String#[]= with a Regexp index with 3 arguments allows the specified capture to be negative and count from the end"
|
487
|
+
fails "String#[]= with a Regexp index with 3 arguments calls #to_int to convert the second object"
|
488
|
+
fails "String#[]= with a Regexp index with 3 arguments checks the match index before calling #to_str to convert the replacement"
|
489
|
+
fails "String#[]= with a Regexp index with 3 arguments raises a TypeError if #to_int does not return a Fixnum"
|
490
|
+
fails "String#[]= with a Regexp index with 3 arguments raises IndexError if the specified capture isn't available"
|
491
|
+
fails "String#[]= with a Regexp index with 3 arguments uses the 2nd of 3 arguments as which capture should be replaced"
|
492
|
+
fails "String#[]= with a Regexp index with 3 arguments when the optional capture does not match raises an IndexError before setting the replacement"
|
493
|
+
fails "String#[]= with Fixnum index allows assignment to the zero'th element of an empty String"
|
494
|
+
fails "String#[]= with Fixnum index calls #to_str to convert other to a String"
|
495
|
+
fails "String#[]= with Fixnum index calls to_int on index"
|
496
|
+
fails "String#[]= with Fixnum index raises a RuntimeError when self is frozen"
|
497
|
+
fails "String#[]= with Fixnum index raises a TypeError if other_str can't be converted to a String"
|
498
|
+
fails "String#[]= with Fixnum index raises an IndexError without changing self if idx is outside of self"
|
499
|
+
fails "String#[]= with Fixnum index raises IndexError if the string index doesn't match a position in the string"
|
500
|
+
fails "String#[]= with Fixnum index replaces the char at idx with other_str"
|
501
|
+
fails "String#[]= with Fixnum index taints self if other_str is tainted"
|
502
|
+
fails "String#[]= with Fixnum index, count appends other_str to the end of the string if idx == the length of the string"
|
503
|
+
fails "String#[]= with Fixnum index, count calls #to_int to convert the index and count objects"
|
504
|
+
fails "String#[]= with Fixnum index, count calls #to_str to convert the replacement object"
|
505
|
+
fails "String#[]= with Fixnum index, count counts negative idx values from end of the string"
|
506
|
+
fails "String#[]= with Fixnum index, count deletes characters if other_str is an empty string"
|
507
|
+
fails "String#[]= with Fixnum index, count deletes characters up to the maximum length of the existing string"
|
508
|
+
fails "String#[]= with Fixnum index, count overwrites and deletes characters if count is more than the length of other_str"
|
509
|
+
fails "String#[]= with Fixnum index, count raises a TypeError if #to_int for count does not return an Integer"
|
510
|
+
fails "String#[]= with Fixnum index, count raises a TypeError if #to_int for index does not return an Integer"
|
511
|
+
fails "String#[]= with Fixnum index, count raises a TypeError if other_str is a type other than String"
|
512
|
+
fails "String#[]= with Fixnum index, count raises a TypeError of #to_str does not return a String"
|
513
|
+
fails "String#[]= with Fixnum index, count raises an IndexError if count < 0"
|
514
|
+
fails "String#[]= with Fixnum index, count raises an IndexError if |idx| is greater than the length of the string"
|
515
|
+
fails "String#[]= with Fixnum index, count starts at idx and overwrites count characters before inserting the rest of other_str"
|
516
|
+
fails "String#[]= with Fixnum index, count taints self if other_str is tainted"
|
517
|
+
fails "String#[]= with String index raises an IndexError if the search String is not found"
|
518
|
+
fails "String#[]= with String index replaces characters with no characters"
|
519
|
+
fails "String#[]= with String index replaces fewer characters with more characters"
|
520
|
+
fails "String#[]= with String index replaces more characters with fewer characters"
|
521
|
+
fails "String.allocate returns a binary String"
|
522
|
+
fails "String.allocate returns a fully-formed String"
|
523
|
+
fails "String.new returns a binary String"
|
524
|
+
fails "String.new returns a fully-formed String"
|
525
|
+
fails "String.new returns a new string given a string argument"
|
406
526
|
end
|