opal 0.8.1 → 0.9.0.beta1
Sign up to get free protection for your applications and to get access to all the features.
- 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,17 @@
|
|
1
|
+
opal_filter "Float" do
|
2
|
+
fails "Float#divmod returns an [quotient, modulus] from dividing self by other" # precision errors caused by Math.frexp and Math.ldexp
|
3
|
+
fails "Float#rationalize returns self as a simplified Rational with no argument" # precision errors caused by Math.frexp and Math.ldexp
|
4
|
+
fails "Float#to_i returns self truncated to an Integer"
|
5
|
+
fails "Float#to_int returns self truncated to an Integer"
|
6
|
+
fails "Float#to_s uses e format for a negative value with fractional part having 6 significant figures"
|
7
|
+
fails "Float#to_s uses e format for a negative value with whole part having 18 significant figures"
|
8
|
+
fails "Float#to_s uses e format for a positive value with fractional part having 6 significant figures"
|
9
|
+
fails "Float#to_s uses e format for a positive value with whole part having 18 significant figures"
|
10
|
+
fails "Float#to_s uses non-e format for a negative value with whole part having 15 significant figures"
|
11
|
+
fails "Float#to_s uses non-e format for a negative value with whole part having 16 significant figures"
|
12
|
+
fails "Float#to_s uses non-e format for a negative value with whole part having 17 significant figures"
|
13
|
+
fails "Float#to_s uses non-e format for a positive value with whole part having 15 significant figures"
|
14
|
+
fails "Float#to_s uses non-e format for a positive value with whole part having 16 significant figures"
|
15
|
+
fails "Float#to_s uses non-e format for a positive value with whole part having 17 significant figures"
|
16
|
+
fails "Float#truncate returns self truncated to an Integer"
|
17
|
+
end
|
data/spec/filters/bugs/hash.rb
CHANGED
@@ -1,101 +1,15 @@
|
|
1
1
|
opal_filter "Hash" do
|
2
|
-
fails "Hash
|
3
|
-
|
4
|
-
fails "Hash#default_proc= uses :to_proc on its argument"
|
5
|
-
|
6
|
-
fails "Hash#each properly expands (or not) child class's 'each'-yielded args"
|
7
|
-
fails "Hash#each yields the key only to a block expecting |key,|"
|
8
|
-
|
9
|
-
fails "Hash#each_pair properly expands (or not) child class's 'each'-yielded args"
|
10
|
-
fails "Hash#each_pair yields the key only to a block expecting |key,|"
|
11
|
-
|
12
|
-
fails "Hash#== compares the values in self to values in other hash"
|
13
|
-
fails "Hash#== returns true iff other Hash has the same number of keys and each key-value pair matches"
|
14
|
-
fails "Hash#== compares keys with matching hash codes via eql?"
|
15
|
-
fails "Hash#== compares keys with eql? semantics"
|
16
|
-
fails "Hash#== computes equality for recursive hashes & arrays"
|
2
|
+
fails "Hash#== compares keys with eql? semantics" # spec relies on integer and float being different
|
17
3
|
fails "Hash#== computes equality for complex recursive hashes"
|
18
|
-
fails "Hash#==
|
19
|
-
fails "Hash
|
20
|
-
|
21
|
-
fails "Hash#eql? compares
|
22
|
-
fails "Hash#eql? returns true iff other Hash has the same number of keys and each key-value pair matches"
|
23
|
-
fails "Hash#eql? compares keys with matching hash codes via eql?"
|
24
|
-
fails "Hash#eql? compares keys with eql? semantics"
|
25
|
-
fails "Hash#eql? computes equality for recursive hashes & arrays"
|
4
|
+
fails "Hash#== computes equality for recursive hashes & arrays"
|
5
|
+
fails "Hash#each yields the key only to a block expecting |key,|" # procs in Opal do not have access to this info (yet)
|
6
|
+
fails "Hash#each_pair yields the key only to a block expecting |key,|" # procs in Opal do not have access to this info (yet)
|
7
|
+
fails "Hash#eql? compares keys with eql? semantics" # spec relies on integer and float being different
|
26
8
|
fails "Hash#eql? computes equality for complex recursive hashes"
|
27
|
-
fails "Hash#eql?
|
28
|
-
fails "Hash#
|
29
|
-
fails "Hash#eql?
|
30
|
-
|
31
|
-
fails "Hash#[]
|
32
|
-
fails "Hash
|
33
|
-
fails "Hash#[] compares keys with eql? semantics"
|
34
|
-
fails "Hash#[] compares key via hash"
|
35
|
-
fails "Hash#[] does not compare keys with different #hash values via #eql?"
|
36
|
-
fails "Hash#[] compares keys with the same #hash value via #eql?"
|
37
|
-
fails "Hash#[] finds a value via an identical key even when its #eql? isn't reflexive"
|
38
|
-
|
39
|
-
fails "Hash#[]= stores unequal keys that hash to the same value"
|
40
|
-
fails "Hash#[]= associates the key with the value and return the value"
|
41
|
-
|
42
|
-
fails "Hash#fetch raises an ArgumentError when not passed one or two arguments"
|
43
|
-
|
44
|
-
fails "Hash#flatten recursively flattens Array values to the given depth"
|
45
|
-
fails "Hash#flatten raises a TypeError if given a non-Integer argument"
|
46
|
-
|
47
|
-
fails "Hash#hash returns the same hash for recursive hashes through arrays"
|
48
|
-
fails "Hash#hash returns the same hash for recursive hashes"
|
49
|
-
# fails "Hash#hash generates a hash for recursive hash structures"
|
50
|
-
# fails "Hash#hash returns a value which doesn't depend on the hash order"
|
51
|
-
|
52
|
-
fails "Hash#invert compares new keys with eql? semantics"
|
53
|
-
|
54
|
-
fails "Hash#initialize_copy does not transfer default values"
|
55
|
-
fails "Hash#initialize_copy calls to_hash on hash subclasses"
|
56
|
-
fails "Hash#initialize_copy tries to convert the passed argument to a hash using #to_hash"
|
57
|
-
fails "Hash#initialize_copy replaces the contents of self with other"
|
58
|
-
|
59
|
-
fails "Hash#merge returns subclass instance for subclasses"
|
60
|
-
|
61
|
-
fails "Hash.new raises an ArgumentError if more than one argument is passed"
|
62
|
-
fails "Hash.new raises an ArgumentError if passed both default argument and default block"
|
63
|
-
|
64
|
-
fails "Hash#rassoc uses #== to compare the argument to the values"
|
65
|
-
|
66
|
-
fails "Hash#rehash reorganizes the hash by recomputing all key hash codes"
|
67
|
-
|
68
|
-
fails "Hash#reject returns subclass instance for subclasses"
|
69
|
-
fails "Hash#reject processes entries with the same order as reject!"
|
70
|
-
fails "Hash#reject! removes keys from self for which the block yields true"
|
71
|
-
fails "Hash#reject! is equivalent to delete_if if changes are made"
|
72
|
-
fails "Hash#reject! returns nil if no changes were made"
|
73
|
-
fails "Hash#reject! processes entries with the same order as delete_if"
|
74
|
-
fails "Hash#reject! returns an Enumerator if called on a non-empty hash without a block"
|
75
|
-
fails "Hash#reject! returns an Enumerator if called on an empty hash without a block"
|
76
|
-
|
77
|
-
fails "Hash#replace tries to convert the passed argument to a hash using #to_hash"
|
78
|
-
fails "Hash#replace does not transfer default values"
|
79
|
-
|
80
|
-
fails "Hash#select returns a Hash of entries for which block is true"
|
81
|
-
|
82
|
-
fails "Hash#shift returns (computed) default for empty hashes"
|
83
|
-
|
84
|
-
fails "Hash#store stores unequal keys that hash to the same value"
|
85
|
-
fails "Hash#store associates the key with the value and return the value"
|
86
|
-
|
87
|
-
fails "Hash#sort converts self to a nested array of [key, value] arrays and sort with Array#sort"
|
88
|
-
fails "Hash#sort works when some of the keys are themselves arrays"
|
89
|
-
fails "Hash#sort uses block to sort array if passed a block"
|
90
|
-
|
91
|
-
fails "Hash.try_convert does not rescue exceptions raised by #to_hash"
|
92
|
-
fails "Hash.try_convert sends #to_hash to the argument and raises TypeError if it's not a kind of Hash"
|
93
|
-
fails "Hash.try_convert sends #to_hash to the argument and returns the result if it's a kind of Hash"
|
94
|
-
fails "Hash.try_convert sends #to_hash to the argument and returns the result if it's a Hash"
|
95
|
-
fails "Hash.try_convert sends #to_hash to the argument and returns the result if it's nil"
|
96
|
-
fails "Hash.try_convert returns nil when the argument does not respond to #to_hash"
|
97
|
-
fails "Hash.try_convert returns the argument if it's a kind of Hash"
|
98
|
-
fails "Hash.try_convert returns the argument if it's a Hash"
|
99
|
-
|
100
|
-
fails "Hash#compare_by_identity does not copy string keys"
|
9
|
+
fails "Hash#eql? computes equality for recursive hashes & arrays"
|
10
|
+
fails "Hash#fetch raises an ArgumentError when not passed one or two arguments" # arity issue?
|
11
|
+
fails "Hash#invert compares new keys with eql? semantics" # spec relies on integer and float being different
|
12
|
+
fails "Hash#[] compares keys with eql? semantics" # spec relies on integer and float being different
|
13
|
+
fails "Hash#[] does not create copies of the immediate default value" # spec uses mutable string
|
14
|
+
fails "Hash.new raises an ArgumentError if more than one argument is passed" # arity issue?
|
101
15
|
end
|
@@ -0,0 +1,5 @@
|
|
1
|
+
opal_filter "bridged inheritance" do
|
2
|
+
fails "StringScanner#post_match returns an instance of String when passed a String subclass"
|
3
|
+
fails "StringScanner#pre_match returns an instance of String when passed a String subclass"
|
4
|
+
fails "StringScanner#rest returns an instance of String when passed a String subclass"
|
5
|
+
end
|
@@ -0,0 +1,28 @@
|
|
1
|
+
opal_filter "Integer" do
|
2
|
+
fails "Integer#chr with an encoding argument converts a String to an Encoding as Encoding.find does"
|
3
|
+
fails "Integer#chr with an encoding argument raises a RangeError is self is less than 0"
|
4
|
+
fails "Integer#chr with an encoding argument raises RangeError if self is invalid as a codepoint in the specified encoding"
|
5
|
+
fails "Integer#chr with an encoding argument returns a new String for each call"
|
6
|
+
fails "Integer#chr with an encoding argument returns a String encoding self interpreted as a codepoint in the specified encoding"
|
7
|
+
fails "Integer#chr with an encoding argument returns a String with the specified encoding"
|
8
|
+
fails "Integer#chr without argument raises a RangeError is self is less than 0"
|
9
|
+
fails "Integer#chr without argument returns a new String for each call"
|
10
|
+
fails "Integer#chr without argument when Encoding.default_internal is nil and self is between 0 and 127 (inclusive) returns a String encoding self interpreted as a US-ASCII codepoint"
|
11
|
+
fails "Integer#chr without argument when Encoding.default_internal is nil and self is between 0 and 127 (inclusive) returns a US-ASCII String"
|
12
|
+
fails "Integer#chr without argument when Encoding.default_internal is nil and self is between 128 and 255 (inclusive) returns a String containing self interpreted as a byte"
|
13
|
+
fails "Integer#chr without argument when Encoding.default_internal is nil and self is between 128 and 255 (inclusive) returns an ASCII-8BIT String"
|
14
|
+
fails "Integer#chr without argument when Encoding.default_internal is nil raises a RangeError is self is greater than 255"
|
15
|
+
fails "Integer#chr without argument when Encoding.default_internal is not nil and self is between 0 and 127 (inclusive) returns a String encoding self interpreted as a US-ASCII codepoint"
|
16
|
+
fails "Integer#chr without argument when Encoding.default_internal is not nil and self is between 0 and 127 (inclusive) returns a US-ASCII String"
|
17
|
+
fails "Integer#chr without argument when Encoding.default_internal is not nil and self is between 128 and 255 (inclusive) returns a String containing self interpreted as a byte"
|
18
|
+
fails "Integer#chr without argument when Encoding.default_internal is not nil and self is between 128 and 255 (inclusive) returns an ASCII-8BIT String"
|
19
|
+
fails "Integer#chr without argument when Encoding.default_internal is not nil and self is greater than 255 raises RangeError if self is invalid as a codepoint in the default internal encoding"
|
20
|
+
fails "Integer#chr without argument when Encoding.default_internal is not nil and self is greater than 255 returns a String encoding self interpreted as a codepoint in the default internal encoding"
|
21
|
+
fails "Integer#chr without argument when Encoding.default_internal is not nil and self is greater than 255 returns a String with the default internal encoding"
|
22
|
+
fails "Integer#gcdlcm raises a TypeError unless the argument is an Integer"
|
23
|
+
fails "Integer#gcdlcm returns a two-element Array"
|
24
|
+
fails "Integer#gcdlcm returns an Array"
|
25
|
+
fails "Integer#gcdlcm returns the greatest common divisor of self and argument as the first element"
|
26
|
+
fails "Integer#gcdlcm returns the least common multiple of self and argument as the last element"
|
27
|
+
fails "Integer#gcdlcm returns [self, self] if self is equal to the argument"
|
28
|
+
end
|
data/spec/filters/bugs/kernel.rb
CHANGED
@@ -1,18 +1,310 @@
|
|
1
1
|
opal_filter "Kernel" do
|
2
|
-
fails "Kernel
|
2
|
+
fails "Kernel#=~ returns nil matching any object"
|
3
3
|
fails "Kernel#Array does not call #to_a on an Array" #something funky with the spec itself
|
4
|
-
|
5
|
-
fails "Kernel
|
6
|
-
fails "Kernel
|
7
|
-
fails "Kernel
|
8
|
-
fails "Kernel
|
4
|
+
fails "Kernel#block_given? is a private method"
|
5
|
+
fails "Kernel#class returns the class of the object"
|
6
|
+
fails "Kernel#clone copies modules included in the singleton class"
|
7
|
+
fails "Kernel#define_singleton_method when given an UnboundMethod will raise when attempting to define an object's singleton method from another object's singleton method"
|
8
|
+
fails "Kernel#dup does not copy constants defined in the singleton class"
|
9
|
+
fails "Kernel#eval allows a binding to be captured inside an eval"
|
10
|
+
fails "Kernel#eval allows creating a new class in a binding created by #eval"
|
11
|
+
fails "Kernel#eval allows creating a new class in a binding"
|
12
|
+
fails "Kernel#eval coerces an object to string"
|
13
|
+
fails "Kernel#eval does not alter the value of __FILE__ in the binding"
|
14
|
+
fails "Kernel#eval does not make Proc locals visible to evaluated code"
|
15
|
+
fails "Kernel#eval does not share locals across eval scopes"
|
16
|
+
fails "Kernel#eval doesn't accept a Proc object as a binding"
|
17
|
+
fails "Kernel#eval evaluates such that consts are scoped to the class of the eval"
|
18
|
+
fails "Kernel#eval evaluates within the scope of the eval"
|
19
|
+
fails "Kernel#eval finds a local in an enclosing scope"
|
20
|
+
fails "Kernel#eval finds locals in a nested eval"
|
21
|
+
fails "Kernel#eval includes file and line information in syntax error"
|
22
|
+
fails "Kernel#eval is a private method"
|
23
|
+
fails "Kernel#eval raises a LocalJumpError if there is no lambda-style closure in the chain"
|
24
|
+
fails "Kernel#eval unwinds through a Proc-style closure and returns from a lambda-style closure in the closure chain"
|
25
|
+
fails "Kernel#eval updates a local in a scope above a surrounding block scope"
|
26
|
+
fails "Kernel#eval updates a local in a scope above when modified in a nested block scope"
|
27
|
+
fails "Kernel#eval updates a local in a surrounding block scope"
|
28
|
+
fails "Kernel#eval updates a local in an enclosing scope"
|
29
|
+
fails "Kernel#eval uses the filename of the binding if none is provided"
|
30
|
+
fails "Kernel#eval uses the receiver as self inside the eval"
|
31
|
+
fails "Kernel#eval uses the same scope for local variables when given the same binding"
|
32
|
+
fails "Kernel#Float raises a RangeError when passed a Complex argument"
|
33
|
+
fails "Kernel#Float returns a Float for Complex with only a real part"
|
34
|
+
fails "Kernel#freeze causes instance_variable_set to raise RuntimeError"
|
35
|
+
fails "Kernel#freeze causes mutative calls to raise RuntimeError"
|
36
|
+
fails "Kernel#freeze on a Float has no effect since it is already frozen"
|
37
|
+
fails "Kernel#freeze on integers has no effect since they are already frozen"
|
38
|
+
fails "Kernel#freeze on true, false and nil actually freezes them"
|
39
|
+
fails "Kernel#frozen? on a Float returns true"
|
40
|
+
fails "Kernel#frozen? on integers returns true"
|
41
|
+
fails "Kernel#inspect does not call #to_s if it is defined"
|
42
|
+
fails "Kernel#inspect returns a tainted string if self is tainted"
|
43
|
+
fails "Kernel#inspect returns an untrusted string if self is untrusted"
|
44
|
+
fails "Kernel#instance_variables immediate values returns the correct array if an instance variable is added"
|
45
|
+
fails "Kernel#instance_variables regular objects returns an empty array if no instance variables are defined"
|
46
|
+
fails "Kernel#instance_variables regular objects returns the correct array if an instance variable is added"
|
47
|
+
fails "Kernel#instance_variable_set on frozen objects keeps stored object after any exceptions"
|
48
|
+
fails "Kernel#instance_variable_set on frozen objects raises a RuntimeError when passed replacement is different from stored object"
|
49
|
+
fails "Kernel#instance_variable_set on frozen objects raises a RuntimeError when passed replacement is identical to stored object"
|
50
|
+
fails "Kernel#is_a? raises a TypeError if given an object that is not a Class nor a Module"
|
51
|
+
fails "Kernel#is_a? returns true if given a Module that object has been extended with"
|
52
|
+
fails "Kernel#iterator? is a private method"
|
53
|
+
fails "Kernel#kind_of? raises a TypeError if given an object that is not a Class nor a Module"
|
54
|
+
fails "Kernel#kind_of? returns true if given a Module that object has been extended with"
|
55
|
+
fails "Kernel#local_variables contains locals as they are added"
|
56
|
+
fails "Kernel#local_variables is a private method"
|
57
|
+
fails "Kernel#local_variables is accessible from bindings"
|
58
|
+
fails "Kernel#local_variables is accessible in eval"
|
59
|
+
fails "Kernel#method can be called even if we only repond_to_missing? method, true"
|
60
|
+
fails "Kernel#method raises a NameError for an invalid singleton method name"
|
61
|
+
fails "Kernel#method returns a method object if we repond_to_missing? method"
|
62
|
+
fails "Kernel#method will see an alias of the original method as == when in a derived class"
|
63
|
+
fails "Kernel#methods returns private singleton methods defined by obj.meth"
|
64
|
+
fails "Kernel#methods returns singleton methods defined by obj.meth"
|
65
|
+
fails "Kernel#methods returns singleton methods defined in 'class << self' when it follows 'private'"
|
66
|
+
fails "Kernel#methods returns singleton methods defined in 'class << self'"
|
67
|
+
fails "Kernel#methods returns the publicly accessible methods in the object, its ancestors and mixed-in modules"
|
68
|
+
fails "Kernel#methods returns the publicly accessible methods of the object"
|
69
|
+
fails "Kernel#object_id returns a different value for two Bignum literals"
|
70
|
+
fails "Kernel#object_id returns a different value for two Float literals"
|
71
|
+
fails "Kernel#object_id returns a different value for two String literals"
|
72
|
+
fails "Kernel#p flushes output if receiver is a File"
|
73
|
+
fails "Kernel#p is a private method"
|
74
|
+
fails "Kernel#p is not affected by setting $\\, $/ or $,"
|
75
|
+
fails "Kernel#print is a private method"
|
76
|
+
fails "Kernel#printf is a private method"
|
77
|
+
fails "Kernel#private_methods returns a list of the names of privately accessible methods in the object and its ancestors and mixed-in modules"
|
78
|
+
fails "Kernel#private_methods returns a list of the names of privately accessible methods in the object"
|
79
|
+
fails "Kernel#private_methods returns private methods mixed in to the metaclass"
|
80
|
+
fails "Kernel#private_methods when not passed an argument returns a unique list for a class including a module"
|
81
|
+
fails "Kernel#private_methods when not passed an argument returns a unique list for a subclass of a class that includes a module"
|
82
|
+
fails "Kernel#private_methods when not passed an argument returns a unique list for an object extended by a module"
|
83
|
+
fails "Kernel#private_methods when passed false returns a list of private methods in without its ancestors"
|
84
|
+
fails "Kernel#private_methods when passed nil returns a list of private methods in without its ancestors"
|
85
|
+
fails "Kernel#private_methods when passed true returns a unique list for a class including a module"
|
86
|
+
fails "Kernel#private_methods when passed true returns a unique list for a subclass of a class that includes a module"
|
87
|
+
fails "Kernel#private_methods when passed true returns a unique list for an object extended by a module"
|
88
|
+
fails "Kernel#proc uses the implicit block from an enclosing method"
|
89
|
+
fails "Kernel#protected_methods returns a list of the names of protected methods accessible in the object and from its ancestors and mixed-in modules"
|
90
|
+
fails "Kernel#protected_methods returns a list of the names of protected methods accessible in the object"
|
91
|
+
fails "Kernel#protected_methods returns methods mixed in to the metaclass"
|
92
|
+
fails "Kernel#protected_methods when not passed an argument returns a unique list for a class including a module"
|
93
|
+
fails "Kernel#protected_methods when not passed an argument returns a unique list for a subclass of a class that includes a module"
|
94
|
+
fails "Kernel#protected_methods when not passed an argument returns a unique list for an object extended by a module"
|
95
|
+
fails "Kernel#protected_methods when passed false returns a list of protected methods in without its ancestors"
|
96
|
+
fails "Kernel#protected_methods when passed nil returns a list of protected methods in without its ancestors"
|
97
|
+
fails "Kernel#protected_methods when passed true returns a unique list for a class including a module"
|
98
|
+
fails "Kernel#protected_methods when passed true returns a unique list for a subclass of a class that includes a module"
|
99
|
+
fails "Kernel#protected_methods when passed true returns a unique list for an object extended by a module"
|
100
|
+
fails "Kernel#public_method changes the method called for super on a target aliased method"
|
101
|
+
fails "Kernel#public_method raises a NameError if we only repond_to_missing? method, true"
|
102
|
+
fails "Kernel#public_method returns a method object for a valid method"
|
103
|
+
fails "Kernel#public_method returns a method object for a valid singleton method"
|
104
|
+
fails "Kernel#public_method returns a method object if we repond_to_missing? method"
|
105
|
+
fails "Kernel#public_methods returns a list of the names of publicly accessible methods in the object and its ancestors and mixed-in modules"
|
106
|
+
fails "Kernel#public_methods returns a list of the names of publicly accessible methods in the object"
|
107
|
+
fails "Kernel#public_methods when passed false returns a list of public methods in without its ancestors"
|
108
|
+
fails "Kernel#public_methods when passed nil returns a list of public methods in without its ancestors"
|
109
|
+
fails "Kernel#public_send raises a NameError if the corresponding singleton method can't be found"
|
110
|
+
fails "Kernel#public_send raises a NoMethodError if the method is protected"
|
111
|
+
fails "Kernel#public_send raises a NoMethodError if the named method is an alias of a private method"
|
112
|
+
fails "Kernel#public_send raises a NoMethodError if the named method is an alias of a protected method"
|
113
|
+
fails "Kernel#public_send raises a NoMethodError if the named method is private"
|
114
|
+
fails "Kernel#puts delegates to $stdout.puts"
|
115
|
+
fails "Kernel#puts is a private method"
|
116
|
+
fails "Kernel#remove_instance_variable is a public method"
|
117
|
+
fails "Kernel#remove_instance_variable raises a TypeError if passed an Object not defining #to_str"
|
118
|
+
fails "Kernel#remove_instance_variable when passed a String removes the instance variable"
|
119
|
+
fails "Kernel#remove_instance_variable when passed a String returns the instance variable's value"
|
120
|
+
fails "Kernel#remove_instance_variable when passed a Symbol removes the instance variable"
|
121
|
+
fails "Kernel#remove_instance_variable when passed a Symbol returns the instance variable's value"
|
122
|
+
fails "Kernel#remove_instance_variable when passed an Object calls #to_str to convert the argument"
|
123
|
+
fails "Kernel#respond_to? does not change method visibility when finding private method"
|
124
|
+
fails "Kernel#respond_to? is a public method"
|
125
|
+
fails "Kernel#respond_to? is only an instance method"
|
126
|
+
fails "Kernel#respond_to? returns false even if obj responds to the given private method (include_private = false)"
|
127
|
+
fails "Kernel#respond_to? returns false if obj responds to the given private method"
|
128
|
+
fails "Kernel#respond_to? returns false if obj responds to the given protected method (include_private = false)"
|
129
|
+
fails "Kernel#respond_to? returns false if obj responds to the given protected method"
|
130
|
+
fails "Kernel#respond_to? throws a type error if argument can't be coerced into a Symbol"
|
131
|
+
fails "Kernel#respond_to_missing? causes #respond_to? to return false if called and returning false"
|
132
|
+
fails "Kernel#respond_to_missing? causes #respond_to? to return false if called and returning nil"
|
133
|
+
fails "Kernel#respond_to_missing? causes #respond_to? to return true if called and not returning false"
|
134
|
+
fails "Kernel#respond_to_missing? is a private method"
|
135
|
+
fails "Kernel#respond_to_missing? is called a 2nd argument of false when #respond_to? is called with only 1 argument"
|
136
|
+
fails "Kernel#respond_to_missing? is called for missing class methods"
|
137
|
+
fails "Kernel#respond_to_missing? is called when #respond_to? would return false"
|
138
|
+
fails "Kernel#respond_to_missing? is called when obj responds to the given private method, include_private = false"
|
139
|
+
fails "Kernel#respond_to_missing? is called when obj responds to the given protected method, include_private = false"
|
140
|
+
fails "Kernel#respond_to_missing? is called with a 2nd argument of false when #respond_to? is"
|
141
|
+
fails "Kernel#respond_to_missing? is called with true as the second argument when #respond_to? is"
|
142
|
+
fails "Kernel#respond_to_missing? is not called when #respond_to? would return true"
|
143
|
+
fails "Kernel#respond_to_missing? is only an instance method"
|
144
|
+
fails "Kernel#respond_to_missing? isn't called when obj responds to the given private method, include_private = true"
|
145
|
+
fails "Kernel#respond_to_missing? isn't called when obj responds to the given protected method, include_private = true"
|
146
|
+
fails "Kernel#respond_to_missing? isn't called when obj responds to the given public method"
|
147
|
+
fails "Kernel#respond_to_missing? isn't called when obj responds to the given public method, include_private = true"
|
148
|
+
fails "Kernel#send raises a NameError if the corresponding singleton method can't be found"
|
149
|
+
fails "Kernel#singleton_class raises TypeError for Fixnum"
|
150
|
+
fails "Kernel#singleton_class raises TypeError for Symbol"
|
151
|
+
fails "Kernel#singleton_methods when not passed an argument does not return any included methods for a class including a module"
|
152
|
+
fails "Kernel#singleton_methods when not passed an argument does not return any included methods for a module including a module"
|
153
|
+
fails "Kernel#singleton_methods when not passed an argument does not return private class methods for a class"
|
154
|
+
fails "Kernel#singleton_methods when not passed an argument does not return private inherited singleton methods for a class including a module"
|
155
|
+
fails "Kernel#singleton_methods when not passed an argument does not return private inherited singleton methods for a module including a module"
|
156
|
+
fails "Kernel#singleton_methods when not passed an argument does not return private inherited singleton methods for a subclass including a module"
|
157
|
+
fails "Kernel#singleton_methods when not passed an argument does not return private inherited singleton methods for a subclass of a class including a module"
|
158
|
+
fails "Kernel#singleton_methods when not passed an argument does not return private inherited singleton methods for a subclass of a class that includes a module, where the subclass also includes a module"
|
159
|
+
fails "Kernel#singleton_methods when not passed an argument does not return private inherited singleton methods for a subclass"
|
160
|
+
fails "Kernel#singleton_methods when not passed an argument does not return private module methods for a module"
|
161
|
+
fails "Kernel#singleton_methods when not passed an argument does not return private singleton methods for a class extended with a module"
|
162
|
+
fails "Kernel#singleton_methods when not passed an argument does not return private singleton methods for an object extended with a module"
|
163
|
+
fails "Kernel#singleton_methods when not passed an argument does not return private singleton methods for an object extended with two modules"
|
164
|
+
fails "Kernel#singleton_methods when not passed an argument does not return private singleton methods for an object extented with a module including a module"
|
165
|
+
fails "Kernel#singleton_methods when not passed an argument returns a unique list for a subclass including a module"
|
166
|
+
fails "Kernel#singleton_methods when not passed an argument returns a unique list for a subclass"
|
167
|
+
fails "Kernel#singleton_methods when not passed an argument returns a unique list for an object extended with a module"
|
168
|
+
fails "Kernel#singleton_methods when not passed an argument returns an empty Array for an object with no singleton methods"
|
169
|
+
fails "Kernel#singleton_methods when not passed an argument returns the names of class methods for a class"
|
170
|
+
fails "Kernel#singleton_methods when not passed an argument returns the names of inherited singleton methods for a class extended with a module"
|
171
|
+
fails "Kernel#singleton_methods when not passed an argument returns the names of inherited singleton methods for a subclass including a module"
|
172
|
+
fails "Kernel#singleton_methods when not passed an argument returns the names of inherited singleton methods for a subclass of a class including a module"
|
173
|
+
fails "Kernel#singleton_methods when not passed an argument returns the names of inherited singleton methods for a subclass of a class that includes a module, where the subclass also includes a module"
|
174
|
+
fails "Kernel#singleton_methods when not passed an argument returns the names of inherited singleton methods for a subclass"
|
175
|
+
fails "Kernel#singleton_methods when not passed an argument returns the names of module methods for a module"
|
176
|
+
fails "Kernel#singleton_methods when not passed an argument returns the names of singleton methods for an object extented with a module including a module"
|
177
|
+
fails "Kernel#singleton_methods when not passed an argument returns the names of singleton methods for an object extented with a module"
|
178
|
+
fails "Kernel#singleton_methods when not passed an argument returns the names of singleton methods for an object extented with two modules"
|
179
|
+
fails "Kernel#singleton_methods when not passed an argument returns the names of singleton methods for an object"
|
180
|
+
fails "Kernel#singleton_methods when passed false does not return any included methods for a class including a module"
|
181
|
+
fails "Kernel#singleton_methods when passed false does not return any included methods for a module including a module"
|
182
|
+
fails "Kernel#singleton_methods when passed false does not return names of inherited singleton methods for a subclass"
|
183
|
+
fails "Kernel#singleton_methods when passed false does not return private class methods for a class"
|
184
|
+
fails "Kernel#singleton_methods when passed false does not return private inherited singleton methods for a class including a module"
|
185
|
+
fails "Kernel#singleton_methods when passed false does not return private inherited singleton methods for a module including a module"
|
186
|
+
fails "Kernel#singleton_methods when passed false does not return private inherited singleton methods for a subclass including a module"
|
187
|
+
fails "Kernel#singleton_methods when passed false does not return private inherited singleton methods for a subclass of a class including a module"
|
188
|
+
fails "Kernel#singleton_methods when passed false does not return private inherited singleton methods for a subclass of a class that includes a module, where the subclass also includes a module"
|
189
|
+
fails "Kernel#singleton_methods when passed false does not return private inherited singleton methods for a subclass"
|
190
|
+
fails "Kernel#singleton_methods when passed false does not return private module methods for a module"
|
191
|
+
fails "Kernel#singleton_methods when passed false does not return private singleton methods for a class extended with a module"
|
192
|
+
fails "Kernel#singleton_methods when passed false does not return private singleton methods for an object extended with a module"
|
193
|
+
fails "Kernel#singleton_methods when passed false does not return private singleton methods for an object extended with two modules"
|
194
|
+
fails "Kernel#singleton_methods when passed false does not return private singleton methods for an object extented with a module including a module"
|
195
|
+
fails "Kernel#singleton_methods when passed false does not return the names of inherited singleton methods for a class extended with a module"
|
196
|
+
fails "Kernel#singleton_methods when passed false returns an empty Array for an object extended with a module including a module"
|
197
|
+
fails "Kernel#singleton_methods when passed false returns an empty Array for an object extented with a module"
|
198
|
+
fails "Kernel#singleton_methods when passed false returns an empty Array for an object extented with two modules"
|
199
|
+
fails "Kernel#singleton_methods when passed false returns an empty Array for an object with no singleton methods"
|
200
|
+
fails "Kernel#singleton_methods when passed false returns the names of class methods for a class"
|
201
|
+
fails "Kernel#singleton_methods when passed false returns the names of module methods for a module"
|
202
|
+
fails "Kernel#singleton_methods when passed false returns the names of singleton methods for an object"
|
203
|
+
fails "Kernel#singleton_methods when passed false returns the names of singleton methods of the subclass"
|
204
|
+
fails "Kernel#singleton_methods when passed true does not return any included methods for a class including a module"
|
205
|
+
fails "Kernel#singleton_methods when passed true does not return any included methods for a module including a module"
|
206
|
+
fails "Kernel#singleton_methods when passed true does not return private class methods for a class"
|
207
|
+
fails "Kernel#singleton_methods when passed true does not return private inherited singleton methods for a class including a module"
|
208
|
+
fails "Kernel#singleton_methods when passed true does not return private inherited singleton methods for a module including a module"
|
209
|
+
fails "Kernel#singleton_methods when passed true does not return private inherited singleton methods for a subclass including a module"
|
210
|
+
fails "Kernel#singleton_methods when passed true does not return private inherited singleton methods for a subclass of a class including a module"
|
211
|
+
fails "Kernel#singleton_methods when passed true does not return private inherited singleton methods for a subclass of a class that includes a module, where the subclass also includes a module"
|
212
|
+
fails "Kernel#singleton_methods when passed true does not return private inherited singleton methods for a subclass"
|
213
|
+
fails "Kernel#singleton_methods when passed true does not return private module methods for a module"
|
214
|
+
fails "Kernel#singleton_methods when passed true does not return private singleton methods for a class extended with a module"
|
215
|
+
fails "Kernel#singleton_methods when passed true does not return private singleton methods for an object extended with a module"
|
216
|
+
fails "Kernel#singleton_methods when passed true does not return private singleton methods for an object extended with two modules"
|
217
|
+
fails "Kernel#singleton_methods when passed true does not return private singleton methods for an object extented with a module including a module"
|
218
|
+
fails "Kernel#singleton_methods when passed true returns a unique list for a subclass including a module"
|
219
|
+
fails "Kernel#singleton_methods when passed true returns a unique list for a subclass"
|
220
|
+
fails "Kernel#singleton_methods when passed true returns a unique list for an object extended with a module"
|
221
|
+
fails "Kernel#singleton_methods when passed true returns an empty Array for an object with no singleton methods"
|
222
|
+
fails "Kernel#singleton_methods when passed true returns the names of class methods for a class"
|
223
|
+
fails "Kernel#singleton_methods when passed true returns the names of inherited singleton methods for a class extended with a module"
|
224
|
+
fails "Kernel#singleton_methods when passed true returns the names of inherited singleton methods for a subclass including a module"
|
225
|
+
fails "Kernel#singleton_methods when passed true returns the names of inherited singleton methods for a subclass of a class including a module"
|
226
|
+
fails "Kernel#singleton_methods when passed true returns the names of inherited singleton methods for a subclass of a class that includes a module, where the subclass also includes a module"
|
227
|
+
fails "Kernel#singleton_methods when passed true returns the names of inherited singleton methods for a subclass"
|
228
|
+
fails "Kernel#singleton_methods when passed true returns the names of module methods for a module"
|
229
|
+
fails "Kernel#singleton_methods when passed true returns the names of singleton methods for an object extented with a module including a module"
|
230
|
+
fails "Kernel#singleton_methods when passed true returns the names of singleton methods for an object extented with a module"
|
231
|
+
fails "Kernel#singleton_methods when passed true returns the names of singleton methods for an object extented with two modules"
|
232
|
+
fails "Kernel#singleton_methods when passed true returns the names of singleton methods for an object"
|
233
|
+
fails "Kernel#String calls #to_s if #respond_to?(:to_s) returns true"
|
9
234
|
fails "Kernel#String raises a TypeError if #to_s does not exist"
|
10
|
-
fails "Kernel#String raises a TypeError if respond_to? returns false for #to_s"
|
11
235
|
fails "Kernel#String raises a TypeError if #to_s is not defined, even though #respond_to?(:to_s) returns true"
|
12
|
-
fails "Kernel#String
|
13
|
-
|
14
|
-
fails "Kernel
|
236
|
+
fails "Kernel#String raises a TypeError if respond_to? returns false for #to_s"
|
237
|
+
fails "Kernel#warn requires multiple arguments"
|
238
|
+
fails "Kernel#__dir__ returns the real name of the directory containing the currently-executing file"
|
239
|
+
fails "Kernel#__dir__ when used in eval with top level binding returns the real name of the directory containing the currently-executing file"
|
240
|
+
fails "Kernel.Array does not call #to_a on an Array" #something funky with the spec itself
|
241
|
+
fails "Kernel.Complex() when passed a non-Numeric second argument raises TypeError"
|
242
|
+
fails "Kernel.Complex() when passed a Numeric which responds to #real? with false returns the passed argument"
|
243
|
+
fails "Kernel.Complex() when passed a Numeric which responds to #real? with true returns a Complex with the passed argument as the real component and 0 as the imaginary component"
|
244
|
+
fails "Kernel.Complex() when passed a single non-Numeric coerces the passed argument using #to_c"
|
245
|
+
fails "Kernel.Complex() when passed Numerics n1 and n2 and at least one responds to #real? with false returns n1 + n2 * Complex(0, 1)"
|
246
|
+
fails "Kernel.Complex() when passed two Numerics and both respond to #real? with true returns a Complex with the passed arguments as real and imaginary components respectively"
|
247
|
+
fails "Kernel.Complex() when passed [Complex, Complex] returns a new Complex number based on the two given numbers"
|
248
|
+
fails "Kernel.Complex() when passed [Complex] returns the passed Complex number"
|
249
|
+
fails "Kernel.Complex() when passed [Integer, Integer] returns a new Complex number"
|
250
|
+
fails "Kernel.Complex() when passed [Integer] returns a new Complex number with 0 as the imaginary component"
|
15
251
|
fails "Kernel.Float raises a RangeError when passed a Complex argument"
|
16
|
-
fails "Kernel
|
17
|
-
fails "Kernel
|
252
|
+
fails "Kernel.Float returns a Float for Complex with only a real part"
|
253
|
+
fails "Kernel.global_variables finds subset starting with std"
|
254
|
+
fails "Kernel.global_variables is a private method"
|
255
|
+
fails "Kernel.lambda accepts 0 arguments when used with ||"
|
256
|
+
fails "Kernel.lambda checks the arity of the call when no args are specified"
|
257
|
+
fails "Kernel.lambda checks the arity when 1 arg is specified"
|
258
|
+
fails "Kernel.lambda does not check the arity when passing a Proc with &"
|
259
|
+
fails "Kernel.lambda is a private method"
|
260
|
+
fails "Kernel.lambda raises an ArgumentError when no block is given"
|
261
|
+
fails "Kernel.lambda returns from the lambda itself, not the creation site of the lambda"
|
262
|
+
fails "Kernel.lambda strictly checks the arity when 0 or 2..inf args are specified"
|
263
|
+
fails "Kernel.loop is a private method"
|
264
|
+
fails "Kernel.loop rescues StopIteration"
|
265
|
+
fails "Kernel.loop rescues StopIteration's subclasses"
|
266
|
+
fails "Kernel.loop returns an enumerator if no block given"
|
267
|
+
fails "Kernel.loop when no block is given returned Enumerator size returns Float::INFINITY"
|
268
|
+
fails "Kernel.printf calls write on the first argument when it is not a string"
|
269
|
+
fails "Kernel.printf writes to stdout when a string is the first argument"
|
270
|
+
fails "Kernel.proc is a private method"
|
271
|
+
fails "Kernel.rand is a private method"
|
272
|
+
fails "Kernel.Rational passed Integer returns a new Rational number with 1 as the denominator"
|
273
|
+
fails "Kernel.Rational passed two integers reduces the Rational"
|
274
|
+
fails "Kernel.Rational passed two integers returns a new Rational number"
|
275
|
+
fails "Kernel.Rational when passed a String converts the String to a Rational using the same method as String#to_r"
|
276
|
+
fails "Kernel.Rational when passed a String does not use the same method as Float#to_r"
|
277
|
+
fails "Kernel.Rational when passed a String raises a TypeError if the first argument is a Symbol"
|
278
|
+
fails "Kernel.Rational when passed a String raises a TypeError if the first argument is nil"
|
279
|
+
fails "Kernel.Rational when passed a String raises a TypeError if the second argument is a Symbol"
|
280
|
+
fails "Kernel.Rational when passed a String raises a TypeError if the second argument is nil"
|
281
|
+
fails "Kernel.Rational when passed a String scales the Rational value of the first argument by the Rational value of the second"
|
282
|
+
fails "Kernel.Rational when passed a String when passed a Complex raises a RangeError if the imaginary part is not 0"
|
283
|
+
fails "Kernel.Rational when passed a String when passed a Complex returns a Rational from the real part if the imaginary part is 0"
|
284
|
+
fails "Kernel.Rational when passed a String when passed a Numeric calls #to_r to convert the first argument to a Rational"
|
285
|
+
fails "Kernel.srand accepts a Bignum as a seed"
|
286
|
+
fails "Kernel.srand accepts a negative seed"
|
287
|
+
fails "Kernel.srand accepts and uses a seed of 0"
|
288
|
+
fails "Kernel.srand calls #to_int on seed"
|
289
|
+
fails "Kernel.srand is a private method"
|
290
|
+
fails "Kernel.srand returns the previous seed value"
|
291
|
+
fails "Kernel.srand seeds the RNG correctly and repeatably"
|
292
|
+
fails "Kernel.String calls #to_s if #respond_to?(:to_s) returns true"
|
293
|
+
fails "Kernel.String raises a TypeError if #to_s does not exist"
|
294
|
+
fails "Kernel.String raises a TypeError if #to_s is not defined, even though #respond_to?(:to_s) returns true"
|
295
|
+
fails "Kernel.String raises a TypeError if respond_to? returns false for #to_s"
|
296
|
+
fails "Kernel.__callee__ returns method name even from eval"
|
297
|
+
fails "Kernel.__callee__ returns method name even from send"
|
298
|
+
fails "Kernel.__callee__ returns the aliased name when aliased method"
|
299
|
+
fails "Kernel.__callee__ returns the caller from a define_method called from the same class"
|
300
|
+
fails "Kernel.__callee__ returns the caller from block inside define_method too"
|
301
|
+
fails "Kernel.__callee__ returns the caller from blocks too"
|
302
|
+
fails "Kernel.__callee__ returns the caller from define_method too"
|
303
|
+
fails "Kernel.__method__ returns method name even from eval"
|
304
|
+
fails "Kernel.__method__ returns method name even from send"
|
305
|
+
fails "Kernel.__method__ returns the caller from block inside define_method too"
|
306
|
+
fails "Kernel.__method__ returns the caller from blocks too"
|
307
|
+
fails "Kernel.__method__ returns the caller from define_method too"
|
308
|
+
fails "self.send(:block_given?) returns false when a method defined by define_method is called with a block"
|
309
|
+
fails "self.send(:block_given?) returns true if and only if a block is supplied"
|
18
310
|
end
|