opal 1.6.1 → 1.7.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (212) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/build.yml +17 -0
  3. data/CHANGELOG.md +35 -1
  4. data/Gemfile +1 -0
  5. data/HACKING.md +47 -26
  6. data/benchmark/benchmarks +415 -103
  7. data/benchmark/bm_call_overhead.yml +28 -0
  8. data/benchmark/run.rb +61 -40
  9. data/docs/cdp_common.json +3364 -0
  10. data/docs/cdp_common.md +18 -0
  11. data/docs/{headless_chrome.md → headless_browsers.md} +31 -12
  12. data/lib/opal/ast/builder.rb +1 -1
  13. data/lib/opal/builder.rb +6 -1
  14. data/lib/opal/builder_processors.rb +5 -3
  15. data/lib/opal/cache.rb +1 -7
  16. data/lib/opal/cli_options.rb +72 -58
  17. data/lib/opal/cli_runners/chrome.rb +47 -9
  18. data/lib/opal/cli_runners/chrome_cdp_interface.rb +238 -112
  19. data/lib/opal/cli_runners/compiler.rb +146 -13
  20. data/lib/opal/cli_runners/deno.rb +32 -0
  21. data/lib/opal/cli_runners/firefox.rb +350 -0
  22. data/lib/opal/cli_runners/firefox_cdp_interface.rb +212 -0
  23. data/lib/opal/cli_runners/node_modules/.bin/chrome-remote-interface.cmd +17 -0
  24. data/lib/opal/cli_runners/node_modules/.bin/chrome-remote-interface.ps1 +28 -0
  25. data/lib/opal/cli_runners/node_modules/.package-lock.json +41 -0
  26. data/lib/opal/cli_runners/node_modules/chrome-remote-interface/LICENSE +1 -1
  27. data/lib/opal/cli_runners/node_modules/chrome-remote-interface/README.md +322 -182
  28. data/lib/opal/cli_runners/node_modules/chrome-remote-interface/bin/client.js +99 -114
  29. data/lib/opal/cli_runners/node_modules/chrome-remote-interface/chrome-remote-interface.js +1 -11
  30. data/lib/opal/cli_runners/node_modules/chrome-remote-interface/index.js +16 -11
  31. data/lib/opal/cli_runners/node_modules/chrome-remote-interface/lib/api.js +41 -33
  32. data/lib/opal/cli_runners/node_modules/chrome-remote-interface/lib/chrome.js +224 -214
  33. data/lib/opal/cli_runners/node_modules/chrome-remote-interface/lib/devtools.js +71 -191
  34. data/lib/opal/cli_runners/node_modules/chrome-remote-interface/lib/external-request.js +26 -6
  35. data/lib/opal/cli_runners/node_modules/chrome-remote-interface/lib/protocol.json +20788 -9049
  36. data/lib/opal/cli_runners/node_modules/chrome-remote-interface/lib/websocket-wrapper.js +10 -3
  37. data/lib/opal/cli_runners/node_modules/chrome-remote-interface/package.json +59 -123
  38. data/lib/opal/cli_runners/node_modules/chrome-remote-interface/webpack.config.js +25 -32
  39. data/lib/opal/cli_runners/node_modules/commander/History.md +298 -0
  40. data/lib/opal/cli_runners/node_modules/commander/LICENSE +22 -0
  41. data/lib/opal/cli_runners/node_modules/commander/Readme.md +217 -61
  42. data/lib/opal/cli_runners/node_modules/commander/index.js +431 -145
  43. data/lib/opal/cli_runners/node_modules/commander/package.json +16 -79
  44. data/lib/opal/cli_runners/node_modules/ws/README.md +334 -98
  45. data/lib/opal/cli_runners/node_modules/ws/browser.js +8 -0
  46. data/lib/opal/cli_runners/node_modules/ws/index.js +5 -10
  47. data/lib/opal/cli_runners/node_modules/ws/lib/buffer-util.js +129 -0
  48. data/lib/opal/cli_runners/node_modules/ws/lib/constants.js +10 -0
  49. data/lib/opal/cli_runners/node_modules/ws/lib/event-target.js +184 -0
  50. data/lib/opal/cli_runners/node_modules/ws/lib/extension.js +223 -0
  51. data/lib/opal/cli_runners/node_modules/ws/lib/limiter.js +55 -0
  52. data/lib/opal/cli_runners/node_modules/ws/lib/permessage-deflate.js +518 -0
  53. data/lib/opal/cli_runners/node_modules/ws/lib/receiver.js +607 -0
  54. data/lib/opal/cli_runners/node_modules/ws/lib/sender.js +409 -0
  55. data/lib/opal/cli_runners/node_modules/ws/lib/stream.js +180 -0
  56. data/lib/opal/cli_runners/node_modules/ws/lib/validation.js +104 -0
  57. data/lib/opal/cli_runners/node_modules/ws/lib/websocket-server.js +447 -0
  58. data/lib/opal/cli_runners/node_modules/ws/lib/websocket.js +1195 -0
  59. data/lib/opal/cli_runners/node_modules/ws/package.json +40 -106
  60. data/lib/opal/cli_runners/package-lock.json +62 -0
  61. data/lib/opal/cli_runners/package.json +1 -1
  62. data/lib/opal/cli_runners.rb +26 -4
  63. data/lib/opal/nodes/args/prepare_post_args.rb +2 -2
  64. data/lib/opal/nodes/def.rb +8 -8
  65. data/lib/opal/nodes/iter.rb +12 -12
  66. data/lib/opal/nodes/logic.rb +1 -1
  67. data/lib/opal/nodes/masgn.rb +2 -2
  68. data/lib/opal/parser/with_ruby_lexer.rb +1 -1
  69. data/lib/opal/paths.rb +14 -0
  70. data/lib/opal/rewriter.rb +2 -0
  71. data/lib/opal/rewriters/forward_args.rb +52 -4
  72. data/lib/opal/rewriters/targeted_patches.rb +94 -0
  73. data/lib/opal/version.rb +1 -1
  74. data/opal/corelib/basic_object.rb +1 -1
  75. data/opal/corelib/boolean.rb +2 -2
  76. data/opal/corelib/class.rb +11 -0
  77. data/opal/corelib/constants.rb +3 -3
  78. data/opal/corelib/enumerable.rb +4 -0
  79. data/opal/corelib/enumerator.rb +1 -1
  80. data/opal/corelib/hash.rb +2 -2
  81. data/opal/corelib/helpers.rb +1 -1
  82. data/opal/corelib/kernel.rb +3 -3
  83. data/opal/corelib/method.rb +1 -1
  84. data/opal/corelib/module.rb +29 -8
  85. data/opal/corelib/proc.rb +7 -5
  86. data/opal/corelib/runtime.js +141 -78
  87. data/opal/corelib/set.rb +252 -0
  88. data/opal/corelib/string.rb +2 -1
  89. data/opal/corelib/time.rb +2 -2
  90. data/opal/opal.rb +1 -0
  91. data/opal.gemspec +1 -0
  92. data/spec/filters/bugs/array.rb +22 -13
  93. data/spec/filters/bugs/base64.rb +5 -5
  94. data/spec/filters/bugs/basicobject.rb +16 -8
  95. data/spec/filters/bugs/bigdecimal.rb +161 -160
  96. data/spec/filters/bugs/binding.rb +10 -10
  97. data/spec/filters/bugs/class.rb +8 -8
  98. data/spec/filters/bugs/complex.rb +2 -1
  99. data/spec/filters/bugs/date.rb +79 -81
  100. data/spec/filters/bugs/datetime.rb +29 -29
  101. data/spec/filters/bugs/delegate.rb +1 -3
  102. data/spec/filters/bugs/encoding.rb +69 -69
  103. data/spec/filters/bugs/enumerable.rb +22 -20
  104. data/spec/filters/bugs/enumerator.rb +88 -85
  105. data/spec/filters/bugs/exception.rb +46 -40
  106. data/spec/filters/bugs/file.rb +32 -32
  107. data/spec/filters/bugs/float.rb +26 -21
  108. data/spec/filters/bugs/freeze.rb +88 -0
  109. data/spec/filters/bugs/hash.rb +39 -38
  110. data/spec/filters/bugs/integer.rb +57 -44
  111. data/spec/filters/bugs/io.rb +1 -1
  112. data/spec/filters/bugs/kernel.rb +349 -269
  113. data/spec/filters/bugs/language.rb +220 -188
  114. data/spec/filters/bugs/main.rb +5 -3
  115. data/spec/filters/bugs/marshal.rb +38 -38
  116. data/spec/filters/bugs/math.rb +2 -1
  117. data/spec/filters/bugs/method.rb +73 -62
  118. data/spec/filters/bugs/module.rb +163 -143
  119. data/spec/filters/bugs/numeric.rb +6 -6
  120. data/spec/filters/bugs/objectspace.rb +16 -16
  121. data/spec/filters/bugs/openstruct.rb +1 -1
  122. data/spec/filters/bugs/pack_unpack.rb +51 -51
  123. data/spec/filters/bugs/pathname.rb +7 -7
  124. data/spec/filters/bugs/proc.rb +63 -63
  125. data/spec/filters/bugs/random.rb +7 -6
  126. data/spec/filters/bugs/range.rb +12 -9
  127. data/spec/filters/bugs/rational.rb +8 -7
  128. data/spec/filters/bugs/regexp.rb +49 -48
  129. data/spec/filters/bugs/ruby-32.rb +56 -0
  130. data/spec/filters/bugs/set.rb +30 -30
  131. data/spec/filters/bugs/singleton.rb +4 -4
  132. data/spec/filters/bugs/string.rb +187 -99
  133. data/spec/filters/bugs/stringio.rb +7 -0
  134. data/spec/filters/bugs/stringscanner.rb +68 -68
  135. data/spec/filters/bugs/struct.rb +11 -9
  136. data/spec/filters/bugs/symbol.rb +1 -1
  137. data/spec/filters/bugs/time.rb +78 -63
  138. data/spec/filters/bugs/trace_point.rb +4 -4
  139. data/spec/filters/bugs/unboundmethod.rb +32 -17
  140. data/spec/filters/bugs/warnings.rb +8 -12
  141. data/spec/filters/unsupported/array.rb +24 -107
  142. data/spec/filters/unsupported/basicobject.rb +12 -12
  143. data/spec/filters/unsupported/bignum.rb +27 -52
  144. data/spec/filters/unsupported/class.rb +1 -2
  145. data/spec/filters/unsupported/delegator.rb +3 -3
  146. data/spec/filters/unsupported/enumerable.rb +2 -9
  147. data/spec/filters/unsupported/enumerator.rb +2 -11
  148. data/spec/filters/unsupported/file.rb +1 -1
  149. data/spec/filters/unsupported/float.rb +28 -47
  150. data/spec/filters/unsupported/hash.rb +8 -14
  151. data/spec/filters/unsupported/integer.rb +75 -91
  152. data/spec/filters/unsupported/kernel.rb +17 -35
  153. data/spec/filters/unsupported/language.rb +11 -19
  154. data/spec/filters/unsupported/marshal.rb +22 -41
  155. data/spec/filters/unsupported/matchdata.rb +28 -52
  156. data/spec/filters/unsupported/math.rb +1 -1
  157. data/spec/filters/unsupported/privacy.rb +229 -285
  158. data/spec/filters/unsupported/range.rb +1 -5
  159. data/spec/filters/unsupported/regexp.rb +40 -66
  160. data/spec/filters/unsupported/set.rb +2 -2
  161. data/spec/filters/unsupported/singleton.rb +4 -4
  162. data/spec/filters/unsupported/string.rb +305 -508
  163. data/spec/filters/unsupported/struct.rb +3 -4
  164. data/spec/filters/unsupported/symbol.rb +15 -18
  165. data/spec/filters/unsupported/thread.rb +1 -7
  166. data/spec/filters/unsupported/time.rb +159 -202
  167. data/spec/filters/unsupported/usage_of_files.rb +170 -259
  168. data/spec/lib/builder_spec.rb +4 -4
  169. data/spec/lib/rewriters/forward_args_spec.rb +32 -12
  170. data/spec/mspec-opal/runner.rb +2 -0
  171. data/spec/ruby_specs +4 -0
  172. data/stdlib/deno/base.rb +28 -0
  173. data/stdlib/deno/file.rb +340 -0
  174. data/stdlib/{headless_chrome.rb → headless_browser/base.rb} +1 -1
  175. data/stdlib/headless_browser/file.rb +15 -0
  176. data/stdlib/headless_browser.rb +4 -0
  177. data/stdlib/native.rb +1 -1
  178. data/stdlib/nodejs/file.rb +5 -0
  179. data/stdlib/opal/platform.rb +8 -6
  180. data/stdlib/opal-platform.rb +14 -8
  181. data/stdlib/set.rb +1 -258
  182. data/tasks/benchmarking.rake +62 -19
  183. data/tasks/performance.rake +1 -1
  184. data/tasks/testing.rake +5 -3
  185. data/test/nodejs/test_file.rb +29 -10
  186. data/test/opal/http_server.rb +28 -11
  187. data/test/opal/unsupported_and_bugs.rb +2 -1
  188. metadata +89 -50
  189. data/lib/opal/cli_runners/node_modules/ultron/LICENSE +0 -22
  190. data/lib/opal/cli_runners/node_modules/ultron/index.js +0 -138
  191. data/lib/opal/cli_runners/node_modules/ultron/package.json +0 -112
  192. data/lib/opal/cli_runners/node_modules/ws/SECURITY.md +0 -33
  193. data/lib/opal/cli_runners/node_modules/ws/lib/BufferUtil.fallback.js +0 -56
  194. data/lib/opal/cli_runners/node_modules/ws/lib/BufferUtil.js +0 -15
  195. data/lib/opal/cli_runners/node_modules/ws/lib/ErrorCodes.js +0 -28
  196. data/lib/opal/cli_runners/node_modules/ws/lib/EventTarget.js +0 -158
  197. data/lib/opal/cli_runners/node_modules/ws/lib/Extensions.js +0 -69
  198. data/lib/opal/cli_runners/node_modules/ws/lib/PerMessageDeflate.js +0 -339
  199. data/lib/opal/cli_runners/node_modules/ws/lib/Receiver.js +0 -520
  200. data/lib/opal/cli_runners/node_modules/ws/lib/Sender.js +0 -438
  201. data/lib/opal/cli_runners/node_modules/ws/lib/Validation.fallback.js +0 -9
  202. data/lib/opal/cli_runners/node_modules/ws/lib/Validation.js +0 -17
  203. data/lib/opal/cli_runners/node_modules/ws/lib/WebSocket.js +0 -705
  204. data/lib/opal/cli_runners/node_modules/ws/lib/WebSocketServer.js +0 -336
  205. data/spec/filters/bugs/boolean.rb +0 -3
  206. data/spec/filters/bugs/matrix.rb +0 -3
  207. data/spec/filters/unsupported/fixnum.rb +0 -15
  208. data/spec/filters/unsupported/freeze.rb +0 -102
  209. data/spec/filters/unsupported/pathname.rb +0 -4
  210. data/spec/filters/unsupported/proc.rb +0 -4
  211. data/spec/filters/unsupported/random.rb +0 -5
  212. 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:0x2129a>
