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,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
|