opal 1.6.1 → 1.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.github/workflows/build.yml +17 -0
- data/CHANGELOG.md +35 -1
- data/Gemfile +1 -0
- data/HACKING.md +47 -26
- data/benchmark/benchmarks +415 -103
- data/benchmark/bm_call_overhead.yml +28 -0
- data/benchmark/run.rb +61 -40
- data/docs/cdp_common.json +3364 -0
- data/docs/cdp_common.md +18 -0
- data/docs/{headless_chrome.md → headless_browsers.md} +31 -12
- data/lib/opal/ast/builder.rb +1 -1
- data/lib/opal/builder.rb +6 -1
- data/lib/opal/builder_processors.rb +5 -3
- data/lib/opal/cache.rb +1 -7
- data/lib/opal/cli_options.rb +72 -58
- data/lib/opal/cli_runners/chrome.rb +47 -9
- data/lib/opal/cli_runners/chrome_cdp_interface.rb +238 -112
- data/lib/opal/cli_runners/compiler.rb +146 -13
- data/lib/opal/cli_runners/deno.rb +32 -0
- data/lib/opal/cli_runners/firefox.rb +350 -0
- data/lib/opal/cli_runners/firefox_cdp_interface.rb +212 -0
- data/lib/opal/cli_runners/node_modules/.bin/chrome-remote-interface.cmd +17 -0
- data/lib/opal/cli_runners/node_modules/.bin/chrome-remote-interface.ps1 +28 -0
- data/lib/opal/cli_runners/node_modules/.package-lock.json +41 -0
- data/lib/opal/cli_runners/node_modules/chrome-remote-interface/LICENSE +1 -1
- data/lib/opal/cli_runners/node_modules/chrome-remote-interface/README.md +322 -182
- data/lib/opal/cli_runners/node_modules/chrome-remote-interface/bin/client.js +99 -114
- data/lib/opal/cli_runners/node_modules/chrome-remote-interface/chrome-remote-interface.js +1 -11
- data/lib/opal/cli_runners/node_modules/chrome-remote-interface/index.js +16 -11
- data/lib/opal/cli_runners/node_modules/chrome-remote-interface/lib/api.js +41 -33
- data/lib/opal/cli_runners/node_modules/chrome-remote-interface/lib/chrome.js +224 -214
- data/lib/opal/cli_runners/node_modules/chrome-remote-interface/lib/devtools.js +71 -191
- data/lib/opal/cli_runners/node_modules/chrome-remote-interface/lib/external-request.js +26 -6
- data/lib/opal/cli_runners/node_modules/chrome-remote-interface/lib/protocol.json +20788 -9049
- data/lib/opal/cli_runners/node_modules/chrome-remote-interface/lib/websocket-wrapper.js +10 -3
- data/lib/opal/cli_runners/node_modules/chrome-remote-interface/package.json +59 -123
- data/lib/opal/cli_runners/node_modules/chrome-remote-interface/webpack.config.js +25 -32
- data/lib/opal/cli_runners/node_modules/commander/History.md +298 -0
- data/lib/opal/cli_runners/node_modules/commander/LICENSE +22 -0
- data/lib/opal/cli_runners/node_modules/commander/Readme.md +217 -61
- data/lib/opal/cli_runners/node_modules/commander/index.js +431 -145
- data/lib/opal/cli_runners/node_modules/commander/package.json +16 -79
- data/lib/opal/cli_runners/node_modules/ws/README.md +334 -98
- data/lib/opal/cli_runners/node_modules/ws/browser.js +8 -0
- data/lib/opal/cli_runners/node_modules/ws/index.js +5 -10
- data/lib/opal/cli_runners/node_modules/ws/lib/buffer-util.js +129 -0
- data/lib/opal/cli_runners/node_modules/ws/lib/constants.js +10 -0
- data/lib/opal/cli_runners/node_modules/ws/lib/event-target.js +184 -0
- data/lib/opal/cli_runners/node_modules/ws/lib/extension.js +223 -0
- data/lib/opal/cli_runners/node_modules/ws/lib/limiter.js +55 -0
- data/lib/opal/cli_runners/node_modules/ws/lib/permessage-deflate.js +518 -0
- data/lib/opal/cli_runners/node_modules/ws/lib/receiver.js +607 -0
- data/lib/opal/cli_runners/node_modules/ws/lib/sender.js +409 -0
- data/lib/opal/cli_runners/node_modules/ws/lib/stream.js +180 -0
- data/lib/opal/cli_runners/node_modules/ws/lib/validation.js +104 -0
- data/lib/opal/cli_runners/node_modules/ws/lib/websocket-server.js +447 -0
- data/lib/opal/cli_runners/node_modules/ws/lib/websocket.js +1195 -0
- data/lib/opal/cli_runners/node_modules/ws/package.json +40 -106
- data/lib/opal/cli_runners/package-lock.json +62 -0
- data/lib/opal/cli_runners/package.json +1 -1
- data/lib/opal/cli_runners.rb +26 -4
- data/lib/opal/nodes/args/prepare_post_args.rb +2 -2
- data/lib/opal/nodes/def.rb +8 -8
- data/lib/opal/nodes/iter.rb +12 -12
- data/lib/opal/nodes/logic.rb +1 -1
- data/lib/opal/nodes/masgn.rb +2 -2
- data/lib/opal/parser/with_ruby_lexer.rb +1 -1
- data/lib/opal/paths.rb +14 -0
- data/lib/opal/rewriter.rb +2 -0
- data/lib/opal/rewriters/forward_args.rb +52 -4
- data/lib/opal/rewriters/targeted_patches.rb +94 -0
- data/lib/opal/version.rb +1 -1
- data/opal/corelib/basic_object.rb +1 -1
- data/opal/corelib/boolean.rb +2 -2
- data/opal/corelib/class.rb +11 -0
- data/opal/corelib/constants.rb +3 -3
- data/opal/corelib/enumerable.rb +4 -0
- data/opal/corelib/enumerator.rb +1 -1
- data/opal/corelib/hash.rb +2 -2
- data/opal/corelib/helpers.rb +1 -1
- data/opal/corelib/kernel.rb +3 -3
- data/opal/corelib/method.rb +1 -1
- data/opal/corelib/module.rb +29 -8
- data/opal/corelib/proc.rb +7 -5
- data/opal/corelib/runtime.js +141 -78
- data/opal/corelib/set.rb +252 -0
- data/opal/corelib/string.rb +2 -1
- data/opal/corelib/time.rb +2 -2
- data/opal/opal.rb +1 -0
- data/opal.gemspec +1 -0
- data/spec/filters/bugs/array.rb +22 -13
- data/spec/filters/bugs/base64.rb +5 -5
- data/spec/filters/bugs/basicobject.rb +16 -8
- data/spec/filters/bugs/bigdecimal.rb +161 -160
- data/spec/filters/bugs/binding.rb +10 -10
- data/spec/filters/bugs/class.rb +8 -8
- data/spec/filters/bugs/complex.rb +2 -1
- data/spec/filters/bugs/date.rb +79 -81
- data/spec/filters/bugs/datetime.rb +29 -29
- data/spec/filters/bugs/delegate.rb +1 -3
- data/spec/filters/bugs/encoding.rb +69 -69
- data/spec/filters/bugs/enumerable.rb +22 -20
- data/spec/filters/bugs/enumerator.rb +88 -85
- data/spec/filters/bugs/exception.rb +46 -40
- data/spec/filters/bugs/file.rb +32 -32
- data/spec/filters/bugs/float.rb +26 -21
- data/spec/filters/bugs/freeze.rb +88 -0
- data/spec/filters/bugs/hash.rb +39 -38
- data/spec/filters/bugs/integer.rb +57 -44
- data/spec/filters/bugs/io.rb +1 -1
- data/spec/filters/bugs/kernel.rb +349 -269
- data/spec/filters/bugs/language.rb +220 -188
- data/spec/filters/bugs/main.rb +5 -3
- data/spec/filters/bugs/marshal.rb +38 -38
- data/spec/filters/bugs/math.rb +2 -1
- data/spec/filters/bugs/method.rb +73 -62
- data/spec/filters/bugs/module.rb +163 -143
- data/spec/filters/bugs/numeric.rb +6 -6
- data/spec/filters/bugs/objectspace.rb +16 -16
- data/spec/filters/bugs/openstruct.rb +1 -1
- data/spec/filters/bugs/pack_unpack.rb +51 -51
- data/spec/filters/bugs/pathname.rb +7 -7
- data/spec/filters/bugs/proc.rb +63 -63
- data/spec/filters/bugs/random.rb +7 -6
- data/spec/filters/bugs/range.rb +12 -9
- data/spec/filters/bugs/rational.rb +8 -7
- data/spec/filters/bugs/regexp.rb +49 -48
- data/spec/filters/bugs/ruby-32.rb +56 -0
- data/spec/filters/bugs/set.rb +30 -30
- data/spec/filters/bugs/singleton.rb +4 -4
- data/spec/filters/bugs/string.rb +187 -99
- data/spec/filters/bugs/stringio.rb +7 -0
- data/spec/filters/bugs/stringscanner.rb +68 -68
- data/spec/filters/bugs/struct.rb +11 -9
- data/spec/filters/bugs/symbol.rb +1 -1
- data/spec/filters/bugs/time.rb +78 -63
- data/spec/filters/bugs/trace_point.rb +4 -4
- data/spec/filters/bugs/unboundmethod.rb +32 -17
- data/spec/filters/bugs/warnings.rb +8 -12
- data/spec/filters/unsupported/array.rb +24 -107
- data/spec/filters/unsupported/basicobject.rb +12 -12
- data/spec/filters/unsupported/bignum.rb +27 -52
- data/spec/filters/unsupported/class.rb +1 -2
- data/spec/filters/unsupported/delegator.rb +3 -3
- data/spec/filters/unsupported/enumerable.rb +2 -9
- data/spec/filters/unsupported/enumerator.rb +2 -11
- data/spec/filters/unsupported/file.rb +1 -1
- data/spec/filters/unsupported/float.rb +28 -47
- data/spec/filters/unsupported/hash.rb +8 -14
- data/spec/filters/unsupported/integer.rb +75 -91
- data/spec/filters/unsupported/kernel.rb +17 -35
- data/spec/filters/unsupported/language.rb +11 -19
- data/spec/filters/unsupported/marshal.rb +22 -41
- data/spec/filters/unsupported/matchdata.rb +28 -52
- data/spec/filters/unsupported/math.rb +1 -1
- data/spec/filters/unsupported/privacy.rb +229 -285
- data/spec/filters/unsupported/range.rb +1 -5
- data/spec/filters/unsupported/regexp.rb +40 -66
- data/spec/filters/unsupported/set.rb +2 -2
- data/spec/filters/unsupported/singleton.rb +4 -4
- data/spec/filters/unsupported/string.rb +305 -508
- data/spec/filters/unsupported/struct.rb +3 -4
- data/spec/filters/unsupported/symbol.rb +15 -18
- data/spec/filters/unsupported/thread.rb +1 -7
- data/spec/filters/unsupported/time.rb +159 -202
- data/spec/filters/unsupported/usage_of_files.rb +170 -259
- data/spec/lib/builder_spec.rb +4 -4
- data/spec/lib/rewriters/forward_args_spec.rb +32 -12
- data/spec/mspec-opal/runner.rb +2 -0
- data/spec/ruby_specs +4 -0
- data/stdlib/deno/base.rb +28 -0
- data/stdlib/deno/file.rb +340 -0
- data/stdlib/{headless_chrome.rb → headless_browser/base.rb} +1 -1
- data/stdlib/headless_browser/file.rb +15 -0
- data/stdlib/headless_browser.rb +4 -0
- data/stdlib/native.rb +1 -1
- data/stdlib/nodejs/file.rb +5 -0
- data/stdlib/opal/platform.rb +8 -6
- data/stdlib/opal-platform.rb +14 -8
- data/stdlib/set.rb +1 -258
- data/tasks/benchmarking.rake +62 -19
- data/tasks/performance.rake +1 -1
- data/tasks/testing.rake +5 -3
- data/test/nodejs/test_file.rb +29 -10
- data/test/opal/http_server.rb +28 -11
- data/test/opal/unsupported_and_bugs.rb +2 -1
- metadata +89 -50
- data/lib/opal/cli_runners/node_modules/ultron/LICENSE +0 -22
- data/lib/opal/cli_runners/node_modules/ultron/index.js +0 -138
- data/lib/opal/cli_runners/node_modules/ultron/package.json +0 -112
- data/lib/opal/cli_runners/node_modules/ws/SECURITY.md +0 -33
- data/lib/opal/cli_runners/node_modules/ws/lib/BufferUtil.fallback.js +0 -56
- data/lib/opal/cli_runners/node_modules/ws/lib/BufferUtil.js +0 -15
- data/lib/opal/cli_runners/node_modules/ws/lib/ErrorCodes.js +0 -28
- data/lib/opal/cli_runners/node_modules/ws/lib/EventTarget.js +0 -158
- data/lib/opal/cli_runners/node_modules/ws/lib/Extensions.js +0 -69
- data/lib/opal/cli_runners/node_modules/ws/lib/PerMessageDeflate.js +0 -339
- data/lib/opal/cli_runners/node_modules/ws/lib/Receiver.js +0 -520
- data/lib/opal/cli_runners/node_modules/ws/lib/Sender.js +0 -438
- data/lib/opal/cli_runners/node_modules/ws/lib/Validation.fallback.js +0 -9
- data/lib/opal/cli_runners/node_modules/ws/lib/Validation.js +0 -17
- data/lib/opal/cli_runners/node_modules/ws/lib/WebSocket.js +0 -705
- data/lib/opal/cli_runners/node_modules/ws/lib/WebSocketServer.js +0 -336
- data/spec/filters/bugs/boolean.rb +0 -3
- data/spec/filters/bugs/matrix.rb +0 -3
- data/spec/filters/unsupported/fixnum.rb +0 -15
- data/spec/filters/unsupported/freeze.rb +0 -102
- data/spec/filters/unsupported/pathname.rb +0 -4
- data/spec/filters/unsupported/proc.rb +0 -4
- data/spec/filters/unsupported/random.rb +0 -5
- data/spec/filters/unsupported/taint.rb +0 -162
@@ -1,20 +1,16 @@
|
|
1
1
|
# NOTE: run bin/format-filters after changing this file
|
2
2
|
opal_filter "warnings" do
|
3
3
|
fails "Array#join when $, is not nil warns" # Expected warning to match: /warning: \$, is set to non-nil value/ but got: ""
|
4
|
-
fails "Constant resolution within methods with dynamically assigned constants returns the updated value when a constant is reassigned" # Expected warning to match: /already initialized constant/
|
5
|
-
fails "
|
6
|
-
fails "Hash#fetch gives precedence to the default block over the default argument when passed both" # Expected warning to match: /block supersedes default value argument/
|
7
|
-
fails "Integer#** bignum switch to a Float when the values is too big" # Expected warning to match: /warning: in a\*\*b, b may be too big/ but got: ""
|
8
|
-
fails "Integer#** fixnum returns Float::INFINITY when the number is too big" # Expected warning to match: /warning: in a\*\*b, b may be too big/ but got: ""
|
9
|
-
fails "Integer#pow one argument is passed fixnum returns Float::INFINITY when the number is too big" # Expected warning to match: /warning: in a\*\*b, b may be too big/ but got: ""
|
4
|
+
fails "Constant resolution within methods with dynamically assigned constants returns the updated value when a constant is reassigned" # Expected warning to match: /already initialized constant/ but got: ""
|
5
|
+
fails "Hash#fetch gives precedence to the default block over the default argument when passed both" # Expected warning to match: /block supersedes default value argument/ but got: ""
|
10
6
|
fails "Kernel#=~ is deprecated" # Expected warning to match: /deprecated Object#=~ is called on Object/ but got: ""
|
11
|
-
fails "Literal (A::X) constant resolution with dynamically assigned constants returns the updated value when a constant is reassigned" # Expected warning to match: /already initialized constant/
|
12
|
-
fails "Literal Regexps matches against $_ (last input) in a conditional if no explicit matchee provided" # Expected warning to match: /regex literal in condition/
|
13
|
-
fails "Module#const_get with dynamically assigned constants returns the updated value of a constant" # Expected warning to match: /already initialized constant/
|
7
|
+
fails "Literal (A::X) constant resolution with dynamically assigned constants returns the updated value when a constant is reassigned" # Expected warning to match: /already initialized constant/ but got: ""
|
8
|
+
fails "Literal Regexps matches against $_ (last input) in a conditional if no explicit matchee provided" # Expected warning to match: /regex literal in condition/ but got: ""
|
9
|
+
fails "Module#const_get with dynamically assigned constants returns the updated value of a constant" # Expected warning to match: /already initialized constant/ but got: ""
|
14
10
|
fails "Pattern matching warning when one-line form does not warn about pattern matching is experimental feature" # NameError: uninitialized constant Warning
|
15
11
|
fails "Predefined global $, warns if assigned non-nil" # Expected warning to match: /warning: `\$,' is deprecated/ but got: ""
|
16
12
|
fails "Predefined global $; warns if assigned non-nil" # Expected warning to match: /warning: `\$;' is deprecated/ but got: ""
|
17
|
-
fails "Regexp.new given a Regexp does not honour options given as additional arguments" # Expected warning to match: /flags ignored/
|
18
|
-
fails "Struct.new overwrites previously defined constants with string as first argument" # Expected warning to match: /
|
19
|
-
fails "The for expression allows a constant as an iterator name" # Expected warning to match: /already initialized constant/
|
13
|
+
fails "Regexp.new given a Regexp does not honour options given as additional arguments" # Expected warning to match: /flags ignored/ but got: ""
|
14
|
+
fails "Struct.new overwrites previously defined constants with string as first argument" # Expected warning to match: /constant/ but got: ""
|
15
|
+
fails "The for expression allows a constant as an iterator name" # Expected warning to match: /already initialized constant/ but got: ""
|
20
16
|
end
|
@@ -1,110 +1,27 @@
|
|
1
1
|
# NOTE: run bin/format-filters after changing this file
|
2
2
|
opal_unsupported_filter "Array" do
|
3
|
-
fails "Array
|
4
|
-
fails "Array
|
5
|
-
fails "Array
|
6
|
-
fails "Array
|
7
|
-
fails "Array
|
8
|
-
fails "Array
|
9
|
-
fails "Array
|
10
|
-
fails "Array
|
11
|
-
fails "Array
|
12
|
-
fails "Array
|
13
|
-
fails "Array
|
14
|
-
fails "Array
|
15
|
-
fails "Array
|
16
|
-
fails "Array
|
17
|
-
fails "Array#
|
18
|
-
fails "Array#
|
19
|
-
fails "Array#
|
20
|
-
fails "Array#
|
21
|
-
fails "Array#
|
22
|
-
fails "Array#
|
23
|
-
fails "Array#
|
24
|
-
fails "Array#
|
25
|
-
fails "Array#
|
26
|
-
fails "Array#
|
27
|
-
fails "Array#compact does not keep tainted status even if all elements are removed"
|
28
|
-
fails "Array#compact does not keep untrusted status even if all elements are removed"
|
29
|
-
fails "Array#compact! keeps tainted status even if all elements are removed"
|
30
|
-
fails "Array#compact! keeps untrusted status even if all elements are removed"
|
31
|
-
fails "Array#concat is not infected by the other"
|
32
|
-
fails "Array#concat is not infected untrustedness by the other"
|
33
|
-
fails "Array#concat keeps tainted status"
|
34
|
-
fails "Array#concat keeps the tainted status of elements"
|
35
|
-
fails "Array#concat keeps the untrusted status of elements"
|
36
|
-
fails "Array#concat keeps untrusted status"
|
37
|
-
fails "Array#delete keeps tainted status"
|
38
|
-
fails "Array#delete keeps untrusted status"
|
39
|
-
fails "Array#delete_at keeps tainted status"
|
40
|
-
fails "Array#delete_at keeps untrusted status"
|
41
|
-
fails "Array#delete_if keeps tainted status"
|
42
|
-
fails "Array#delete_if keeps untrusted status"
|
43
|
-
fails "Array#dup copies taint status from the original"
|
44
|
-
fails "Array#dup copies untrusted status from the original"
|
45
|
-
fails "Array#eql? returns false if any corresponding elements are not #eql?"
|
46
|
-
fails "Array#fill does not replicate the filler"
|
47
|
-
fails "Array#fill with (filler, index, length) raises an ArgumentError or RangeError for too-large sizes"
|
48
|
-
fails "Array#first raises a RangeError when count is a Bignum"
|
49
|
-
fails "Array#flatten returns a tainted array if self is tainted"
|
50
|
-
fails "Array#flatten returns an untrusted array if self is untrusted"
|
51
|
-
fails "Array#hash calls to_int on result of calling hash on each element"
|
52
|
-
fails "Array#hash returns the same fixnum for arrays with the same content"
|
53
|
-
fails "Array#initialize is private"
|
54
|
-
fails "Array#inspect does not taint the result if the Array is tainted but empty"
|
55
|
-
fails "Array#inspect does not untrust the result if the Array is untrusted but empty"
|
56
|
-
fails "Array#inspect represents a recursive element with '[...]'"
|
57
|
-
fails "Array#inspect taints the result if an element is tainted"
|
58
|
-
fails "Array#inspect taints the result if the Array is non-empty and tainted"
|
59
|
-
fails "Array#inspect untrusts the result if an element is untrusted"
|
60
|
-
fails "Array#inspect untrusts the result if the Array is untrusted"
|
61
|
-
fails "Array#inspect with encoding does not raise if inspected result is not default external encoding" # NoMethodError: undefined method `encode!' for "\"utf_16be あ\"":String
|
62
|
-
fails "Array#inspect with encoding raises if inspected result is not default external encoding"
|
63
|
-
fails "Array#inspect with encoding returns a US-ASCII string for an empty Array"
|
64
|
-
fails "Array#inspect with encoding use US-ASCII encoding if the default external encoding is not ascii compatible"
|
65
|
-
fails "Array#inspect with encoding use the default external encoding if it is ascii compatible"
|
66
|
-
fails "Array#join does not taint the result if the Array is tainted but empty"
|
67
|
-
fails "Array#join does not untrust the result if the Array is untrusted but empty"
|
68
|
-
fails "Array#join fails for arrays with incompatibly-encoded strings"
|
69
|
-
fails "Array#join returns a US-ASCII string for an empty Array"
|
70
|
-
fails "Array#join taints the result if the Array is tainted and non-empty"
|
71
|
-
fails "Array#join taints the result if the result of coercing an element is tainted"
|
72
|
-
fails "Array#join untrusts the result if the Array is untrusted and non-empty"
|
73
|
-
fails "Array#join untrusts the result if the result of coercing an element is untrusted"
|
74
|
-
fails "Array#join uses the first encoding when other strings are compatible"
|
75
|
-
fails "Array#join uses the widest common encoding when other strings are incompatible"
|
76
|
-
fails "Array#join with a tainted separator does not taint the result if the array has only one element"
|
77
|
-
fails "Array#join with a tainted separator does not taint the result if the array is empty"
|
78
|
-
fails "Array#join with a tainted separator taints the result if the array has two or more elements"
|
79
|
-
fails "Array#join with an untrusted separator does not untrust the result if the array has only one element"
|
80
|
-
fails "Array#join with an untrusted separator does not untrust the result if the array is empty"
|
81
|
-
fails "Array#join with an untrusted separator untrusts the result if the array has two or more elements"
|
82
|
-
fails "Array#map does not copy tainted status"
|
83
|
-
fails "Array#map does not copy untrusted status"
|
84
|
-
fails "Array#map! keeps tainted status"
|
85
|
-
fails "Array#map! keeps untrusted status"
|
86
|
-
fails "Array#pop keeps taint status"
|
87
|
-
fails "Array#pop keeps untrusted status"
|
88
|
-
fails "Array#pop passed a number n as an argument keeps taint status"
|
89
|
-
fails "Array#pop passed a number n as an argument keeps untrusted status"
|
90
|
-
fails "Array#pop passed a number n as an argument returns a trusted array even if the array is untrusted"
|
91
|
-
fails "Array#pop passed a number n as an argument returns an untainted array even if the array is tainted"
|
92
|
-
fails "Array#shift passed a number n as an argument keeps taint status"
|
93
|
-
fails "Array#shift passed a number n as an argument returns an untainted array even if the array is tainted"
|
94
|
-
fails "Array#slice raises a RangeError when the length is out of range of Fixnum"
|
95
|
-
fails "Array#slice raises a RangeError when the start index is out of range of Fixnum"
|
96
|
-
fails "Array#to_s does not taint the result if the Array is tainted but empty"
|
97
|
-
fails "Array#to_s does not untrust the result if the Array is untrusted but empty"
|
98
|
-
fails "Array#to_s represents a recursive element with '[...]'"
|
99
|
-
fails "Array#to_s taints the result if an element is tainted"
|
100
|
-
fails "Array#to_s taints the result if the Array is non-empty and tainted"
|
101
|
-
fails "Array#to_s untrusts the result if an element is untrusted"
|
102
|
-
fails "Array#to_s untrusts the result if the Array is untrusted"
|
103
|
-
fails "Array#to_s with encoding does not raise if inspected result is not default external encoding" # NoMethodError: undefined method `encode!' for "\"utf_16be あ\"":String
|
104
|
-
fails "Array#to_s with encoding raises if inspected result is not default external encoding"
|
105
|
-
fails "Array#to_s with encoding returns a US-ASCII string for an empty Array"
|
106
|
-
fails "Array#to_s with encoding use US-ASCII encoding if the default external encoding is not ascii compatible"
|
107
|
-
fails "Array#to_s with encoding use the default external encoding if it is ascii compatible"
|
108
|
-
fails "Array#uniq compares elements with matching hash codes with #eql?" #RubySpec uses taint, which is not supported on Opal.
|
109
|
-
fails "Array#uniq uses eql? semantics" #RubySpec expects 1.0 and 1 to be seen as different, which is not supported on Opal.
|
3
|
+
fails "Array#[] raises a RangeError when the length is out of range of Fixnum" # Expected RangeError but no exception was raised ([2, 3, 4, 5, 6] was returned)
|
4
|
+
fails "Array#[] raises a RangeError when the start index is out of range of Fixnum" # Expected RangeError but no exception was raised (nil was returned)
|
5
|
+
fails "Array#eql? returns false if any corresponding elements are not #eql?" # Expected [1, 2, 3, 4] not to have same value or type as [1, 2, 3, 4]
|
6
|
+
fails "Array#fill does not replicate the filler" # NotImplementedError: String#<< not supported. Mutable String methods are not supported in Opal.
|
7
|
+
fails "Array#first raises a RangeError when count is a Bignum" # Expected RangeError but no exception was raised ([] was returned)
|
8
|
+
fails "Array#hash calls to_int on result of calling hash on each element" # Expected "A,#<MockObject:0x876aa>" == "A,3" to be truthy but was false
|
9
|
+
fails "Array#hash returns the same fixnum for arrays with the same content" # Expected "A" (String) to be an instance of Integer
|
10
|
+
fails "Array#initialize is private" # Expected Array to have private instance method 'initialize' but it does not
|
11
|
+
fails "Array#inspect represents a recursive element with '[...]'" # Expected "[1, \"two\", 3, [...], [...], [...], [...], [...]]" == "[1, \"two\", 3.0, [...], [...], [...], [...], [...]]" to be truthy but was false
|
12
|
+
fails "Array#inspect with encoding does not raise if inspected result is not default external encoding" # Mock 'utf_16be' expected to receive inspect("any_args") exactly 1 times but received it 0 times
|
13
|
+
fails "Array#inspect with encoding returns a US-ASCII string for an empty Array" # Expected #<Encoding:UTF-8> == #<Encoding:US-ASCII> to be truthy but was false
|
14
|
+
fails "Array#inspect with encoding use US-ASCII encoding if the default external encoding is not ascii compatible" # ArgumentError: unknown encoding name - UTF-32
|
15
|
+
fails "Array#inspect with encoding use the default external encoding if it is ascii compatible" # ArgumentError: unknown encoding name - EUC-JP
|
16
|
+
fails "Array#join fails for arrays with incompatibly-encoded strings" # Expected EncodingError but no exception was raised ("barbázÿ" was returned)
|
17
|
+
fails "Array#join returns a US-ASCII string for an empty Array" # Expected #<Encoding:UTF-8> == #<Encoding:US-ASCII> to be truthy but was false
|
18
|
+
fails "Array#join uses the first encoding when other strings are compatible" # Expected #<Encoding:UTF-8> == #<Encoding:US-ASCII> to be truthy but was false
|
19
|
+
fails "Array#slice raises a RangeError when the length is out of range of Fixnum" # Expected RangeError but no exception was raised ([2, 3, 4, 5, 6] was returned)
|
20
|
+
fails "Array#slice raises a RangeError when the start index is out of range of Fixnum" # Expected RangeError but no exception was raised (nil was returned)
|
21
|
+
fails "Array#to_s represents a recursive element with '[...]'" # Expected "[1, \"two\", 3, [...], [...], [...], [...], [...]]" == "[1, \"two\", 3.0, [...], [...], [...], [...], [...]]" to be truthy but was false
|
22
|
+
fails "Array#to_s with encoding does not raise if inspected result is not default external encoding" # Mock 'utf_16be' expected to receive inspect("any_args") exactly 1 times but received it 0 times
|
23
|
+
fails "Array#to_s with encoding returns a US-ASCII string for an empty Array" # Expected #<Encoding:UTF-8> == #<Encoding:US-ASCII> to be truthy but was false
|
24
|
+
fails "Array#to_s with encoding use US-ASCII encoding if the default external encoding is not ascii compatible" # ArgumentError: unknown encoding name - UTF-32
|
25
|
+
fails "Array#to_s with encoding use the default external encoding if it is ascii compatible" # ArgumentError: unknown encoding name - EUC-JP
|
26
|
+
fails "Array#uniq uses eql? semantics" # Expected [1] == [1, 1] to be truthy but was false
|
110
27
|
end
|
@@ -1,15 +1,15 @@
|
|
1
1
|
# NOTE: run bin/format-filters after changing this file
|
2
2
|
opal_unsupported_filter "BasicObject" do
|
3
|
-
fails "BasicObject#method_missing for a Class raises a NoMethodError when a private method is called"
|
4
|
-
fails "BasicObject#method_missing for a Class raises a NoMethodError when a protected method is called"
|
5
|
-
fails "BasicObject#method_missing for a Class with #method_missing defined is called when an private method is called"
|
6
|
-
fails "BasicObject#method_missing for a Class with #method_missing defined is called when an protected method is called"
|
7
|
-
fails "BasicObject#method_missing for a Module raises a NoMethodError when a private method is called"
|
8
|
-
fails "BasicObject#method_missing for a Module raises a NoMethodError when a protected method is called"
|
9
|
-
fails "BasicObject#method_missing for a Module with #method_missing defined is called when a private method is called"
|
10
|
-
fails "BasicObject#method_missing for a Module with #method_missing defined is called when a protected method is called"
|
11
|
-
fails "BasicObject#method_missing for an instance raises a NoMethodError when a private method is called"
|
12
|
-
fails "BasicObject#method_missing for an instance raises a NoMethodError when a protected method is called"
|
13
|
-
fails "BasicObject#method_missing for an instance with #method_missing defined is called when an private method is called"
|
14
|
-
fails "BasicObject#method_missing for an instance with #method_missing defined is called when an protected method is called"
|
3
|
+
fails "BasicObject#method_missing for a Class raises a NoMethodError when a private method is called" # Expected NoMethodError but no exception was raised ("class_private_method" was returned)
|
4
|
+
fails "BasicObject#method_missing for a Class raises a NoMethodError when a protected method is called" # Expected NoMethodError but no exception was raised ("class_private_method" was returned)
|
5
|
+
fails "BasicObject#method_missing for a Class with #method_missing defined is called when an private method is called" # Expected "class_private_method" == "class_method_missing" to be truthy but was false
|
6
|
+
fails "BasicObject#method_missing for a Class with #method_missing defined is called when an protected method is called" # Expected "class_private_method" == "class_method_missing" to be truthy but was false
|
7
|
+
fails "BasicObject#method_missing for a Module raises a NoMethodError when a private method is called" # Expected NoMethodError but no exception was raised ("module_private_method" was returned)
|
8
|
+
fails "BasicObject#method_missing for a Module raises a NoMethodError when a protected method is called" # Expected NoMethodError but no exception was raised ("module_private_method" was returned)
|
9
|
+
fails "BasicObject#method_missing for a Module with #method_missing defined is called when a private method is called" # Expected "module_private_method" == "module_method_missing" to be truthy but was false
|
10
|
+
fails "BasicObject#method_missing for a Module with #method_missing defined is called when a protected method is called" # Expected "module_private_method" == "module_method_missing" to be truthy but was false
|
11
|
+
fails "BasicObject#method_missing for an instance raises a NoMethodError when a private method is called" # Expected NoMethodError but no exception was raised ("instance_private_method" was returned)
|
12
|
+
fails "BasicObject#method_missing for an instance raises a NoMethodError when a protected method is called" # Expected NoMethodError but no exception was raised ("instance_private_method" was returned)
|
13
|
+
fails "BasicObject#method_missing for an instance with #method_missing defined is called when an private method is called" # Expected "instance_private_method" == "instance_method_missing" to be truthy but was false
|
14
|
+
fails "BasicObject#method_missing for an instance with #method_missing defined is called when an protected method is called" # Expected "instance_private_method" == "instance_method_missing" to be truthy but was false
|
15
15
|
end
|
@@ -1,55 +1,30 @@
|
|
1
1
|
# NOTE: run bin/format-filters after changing this file
|
2
2
|
opal_unsupported_filter "Bignum" do
|
3
|
-
fails "BasicObject#__id__ returns a different value for two Bignum literals"
|
4
|
-
fails "Complex#== with Numeric returns true when self's imaginary part is 0 and the real part and other have numerical equality"
|
5
|
-
fails "Complex#fdiv with an imaginary part sets the real part to self's real part fdiv'd with the argument"
|
6
|
-
fails "Complex#fdiv with no imaginary part sets the real part to self's real part fdiv'd with the argument"
|
7
|
-
fails "
|
8
|
-
fails "
|
9
|
-
fails "
|
10
|
-
fails "
|
11
|
-
fails "
|
12
|
-
fails "
|
13
|
-
fails "
|
14
|
-
fails "
|
15
|
-
fails "
|
16
|
-
fails "
|
17
|
-
fails "
|
18
|
-
fails "
|
19
|
-
fails "
|
20
|
-
fails "
|
21
|
-
fails "
|
22
|
-
fails "
|
23
|
-
fails "
|
24
|
-
fails "
|
25
|
-
fails "
|
26
|
-
fails "
|
27
|
-
fails "
|
28
|
-
fails "
|
29
|
-
fails "
|
30
|
-
fails "Integer#lcm works if self is a Bignum"
|
31
|
-
fails "Integer#odd? returns true when self is an odd number"
|
32
|
-
fails "Integer#rationalize returns a Rational object"
|
33
|
-
fails "Integer#rationalize uses 1 as the denominator"
|
34
|
-
fails "Integer#rationalize uses self as the numerator"
|
35
|
-
fails "Integer#round returns itself rounded if passed a negative value"
|
36
|
-
fails "Integer#to_r works even if self is a Bignum"
|
37
|
-
fails "Marshal.dump with a Bignum dumps a Bignum"
|
38
|
-
fails "Marshal.load for a Integer loads an Integer -2361183241434822606847"
|
39
|
-
fails "Marshal.load for a Integer loads an Integer 2361183241434822606847"
|
40
|
-
fails "Marshal.load loads a Bignum 2**90"
|
41
|
-
fails "Numeric#denominator returns 1"
|
42
|
-
fails "Numeric#numerator converts self to a Rational object then returns its numerator"
|
43
|
-
fails "Numeric#quo raises a ZeroDivisionError when the given Integer is 0"
|
44
|
-
fails "Random#rand with Bignum typically returns a Bignum"
|
45
|
-
fails "Random.new uses a random seed value if none is supplied"
|
46
|
-
fails "Random.new_seed returns a Bignum"
|
47
|
-
fails "Rational#** when passed Bignum raises ZeroDivisionError when self is Rational(0) and the exponent is negative"
|
48
|
-
fails "Rational#** when passed Bignum returns 0.0 when self is < -1 and the exponent is negative"
|
49
|
-
fails "Rational#** when passed Bignum returns 0.0 when self is > 1 and the exponent is negative"
|
50
|
-
fails "Rational#** when passed Bignum returns Rational(-1) when self is Rational(-1) and the exponent is positive and odd"
|
51
|
-
fails "Rational#** when passed Bignum returns Rational(1) when self is Rational(-1) and the exponent is positive and even"
|
52
|
-
fails "Rational#** when passed Bignum returns positive Infinity when self < -1"
|
53
|
-
fails "Rational#** when passed Bignum returns positive Infinity when self is > 1"
|
54
|
-
fails "Rational#round with a precision > 0 doesn't fail when rounding to an absurdly large positive precision"
|
3
|
+
fails "BasicObject#__id__ returns a different value for two Bignum literals" # Expected 4e+100 == 4e+100 to be falsy but was true
|
4
|
+
fails "Complex#== with Numeric returns true when self's imaginary part is 0 and the real part and other have numerical equality" # Expected (18446744073709552000+0i) == 18446744073709552000 to be falsy but was true
|
5
|
+
fails "Complex#fdiv with an imaginary part sets the real part to self's real part fdiv'd with the argument" # Expected (9223372036854776000/5) == 1844674407370955300 to be truthy but was false
|
6
|
+
fails "Complex#fdiv with no imaginary part sets the real part to self's real part fdiv'd with the argument" # Expected (9223372036854776000/5) == 1844674407370955300 to be truthy but was false
|
7
|
+
fails "Enumerable#first raises a RangeError when passed a Bignum" # Expected RangeError but no exception was raised ([] was returned)
|
8
|
+
fails "Float#round returns rounded values for big values" # Expected 0 to have same value and type as 200000000000000000000
|
9
|
+
fails "Integer#gcd accepts a Bignum argument" # Expected Infinity (Number) to be kind of Integer
|
10
|
+
fails "Integer#gcd works if self is a Bignum" # Expected Infinity (Number) to be kind of Integer
|
11
|
+
fails "Integer#gcdlcm accepts a Bignum argument" # Expected Infinity (Number) to be kind of Integer
|
12
|
+
fails "Integer#gcdlcm works if self is a Bignum" # Expected Infinity (Number) to be kind of Integer
|
13
|
+
fails "Integer#lcm accepts a Bignum argument" # Expected Infinity (Number) to be kind of Integer
|
14
|
+
fails "Integer#lcm works if self is a Bignum" # Expected Infinity (Number) to be kind of Integer
|
15
|
+
fails "Integer#rationalize returns a Rational object" # FloatDomainError: Infinity
|
16
|
+
fails "Integer#rationalize uses 1 as the denominator" # FloatDomainError: Infinity
|
17
|
+
fails "Integer#rationalize uses self as the numerator" # FloatDomainError: Infinity
|
18
|
+
fails "Integer#round returns itself rounded if passed a negative value" # Expected 0 to have same value and type as 1.9999999999999998e+71
|
19
|
+
fails "Integer#to_r works even if self is a Bignum" # Expected Infinity (Number) to be an instance of Integer
|
20
|
+
fails "Marshal.dump with a Bignum dumps a Bignum" # Expected "\x04\bl-\tÿÿÿÿÿÿÿ?" to be computed by Marshal.dump from -4611686018427388000 (computed "\x04\bl-\t\x00\x00\x00\x00\x00\x00\x00@" instead)
|
21
|
+
fails "Numeric#numerator converts self to a Rational object then returns its numerator" # Exception: Maximum call stack size exceeded
|
22
|
+
fails "Numeric#quo raises a ZeroDivisionError when the given Integer is 0" # Expected ZeroDivisionError but no exception was raised (NaN was returned)
|
23
|
+
fails "Rational#** when passed Bignum raises ZeroDivisionError when self is Rational(0) and the exponent is negative" # Expected ZeroDivisionError but no exception was raised (Infinity was returned)
|
24
|
+
fails "Rational#** when passed Bignum returns 0.0 when self is < -1 and the exponent is negative" # Exception: Maximum call stack size exceeded
|
25
|
+
fails "Rational#** when passed Bignum returns 0.0 when self is > 1 and the exponent is negative" # Exception: Maximum call stack size exceeded
|
26
|
+
fails "Rational#** when passed Bignum returns Rational(-1) when self is Rational(-1) and the exponent is positive and odd" # Expected (1/1) to have same value and type as (-1/1)
|
27
|
+
fails "Rational#** when passed Bignum returns positive Infinity when self < -1" # Exception: Maximum call stack size exceeded
|
28
|
+
fails "Rational#** when passed Bignum returns positive Infinity when self is > 1" # Exception: Maximum call stack size exceeded
|
29
|
+
fails "Rational#round with a precision > 0 doesn't fail when rounding to an absurdly large positive precision" # FloatDomainError: Infinity
|
55
30
|
end
|
@@ -1,5 +1,4 @@
|
|
1
1
|
# NOTE: run bin/format-filters after changing this file
|
2
2
|
opal_unsupported_filter "Class" do
|
3
|
-
fails "Class#initialize is private"
|
4
|
-
fails "Class.inherited is called when marked as a public class method"
|
3
|
+
fails "Class#initialize is private" # Expected Class to have private method 'initialize' but it does not
|
5
4
|
end
|
@@ -1,6 +1,6 @@
|
|
1
1
|
# NOTE: run bin/format-filters after changing this file
|
2
2
|
opal_unsupported_filter "Delegator" do
|
3
|
-
fails "SimpleDelegator.new doesn't forward private method calls even via send or __send__"
|
4
|
-
fails "SimpleDelegator.new doesn't forward private method calls"
|
5
|
-
fails "SimpleDelegator.new forwards protected method calls"
|
3
|
+
fails "SimpleDelegator.new doesn't forward private method calls even via send or __send__" # Expected NoMethodError but no exception was raised (["priv", 42] was returned)
|
4
|
+
fails "SimpleDelegator.new doesn't forward private method calls" # Expected NoMethodError but no exception was raised (["priv", nil] was returned)
|
5
|
+
fails "SimpleDelegator.new forwards protected method calls" # Expected NoMethodError but no exception was raised ("protected" was returned)
|
6
6
|
end
|
@@ -1,12 +1,5 @@
|
|
1
1
|
# NOTE: run bin/format-filters after changing this file
|
2
2
|
opal_unsupported_filter "Enumerable" do
|
3
|
-
fails "Enumerable#chunk does not return elements for which the block returns :_separator"
|
4
|
-
fails "Enumerable#chunk raises a RuntimeError if the block returns a Symbol starting with an underscore other than :_alone or :_separator"
|
5
|
-
fails "Enumerable#chunk with [initial_state] yields an element and an object value-equal but not identical to the object passed to #chunk"
|
6
|
-
fails "Enumerable#entries returns a tainted array if self is tainted"
|
7
|
-
fails "Enumerable#entries returns an untrusted array if self is untrusted"
|
8
|
-
fails "Enumerable#group_by returns a tainted hash if self is tainted"
|
9
|
-
fails "Enumerable#group_by returns an untrusted hash if self is untrusted"
|
10
|
-
fails "Enumerable#to_a returns a tainted array if self is tainted"
|
11
|
-
fails "Enumerable#to_a returns an untrusted array if self is untrusted"
|
3
|
+
fails "Enumerable#chunk does not return elements for which the block returns :_separator" # Expected [[1, [1]], ["_separator", [2]], [1, [3, 3]], ["_separator", [2]], [1, [1]]] == [[1, [1]], [1, [3, 3]], [1, [1]]] to be truthy but was false
|
4
|
+
fails "Enumerable#chunk raises a RuntimeError if the block returns a Symbol starting with an underscore other than :_alone or :_separator" # Expected RuntimeError but no exception was raised ([["_arbitrary", [1, 2, 3, 2, 1]]] was returned)
|
12
5
|
end
|
@@ -1,14 +1,5 @@
|
|
1
1
|
# NOTE: run bin/format-filters after changing this file
|
2
2
|
opal_unsupported_filter "Enumerator" do
|
3
|
-
fails "Enumerator#
|
4
|
-
fails "Enumerator#
|
5
|
-
fails "Enumerator#next returns the next element of the enumeration"
|
6
|
-
fails "Enumerator#rewind calls the enclosed object's rewind method if one exists"
|
7
|
-
fails "Enumerator#rewind clears a pending #feed value"
|
8
|
-
fails "Enumerator#rewind does nothing if the object doesn't have a #rewind method"
|
9
|
-
fails "Enumerator#rewind has no effect if called multiple, consecutive times"
|
10
|
-
fails "Enumerator#rewind has no effect on a new enumerator"
|
11
|
-
fails "Enumerator#rewind resets the enumerator to its initial state"
|
12
|
-
fails "Enumerator#rewind returns self"
|
13
|
-
fails "Enumerator#rewind works with peek to reset the position"
|
3
|
+
fails "Enumerator#rewind calls the enclosed object's rewind method if one exists" # Mock 'rewinder' expected to receive rewind("any_args") exactly 1 times but received it 0 times
|
4
|
+
fails "Enumerator#rewind clears a pending #feed value" # NotImplementedError: Opal doesn't support Enumerator#feed
|
14
5
|
end
|
@@ -1,4 +1,4 @@
|
|
1
1
|
# NOTE: run bin/format-filters after changing this file
|
2
2
|
opal_unsupported_filter "File" do
|
3
|
-
fails "File.join doesn't mutate the object when calling #to_str"
|
3
|
+
fails "File.join doesn't mutate the object when calling #to_str" # Mock 'usr' expected to receive to_str("any_args") exactly 1 times but received it 0 times
|
4
4
|
end
|
@@ -1,50 +1,31 @@
|
|
1
1
|
# NOTE: run bin/format-filters after changing this file
|
2
2
|
opal_unsupported_filter "Float" do
|
3
|
-
fails "
|
4
|
-
fails "Complex
|
5
|
-
fails "Complex#eql? returns false when the
|
6
|
-
fails "Complex#
|
7
|
-
fails "Complex#
|
8
|
-
fails "Complex#
|
9
|
-
fails "Complex#
|
10
|
-
fails "Complex#
|
11
|
-
fails "Complex#
|
12
|
-
fails "Complex#to_s returns 1
|
13
|
-
fails "
|
14
|
-
fails "
|
15
|
-
fails "
|
16
|
-
fails "
|
17
|
-
fails "
|
18
|
-
fails "
|
19
|
-
fails "
|
20
|
-
fails "
|
21
|
-
fails "
|
22
|
-
fails "
|
23
|
-
fails "
|
24
|
-
fails "
|
25
|
-
fails "Float
|
26
|
-
fails "
|
27
|
-
fails "
|
28
|
-
fails "Float
|
29
|
-
fails "
|
30
|
-
fails "
|
31
|
-
fails "Float#<=> returns 1 when self is Infinity and other is an Integer" # Expected 0 == 1
|
32
|
-
fails "Float#<=> returns 1 when self is negative and other is -Infinity" # Expected 0 == 1
|
33
|
-
fails "Float#coerce returns [other, self] both as Floats"
|
34
|
-
fails "Float#eql? returns false if other is not a Float"
|
35
|
-
fails "Float#to_s emits '-' for -0.0"
|
36
|
-
fails "Float#to_s emits a trailing '.0' for a whole number"
|
37
|
-
fails "Float#to_s emits a trailing '.0' for the mantissa in e format"
|
38
|
-
fails "Float#to_s returns '0.0' for 0.0"
|
39
|
-
fails "Math.gamma returns approximately (n-1)! given n for n between 24 and 30" # precision error
|
40
|
-
fails "Numeric#step with keyword arguments when no block is given returned Enumerator size when self, stop or step is a Float and step is positive returns the difference between self and stop divided by the number of steps"
|
41
|
-
fails "Numeric#step with mixed arguments when no block is given returned Enumerator size when self, stop or step is a Float and step is positive returns the difference between self and stop divided by the number of steps"
|
42
|
-
fails "Numeric#step with positional args when no block is given returned Enumerator size when self, stop or step is a Float and step is positive returns the difference between self and stop divided by the number of steps"
|
43
|
-
fails "Rational#% returns a Float value when the argument is Float"
|
44
|
-
fails "Rational#** raises ZeroDivisionError for Rational(0, 1) passed a negative Integer"
|
45
|
-
fails "Rational#** when passed Integer returns the Rational value of self raised to the passed argument"
|
46
|
-
fails "Rational#/ when passed an Integer raises a ZeroDivisionError when passed 0"
|
47
|
-
fails "Rational#coerce returns the passed argument, self as Float, when given a Float"
|
48
|
-
fails "Rational#divmod when passed an Integer returns the quotient as Integer and the remainder as Rational"
|
49
|
-
fails "Struct#eql? returns false if any corresponding elements are not #eql?" # Rubyspec uses 1.eql?(1.0) which always returns true in compiled JS
|
3
|
+
fails "Complex#/ with Fixnum raises a ZeroDivisionError when given zero" # Expected ZeroDivisionError but no exception was raised ((Infinity+Infinity*i) was returned)
|
4
|
+
fails "Complex#eql? returns false when the imaginary parts are of different classes" # Expected true to be false
|
5
|
+
fails "Complex#eql? returns false when the real parts are of different classes" # Expected true to be false
|
6
|
+
fails "Complex#quo with Fixnum raises a ZeroDivisionError when given zero" # Expected ZeroDivisionError but no exception was raised ((Infinity+Infinity*i) was returned)
|
7
|
+
fails "Complex#rationalize raises RangeError if self has 0.0 imaginary part" # Expected RangeError but no exception was raised ((1/1) was returned)
|
8
|
+
fails "Complex#to_f when the imaginary part is Float 0.0 raises RangeError" # Expected RangeError but no exception was raised (0 was returned)
|
9
|
+
fails "Complex#to_i when the imaginary part is Float 0.0 raises RangeError" # Expected RangeError but no exception was raised (0 was returned)
|
10
|
+
fails "Complex#to_r when the imaginary part is Float 0.0 raises RangeError" # Expected RangeError but no exception was raised ((0/1) was returned)
|
11
|
+
fails "Complex#to_s returns 1+0.0i for Complex(1, 0.0)" # Expected "1+0i" == "1+0.0i" to be truthy but was false
|
12
|
+
fails "Complex#to_s returns 1-0.0i for Complex(1, -0.0)" # Expected "1+0i" == "1-0.0i" to be truthy but was false
|
13
|
+
fails "Float constant MAX_10_EXP is 308" # NameError: uninitialized constant Float::MAX_10_EXP
|
14
|
+
fails "Float constant MAX_EXP is 1024" # NameError: uninitialized constant Float::MAX_EXP
|
15
|
+
fails "Float constant MIN_10_EXP is -308" # NameError: uninitialized constant Float::MIN_10_EXP
|
16
|
+
fails "Float constant MIN_EXP is -1021" # NameError: uninitialized constant Float::MIN_EXP
|
17
|
+
fails "Float#<=> returns -1 when self is -Infinity and other is negative" # Expected 0 == -1 to be truthy but was false
|
18
|
+
fails "Float#<=> returns 1 when self is Infinity and other is an Integer" # Expected 0 == 1 to be truthy but was false
|
19
|
+
fails "Float#<=> returns 1 when self is negative and other is -Infinity" # Expected 0 == 1 to be truthy but was false
|
20
|
+
fails "Float#eql? returns false if other is not a Float" # Expected true to be false
|
21
|
+
fails "Float#to_s emits a trailing '.0' for a whole number" # Expected "50" == "50.0" to be truthy but was false
|
22
|
+
fails "Float#to_s emits a trailing '.0' for the mantissa in e format" # Expected "100000000000000000000" == "1.0e+20" to be truthy but was false
|
23
|
+
fails "Float#to_s returns '0.0' for 0.0" # Expected "0" == "0.0" to be truthy but was false
|
24
|
+
fails "Math.gamma returns approximately (n-1)! given n for n between 24 and 30" # Expected 1.5511210043330984e+25 to be within 1.5511210043330986e+25 +/- 330986
|
25
|
+
fails "Rational#% returns a Float value when the argument is Float" # Expected (3/4) (Rational) to be kind of Float
|
26
|
+
fails "Rational#** raises ZeroDivisionError for Rational(0, 1) passed a negative Integer" # Expected ZeroDivisionError (divided by 0) but no exception was raised (Infinity was returned)
|
27
|
+
fails "Rational#/ when passed an Integer raises a ZeroDivisionError when passed 0" # Expected ZeroDivisionError but no exception was raised (Infinity was returned)
|
28
|
+
fails "Rational#coerce returns the passed argument, self as Float, when given a Float" # Expected false to be true
|
29
|
+
fails "Rational#divmod when passed an Integer returns the quotient as Integer and the remainder as Rational" # Expected [1537228672809129200, (0/1)] to have same value and type as [1537228672809129200, (1/1)]
|
30
|
+
fails "Struct#eql? returns false if any corresponding elements are not #eql?" # Expected #<struct StructClasses::Car make="Honda", model="Accord", year=1998> not to have same value or type as #<struct StructClasses::Car make="Honda", model="Accord", year=1998>
|
50
31
|
end
|
@@ -1,19 +1,13 @@
|
|
1
1
|
# NOTE: run bin/format-filters after changing this file
|
2
2
|
opal_unsupported_filter "Hash" do
|
3
|
-
fails "Hash#[]= duplicates and freezes string keys"
|
3
|
+
fails "Hash#[]= duplicates and freezes string keys" # NotImplementedError: String#<< not supported. Mutable String methods are not supported in Opal.
|
4
4
|
fails "Hash#[]= duplicates string keys using dup semantics" # TypeError: can't define singleton
|
5
|
-
fails "Hash#assoc only returns the first matching key-value pair for identity hashes"
|
6
|
-
fails "Hash#initialize is private"
|
7
|
-
fails "Hash#inspect does not raise if inspected result is not default external encoding" # Mock 'utf_16be' expected to receive
|
8
|
-
fails "Hash#
|
9
|
-
fails "Hash#inspect returns an untrusted string if self is untrusted and not empty"
|
10
|
-
fails "Hash#store duplicates and freezes string keys"
|
5
|
+
fails "Hash#assoc only returns the first matching key-value pair for identity hashes" # Expected 1 == 2 to be truthy but was false
|
6
|
+
fails "Hash#initialize is private" # Expected Hash to have private instance method 'initialize' but it does not
|
7
|
+
fails "Hash#inspect does not raise if inspected result is not default external encoding" # Mock 'utf_16be' expected to receive inspect("any_args") exactly 1 times but received it 0 times
|
8
|
+
fails "Hash#store duplicates and freezes string keys" # NotImplementedError: String#<< not supported. Mutable String methods are not supported in Opal.
|
11
9
|
fails "Hash#store duplicates string keys using dup semantics" # TypeError: can't define singleton
|
12
|
-
fails "Hash#
|
13
|
-
fails "Hash#
|
14
|
-
fails "Hash#
|
15
|
-
fails "Hash#to_proc the returned proc raises ArgumentError if not passed exactly one argument"
|
16
|
-
fails "Hash#to_s does not raise if inspected result is not default external encoding" # Mock 'utf_16be' expected to receive 'inspect' exactly 1 times but received it 0 times
|
17
|
-
fails "Hash#to_s returns a tainted string if self is tainted and not empty"
|
18
|
-
fails "Hash#to_s returns an untrusted string if self is untrusted and not empty"
|
10
|
+
fails "Hash#to_proc the returned proc passed as a block to instance_exec always retrieves the original hash's values" # Expected nil == 1 to be truthy but was false
|
11
|
+
fails "Hash#to_proc the returned proc raises ArgumentError if not passed exactly one argument" # Expected ArgumentError but no exception was raised (nil was returned)
|
12
|
+
fails "Hash#to_s does not raise if inspected result is not default external encoding" # Mock 'utf_16be' expected to receive inspect("any_args") exactly 1 times but received it 0 times
|
19
13
|
end
|