15
- fails "ObjectSpace.define_finalizer calls a finalizer at exit even if it is indirectly self-referencing" # NoMethodError: undefined method `tmp' for #<MSpecEnv:0x2129a>
16
- fails "ObjectSpace.define_finalizer calls a finalizer at exit even if it is self-referencing" # NoMethodError: undefined method `tmp' for #<MSpecEnv:0x2129a>
17
- fails "ObjectSpace.define_finalizer calls a finalizer defined in a finalizer running at exit" # NoMethodError: undefined method `tmp' for #<MSpecEnv:0x2129a>
18
- fails "ObjectSpace.define_finalizer calls finalizer on process termination" # NoMethodError: undefined method `tmp' for #<MSpecEnv:0x2129a>
19
- fails "ObjectSpace.define_finalizer warns if the finalizer has the object as the receiver" # NoMethodError: undefined method `tmp' for #<MSpecEnv:0x2129a>
20
- fails "ObjectSpace.define_finalizer warns if the finalizer is a method bound to the receiver" # NoMethodError: undefined method `tmp' for #<MSpecEnv:0x2129a>
21
- fails "ObjectSpace.define_finalizer warns if the finalizer was a block in the receiver" # NoMethodError: undefined method `tmp' for #<MSpecEnv:0x2129a>
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 `binding' for #<MSpecEnv:0x14f0c>
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 `binding' for #<MSpecEnv:0x14f0c>
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 inerfaces
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" # Exception: Invalid value used as weak map key
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:0x1ceec>" =~ /^\#<ObjectSpace::WeakMap:0x\h+>$/ to be truthy but was nil
59
- fails "ObjectSpace::WeakMap#key? matches using identity semantics" # Exception: Invalid value used as weak map key
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" # Exception: Invalid value used as weak map key
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 "UTF-16LE" to equal "ASCII-8BIT"
4
- fails "String#unpack with format 'H' should make strings with US_ASCII encoding" # Expected #<Encoding:UTF-16LE> to equal #<Encoding:ASCII-8BIT (dummy)>
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] to equal [7523094288207668000]
7
- fails "String#unpack with format 'Q' decodes the number of longs requested by the count modifier" # Expected [7523094283929477000, 7378418357791582000] to equal [7523094283929478000, 7378418357791582000]
8
- fails "String#unpack with format 'Q' decodes two longs for two format characters" # Expected [7233738012216484000, 7233733596956420000] to equal [7233738012216485000, 7233733596956420000]
9
- fails "String#unpack with format 'Q' ignores NULL bytes between directives" # Expected [7523094288207667000, 7233738012216484000] to equal [7523094288207668000, 7233738012216485000]
10
- fails "String#unpack with format 'Q' ignores spaces between directives" # Expected [7523094288207667000, 7233738012216484000] to equal [7523094288207668000, 7233738012216485000]
11
- fails "String#unpack with format 'Q' with modifier '<' decodes one long for a single format character" # Expected [7523094288207667000] to equal [7523094288207668000]
12
- fails "String#unpack with format 'Q' with modifier '<' decodes the number of longs requested by the count modifier" # Expected [7523094283929477000, 7378418357791582000] to equal [7523094283929478000, 7378418357791582000]
13
- fails "String#unpack with format 'Q' with modifier '<' decodes two longs for two format characters" # Expected [7233738012216484000, 7233733596956420000] to equal [7233738012216485000, 7233733596956420000]
14
- fails "String#unpack with format 'Q' with modifier '<' ignores NULL bytes between directives" # Expected [7523094288207667000, 7233738012216484000] to equal [7523094288207668000, 7233738012216485000]
15
- fails "String#unpack with format 'Q' with modifier '<' ignores spaces between directives" # Expected [7523094288207667000, 7233738012216484000] to equal [7523094288207668000, 7233738012216485000]
16
- fails "String#unpack with format 'Q' with modifier '>' decodes one long for a single format character" # Expected [7523094288207667000] to equal [7523094288207668000]
17
- fails "String#unpack with format 'Q' with modifier '>' decodes the number of longs requested by the count modifier" # Expected [7523094283929477000, 7378418357791582000] to equal [7523094283929478000, 7378418357791582000]
18
- fails "String#unpack with format 'Q' with modifier '>' decodes two longs for two format characters" # Expected [7233738012216484000, 7233733596956420000] to equal [7233738012216485000, 7233733596956420000]
19
- fails "String#unpack with format 'Q' with modifier '>' ignores NULL bytes between directives" # Expected [7523094288207667000, 7233738012216484000] to equal [7523094288207668000, 7233738012216485000]
20
- fails "String#unpack with format 'Q' with modifier '>' ignores spaces between directives" # Expected [7523094288207667000, 7233738012216484000] to equal [7523094288207668000, 7233738012216485000]
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" # ArgumentError: malformed UTF-8 character
23
- fails "String#unpack with format 'a' decodes into raw (ascii) string values" # Expected "UTF-16LE" to equal "ASCII-8BIT"
24
- fails "String#unpack with format 'b' decodes into US-ASCII string values" # Expected "UTF-16LE" to equal "US-ASCII"
25
- fails "String#unpack with format 'h' should make strings with US_ASCII encoding" # Expected #<Encoding:UTF-16LE> to equal #<Encoding:ASCII-8BIT (dummy)>
26
- fails "String#unpack with format 'm' produces binary strings" # Expected #<Encoding:UTF-16LE> to equal #<Encoding:ASCII-8BIT>
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] to equal [-71870673923814400]
29
- fails "String#unpack with format 'q' decodes one long for a single format character" # Expected [7523094288207667000] to equal [7523094288207668000]
30
- fails "String#unpack with format 'q' decodes the number of longs requested by the count modifier" # Expected [7523094283929477000, 7378418357791582000] to equal [7523094283929478000, 7378418357791582000]
31
- fails "String#unpack with format 'q' decodes two longs for two format characters" # Expected [7233738012216484000, 7233733596956420000] to equal [7233738012216485000, 7233733596956420000]
32
- fails "String#unpack with format 'q' ignores NULL bytes between directives" # Expected [7523094288207667000, 7233738012216484000] to equal [7523094288207668000, 7233738012216485000]
33
- fails "String#unpack with format 'q' ignores spaces between directives" # Expected [7523094288207667000, 7233738012216484000] to equal [7523094288207668000, 7233738012216485000]
34
- fails "String#unpack with format 'q' with modifier '<' decodes a long with most significant bit set as a negative number" # Expected [-71870673923813380] to equal [-71870673923814400]
35
- fails "String#unpack with format 'q' with modifier '<' decodes one long for a single format character" # Expected [7523094288207667000] to equal [7523094288207668000]
36
- fails "String#unpack with format 'q' with modifier '<' decodes the number of longs requested by the count modifier" # Expected [7523094283929477000, 7378418357791582000] to equal [7523094283929478000, 7378418357791582000]
37
- fails "String#unpack with format 'q' with modifier '<' decodes two longs for two format characters" # Expected [7233738012216484000, 7233733596956420000] to equal [7233738012216485000, 7233733596956420000]
38
- fails "String#unpack with format 'q' with modifier '<' ignores NULL bytes between directives" # Expected [7523094288207667000, 7233738012216484000] to equal [7523094288207668000, 7233738012216485000]
39
- fails "String#unpack with format 'q' with modifier '<' ignores spaces between directives" # Expected [7523094288207667000, 7233738012216484000] to equal [7523094288207668000, 7233738012216485000]
40
- fails "String#unpack with format 'q' with modifier '>' decodes a long with most significant bit set as a negative number" # Expected [-71870673923813380] to equal [-71870673923814400]
41
- fails "String#unpack with format 'q' with modifier '>' decodes one long for a single format character" # Expected [7523094288207667000] to equal [7523094288207668000]
42
- fails "String#unpack with format 'q' with modifier '>' decodes the number of longs requested by the count modifier" # Expected [7523094283929477000, 7378418357791582000] to equal [7523094283929478000, 7378418357791582000]
43
- fails "String#unpack with format 'q' with modifier '>' decodes two longs for two format characters" # Expected [7233738012216484000, 7233733596956420000] to equal [7233738012216485000, 7233733596956420000]
44
- fails "String#unpack with format 'q' with modifier '>' ignores NULL bytes between directives" # Expected [7523094288207667000, 7233738012216484000] to equal [7523094288207668000, 7233738012216485000]
45
- fails "String#unpack with format 'q' with modifier '>' ignores spaces between directives" # Expected [7523094288207667000, 7233738012216484000] to equal [7523094288207668000, 7233738012216485000]
46
- fails "String#unpack with format 'u' decodes into raw (ascii) string values" # Expected "UTF-16LE" to equal "ASCII-8BIT"
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 "U" (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 "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 'to_int' exactly 1 times but received it 0 times
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" # Exception: Invalid code point 1114112
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 "U" (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 "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 'to_int' exactly 1 times but received it 0 times
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 'to_str' exactly 1 times but received it 0 times
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" # RuntimeError: Unsupported pack directive "u" (no chunk reader defined)
121
- fails "Array#pack with format 'u' raises a TypeError if passed an Integer" # RuntimeError: Unsupported pack directive "u" (no chunk reader defined)
122
- fails "Array#pack with format 'u' raises a TypeError if passed nil" # 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" # 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" # 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
@@ -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" # NoMethodError: undefined method `<<' for #<Proc:0x760e0>
4
- fails "Proc#<< does not try to coerce argument with #to_proc" # Expected TypeError (callable object is expected) but got: NoMethodError (undefined method `<<' for #<Proc:0x760c8>)
5
- fails "Proc#<< raises TypeError if passed not callable object" # Expected TypeError (callable object is expected) but got: NoMethodError (undefined method `<<' for #<Proc:0x760d8>)
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 equal 10
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 equal 7
11
- fails "Proc#>> composition is a lambda when self is lambda" # NoMethodError: undefined method `>>' for #<Proc:0x76126>
12
- fails "Proc#>> does not try to coerce argument with #to_proc" # Expected TypeError (callable object is expected) but got: NoMethodError (undefined method `>>' for #<Proc:0x76108>)
13
- fails "Proc#>> raises TypeError if passed not callable object" # Expected TypeError (callable object is expected) but got: NoMethodError (undefined method `>>' for #<Proc:0x76116>)
14
- fails "Proc#[] can call its block argument declared with a block argument" # Expected 6 to equal 10
15
- fails "Proc#[] yields to the block given at declaration and not to the block argument" # Expected 3 to equal 7
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 equal 10
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 equal 7
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-16LE> to equal #<Encoding:ASCII-8BIT (dummy)>
31
- fails "Proc#inspect for a proc created with Proc.new returns a description including file and line number" # Expected "#<Proc:0x200>" =~ /^#<Proc:([^ ]*?)@ruby\/core\/proc\/shared\/to_s\.rb:6>$/ 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-16LE> to equal #<Encoding:ASCII-8BIT (dummy)>
33
- fails "Proc#inspect for a proc created with Symbol#to_proc returns a description including '(&:symbol)'" # Expected "#<Proc:0x75d4e>" to match /^#<Proc:0x\h+\(&:foobar\)>$/
34
- fails "Proc#inspect for a proc created with UnboundMethod#to_proc has a binary encoding" # Expected #<Encoding:UTF-16LE> to equal #<Encoding:ASCII-8BIT (dummy)>
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-16LE> to equal #<Encoding:ASCII-8BIT (dummy)>
37
- fails "Proc#inspect for a proc created with lambda returns a description including '(lambda)' and including file and line number" # Expected "#<Proc:0x22e>" =~ /^#<Proc:([^ ]*?)@ruby\/core\/proc\/shared\/to_s\.rb:16 \(lambda\)>$/ to be truthy but was nil
38
- fails "Proc#inspect for a proc created with proc has a binary encoding" # Expected #<Encoding:UTF-16LE> to equal #<Encoding:ASCII-8BIT (dummy)>
39
- fails "Proc#inspect for a proc created with proc returns a description including file and line number" # Expected "#<Proc:0x25a>" =~ /^#<Proc:([^ ]*?)@ruby\/core\/proc\/shared\/to_s\.rb:26>$/ to be truthy but was nil
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 marks the final hash argument as keyword hash" # NoMethodError: undefined method `ruby2_keywords' for #<Proc:0x36616>
43
- fails "Proc#ruby2_keywords prints warning when a proc accepts keyword splat" # NoMethodError: undefined method `ruby2_keywords' for #<Proc:0x365fe>
44
- fails "Proc#ruby2_keywords prints warning when a proc accepts keywords" # NoMethodError: undefined method `ruby2_keywords' for #<Proc:0x36612>
45
- fails "Proc#ruby2_keywords prints warning when a proc does not accept argument splat" # NoMethodError: undefined method `ruby2_keywords' for #<Proc:0x3660a>
46
- fails "Proc#ruby2_keywords returns self" # NoMethodError: undefined method `ruby2_keywords' for #<Proc:0x36602>
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 equal nil
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-16LE> to equal #<Encoding:ASCII-8BIT (dummy)>
52
- fails "Proc#to_s for a proc created with Proc.new returns a description including file and line number" # Expected "#<Proc:0x17cc0>" =~ /^#<Proc:([^ ]*?)@ruby\/core\/proc\/shared\/to_s\.rb:6>$/ 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-16LE> to equal #<Encoding:ASCII-8BIT (dummy)>
54
- fails "Proc#to_s for a proc created with Symbol#to_proc returns a description including '(&:symbol)'" # Expected "#<Proc:0x6cd2c>" to match /^#<Proc:0x\h+\(&:foobar\)>$/
55
- fails "Proc#to_s for a proc created with UnboundMethod#to_proc has a binary encoding" # Expected #<Encoding:UTF-16LE> to equal #<Encoding:ASCII-8BIT (dummy)>
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-16LE> to equal #<Encoding:ASCII-8BIT (dummy)>
58
- fails "Proc#to_s for a proc created with lambda returns a description including '(lambda)' and including file and line number" # Expected "#<Proc:0x17cec>" =~ /^#<Proc:([^ ]*?)@ruby\/core\/proc\/shared\/to_s\.rb:16 \(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-16LE> to equal #<Encoding:ASCII-8BIT (dummy)>
60
- fails "Proc#to_s for a proc created with proc returns a description including file and line number" # Expected "#<Proc:0x17d18>" =~ /^#<Proc:([^ ]*?)@ruby\/core\/proc\/shared\/to_s\.rb:26>$/ to be truthy but was nil
61
- fails "Proc#yield can call its block argument declared with a block argument" # Expected 6 to equal 10
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 equal 7
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
@@ -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 "" to equal "_\u0091"
4
- fails "Random#bytes returns the same numeric output for a given seed across all implementations and platforms" # Expected "ÚG" to equal "\u0014\\"
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 `insert' for "rubyexe.rb"
7
- fails "Random::DEFAULT is deprecated" # Expected #<Random:0x3e>.equal? Random to be truthy but was false
8
- fails "Random::DEFAULT refers to the Random class" # Expected #<Random:0x3e>.equal? Random to be truthy but was false
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