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
@@ -11,14 +11,14 @@ opal_filter "ObjectSpace" do
|
|
11
11
|
fails "ObjectSpace._id2ref retrieves false by object_id" # NoMethodError: undefined method `_id2ref' for ObjectSpace
|
12
12
|
fails "ObjectSpace._id2ref retrieves nil by object_id" # NoMethodError: undefined method `_id2ref' for ObjectSpace
|
13
13
|
fails "ObjectSpace._id2ref retrieves true by object_id" # NoMethodError: undefined method `_id2ref' for ObjectSpace
|
14
|
-
fails "ObjectSpace.define_finalizer allows multiple finalizers with different 'callables' to be defined" # NoMethodError: undefined method `tmp' for #<MSpecEnv:
|
15
|
-
fails "ObjectSpace.define_finalizer calls a finalizer at exit even if it is indirectly self-referencing" # NoMethodError: undefined method `tmp' for #<MSpecEnv:
|
16
|
-
fails "ObjectSpace.define_finalizer calls a finalizer at exit even if it is self-referencing" # NoMethodError: undefined method `tmp' for #<MSpecEnv:
|
17
|
-
fails "ObjectSpace.define_finalizer calls a finalizer defined in a finalizer running at exit" # NoMethodError: undefined method `tmp' for #<MSpecEnv:
|
18
|
-
fails "ObjectSpace.define_finalizer calls finalizer on process termination" # NoMethodError: undefined method `tmp' for #<MSpecEnv:
|
19
|
-
fails "ObjectSpace.define_finalizer warns if the finalizer has the object as the receiver" # NoMethodError: undefined method `tmp' for #<MSpecEnv:
|
20
|
-
fails "ObjectSpace.define_finalizer warns if the finalizer is a method bound to the receiver" # NoMethodError: undefined method `tmp' for #<MSpecEnv:
|
21
|
-
fails "ObjectSpace.define_finalizer warns if the finalizer was a block in the receiver" # NoMethodError: undefined method `tmp' for #<MSpecEnv:
|
14
|
+
fails "ObjectSpace.define_finalizer allows multiple finalizers with different 'callables' to be defined" # NoMethodError: undefined method `tmp' for #<MSpecEnv:0x36f5c>
|
15
|
+
fails "ObjectSpace.define_finalizer calls a finalizer at exit even if it is indirectly self-referencing" # NoMethodError: undefined method `tmp' for #<MSpecEnv:0x36f5c>
|
16
|
+
fails "ObjectSpace.define_finalizer calls a finalizer at exit even if it is self-referencing" # NoMethodError: undefined method `tmp' for #<MSpecEnv:0x36f5c>
|
17
|
+
fails "ObjectSpace.define_finalizer calls a finalizer defined in a finalizer running at exit" # NoMethodError: undefined method `tmp' for #<MSpecEnv:0x36f5c>
|
18
|
+
fails "ObjectSpace.define_finalizer calls finalizer on process termination" # NoMethodError: undefined method `tmp' for #<MSpecEnv:0x36f5c>
|
19
|
+
fails "ObjectSpace.define_finalizer warns if the finalizer has the object as the receiver" # NoMethodError: undefined method `tmp' for #<MSpecEnv:0x36f5c>
|
20
|
+
fails "ObjectSpace.define_finalizer warns if the finalizer is a method bound to the receiver" # NoMethodError: undefined method `tmp' for #<MSpecEnv:0x36f5c>
|
21
|
+
fails "ObjectSpace.define_finalizer warns if the finalizer was a block in the receiver" # NoMethodError: undefined method `tmp' for #<MSpecEnv:0x36f5c>
|
22
22
|
fails "ObjectSpace.each_object calls the block once for each class, module in the Ruby process" # NoMethodError: undefined method `each_object' for ObjectSpace
|
23
23
|
fails "ObjectSpace.each_object calls the block once for each living, non-immediate object in the Ruby process" # NoMethodError: undefined method `each_object' for ObjectSpace
|
24
24
|
fails "ObjectSpace.each_object finds an object captured in an at_exit handler" # NoMethodError: undefined method `each_object' for ObjectSpace
|
@@ -27,12 +27,12 @@ opal_filter "ObjectSpace" do
|
|
27
27
|
fails "ObjectSpace.each_object finds an object stored in a global variable" # NoMethodError: undefined method `each_object' for ObjectSpace
|
28
28
|
fails "ObjectSpace.each_object finds an object stored in a hash key" # NoMethodError: undefined method `each_object' for ObjectSpace
|
29
29
|
fails "ObjectSpace.each_object finds an object stored in a hash value" # NoMethodError: undefined method `each_object' for ObjectSpace
|
30
|
-
fails "ObjectSpace.each_object finds an object stored in a local variable captured in a Kernel#binding" # NoMethodError: undefined method `
|
30
|
+
fails "ObjectSpace.each_object finds an object stored in a local variable captured in a Kernel#binding" # NoMethodError: undefined method `each_object' for ObjectSpace
|
31
31
|
fails "ObjectSpace.each_object finds an object stored in a local variable captured in a Proc#binding" # NoMethodError: undefined method `each_object' for ObjectSpace
|
32
32
|
fails "ObjectSpace.each_object finds an object stored in a local variable captured in a block explicitly" # NoMethodError: undefined method `each_object' for ObjectSpace
|
33
33
|
fails "ObjectSpace.each_object finds an object stored in a local variable captured in a block implicitly" # NoMethodError: undefined method `each_object' for ObjectSpace
|
34
34
|
fails "ObjectSpace.each_object finds an object stored in a local variable captured in by a method defined with a block" # NoMethodError: undefined method `each_object' for ObjectSpace
|
35
|
-
fails "ObjectSpace.each_object finds an object stored in a local variable set in a binding manually" # NoMethodError: undefined method `
|
35
|
+
fails "ObjectSpace.each_object finds an object stored in a local variable set in a binding manually" # NoMethodError: undefined method `each_object' for ObjectSpace
|
36
36
|
fails "ObjectSpace.each_object finds an object stored in a local variable" # NoMethodError: undefined method `each_object' for ObjectSpace
|
37
37
|
fails "ObjectSpace.each_object finds an object stored in a second-level constant" # NoMethodError: undefined method `each_object' for ObjectSpace
|
38
38
|
fails "ObjectSpace.each_object finds an object stored in a thread local" # NotImplementedError: Thread creation not available
|
@@ -51,17 +51,17 @@ opal_filter "ObjectSpace" do
|
|
51
51
|
fails "ObjectSpace::WeakMap#each is correct" # NotImplementedError: #each can't be implemented on top of JS interfaces
|
52
52
|
fails "ObjectSpace::WeakMap#each_key is correct" # NotImplementedError: #each_key can't be implemented on top of JS interfaces
|
53
53
|
fails "ObjectSpace::WeakMap#each_key must take a block, except when empty" # NotImplementedError: #each can't be implemented on top of JS interfaces
|
54
|
-
fails "ObjectSpace::WeakMap#each_pair is correct" # NotImplementedError: #each_pair can't be implemented on top of JS
|
54
|
+
fails "ObjectSpace::WeakMap#each_pair is correct" # NotImplementedError: #each_pair can't be implemented on top of JS interfaces
|
55
55
|
fails "ObjectSpace::WeakMap#each_value is correct" # NotImplementedError: #each_value can't be implemented on top of JS interfaces
|
56
|
-
fails "ObjectSpace::WeakMap#include? matches using identity semantics" #
|
56
|
+
fails "ObjectSpace::WeakMap#include? matches using identity semantics" # Expected true == false to be truthy but was false
|
57
57
|
fails "ObjectSpace::WeakMap#include? reports true if the pair exists and the value is nil" # NotImplementedError: #size can't be implemented on top of JS interfaces
|
58
|
-
fails "ObjectSpace::WeakMap#inspect displays object pointers in output" # Expected "#<ObjectSpace::WeakMap:
|
59
|
-
fails "ObjectSpace::WeakMap#key? matches using identity semantics" #
|
58
|
+
fails "ObjectSpace::WeakMap#inspect displays object pointers in output" # Expected "#<ObjectSpace::WeakMap:0x5b4d0 @weak_map=[object WeakMap] @primitive_map={}>" =~ /^\#<ObjectSpace::WeakMap:0x\h+>$/ to be truthy but was nil
|
59
|
+
fails "ObjectSpace::WeakMap#key? matches using identity semantics" # Expected true == false to be truthy but was false
|
60
60
|
fails "ObjectSpace::WeakMap#key? reports true if the pair exists and the value is nil" # NotImplementedError: #size can't be implemented on top of JS interfaces
|
61
61
|
fails "ObjectSpace::WeakMap#keys is correct" # NotImplementedError: #keys can't be implemented on top of JS interfaces
|
62
62
|
fails "ObjectSpace::WeakMap#length is correct" # NotImplementedError: #length can't be implemented on top of JS interfaces
|
63
|
-
fails "ObjectSpace::WeakMap#member? matches using identity semantics" #
|
63
|
+
fails "ObjectSpace::WeakMap#member? matches using identity semantics" # Expected true == false to be truthy but was false
|
64
64
|
fails "ObjectSpace::WeakMap#member? reports true if the pair exists and the value is nil" # NotImplementedError: #size can't be implemented on top of JS interfaces
|
65
65
|
fails "ObjectSpace::WeakMap#size is correct" # NotImplementedError: #size can't be implemented on top of JS interfaces
|
66
|
-
fails "ObjectSpace::WeakMap#values is correct" # NotImplementedError: #values can't be implemented on top of JS interfaces
|
66
|
+
fails "ObjectSpace::WeakMap#values is correct" # NotImplementedError: #values can't be implemented on top of JS interfaces
|
67
67
|
end
|
@@ -4,5 +4,5 @@ opal_filter "OpenStruct" do
|
|
4
4
|
fails "OpenStruct#to_h with block converts [key, value] pairs returned by the block to a hash" # Expected {"name"=>"John Smith", "age"=>70, "pension"=>300} == {"name"=>"John SmithJohn Smith", "age"=>140, "pension"=>600} to be truthy but was false
|
5
5
|
fails "OpenStruct#to_h with block does not coerce returned pair to Array with #to_a" # Expected TypeError (/wrong element type MockObject/) but no exception was raised ({"name"=>"John Smith", "age"=>70, "pension"=>300} was returned)
|
6
6
|
fails "OpenStruct#to_h with block raises ArgumentError if block returns longer or shorter array" # Expected ArgumentError (/element has wrong array length/) but no exception was raised ({"name"=>"John Smith", "age"=>70, "pension"=>300} was returned)
|
7
|
-
fails "OpenStruct#to_h with block raises TypeError if block returns something other than Array" # Expected TypeError (/wrong element type String/) but no exception was raised ({"name"=>"John Smith", "age"=>70, "pension"=>300} was returned)
|
7
|
+
fails "OpenStruct#to_h with block raises TypeError if block returns something other than Array" # Expected TypeError (/wrong element type String/) but no exception was raised ({"name"=>"John Smith", "age"=>70, "pension"=>300} was returned)
|
8
8
|
end
|
@@ -1,54 +1,54 @@
|
|
1
1
|
# NOTE: run bin/format-filters after changing this file
|
2
2
|
opal_filter "String#unpack" do
|
3
|
-
fails "String#unpack with format 'A' decodes into raw (ascii) string values" # Expected
|
4
|
-
fails "String#unpack with format 'H' should make strings with US_ASCII encoding" # Expected #<Encoding:UTF-
|
3
|
+
fails "String#unpack with format 'A' decodes into raw (ascii) string values" # Expected #<Encoding:UTF-8> == #<Encoding:ASCII-8BIT> to be truthy but was false
|
4
|
+
fails "String#unpack with format 'H' should make strings with US_ASCII encoding" # Expected #<Encoding:UTF-8> == #<Encoding:US-ASCII> to be truthy but was false
|
5
5
|
fails "String#unpack with format 'Q' adds nil for each element requested beyond the end of the String" # Expected [7523094288207668000, nil, nil] to be computed by "abcdefgh".unpack from "Q3" (computed [7523094288207667000, nil, nil] instead)
|
6
|
-
fails "String#unpack with format 'Q' decodes one long for a single format character" # Expected [7523094288207667000]
|
7
|
-
fails "String#unpack with format 'Q' decodes the number of longs requested by the count modifier" # Expected [7523094283929477000, 7378418357791582000]
|
8
|
-
fails "String#unpack with format 'Q' decodes two longs for two format characters" # Expected [7233738012216484000, 7233733596956420000]
|
9
|
-
fails "String#unpack with format 'Q' ignores NULL bytes between directives" # Expected [7523094288207667000, 7233738012216484000]
|
10
|
-
fails "String#unpack with format 'Q' ignores spaces between directives" # Expected [7523094288207667000, 7233738012216484000]
|
11
|
-
fails "String#unpack with format 'Q' with modifier '<' decodes one long for a single format character" # Expected [7523094288207667000]
|
12
|
-
fails "String#unpack with format 'Q' with modifier '<' decodes the number of longs requested by the count modifier" # Expected [7523094283929477000, 7378418357791582000]
|
13
|
-
fails "String#unpack with format 'Q' with modifier '<' decodes two longs for two format characters" # Expected [7233738012216484000, 7233733596956420000]
|
14
|
-
fails "String#unpack with format 'Q' with modifier '<' ignores NULL bytes between directives" # Expected [7523094288207667000, 7233738012216484000]
|
15
|
-
fails "String#unpack with format 'Q' with modifier '<' ignores spaces between directives" # Expected [7523094288207667000, 7233738012216484000]
|
16
|
-
fails "String#unpack with format 'Q' with modifier '>' decodes one long for a single format character" # Expected [7523094288207667000]
|
17
|
-
fails "String#unpack with format 'Q' with modifier '>' decodes the number of longs requested by the count modifier" # Expected [7523094283929477000, 7378418357791582000]
|
18
|
-
fails "String#unpack with format 'Q' with modifier '>' decodes two longs for two format characters" # Expected [7233738012216484000, 7233733596956420000]
|
19
|
-
fails "String#unpack with format 'Q' with modifier '>' ignores NULL bytes between directives" # Expected [7523094288207667000, 7233738012216484000]
|
20
|
-
fails "String#unpack with format 'Q' with modifier '>' ignores spaces between directives" # Expected [7523094288207667000, 7233738012216484000]
|
6
|
+
fails "String#unpack with format 'Q' decodes one long for a single format character" # Expected [7523094288207667000] == [7523094288207668000] to be truthy but was false
|
7
|
+
fails "String#unpack with format 'Q' decodes the number of longs requested by the count modifier" # Expected [7523094283929477000, 7378418357791582000] == [7523094283929478000, 7378418357791582000] to be truthy but was false
|
8
|
+
fails "String#unpack with format 'Q' decodes two longs for two format characters" # Expected [7233738012216484000, 7233733596956420000] == [7233738012216485000, 7233733596956420000] to be truthy but was false
|
9
|
+
fails "String#unpack with format 'Q' ignores NULL bytes between directives" # Expected [7523094288207667000, 7233738012216484000] == [7523094288207668000, 7233738012216485000] to be truthy but was false
|
10
|
+
fails "String#unpack with format 'Q' ignores spaces between directives" # Expected [7523094288207667000, 7233738012216484000] == [7523094288207668000, 7233738012216485000] to be truthy but was false
|
11
|
+
fails "String#unpack with format 'Q' with modifier '<' decodes one long for a single format character" # Expected [7523094288207667000] == [7523094288207668000] to be truthy but was false
|
12
|
+
fails "String#unpack with format 'Q' with modifier '<' decodes the number of longs requested by the count modifier" # Expected [7523094283929477000, 7378418357791582000] == [7523094283929478000, 7378418357791582000] to be truthy but was false
|
13
|
+
fails "String#unpack with format 'Q' with modifier '<' decodes two longs for two format characters" # Expected [7233738012216484000, 7233733596956420000] == [7233738012216485000, 7233733596956420000] to be truthy but was false
|
14
|
+
fails "String#unpack with format 'Q' with modifier '<' ignores NULL bytes between directives" # Expected [7523094288207667000, 7233738012216484000] == [7523094288207668000, 7233738012216485000] to be truthy but was false
|
15
|
+
fails "String#unpack with format 'Q' with modifier '<' ignores spaces between directives" # Expected [7523094288207667000, 7233738012216484000] == [7523094288207668000, 7233738012216485000] to be truthy but was false
|
16
|
+
fails "String#unpack with format 'Q' with modifier '>' decodes one long for a single format character" # Expected [7523094288207667000] == [7523094288207668000] to be truthy but was false
|
17
|
+
fails "String#unpack with format 'Q' with modifier '>' decodes the number of longs requested by the count modifier" # Expected [7523094283929477000, 7378418357791582000] == [7523094283929478000, 7378418357791582000] to be truthy but was false
|
18
|
+
fails "String#unpack with format 'Q' with modifier '>' decodes two longs for two format characters" # Expected [7233738012216484000, 7233733596956420000] == [7233738012216485000, 7233733596956420000] to be truthy but was false
|
19
|
+
fails "String#unpack with format 'Q' with modifier '>' ignores NULL bytes between directives" # Expected [7523094288207667000, 7233738012216484000] == [7523094288207668000, 7233738012216485000] to be truthy but was false
|
20
|
+
fails "String#unpack with format 'Q' with modifier '>' ignores spaces between directives" # Expected [7523094288207667000, 7233738012216484000] == [7523094288207668000, 7233738012216485000] to be truthy but was false
|
21
21
|
fails "String#unpack with format 'U' decodes UTF-8 max codepoints" # Expected [65536] to be computed by "𐀀".unpack from "U" (computed [55296, 56320] instead)
|
22
|
-
fails "String#unpack with format 'U' does not decode any items for directives exceeding the input string size" #
|
23
|
-
fails "String#unpack with format 'a' decodes into raw (ascii) string values" # Expected
|
24
|
-
fails "String#unpack with format 'b' decodes into US-ASCII string values" # Expected "UTF-
|
25
|
-
fails "String#unpack with format 'h' should make strings with US_ASCII encoding" # Expected #<Encoding:UTF-
|
26
|
-
fails "String#unpack with format 'm' produces binary strings" # Expected #<Encoding:UTF-
|
22
|
+
fails "String#unpack with format 'U' does not decode any items for directives exceeding the input string size" # Exception: Cannot read properties of undefined (reading '$hash')
|
23
|
+
fails "String#unpack with format 'a' decodes into raw (ascii) string values" # Expected #<Encoding:UTF-8> == #<Encoding:ASCII-8BIT> to be truthy but was false
|
24
|
+
fails "String#unpack with format 'b' decodes into US-ASCII string values" # Expected "UTF-8" == "US-ASCII" to be truthy but was false
|
25
|
+
fails "String#unpack with format 'h' should make strings with US_ASCII encoding" # Expected #<Encoding:UTF-8> == #<Encoding:US-ASCII> to be truthy but was false
|
26
|
+
fails "String#unpack with format 'm' produces binary strings" # Expected #<Encoding:UTF-8> == #<Encoding:ASCII-8BIT> to be truthy but was false
|
27
27
|
fails "String#unpack with format 'q' adds nil for each element requested beyond the end of the String" # Expected [7523094288207668000, nil, nil] to be computed by "abcdefgh".unpack from "q3" (computed [7523094288207667000, nil, nil] instead)
|
28
|
-
fails "String#unpack with format 'q' decodes a long with most significant bit set as a negative number" # Expected [-71870673923813380]
|
29
|
-
fails "String#unpack with format 'q' decodes one long for a single format character" # Expected [7523094288207667000]
|
30
|
-
fails "String#unpack with format 'q' decodes the number of longs requested by the count modifier" # Expected [7523094283929477000, 7378418357791582000]
|
31
|
-
fails "String#unpack with format 'q' decodes two longs for two format characters" # Expected [7233738012216484000, 7233733596956420000]
|
32
|
-
fails "String#unpack with format 'q' ignores NULL bytes between directives" # Expected [7523094288207667000, 7233738012216484000]
|
33
|
-
fails "String#unpack with format 'q' ignores spaces between directives" # Expected [7523094288207667000, 7233738012216484000]
|
34
|
-
fails "String#unpack with format 'q' with modifier '<' decodes a long with most significant bit set as a negative number" # Expected [-71870673923813380]
|
35
|
-
fails "String#unpack with format 'q' with modifier '<' decodes one long for a single format character" # Expected [7523094288207667000]
|
36
|
-
fails "String#unpack with format 'q' with modifier '<' decodes the number of longs requested by the count modifier" # Expected [7523094283929477000, 7378418357791582000]
|
37
|
-
fails "String#unpack with format 'q' with modifier '<' decodes two longs for two format characters" # Expected [7233738012216484000, 7233733596956420000]
|
38
|
-
fails "String#unpack with format 'q' with modifier '<' ignores NULL bytes between directives" # Expected [7523094288207667000, 7233738012216484000]
|
39
|
-
fails "String#unpack with format 'q' with modifier '<' ignores spaces between directives" # Expected [7523094288207667000, 7233738012216484000]
|
40
|
-
fails "String#unpack with format 'q' with modifier '>' decodes a long with most significant bit set as a negative number" # Expected [-71870673923813380]
|
41
|
-
fails "String#unpack with format 'q' with modifier '>' decodes one long for a single format character" # Expected [7523094288207667000]
|
42
|
-
fails "String#unpack with format 'q' with modifier '>' decodes the number of longs requested by the count modifier" # Expected [7523094283929477000, 7378418357791582000]
|
43
|
-
fails "String#unpack with format 'q' with modifier '>' decodes two longs for two format characters" # Expected [7233738012216484000, 7233733596956420000]
|
44
|
-
fails "String#unpack with format 'q' with modifier '>' ignores NULL bytes between directives" # Expected [7523094288207667000, 7233738012216484000]
|
45
|
-
fails "String#unpack with format 'q' with modifier '>' ignores spaces between directives" # Expected [7523094288207667000, 7233738012216484000]
|
46
|
-
fails "String#unpack with format 'u' decodes into raw (ascii) string values" # Expected
|
28
|
+
fails "String#unpack with format 'q' decodes a long with most significant bit set as a negative number" # Expected [-71870673923813380] == [-71870673923814400] to be truthy but was false
|
29
|
+
fails "String#unpack with format 'q' decodes one long for a single format character" # Expected [7523094288207667000] == [7523094288207668000] to be truthy but was false
|
30
|
+
fails "String#unpack with format 'q' decodes the number of longs requested by the count modifier" # Expected [7523094283929477000, 7378418357791582000] == [7523094283929478000, 7378418357791582000] to be truthy but was false
|
31
|
+
fails "String#unpack with format 'q' decodes two longs for two format characters" # Expected [7233738012216484000, 7233733596956420000] == [7233738012216485000, 7233733596956420000] to be truthy but was false
|
32
|
+
fails "String#unpack with format 'q' ignores NULL bytes between directives" # Expected [7523094288207667000, 7233738012216484000] == [7523094288207668000, 7233738012216485000] to be truthy but was false
|
33
|
+
fails "String#unpack with format 'q' ignores spaces between directives" # Expected [7523094288207667000, 7233738012216484000] == [7523094288207668000, 7233738012216485000] to be truthy but was false
|
34
|
+
fails "String#unpack with format 'q' with modifier '<' decodes a long with most significant bit set as a negative number" # Expected [-71870673923813380] == [-71870673923814400] to be truthy but was false
|
35
|
+
fails "String#unpack with format 'q' with modifier '<' decodes one long for a single format character" # Expected [7523094288207667000] == [7523094288207668000] to be truthy but was false
|
36
|
+
fails "String#unpack with format 'q' with modifier '<' decodes the number of longs requested by the count modifier" # Expected [7523094283929477000, 7378418357791582000] == [7523094283929478000, 7378418357791582000] to be truthy but was false
|
37
|
+
fails "String#unpack with format 'q' with modifier '<' decodes two longs for two format characters" # Expected [7233738012216484000, 7233733596956420000] == [7233738012216485000, 7233733596956420000] to be truthy but was false
|
38
|
+
fails "String#unpack with format 'q' with modifier '<' ignores NULL bytes between directives" # Expected [7523094288207667000, 7233738012216484000] == [7523094288207668000, 7233738012216485000] to be truthy but was false
|
39
|
+
fails "String#unpack with format 'q' with modifier '<' ignores spaces between directives" # Expected [7523094288207667000, 7233738012216484000] == [7523094288207668000, 7233738012216485000] to be truthy but was false
|
40
|
+
fails "String#unpack with format 'q' with modifier '>' decodes a long with most significant bit set as a negative number" # Expected [-71870673923813380] == [-71870673923814400] to be truthy but was false
|
41
|
+
fails "String#unpack with format 'q' with modifier '>' decodes one long for a single format character" # Expected [7523094288207667000] == [7523094288207668000] to be truthy but was false
|
42
|
+
fails "String#unpack with format 'q' with modifier '>' decodes the number of longs requested by the count modifier" # Expected [7523094283929477000, 7378418357791582000] == [7523094283929478000, 7378418357791582000] to be truthy but was false
|
43
|
+
fails "String#unpack with format 'q' with modifier '>' decodes two longs for two format characters" # Expected [7233738012216484000, 7233733596956420000] == [7233738012216485000, 7233733596956420000] to be truthy but was false
|
44
|
+
fails "String#unpack with format 'q' with modifier '>' ignores NULL bytes between directives" # Expected [7523094288207667000, 7233738012216484000] == [7523094288207668000, 7233738012216485000] to be truthy but was false
|
45
|
+
fails "String#unpack with format 'q' with modifier '>' ignores spaces between directives" # Expected [7523094288207667000, 7233738012216484000] == [7523094288207668000, 7233738012216485000] to be truthy but was false
|
46
|
+
fails "String#unpack with format 'u' decodes into raw (ascii) string values" # Expected #<Encoding:UTF-8> == #<Encoding:ASCII-8BIT> to be truthy but was false
|
47
47
|
end
|
48
48
|
|
49
49
|
opal_filter "Array#pack" do
|
50
50
|
fails "Array#pack with format 'A' calls #to_str to coerce the directives string" # RuntimeError: Unsupported pack directive "x" (no chunk reader defined)
|
51
|
-
fails "Array#pack with format 'A' returns a string in encoding of common to the concatenated results" # RuntimeError: Unsupported pack directive "
|
51
|
+
fails "Array#pack with format 'A' returns a string in encoding of common to the concatenated results" # RuntimeError: Unsupported pack directive "u" (no chunk reader defined)
|
52
52
|
fails "Array#pack with format 'C' calls #to_str to coerce the directives string" # RuntimeError: Unsupported pack directive "x" (no chunk reader defined)
|
53
53
|
fails "Array#pack with format 'L' calls #to_str to coerce the directives string" # RuntimeError: Unsupported pack directive "x" (no chunk reader defined)
|
54
54
|
fails "Array#pack with format 'L' with modifier '>' and '!' calls #to_int to convert the pack argument to an Integer" # Mock 'to_int' expected to receive to_int("any_args") exactly 1 times but received it 0 times
|
@@ -67,7 +67,7 @@ opal_filter "Array#pack" do
|
|
67
67
|
fails "Array#pack with format 'L' with modifier '>' and '_' encodes the number of array elements specified by the count modifier" # RuntimeError: Unsupported pack directive "L>" (no chunk reader defined)
|
68
68
|
fails "Array#pack with format 'L' with modifier '>' and '_' ignores NULL bytes between directives" # RuntimeError: Unsupported pack directive "L>" (no chunk reader defined)
|
69
69
|
fails "Array#pack with format 'L' with modifier '>' and '_' ignores spaces between directives" # RuntimeError: Unsupported pack directive "L>" (no chunk reader defined)
|
70
|
-
fails "Array#pack with format 'L' with modifier '>' calls #to_int to convert the pack argument to an Integer" # Mock 'to_int' expected to receive
|
70
|
+
fails "Array#pack with format 'L' with modifier '>' calls #to_int to convert the pack argument to an Integer" # Mock 'to_int' expected to receive to_int("any_args") exactly 1 times but received it 0 times
|
71
71
|
fails "Array#pack with format 'L' with modifier '>' encodes a Float truncated as an Integer" # RuntimeError: Unsupported pack directive "L>" (no chunk reader defined)
|
72
72
|
fails "Array#pack with format 'L' with modifier '>' encodes all remaining elements when passed the '*' modifier" # RuntimeError: Unsupported pack directive "L>" (no chunk reader defined)
|
73
73
|
fails "Array#pack with format 'L' with modifier '>' encodes the least significant 32 bits of a negative number" # RuntimeError: Unsupported pack directive "L>" (no chunk reader defined)
|
@@ -76,10 +76,10 @@ opal_filter "Array#pack" do
|
|
76
76
|
fails "Array#pack with format 'L' with modifier '>' ignores NULL bytes between directives" # RuntimeError: Unsupported pack directive "L>" (no chunk reader defined)
|
77
77
|
fails "Array#pack with format 'L' with modifier '>' ignores spaces between directives" # RuntimeError: Unsupported pack directive "L>" (no chunk reader defined)
|
78
78
|
fails "Array#pack with format 'U' calls #to_str to coerce the directives string" # RuntimeError: Unsupported pack directive "x" (no chunk reader defined)
|
79
|
-
fails "Array#pack with format 'U' encodes values larger than UTF-8 max codepoints" #
|
79
|
+
fails "Array#pack with format 'U' encodes values larger than UTF-8 max codepoints" # RangeError: value out of range
|
80
80
|
fails "Array#pack with format 'U' raises a TypeError if #to_int does not return an Integer" # Expected TypeError but no exception was raised ("\u0005" was returned)
|
81
81
|
fails "Array#pack with format 'a' calls #to_str to coerce the directives string" # RuntimeError: Unsupported pack directive "x" (no chunk reader defined)
|
82
|
-
fails "Array#pack with format 'a' returns a string in encoding of common to the concatenated results" # RuntimeError: Unsupported pack directive "
|
82
|
+
fails "Array#pack with format 'a' returns a string in encoding of common to the concatenated results" # RuntimeError: Unsupported pack directive "u" (no chunk reader defined)
|
83
83
|
fails "Array#pack with format 'c' calls #to_str to coerce the directives string" # RuntimeError: Unsupported pack directive "x" (no chunk reader defined)
|
84
84
|
fails "Array#pack with format 'l' calls #to_str to coerce the directives string" # RuntimeError: Unsupported pack directive "x" (no chunk reader defined)
|
85
85
|
fails "Array#pack with format 'l' with modifier '>' and '!' calls #to_int to convert the pack argument to an Integer" # Mock 'to_int' expected to receive to_int("any_args") exactly 1 times but received it 0 times
|
@@ -98,7 +98,7 @@ opal_filter "Array#pack" do
|
|
98
98
|
fails "Array#pack with format 'l' with modifier '>' and '_' encodes the number of array elements specified by the count modifier" # RuntimeError: Unsupported pack directive "l>" (no chunk reader defined)
|
99
99
|
fails "Array#pack with format 'l' with modifier '>' and '_' ignores NULL bytes between directives" # RuntimeError: Unsupported pack directive "l>" (no chunk reader defined)
|
100
100
|
fails "Array#pack with format 'l' with modifier '>' and '_' ignores spaces between directives" # RuntimeError: Unsupported pack directive "l>" (no chunk reader defined)
|
101
|
-
fails "Array#pack with format 'l' with modifier '>' calls #to_int to convert the pack argument to an Integer" # Mock 'to_int' expected to receive
|
101
|
+
fails "Array#pack with format 'l' with modifier '>' calls #to_int to convert the pack argument to an Integer" # Mock 'to_int' expected to receive to_int("any_args") exactly 1 times but received it 0 times
|
102
102
|
fails "Array#pack with format 'l' with modifier '>' encodes a Float truncated as an Integer" # RuntimeError: Unsupported pack directive "l>" (no chunk reader defined)
|
103
103
|
fails "Array#pack with format 'l' with modifier '>' encodes all remaining elements when passed the '*' modifier" # RuntimeError: Unsupported pack directive "l>" (no chunk reader defined)
|
104
104
|
fails "Array#pack with format 'l' with modifier '>' encodes the least significant 32 bits of a negative number" # RuntimeError: Unsupported pack directive "l>" (no chunk reader defined)
|
@@ -108,7 +108,7 @@ opal_filter "Array#pack" do
|
|
108
108
|
fails "Array#pack with format 'l' with modifier '>' ignores spaces between directives" # RuntimeError: Unsupported pack directive "l>" (no chunk reader defined)
|
109
109
|
fails "Array#pack with format 'u' appends a newline to the end of the encoded string" # RuntimeError: Unsupported pack directive "u" (no chunk reader defined)
|
110
110
|
fails "Array#pack with format 'u' calls #to_str to coerce the directives string" # RuntimeError: Unsupported pack directive "x" (no chunk reader defined)
|
111
|
-
fails "Array#pack with format 'u' calls #to_str to convert an object to a String" # Mock 'pack m string' expected to receive
|
111
|
+
fails "Array#pack with format 'u' calls #to_str to convert an object to a String" # Mock 'pack m string' expected to receive to_str("any_args") exactly 1 times but received it 0 times
|
112
112
|
fails "Array#pack with format 'u' emits a newline after complete groups of count / 3 input characters when passed a count modifier" # RuntimeError: Unsupported pack directive "u" (no chunk reader defined)
|
113
113
|
fails "Array#pack with format 'u' encodes 1, 2, or 3 characters in 4 output characters (uuencoding)" # RuntimeError: Unsupported pack directive "u" (no chunk reader defined)
|
114
114
|
fails "Array#pack with format 'u' encodes all ascii characters" # RuntimeError: Unsupported pack directive "u" (no chunk reader defined)
|
@@ -117,9 +117,9 @@ opal_filter "Array#pack" do
|
|
117
117
|
fails "Array#pack with format 'u' ignores whitespace in the format string" # RuntimeError: Unsupported pack directive "u" (no chunk reader defined)
|
118
118
|
fails "Array#pack with format 'u' implicitly has a count of 45 when passed '*', 0, 1, 2 or no count modifier" # RuntimeError: Unsupported pack directive "u" (no chunk reader defined)
|
119
119
|
fails "Array#pack with format 'u' prepends the length of each segment of the input string as the first character (+32) in each line of the output" # RuntimeError: Unsupported pack directive "u" (no chunk reader defined)
|
120
|
-
fails "Array#pack with format 'u' raises a TypeError if #to_str does not return a String" #
|
121
|
-
fails "Array#pack with format 'u' raises a TypeError if passed an Integer" #
|
122
|
-
fails "Array#pack with format 'u' raises a TypeError if passed nil" #
|
123
|
-
fails "Array#pack with format 'u' raises an ArgumentError if there are fewer elements than the format requires" #
|
120
|
+
fails "Array#pack with format 'u' raises a TypeError if #to_str does not return a String" # Expected TypeError but got: RuntimeError (Unsupported pack directive "u" (no chunk reader defined))
|
121
|
+
fails "Array#pack with format 'u' raises a TypeError if passed an Integer" # Expected TypeError but got: RuntimeError (Unsupported pack directive "u" (no chunk reader defined))
|
122
|
+
fails "Array#pack with format 'u' raises a TypeError if passed nil" # Expected TypeError but got: RuntimeError (Unsupported pack directive "u" (no chunk reader defined))
|
123
|
+
fails "Array#pack with format 'u' raises an ArgumentError if there are fewer elements than the format requires" # Expected ArgumentError but got: RuntimeError (Unsupported pack directive "u" (no chunk reader defined))
|
124
124
|
fails "Array#pack with format 'u' sets the output string to US-ASCII encoding" # RuntimeError: Unsupported pack directive "u" (no chunk reader defined)
|
125
125
|
end
|
@@ -1,10 +1,10 @@
|
|
1
1
|
# NOTE: run bin/format-filters after changing this file
|
2
2
|
opal_filter "Pathname" do
|
3
|
-
fails "Pathname#/ appends a pathname to self" # NoMethodError: undefined method `/' for /usr
|
4
|
-
fails "Pathname#inspect returns a consistent String" # Expected "/tmp" == "#<Pathname:/tmp>" to be truthy but was false
|
5
|
-
fails "Pathname#realdirpath returns a Pathname"
|
6
|
-
fails "Pathname#realpath returns a Pathname"
|
7
|
-
fails "Pathname#relative_path_from raises an error when the base directory has .."
|
8
|
-
fails "Pathname#relative_path_from raises an error when the two paths do not share a common prefix"
|
9
|
-
fails "Pathname#relative_path_from returns current and pattern when only those patterns are used"
|
3
|
+
fails "Pathname#/ appends a pathname to self" # NoMethodError: undefined method `/' for #<Pathname:0xb5bd8 @path="/usr">
|
4
|
+
fails "Pathname#inspect returns a consistent String" # Expected "#<Pathname:0x1e50 @path=\"/tmp\">" == "#<Pathname:/tmp>" to be truthy but was false
|
5
|
+
fails "Pathname#realdirpath returns a Pathname" # NoMethodError: undefined method `realdirpath' for #<Pathname:0x1380 @path=".">
|
6
|
+
fails "Pathname#realpath returns a Pathname" # NoMethodError: undefined method `realpath' for #<Pathname:0xaa902 @path=".">
|
7
|
+
fails "Pathname#relative_path_from raises an error when the base directory has .." # Expected ArgumentError but no exception was raised ("a" was returned)
|
8
|
+
fails "Pathname#relative_path_from raises an error when the two paths do not share a common prefix" # Expected ArgumentError but no exception was raised ("../usr" was returned)
|
9
|
+
fails "Pathname#relative_path_from returns current and pattern when only those patterns are used" # Expected "." == ".." to be truthy but was false
|
10
10
|
end
|
data/spec/filters/bugs/proc.rb
CHANGED
@@ -1,75 +1,75 @@
|
|
1
1
|
# NOTE: run bin/format-filters after changing this file
|
2
2
|
opal_filter "Proc" do
|
3
|
-
fails "Proc#<< composition is a lambda when parameter is lambda" #
|
4
|
-
fails "Proc#<< does not try to coerce argument with #to_proc" # Expected TypeError (callable object is expected) but
|
5
|
-
fails "Proc#<< raises TypeError if passed not callable object" # Expected TypeError (callable object is expected) but
|
3
|
+
fails "Proc#<< composition is a lambda when parameter is lambda" # Expected #<Proc:0x58f9a>.lambda? to be truthy but was false
|
4
|
+
fails "Proc#<< does not try to coerce argument with #to_proc" # Expected TypeError (callable object is expected) but no exception was raised (#<Proc:0x58f4c> was returned)
|
5
|
+
fails "Proc#<< raises TypeError if passed not callable object" # Expected TypeError (callable object is expected) but no exception was raised (#<Proc:0x58f74> was returned)
|
6
6
|
fails "Proc#== is a public method" # Expected Proc to have public instance method '==' but it does not
|
7
7
|
fails "Proc#== returns true if other is a dup of the original" # Expected false to be true
|
8
|
-
fails "Proc#=== can call its block argument declared with a block argument" # Expected 6 to
|
8
|
+
fails "Proc#=== can call its block argument declared with a block argument" # Expected 6 == 10 to be truthy but was false
|
9
9
|
fails "Proc#=== on a Proc created with Kernel#lambda or Kernel#proc ignores excess arguments when self is a proc" # ArgumentError: expected kwargs
|
10
|
-
fails "Proc#=== yields to the block given at declaration and not to the block argument" # Expected 3 to
|
11
|
-
fails "Proc#>> composition is a lambda when self is lambda" #
|
12
|
-
fails "Proc#>> does not try to coerce argument with #to_proc" # Expected TypeError (callable object is expected) but
|
13
|
-
fails "Proc#>> raises TypeError if passed not callable object" # Expected TypeError (callable object is expected) but
|
14
|
-
fails "Proc#[] can call its block argument declared with a block argument" # Expected 6 to
|
15
|
-
fails "Proc#[] yields to the block given at declaration and not to the block argument" # Expected 3 to
|
16
|
-
fails "Proc#arity for instances created with proc { || } returns positive values for definition \n @a = proc { |(a, (*b, c)), d=1| }\n @b = proc { |a, (*b, c), d, (*e), (*), **k| }"
|
17
|
-
fails "Proc#arity for instances created with proc { || } returns positive values for definition \n @a = proc { |a, b=1| }\n @b = proc { |a, b, c=1, d=2| }"
|
18
|
-
fails "Proc#arity for instances created with proc { || } returns zero for definition \n @a = proc { |**k, &l| }\n @b = proc { |a: 1, b: 2, **k| }"
|
19
|
-
fails "Proc#arity for instances created with proc { || } returns zero for definition \n @a = proc { |a: 1| }\n @b = proc { |a: 1, b: 2| }"
|
20
|
-
fails "Proc#arity for instances created with proc { || } returns zero for definition \n @a = proc { |a=1, b: 2| }\n @b = proc { |a=1, b: 2| }"
|
21
|
-
fails "Proc#arity for instances created with proc { || } returns zero for definition \n @a = proc { |a=1| }\n @b = proc { |a=1, b=2| }"
|
22
|
-
fails "Proc#binding returns the binding associated with self"
|
23
|
-
fails "Proc#call can call its block argument declared with a block argument" # Expected 6 to
|
10
|
+
fails "Proc#=== yields to the block given at declaration and not to the block argument" # Expected 3 == 7 to be truthy but was false
|
11
|
+
fails "Proc#>> composition is a lambda when self is lambda" # Expected #<Proc:0x5903a>.lambda? to be truthy but was false
|
12
|
+
fails "Proc#>> does not try to coerce argument with #to_proc" # Expected TypeError (callable object is expected) but no exception was raised (#<Proc:0x58fe8> was returned)
|
13
|
+
fails "Proc#>> raises TypeError if passed not callable object" # Expected TypeError (callable object is expected) but no exception was raised (#<Proc:0x59010> was returned)
|
14
|
+
fails "Proc#[] can call its block argument declared with a block argument" # Expected 6 == 10 to be truthy but was false
|
15
|
+
fails "Proc#[] yields to the block given at declaration and not to the block argument" # Expected 3 == 7 to be truthy but was false
|
16
|
+
fails "Proc#arity for instances created with proc { || } returns positive values for definition \n @a = proc { |(a, (*b, c)), d=1| }\n @b = proc { |a, (*b, c), d, (*e), (*), **k| }" # Expected -2 == 1 to be truthy but was false
|
17
|
+
fails "Proc#arity for instances created with proc { || } returns positive values for definition \n @a = proc { |a, b=1| }\n @b = proc { |a, b, c=1, d=2| }" # Expected -2 == 1 to be truthy but was false
|
18
|
+
fails "Proc#arity for instances created with proc { || } returns zero for definition \n @a = proc { |**k, &l| }\n @b = proc { |a: 1, b: 2, **k| }" # Expected -1 == 0 to be truthy but was false
|
19
|
+
fails "Proc#arity for instances created with proc { || } returns zero for definition \n @a = proc { |a: 1| }\n @b = proc { |a: 1, b: 2| }" # Expected -1 == 0 to be truthy but was false
|
20
|
+
fails "Proc#arity for instances created with proc { || } returns zero for definition \n @a = proc { |a=1, b: 2| }\n @b = proc { |a=1, b: 2| }" # Expected -1 == 0 to be truthy but was false
|
21
|
+
fails "Proc#arity for instances created with proc { || } returns zero for definition \n @a = proc { |a=1| }\n @b = proc { |a=1, b=2| }" # Expected -1 == 0 to be truthy but was false
|
22
|
+
fails "Proc#binding returns the binding associated with self" # RuntimeError: Evaluation on a Proc#binding is not supported
|
23
|
+
fails "Proc#call can call its block argument declared with a block argument" # Expected 6 == 10 to be truthy but was false
|
24
24
|
fails "Proc#call on a Proc created with Kernel#lambda or Kernel#proc ignores excess arguments when self is a proc" # ArgumentError: expected kwargs
|
25
|
-
fails "Proc#call yields to the block given at declaration and not to the block argument" # Expected 3 to
|
26
|
-
fails "Proc#curry with arity argument returns Procs with arities of -1 regardless of the value of _arity_"
|
25
|
+
fails "Proc#call yields to the block given at declaration and not to the block argument" # Expected 3 == 7 to be truthy but was false
|
26
|
+
fails "Proc#curry with arity argument returns Procs with arities of -1 regardless of the value of _arity_" # ArgumentError: wrong number of arguments (3 for 1)
|
27
27
|
fails "Proc#curry with arity argument returns a Proc if called on a lambda that requires fewer than _arity_ arguments but may take more" # ArgumentError: wrong number of arguments (4 for 5)
|
28
28
|
fails "Proc#eql? is a public method" # Expected Proc to have public instance method 'eql?' but it does not
|
29
29
|
fails "Proc#eql? returns true if other is a dup of the original" # Expected false to be true
|
30
|
-
fails "Proc#inspect for a proc created with Proc.new has a binary encoding" # Expected #<Encoding:UTF-
|
31
|
-
fails "Proc#inspect for a proc created with Proc.new returns a description including file and line number" # Expected "#<Proc:
|
32
|
-
fails "Proc#inspect for a proc created with Symbol#to_proc has a binary encoding" # Expected #<Encoding:UTF-
|
33
|
-
fails "Proc#inspect for a proc created with Symbol#to_proc returns a description including '(&:symbol)'" # Expected "#<Proc:
|
34
|
-
fails "Proc#inspect for a proc created with UnboundMethod#to_proc has a binary encoding" # Expected #<Encoding:UTF-
|
35
|
-
fails "Proc#inspect for a proc created with UnboundMethod#to_proc returns a description including '(lambda)' and optionally including file and line number"
|
36
|
-
fails "Proc#inspect for a proc created with lambda has a binary encoding" # Expected #<Encoding:UTF-
|
37
|
-
fails "Proc#inspect for a proc created with lambda returns a description including '(lambda)' and including file and line number" # Expected "#<Proc:
|
38
|
-
fails "Proc#inspect for a proc created with proc has a binary encoding" # Expected #<Encoding:UTF-
|
39
|
-
fails "Proc#inspect for a proc created with proc returns a description including file and line number" # Expected "#<Proc:
|
40
|
-
fails "Proc#lambda? is preserved when passing a Proc with & to the lambda keyword"
|
41
|
-
fails "Proc#lambda? is preserved when passing a Proc with & to the proc keyword"
|
42
|
-
fails "Proc#ruby2_keywords
|
43
|
-
fails "Proc#ruby2_keywords
|
44
|
-
fails "Proc#ruby2_keywords prints warning when a proc accepts
|
45
|
-
fails "Proc#ruby2_keywords prints warning when a proc
|
46
|
-
fails "Proc#ruby2_keywords
|
47
|
-
fails "Proc#source_location returns an Array"
|
48
|
-
fails "Proc#source_location returns the same value for a proc-ified method as the method reports" # Expected ["ruby/core/proc/fixtures/source_location.rb", 3] to
|
49
|
-
fails "Proc#source_location sets the first value to the path of the file in which the proc was defined"
|
30
|
+
fails "Proc#inspect for a proc created with Proc.new has a binary encoding" # Expected #<Encoding:UTF-8> == #<Encoding:ASCII-8BIT> to be truthy but was false
|
31
|
+
fails "Proc#inspect for a proc created with Proc.new returns a description including file and line number" # Expected "#<Proc:0x122d8>" =~ /^#<Proc:([^ ]*?) ruby\/core\/proc\/shared\/to_s\.rb:4>$/ to be truthy but was nil
|
32
|
+
fails "Proc#inspect for a proc created with Symbol#to_proc has a binary encoding" # Expected #<Encoding:UTF-8> == #<Encoding:ASCII-8BIT> to be truthy but was false
|
33
|
+
fails "Proc#inspect for a proc created with Symbol#to_proc returns a description including '(&:symbol)'" # Expected "#<Proc:0x12484>".include? "(&:foobar)" to be truthy but was false
|
34
|
+
fails "Proc#inspect for a proc created with UnboundMethod#to_proc has a binary encoding" # Expected #<Encoding:UTF-8> == #<Encoding:ASCII-8BIT> to be truthy but was false
|
35
|
+
fails "Proc#inspect for a proc created with UnboundMethod#to_proc returns a description including '(lambda)' and optionally including file and line number" # Expected "#<Proc:0x1241a>" =~ /^#<Proc:([^ ]*?) \(lambda\)>$/ to be truthy but was nil
|
36
|
+
fails "Proc#inspect for a proc created with lambda has a binary encoding" # Expected #<Encoding:UTF-8> == #<Encoding:ASCII-8BIT> to be truthy but was false
|
37
|
+
fails "Proc#inspect for a proc created with lambda returns a description including '(lambda)' and including file and line number" # Expected "#<Proc:0x12342>" =~ /^#<Proc:([^ ]*?) ruby\/core\/proc\/shared\/to_s\.rb:14 \(lambda\)>$/ to be truthy but was nil
|
38
|
+
fails "Proc#inspect for a proc created with proc has a binary encoding" # Expected #<Encoding:UTF-8> == #<Encoding:ASCII-8BIT> to be truthy but was false
|
39
|
+
fails "Proc#inspect for a proc created with proc returns a description including file and line number" # Expected "#<Proc:0x123ac>" =~ /^#<Proc:([^ ]*?) ruby\/core\/proc\/shared\/to_s\.rb:24>$/ to be truthy but was nil
|
40
|
+
fails "Proc#lambda? is preserved when passing a Proc with & to the lambda keyword" # Expected true to be false
|
41
|
+
fails "Proc#lambda? is preserved when passing a Proc with & to the proc keyword" # Expected false to be true
|
42
|
+
fails "Proc#ruby2_keywords applies to the underlying method and applies across duplication" # Expected false == true to be truthy but was false
|
43
|
+
fails "Proc#ruby2_keywords marks the final hash argument as keyword hash" # Expected false == true to be truthy but was false
|
44
|
+
fails "Proc#ruby2_keywords prints warning when a proc accepts keyword splat" # Expected warning to match: /Skipping set of ruby2_keywords flag for/ but got: ""
|
45
|
+
fails "Proc#ruby2_keywords prints warning when a proc accepts keywords" # Expected warning to match: /Skipping set of ruby2_keywords flag for/ but got: ""
|
46
|
+
fails "Proc#ruby2_keywords prints warning when a proc does not accept argument splat" # Expected warning to match: /Skipping set of ruby2_keywords flag for/ but got: ""
|
47
|
+
fails "Proc#source_location returns an Array" # Expected nil (NilClass) to be an instance of Array
|
48
|
+
fails "Proc#source_location returns the same value for a proc-ified method as the method reports" # Expected ["ruby/core/proc/fixtures/source_location.rb", 3] == nil to be truthy but was false
|
49
|
+
fails "Proc#source_location sets the first value to the path of the file in which the proc was defined" # Expected "ruby/core/proc/fixtures/source_location.rb" == "./ruby/core/proc/fixtures/source_location.rb" to be truthy but was false
|
50
50
|
fails "Proc#source_location sets the last value to an Integer representing the line on which the proc was defined" # NoMethodError: undefined method `last' for nil
|
51
|
-
fails "Proc#to_s for a proc created with Proc.new has a binary encoding" # Expected #<Encoding:UTF-
|
52
|
-
fails "Proc#to_s for a proc created with Proc.new returns a description including file and line number" # Expected "#<Proc:
|
53
|
-
fails "Proc#to_s for a proc created with Symbol#to_proc has a binary encoding" # Expected #<Encoding:UTF-
|
54
|
-
fails "Proc#to_s for a proc created with Symbol#to_proc returns a description including '(&:symbol)'" # Expected "#<Proc:
|
55
|
-
fails "Proc#to_s for a proc created with UnboundMethod#to_proc has a binary encoding" # Expected #<Encoding:UTF-
|
56
|
-
fails "Proc#to_s for a proc created with UnboundMethod#to_proc returns a description including '(lambda)' and optionally including file and line number"
|
57
|
-
fails "Proc#to_s for a proc created with lambda has a binary encoding" # Expected #<Encoding:UTF-
|
58
|
-
fails "Proc#to_s for a proc created with lambda returns a description including '(lambda)' and including file and line number" # Expected "#<Proc:
|
59
|
-
fails "Proc#to_s for a proc created with proc has a binary encoding" # Expected #<Encoding:UTF-
|
60
|
-
fails "Proc#to_s for a proc created with proc returns a description including file and line number" # Expected "#<Proc:
|
61
|
-
fails "Proc#yield can call its block argument declared with a block argument" # Expected 6 to
|
51
|
+
fails "Proc#to_s for a proc created with Proc.new has a binary encoding" # Expected #<Encoding:UTF-8> == #<Encoding:ASCII-8BIT> to be truthy but was false
|
52
|
+
fails "Proc#to_s for a proc created with Proc.new returns a description including file and line number" # Expected "#<Proc:0x5813e>" =~ /^#<Proc:([^ ]*?) ruby\/core\/proc\/shared\/to_s\.rb:4>$/ to be truthy but was nil
|
53
|
+
fails "Proc#to_s for a proc created with Symbol#to_proc has a binary encoding" # Expected #<Encoding:UTF-8> == #<Encoding:ASCII-8BIT> to be truthy but was false
|
54
|
+
fails "Proc#to_s for a proc created with Symbol#to_proc returns a description including '(&:symbol)'" # Expected "#<Proc:0x582ea>".include? "(&:foobar)" to be truthy but was false
|
55
|
+
fails "Proc#to_s for a proc created with UnboundMethod#to_proc has a binary encoding" # Expected #<Encoding:UTF-8> == #<Encoding:ASCII-8BIT> to be truthy but was false
|
56
|
+
fails "Proc#to_s for a proc created with UnboundMethod#to_proc returns a description including '(lambda)' and optionally including file and line number" # Expected "#<Proc:0x58280>" =~ /^#<Proc:([^ ]*?) \(lambda\)>$/ to be truthy but was nil
|
57
|
+
fails "Proc#to_s for a proc created with lambda has a binary encoding" # Expected #<Encoding:UTF-8> == #<Encoding:ASCII-8BIT> to be truthy but was false
|
58
|
+
fails "Proc#to_s for a proc created with lambda returns a description including '(lambda)' and including file and line number" # Expected "#<Proc:0x581a8>" =~ /^#<Proc:([^ ]*?) ruby\/core\/proc\/shared\/to_s\.rb:14 \(lambda\)>$/ to be truthy but was nil
|
59
|
+
fails "Proc#to_s for a proc created with proc has a binary encoding" # Expected #<Encoding:UTF-8> == #<Encoding:ASCII-8BIT> to be truthy but was false
|
60
|
+
fails "Proc#to_s for a proc created with proc returns a description including file and line number" # Expected "#<Proc:0x58212>" =~ /^#<Proc:([^ ]*?) ruby\/core\/proc\/shared\/to_s\.rb:24>$/ to be truthy but was nil
|
61
|
+
fails "Proc#yield can call its block argument declared with a block argument" # Expected 6 == 10 to be truthy but was false
|
62
62
|
fails "Proc#yield on a Proc created with Kernel#lambda or Kernel#proc ignores excess arguments when self is a proc" # ArgumentError: expected kwargs
|
63
|
-
fails "Proc#yield yields to the block given at declaration and not to the block argument" # Expected 3 to
|
64
|
-
fails "Proc.allocate raises a TypeError"
|
65
|
-
fails "Proc.new with a block argument called indirectly from a subclass returns the passed proc created from a block"
|
66
|
-
fails "Proc.new with a block argument called indirectly from a subclass returns the passed proc created from a method"
|
67
|
-
fails "Proc.new with a block argument called indirectly from a subclass returns the passed proc created from a symbol"
|
68
|
-
fails "Proc.new with an associated block called on a subclass of Proc returns an instance of the subclass"
|
69
|
-
fails "Proc.new with an associated block called on a subclass of Proc that does not 'super' in 'initialize' still constructs a functional proc"
|
70
|
-
fails "Proc.new with an associated block called on a subclass of Proc using a reified block parameter returns an instance of the subclass"
|
71
|
-
fails "Proc.new with an associated block calls initialize on the Proc object"
|
72
|
-
fails "Proc.new with an associated block raises a LocalJumpError when context of the block no longer exists"
|
73
|
-
fails "Proc.new with an associated block returns a subclass of Proc"
|
74
|
-
fails "Proc.new without a block raises an ArgumentError when passed no block" # Expected ArgumentError (tried to create Proc object without a block) but got: ArgumentError (tried to create a Proc object without a block)
|
63
|
+
fails "Proc#yield yields to the block given at declaration and not to the block argument" # Expected 3 == 7 to be truthy but was false
|
64
|
+
fails "Proc.allocate raises a TypeError" # Expected TypeError but no exception was raised (#<Proc:0x38dee> was returned)
|
65
|
+
fails "Proc.new with a block argument called indirectly from a subclass returns the passed proc created from a block" # Expected Proc == ProcSpecs::MyProc to be truthy but was false
|
66
|
+
fails "Proc.new with a block argument called indirectly from a subclass returns the passed proc created from a method" # Expected Proc == ProcSpecs::MyProc to be truthy but was false
|
67
|
+
fails "Proc.new with a block argument called indirectly from a subclass returns the passed proc created from a symbol" # Expected Proc == ProcSpecs::MyProc to be truthy but was false
|
68
|
+
fails "Proc.new with an associated block called on a subclass of Proc returns an instance of the subclass" # Expected Proc == #<Class:0x3fc14> to be truthy but was false
|
69
|
+
fails "Proc.new with an associated block called on a subclass of Proc that does not 'super' in 'initialize' still constructs a functional proc" # NoMethodError: undefined method `ok' for #<Proc:0x3fc56>
|
70
|
+
fails "Proc.new with an associated block called on a subclass of Proc using a reified block parameter returns an instance of the subclass" # Expected Proc == #<Class:0x3fc3e> to be truthy but was false
|
71
|
+
fails "Proc.new with an associated block calls initialize on the Proc object" # ArgumentError: [MyProc2.new] wrong number of arguments (given 2, expected 0)
|
72
|
+
fails "Proc.new with an associated block raises a LocalJumpError when context of the block no longer exists" # Expected LocalJumpError but got: Exception (unexpected return)
|
73
|
+
fails "Proc.new with an associated block returns a subclass of Proc" # Expected #<Proc:0x3fbfc> (Proc) to be kind of ProcSpecs::MyProc
|
74
|
+
fails "Proc.new without a block raises an ArgumentError when passed no block" # Expected ArgumentError (tried to create Proc object without a block) but got: ArgumentError (tried to create a Proc object without a block)
|
75
75
|
end
|
data/spec/filters/bugs/random.rb
CHANGED
@@ -1,12 +1,13 @@
|
|
1
1
|
# NOTE: run bin/format-filters after changing this file
|
2
2
|
opal_filter "Random" do
|
3
|
-
fails "Random#bytes returns the same numeric output for a given huge seed across all implementations and platforms" # Expected "
|
4
|
-
fails "Random#bytes returns the same numeric output for a given seed across all implementations and platforms" # Expected "
|
3
|
+
fails "Random#bytes returns the same numeric output for a given huge seed across all implementations and platforms" # Expected "àË" == "_\x91" to be truthy but was false
|
4
|
+
fails "Random#bytes returns the same numeric output for a given seed across all implementations and platforms" # Expected "ç\x16" == "\x14\\" to be truthy but was false
|
5
|
+
fails "Random#rand with Range returns a float within a given float range" # Expected 51 == 37.454011884736246 to be truthy but was false
|
5
6
|
fails "Random#rand with Range supports custom object types" # Expected "NaN#<struct RandomSpecs::CustomRangeInteger value=1>" (String) to be an instance of RandomSpecs::CustomRangeInteger
|
6
|
-
fails "Random::DEFAULT changes seed on reboot" # NoMethodError: undefined method `
|
7
|
-
fails "Random::DEFAULT is deprecated" # Expected #<Random:
|
8
|
-
fails "Random::DEFAULT refers to the Random class" # Expected #<Random:
|
7
|
+
fails "Random::DEFAULT changes seed on reboot" # NoMethodError: undefined method `tmp' for #<MSpecEnv:0x24f62>
|
8
|
+
fails "Random::DEFAULT is deprecated" # Expected #<Random:0x158 @seed=32102, @state=3547213637002595>.equal? Random to be truthy but was false
|
9
|
+
fails "Random::DEFAULT refers to the Random class" # Expected #<Random:0x158 @seed=32102, @state=3547213637002595>.equal? Random to be truthy but was false
|
9
10
|
fails "SecureRandom.random_number generates a random float number between 0.0 and 1.0 if argument is negative float" # ArgumentError: invalid argument - -11.1
|
10
11
|
fails "SecureRandom.random_number generates a random float number between 0.0 and 1.0 if argument is negative" # ArgumentError: invalid argument - -10
|
11
|
-
fails "SecureRandom.random_number raises ArgumentError if the argument is non-numeric" # Expected ArgumentError but got: TypeError (no implicit conversion of Object into Integer)
|
12
|
+
fails "SecureRandom.random_number raises ArgumentError if the argument is non-numeric" # Expected ArgumentError but got: TypeError (no implicit conversion of Object into Integer)
|
12
13
|
end
|