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
@@ -1,27 +1,27 @@
1
1
  # NOTE: run bin/format-filters after changing this file
2
2
  opal_filter "Kernel" do
3
- fails "Kernel#=== does not call #object_id nor #equal? but still returns true for #== or #=== on the same object" # Mock '#<Object:0x37dd4>' expected to receive 'object_id' exactly 0 times but received it 2 times
4
- fails "Kernel#=~ returns nil matching any object"
5
- fails "Kernel#Float for hexadecimal literals with binary exponent allows embedded _ in a number on either side of the P"
6
- fails "Kernel#Float for hexadecimal literals with binary exponent allows embedded _ in a number on either side of the p"
7
- fails "Kernel#Float for hexadecimal literals with binary exponent allows hexadecimal points on the left side of the 'P'"
8
- fails "Kernel#Float for hexadecimal literals with binary exponent allows hexadecimal points on the left side of the 'p'"
9
- fails "Kernel#Float for hexadecimal literals with binary exponent interprets the exponent (on the right of 'P') in decimal"
10
- fails "Kernel#Float for hexadecimal literals with binary exponent interprets the exponent (on the right of 'p') in decimal"
11
- fails "Kernel#Float for hexadecimal literals with binary exponent interprets the fractional part (on the left side of 'P') in hexadecimal"
12
- fails "Kernel#Float for hexadecimal literals with binary exponent interprets the fractional part (on the left side of 'p') in hexadecimal"
13
- fails "Kernel#Float for hexadecimal literals with binary exponent returns 0 for '0x1P-10000'"
14
- fails "Kernel#Float for hexadecimal literals with binary exponent returns 0 for '0x1p-10000'"
15
- fails "Kernel#Float for hexadecimal literals with binary exponent returns Infinity for '0x1P10000'"
16
- fails "Kernel#Float for hexadecimal literals with binary exponent returns Infinity for '0x1p10000'"
17
- fails "Kernel#Float when passed exception: false and invalid input swallows an error" # ArgumentError: [Object#Float] wrong number of arguments(2 for 1)
18
- fails "Kernel#Float when passed exception: false and nil swallows it" # ArgumentError: [Object#Float] wrong number of arguments(2 for 1)
19
- fails "Kernel#Float when passed exception: false and valid input returns a Float number" # ArgumentError: [Object#Float] wrong number of arguments(2 for 1)
3
+ fails "Kernel#=== does not call #object_id nor #equal? but still returns true for #== or #=== on the same object" # Mock '#<Object:0x2514>' expected to receive object_id("any_args") exactly 0 times but received it 2 times
4
+ fails "Kernel#=~ returns nil matching any object" # Expected false to be nil
5
+ fails "Kernel#Float for hexadecimal literals with binary exponent allows embedded _ in a number on either side of the P" # ArgumentError: invalid value for Float(): "0x1_0P10"
6
+ fails "Kernel#Float for hexadecimal literals with binary exponent allows embedded _ in a number on either side of the p" # ArgumentError: invalid value for Float(): "0x1_0p10"
7
+ fails "Kernel#Float for hexadecimal literals with binary exponent allows hexadecimal points on the left side of the 'P'" # ArgumentError: invalid value for Float(): "0x1.8P0"
8
+ fails "Kernel#Float for hexadecimal literals with binary exponent allows hexadecimal points on the left side of the 'p'" # ArgumentError: invalid value for Float(): "0x1.8p0"
9
+ fails "Kernel#Float for hexadecimal literals with binary exponent interprets the exponent (on the right of 'P') in decimal" # ArgumentError: invalid value for Float(): "0x1P10"
10
+ fails "Kernel#Float for hexadecimal literals with binary exponent interprets the exponent (on the right of 'p') in decimal" # ArgumentError: invalid value for Float(): "0x1p10"
11
+ fails "Kernel#Float for hexadecimal literals with binary exponent interprets the fractional part (on the left side of 'P') in hexadecimal" # ArgumentError: invalid value for Float(): "0x10P0"
12
+ fails "Kernel#Float for hexadecimal literals with binary exponent interprets the fractional part (on the left side of 'p') in hexadecimal" # ArgumentError: invalid value for Float(): "0x10p0"
13
+ fails "Kernel#Float for hexadecimal literals with binary exponent returns 0 for '0x1P-10000'" # ArgumentError: invalid value for Float(): "0x1P-10000"
14
+ fails "Kernel#Float for hexadecimal literals with binary exponent returns 0 for '0x1p-10000'" # ArgumentError: invalid value for Float(): "0x1p-10000"
15
+ fails "Kernel#Float for hexadecimal literals with binary exponent returns Infinity for '0x1P10000'" # ArgumentError: invalid value for Float(): "0x1P10000"
16
+ fails "Kernel#Float for hexadecimal literals with binary exponent returns Infinity for '0x1p10000'" # ArgumentError: invalid value for Float(): "0x1p10000"
17
+ fails "Kernel#Float when passed exception: false and invalid input swallows an error" # ArgumentError: [Object#Float] wrong number of arguments (given 2, expected 1)
18
+ fails "Kernel#Float when passed exception: false and nil swallows it" # ArgumentError: [Object#Float] wrong number of arguments (given 2, expected 1)
19
+ fails "Kernel#Float when passed exception: false and valid input returns a Float number" # ArgumentError: [Object#Float] wrong number of arguments (given 2, expected 1)
20
20
  fails "Kernel#Integer raises a TypeError when to_int returns not-an-Integer object and to_i returns nil" # Expected TypeError but no exception was raised ("1" was returned)
21
21
  fails "Kernel#Integer return a result of to_i when to_int does not return an Integer" # Expected "1" == 42 to be truthy but was false
22
22
  fails "Kernel#Integer when passed exception: false and an argument that contains a period swallows an error" # TypeError: no implicit conversion of Hash into Integer
23
23
  fails "Kernel#Integer when passed exception: false and an empty string swallows an error" # TypeError: no implicit conversion of Hash into Integer
24
- fails "Kernel#Integer when passed exception: false and invalid argument swallows an error" # ArgumentError: [MSpecEnv#Integer] wrong number of arguments(3 for -2)
24
+ fails "Kernel#Integer when passed exception: false and invalid argument swallows an error" # ArgumentError: [MSpecEnv#Integer] wrong number of arguments (given 3, expected -2)
25
25
  fails "Kernel#Integer when passed exception: false and multiple leading -s swallows an error" # TypeError: no implicit conversion of Hash into Integer
26
26
  fails "Kernel#Integer when passed exception: false and multiple trailing -s swallows an error" # TypeError: no implicit conversion of Hash into Integer
27
27
  fails "Kernel#Integer when passed exception: false and no to_int or to_i methods exist swallows an error" # ArgumentError: base specified for non string value
@@ -32,248 +32,306 @@ opal_filter "Kernel" do
32
32
  fails "Kernel#Integer when passed exception: false and passed nil swallows an error" # ArgumentError: base specified for non string value
33
33
  fails "Kernel#Integer when passed exception: false and to_i returns a value that is not an Integer swallows an error" # ArgumentError: base specified for non string value
34
34
  fails "Kernel#Integer when passed exception: false and to_int returns nil and no to_i exists swallows an error" # ArgumentError: base specified for non string value
35
- fails "Kernel#Integer when passed exception: false and valid argument returns an Integer number" # ArgumentError: [MSpecEnv#Integer] wrong number of arguments(3 for -2)
36
- fails "Kernel#Pathname returns same argument when called with a pathname argument" # Expected foo.equal? foo to be truthy but was false
35
+ fails "Kernel#Integer when passed exception: false and valid argument returns an Integer number" # ArgumentError: [MSpecEnv#Integer] wrong number of arguments (given 3, expected -2)
36
+ fails "Kernel#Pathname returns same argument when called with a pathname argument" # Expected #<Pathname:0xb23c2 @path="foo">.equal? #<Pathname:0xb23c4 @path="foo"> to be truthy but was false
37
37
  fails "Kernel#String calls #to_s if #respond_to?(:to_s) returns true" # TypeError: no implicit conversion of MockObject into String
38
- fails "Kernel#String raises a TypeError if #to_s is not defined, even though #respond_to?(:to_s) returns true"
39
- fails "Kernel#__dir__ returns the expanded path of the directory when used in the main script" # NoMethodError: undefined method `insert' for "rubyexe.rb"
40
- fails "Kernel#__dir__ when used in eval with top level binding returns nil" # NoMethodError: undefined method `binding' for #<MSpecEnv:0x5b3aa>
41
- fails "Kernel#autoload calls main.require(path) to load the file" # NameError: uninitialized constant TOPLEVEL_BINDING
42
- fails "Kernel#autoload can autoload in instance_eval" # NameError: uninitialized constant KSAutoloadD
43
- fails "Kernel#autoload inside a Class.new method body should define on the new anonymous class" # NoMethodError: undefined method `autoload?' for #<#<Class:0x61d4a>:0x61d48>
38
+ fails "Kernel#String raises a TypeError if #to_s is not defined, even though #respond_to?(:to_s) returns true" # Expected TypeError but got: NoMethodError (undefined method `to_s' for #<Object:0x2961a>)
39
+ fails "Kernel#__dir__ returns the expanded path of the directory when used in the main script" # NoMethodError: undefined method `tmp' for #<MSpecEnv:0x2b0e6>
40
+ fails "Kernel#__dir__ when used in eval with top level binding returns nil" # Expected "." == nil to be truthy but was false
41
+ fails "Kernel#autoload calls main.require(path) to load the file" # Expected NameError but got: LoadError (cannot load such file -- main_autoload_not_exist)
42
+ fails "Kernel#autoload can autoload in instance_eval" # NoMethodError: undefined method `autoload' for #<Object:0x4b3d2>
43
+ fails "Kernel#autoload inside a Class.new method body should define on the new anonymous class" # NoMethodError: undefined method `autoload' for #<#<Class:0x4b3ee>:0x4b3ec>
44
44
  fails "Kernel#autoload is a private method" # Expected Kernel to have private instance method 'autoload' but it does not
45
- fails "Kernel#autoload when Object is frozen raises a FrozenError before defining the constant" # NoMethodError: undefined method `tmp' for #<MSpecEnv:0x7849c>
46
- fails "Kernel#autoload when called from included module's method setups the autoload on the included module" # NoMethodError: undefined method `autoload?' for KernelSpecs::AutoloadMethod
47
- fails "Kernel#autoload when called from included module's method the autoload is reachable from the class too" # NoMethodError: undefined method `autoload?' for KernelSpecs::AutoloadMethodIncluder
48
- fails "Kernel#autoload when called from included module's method the autoload relative to the included module works" # NameError: uninitialized constant KernelSpecs::AutoloadMethod::AutoloadFromIncludedModule
45
+ fails "Kernel#autoload when Object is frozen raises a FrozenError before defining the constant" # NoMethodError: undefined method `tmp' for #<MSpecEnv:0x4b3b4 @loaded_features=["corelib/runtime", "opal", "opal/base"...]>
49
46
  fails "Kernel#autoload? is a private method" # Expected Kernel to have private instance method 'autoload?' but it does not
50
- fails "Kernel#autoload? returns nil if no file has been registered for a constant" # NoMethodError: undefined method `autoload?' for #<MSpecEnv:0x7849c>
51
- fails "Kernel#autoload? returns the name of the file that will be autoloaded" # NoMethodError: undefined method `autoload?' for #<MSpecEnv:0x7849c>
47
+ fails "Kernel#autoload? returns nil if no file has been registered for a constant" # NoMethodError: undefined method `autoload?' for #<MSpecEnv:0x4b3b4 @loaded_features=["corelib/runtime", "opal", "opal/base"...]>
48
+ fails "Kernel#autoload? returns the name of the file that will be autoloaded" # NoMethodError: undefined method `autoload?' for #<MSpecEnv:0x4b3b4 @loaded_features=["corelib/runtime", "opal", "opal/base"...]>
52
49
  fails "Kernel#caller is a private method" # Expected Kernel to have private instance method 'caller' but it does not
53
- fails "Kernel#caller returns an Array of caller locations using a custom offset" # Expected "ruby/core/kernel/fixtures/caller.rb:4" to match /runner\/mspec.rb/
54
- fails "Kernel#caller returns an Array of caller locations using a range" # NoMethodError: undefined method `+' for 1..1
55
- fails "Kernel#caller returns an Array with the block given to #at_exit at the base of the stack" # NoMethodError: undefined method `tmp' for #<MSpecEnv:0xe208>
56
- fails "Kernel#caller returns the locations as String instances" # Expected "corelib/runtime.js:1675" to include "ruby/core/kernel/caller_spec.rb:32:in"
57
- fails "Kernel#caller works with beginless ranges" # TypeError: no implicit conversion of NilClass into Integer
58
- fails "Kernel#caller works with endless ranges" # Opal::SyntaxError: undefined method `type' for nil
59
- fails "Kernel#class returns the class of the object"
60
- fails "Kernel#clone replaces a singleton object's metaclass with a new copy with the same superclass" # NoMethodError: undefined method `singleton_methods' for #<#<Class:0x2df8e>:0x2df90>
50
+ fails "Kernel#caller returns an Array of caller locations using a custom offset" # Expected "ruby/core/kernel/fixtures/caller.rb:4:7:in `locations'" =~ /runner\/mspec.rb/ to be truthy but was nil
51
+ fails "Kernel#caller returns an Array of caller locations using a range" # Expected 0 == 1 to be truthy but was false
52
+ fails "Kernel#caller returns an Array with the block given to #at_exit at the base of the stack" # NoMethodError: undefined method `tmp' for #<MSpecEnv:0xafc18>
53
+ fails "Kernel#caller returns the locations as String instances" # Expected "ruby/core/kernel/fixtures/caller.rb:4:7:in `locations'" to include "ruby/core/kernel/caller_spec.rb:32:in"
54
+ fails "Kernel#caller works with beginless ranges" # Expected nil == ["<internal:corelib/basic_object.rb>:125:1:in `instance_exec'", "mspec/runner/mspec.rb:116:11:in `protect'", "mspec/runner/context.rb:176:39:in `$$17'", "<internal:corelib/enumerable.rb>:27:16:in `$$3'"] to be truthy but was false
55
+ fails "Kernel#caller works with endless ranges" # Expected [] == ["<internal:corelib/basic_object.rb>:125:1:in `instance_exec'", "mspec/runner/mspec.rb:116:11:in `protect'", "mspec/runner/context.rb:176:39:in `$$17'", "<internal:corelib/enumerable.rb>:27:16:in `$$3'", "<internal:corelib/array.rb>:983:1:in `each'", "<internal:corelib/enumerable.rb>:26:7:in `Enumerable_all$ques$1'", "mspec/runner/context.rb:176:18:in `protect'", "mspec/runner/context.rb:212:26:in `$$21'", "mspec/runner/mspec.rb:284:7:in `repeat'", "mspec/runner/context.rb:204:16:in `$$20'", "<internal:corelib/array.rb>:983:1:in `each'", "mspec/runner/context.rb:203:18:in `process'", "mspec/runner/mspec.rb:55:10:in `describe'", "mspec/runner/object.rb:11:10:in `describe'", "ruby/core/kernel/caller_spec.rb:4:1:in `Opal.modules.ruby/core/kernel/caller_spec'", "<internal:corelib/kernel.rb>:535:6:in `load'", "mspec/runner/mspec.rb:99:42:in `instance_exec'", "<internal:corelib/basic_object.rb>:125:1:in `instance_exec'", "mspec/runner/mspec.rb:116:11:in `protect'", "mspec/runner/mspec.rb:99:7:in `$$1'", "<internal:corelib/array.rb>:983:1:in `each'", "mspec/runner/mspec.rb:90:12:in `each_file'", "mspec/runner/mspec.rb:95:5:in `files'", "mspec/runner/mspec.rb:63:5:in `process'", "tmp/mspec_nodejs.rb:3887:6:in `undefined'", "tmp/mspec_nodejs.rb:1:1:in `null'", "node:internal/modules/cjs/loader:1105:14:in `Module._compile'", "node:internal/modules/cjs/loader:1159:10:in `Module._extensions..js'", "node:internal/modules/cjs/loader:981:32:in `Module.load'", "node:internal/modules/cjs/loader:822:12:in `Module._load'", "node:internal/modules/run_main:77:12:in `executeUserEntryPoint'", "node:internal/main/run_main_module:17:47:in `undefined'"] to be truthy but was false
56
+ fails "Kernel#class returns the class of the object" # Expected Number to be identical to Integer
57
+ fails "Kernel#clone replaces a singleton object's metaclass with a new copy with the same superclass" # NoMethodError: undefined method `singleton_methods' for #<#<Class:0x5537a>:0x55378>
61
58
  fails "Kernel#clone uses the internal allocator and does not call #allocate" # RuntimeError: allocate should not be called
62
- fails "Kernel#define_singleton_method when given an UnboundMethod will raise when attempting to define an object's singleton method from another object's singleton method"
59
+ fails "Kernel#define_singleton_method when given an UnboundMethod will raise when attempting to define an object's singleton method from another object's singleton method" # Expected TypeError but no exception was raised ("other_singleton_method" was returned)
63
60
  fails "Kernel#dup uses the internal allocator and does not call #allocate" # RuntimeError: allocate should not be called
64
- fails "Kernel#eval allows a binding to be captured inside an eval"
61
+ fails "Kernel#eval allows a binding to be captured inside an eval" # NoMethodError: undefined method `w' for #<MSpecEnv:0x4be5a>
65
62
  fails "Kernel#eval allows creating a new class in a binding" # RuntimeError: Evaluation on a Proc#binding is not supported
66
- fails "Kernel#eval can be aliased"
63
+ fails "Kernel#eval can be aliased" # NoMethodError: undefined method `+' for nil
67
64
  fails "Kernel#eval does not make Proc locals visible to evaluated code" # Expected NameError but got: RuntimeError (Evaluation on a Proc#binding is not supported)
68
- fails "Kernel#eval does not share locals across eval scopes"
69
- fails "Kernel#eval doesn't accept a Proc object as a binding"
70
- fails "Kernel#eval evaluates string with given filename and negative linenumber" # NameError: uninitialized constant TOPLEVEL_BINDING
71
- fails "Kernel#eval includes file and line information in syntax error"
72
- fails "Kernel#eval raises a LocalJumpError if there is no lambda-style closure in the chain"
73
- fails "Kernel#eval unwinds through a Proc-style closure and returns from a lambda-style closure in the closure chain"
74
- fails "Kernel#eval updates a local in a scope above a surrounding block scope"
75
- fails "Kernel#eval updates a local in a scope above when modified in a nested block scope"
76
- fails "Kernel#eval updates a local in a surrounding block scope"
77
- fails "Kernel#eval updates a local in an enclosing scope"
78
- fails "Kernel#eval uses the same scope for local variables when given the same binding"
79
- fails "Kernel#eval with a magic encoding comment allows a magic encoding comment and a frozen_string_literal magic comment on the same line in emacs style" # Opal::SyntaxError: unexpected token $end
80
- fails "Kernel#eval with a magic encoding comment allows a magic encoding comment and a subsequent frozen_string_literal magic comment" # Opal::SyntaxError: unexpected token $end
81
- fails "Kernel#eval with a magic encoding comment allows a shebang line and some spaces before the magic encoding comment" # Opal::SyntaxError: unexpected token $end
82
- fails "Kernel#eval with a magic encoding comment allows a shebang line before the magic encoding comment" # Opal::SyntaxError: unexpected token $end
83
- fails "Kernel#eval with a magic encoding comment allows an emacs-style magic comment encoding" # Opal::SyntaxError: unexpected token $end
84
- fails "Kernel#eval with a magic encoding comment allows spaces before the magic encoding comment" # Opal::SyntaxError: unexpected token $end
65
+ fails "Kernel#eval does not share locals across eval scopes" # NoMethodError: undefined method `tmp' for #<MSpecEnv:0x4be5a>
66
+ fails "Kernel#eval doesn't accept a Proc object as a binding" # Expected TypeError but got: NoMethodError (undefined method `js_eval' for #<Proc:0x4c92e>)
67
+ fails "Kernel#eval evaluates string with given filename and negative linenumber" # Expected "unexpected token $end" =~ /speccing.rb:-100:.+/ to be truthy but was nil
68
+ fails "Kernel#eval includes file and line information in syntax error" # Expected "unexpected token $end" =~ /speccing.rb:1:.+/ to be truthy but was nil
69
+ fails "Kernel#eval raises a LocalJumpError if there is no lambda-style closure in the chain" # NoMethodError: undefined method `tmp' for #<MSpecEnv:0x4be5a>
70
+ fails "Kernel#eval unwinds through a Proc-style closure and returns from a lambda-style closure in the closure chain" # NoMethodError: undefined method `tmp' for #<MSpecEnv:0x4be5a>
71
+ fails "Kernel#eval updates a local in a scope above a surrounding block scope" # Expected 1 == 2 to be truthy but was false
72
+ fails "Kernel#eval updates a local in a scope above when modified in a nested block scope" # NoMethodError: undefined method `es' for #<MSpecEnv:0x4be5a>
73
+ fails "Kernel#eval updates a local in a surrounding block scope" # Expected 1 == 2 to be truthy but was false
74
+ fails "Kernel#eval updates a local in an enclosing scope" # Expected 1 == 2 to be truthy but was false
75
+ fails "Kernel#eval uses the same scope for local variables when given the same binding" # NoMethodError: undefined method `a' for #<MSpecEnv:0x4be5a>
76
+ fails "Kernel#eval with a magic encoding comment allows a magic encoding comment and a frozen_string_literal magic comment on the same line in emacs style" # Expected ["A", "CoercedObject"] to include "Vπsame_line"
77
+ fails "Kernel#eval with a magic encoding comment allows a magic encoding comment and a subsequent frozen_string_literal magic comment" # Expected ["A", "CoercedObject"] to include "Vπstring"
78
+ fails "Kernel#eval with a magic encoding comment allows a shebang line and some spaces before the magic encoding comment" # Expected ["A", "CoercedObject"] to include "Vπshebang_spaces"
79
+ fails "Kernel#eval with a magic encoding comment allows a shebang line before the magic encoding comment" # Expected ["A", "CoercedObject"] to include "Vπshebang"
80
+ fails "Kernel#eval with a magic encoding comment allows an emacs-style magic comment encoding" # Expected ["A", "CoercedObject"] to include "Vπemacs"
81
+ fails "Kernel#eval with a magic encoding comment allows spaces before the magic encoding comment" # Expected ["A", "CoercedObject"] to include "Vπspaces"
85
82
  fails "Kernel#eval with a magic encoding comment ignores the frozen_string_literal magic comment if it appears after a token and warns if $VERBOSE is true" # Expected warning to match: /warning: `frozen_string_literal' is ignored after any tokens/ but got: ""
86
- fails "Kernel#eval with a magic encoding comment ignores the magic encoding comment if it is after a frozen_string_literal magic comment" # Opal::SyntaxError: unexpected token $end
87
- fails "Kernel#eval with a magic encoding comment uses the magic comment encoding for parsing constants" # Opal::SyntaxError: unexpected token $end
88
- fails "Kernel#eval with refinements activates refinements from the binding" # NoMethodError: undefined method `foo' for #<EvalSpecs::A:0x26588>
89
- fails "Kernel#eval with refinements activates refinements from the eval scope" # NoMethodError: undefined method `foo' for #<EvalSpecs::A:0x26698>
90
- fails "Kernel#extend does not calls append_features on arguments metaclass"
91
- fails "Kernel#extend raises an ArgumentError when no arguments given"
92
- fails "Kernel#fail accepts an Object with an exception method returning an Exception" # TypeError: exception class/object expected
83
+ fails "Kernel#eval with a magic encoding comment ignores the magic encoding comment if it is after a frozen_string_literal magic comment" # Expected ["A", "CoercedObject"] to include "Vπfrozen_first"
84
+ fails "Kernel#eval with a magic encoding comment uses the magic comment encoding for parsing constants" # Expected ["A", "CoercedObject"] to include "Vπ"
85
+ fails "Kernel#eval with refinements activates refinements from the binding" # NoMethodError: undefined method `foo' for #<EvalSpecs::A:0x4f966>
86
+ fails "Kernel#eval with refinements activates refinements from the eval scope" # NoMethodError: undefined method `foo' for #<EvalSpecs::A:0x4fa98>
87
+ fails "Kernel#extend does not calls append_features on arguments metaclass" # Expected true == false to be truthy but was false
88
+ fails "Kernel#fail accepts an Object with an exception method returning an Exception" # Expected StandardError (...) but got: TypeError (exception class/object expected)
93
89
  fails "Kernel#freeze freezes an object's singleton class" # Expected false == true to be truthy but was false
94
- fails "Kernel#initialize_copy does nothing if the argument is the same as the receiver" # Expected nil.equal? #<Object:0x590> to be truthy but was false
90
+ fails "Kernel#initialize_copy does nothing if the argument is the same as the receiver" # Expected nil.equal? #<Object:0x3cb42> to be truthy but was false
95
91
  fails "Kernel#initialize_copy raises FrozenError if the receiver is frozen" # Expected FrozenError but no exception was raised (nil was returned)
96
92
  fails "Kernel#initialize_copy raises TypeError if the objects are of different class" # Expected TypeError (initialize_copy should take same class object) but no exception was raised (nil was returned)
97
- fails "Kernel#inspect returns a String for an object without #class method" # Exception: Maximum call stack size exceeded
98
- fails "Kernel#instance_variables immediate values returns the correct array if an instance variable is added"
93
+ fails "Kernel#inspect returns a String for an object without #class method" # NoMethodError: undefined method `class' for #<Object:0x42c12>
94
+ fails "Kernel#instance_variable_set on frozen objects accepts unicode instance variable names" # NameError: '@💙' is not allowed as an instance variable name
95
+ fails "Kernel#instance_variable_set on frozen objects raises for frozen objects" # Expected NameError but got: FrozenError (can't modify frozen NilClass: )
96
+ fails "Kernel#instance_variables immediate values returns the correct array if an instance variable is added" # Expected RuntimeError but got: Exception (Cannot create property 'test' on number '0')
99
97
  fails "Kernel#is_a? does not take into account `class` method overriding" # TypeError: can't define singleton
100
98
  fails "Kernel#kind_of? does not take into account `class` method overriding" # TypeError: can't define singleton
101
- fails "Kernel#local_variables is accessible from bindings"
102
- fails "Kernel#method can be called even if we only repond_to_missing? method, true"
99
+ fails "Kernel#local_variables is accessible from bindings" # Expected [] to include "a"
100
+ fails "Kernel#method can be called even if we only repond_to_missing? method, true" # NameError: undefined method `handled_privately' for class `KernelSpecs::RespondViaMissing'
101
+ fails "Kernel#method can call a #method_missing accepting zero or one arguments" # NameError: undefined method `foo' for class `#<Class:0x4bc80>'
103
102
  fails "Kernel#method returns a method object if respond_to_missing?(method) is true" # NameError: undefined method `handled_publicly' for class `KernelSpecs::RespondViaMissing'
104
103
  fails "Kernel#method the returned method object if respond_to_missing?(method) calls #method_missing with a Symbol name" # NameError: undefined method `handled_publicly' for class `KernelSpecs::RespondViaMissing'
105
- fails "Kernel#method will see an alias of the original method as == when in a derived class"
106
- fails "Kernel#methods does not return private singleton methods defined in 'class << self'"
107
- fails "Kernel#object_id returns a different value for two Bignum literals"
108
- fails "Kernel#object_id returns a different value for two String literals"
109
- fails "Kernel#p flushes output if receiver is a File"
110
- fails "Kernel#p is not affected by setting $\\, $/ or $,"
111
- fails "Kernel#pp lazily loads the 'pp' library and delegates the call to that library" # NoMethodError: undefined method `tmp' for #<MSpecEnv:0x4f28>
112
- fails "Kernel#print prints $_ when no arguments are given" # Expected: $stdout: "foo" got: $stdout: ""
113
- fails "Kernel#public_method changes the method called for super on a target aliased method"
114
- fails "Kernel#public_method raises a NameError if we only repond_to_missing? method, true"
115
- fails "Kernel#public_method returns a method object for a valid method"
116
- fails "Kernel#public_method returns a method object for a valid singleton method"
104
+ fails "Kernel#method will see an alias of the original method as == when in a derived class" # Expected #<Method: KernelSpecs::B#aliased_pub_method (defined in KernelSpecs::B in ruby/core/kernel/fixtures/classes.rb:164)> == #<Method: KernelSpecs::B#pub_method (defined in KernelSpecs::A in ruby/core/kernel/fixtures/classes.rb:164)> to be truthy but was false
105
+ fails "Kernel#methods does not return private singleton methods defined in 'class << self'" # Expected ["ichi", "san", "shi", "roku", "shichi", "hachi", "juu", "juu_ichi", "juu_ni"] not to include "shichi"
106
+ fails "Kernel#object_id returns a different value for two Bignum literals" # Expected 4e+100 == 4e+100 to be falsy but was true
107
+ fails "Kernel#object_id returns a different value for two String literals" # Expected "hello" == "hello" to be falsy but was true
108
+ fails "Kernel#p flushes output if receiver is a File" # NoMethodError: undefined method `tmp' for #<MSpecEnv:0x498ec @rs_f="\n" @rs_b=nil @rs_c=nil>
109
+ fails "Kernel#p is not affected by setting $\\, $/ or $," # NoMethodError: undefined method `tmp' for #<OutputToFDMatcher:0x49902 @to=#<IO:0xa @fd=1 @flags="w" @eof=false @closed="both" @write_proc=#<Proc:0x40474> @tty=true> @expected="Next time, Gadget, NEXT TIME!\n" @to_name="STDOUT">
110
+ fails "Kernel#pp lazily loads the 'pp' library and delegates the call to that library" # NoMethodError: undefined method `tmp' for #<MSpecEnv:0x572a>
111
+ fails "Kernel#print prints $_ when no arguments are given" # Expected: $stdout: "foo" got: $stdout: ""
112
+ fails "Kernel#public_method changes the method called for super on a target aliased method" # NoMethodError: undefined method `public_method' for #<#<Class:0x5a558>:0x5a556>
113
+ fails "Kernel#public_method raises a NameError if we only repond_to_missing? method, true" # Expected NameError but no exception was raised ("Done public_method(handled_privately)" was returned)
114
+ fails "Kernel#public_method returns a method object for a valid method" # NoMethodError: undefined method `public_method' for #<KernelSpecs::Foo:0x5a56c>
115
+ fails "Kernel#public_method returns a method object for a valid singleton method" # NoMethodError: undefined method `public_method' for KernelSpecs::Foo
117
116
  fails "Kernel#public_method returns a method object if respond_to_missing?(method) is true" # Expected "Done public_method(handled_publicly)" (String) to be an instance of Method
118
117
  fails "Kernel#public_method the returned method object if respond_to_missing?(method) calls #method_missing with a Symbol name" # Expected "Done public_method(handled_publicly)" (String) to be an instance of Method
119
- fails "Kernel#public_methods returns a list of names without protected accessible methods in the object"
120
- fails "Kernel#public_methods when passed false returns a list of public methods in without its ancestors"
121
- fails "Kernel#public_methods when passed nil returns a list of public methods in without its ancestors"
122
- fails "Kernel#public_send includes `public_send` in the backtrace when passed a single incorrect argument" # Expected TypeError but got: NoMethodError (undefined method `#<Object:0x3da7a>' for #<MSpecEnv:0x3d9f4>)
123
- fails "Kernel#public_send includes `public_send` in the backtrace when passed not enough arguments" # Expected "ArgumentError: [MSpecEnv#__send__] wrong number of arguments(0 for -2)".include? "`public_send'" to be truthy but was false
124
- fails "Kernel#puts delegates to $stdout.puts"
125
- fails "Kernel#raise accepts a cause keyword argument that overrides the last exception" # NoMethodError: undefined method `cause' for #<RuntimeError: error>
126
- fails "Kernel#raise accepts a cause keyword argument that sets the cause" # NoMethodError: undefined method `cause' for #<RuntimeError: error>
127
- fails "Kernel#raise passes no arguments to the constructor when given only an exception class" # Expected #<Class:0x4c8> but got: ArgumentError ([#initialize] wrong number of arguments(1 for 0))
118
+ fails "Kernel#public_methods returns a list of names without protected accessible methods in the object" # Expected ["hachi", "ichi", "juu", "juu_ichi", "juu_ni", "roku", "san", "shi", "shichi"] not to include "juu_ichi"
119
+ fails "Kernel#public_methods when passed false returns a list of public methods in without its ancestors" # Expected ["f_pub", "f_pro", "f_pri"] == ["f_pub"] to be truthy but was false
120
+ fails "Kernel#public_methods when passed nil returns a list of public methods in without its ancestors" # Expected ["f_pub", "f_pro", "f_pri"] == ["f_pub"] to be truthy but was false
121
+ fails "Kernel#public_send includes `public_send` in the backtrace when passed a single incorrect argument" # Expected "method=\"public_send\" @object=nil> is not a symbol nor a string:in `TypeError: #<MSpecEnv:0x5399c '".include? "`public_send'" to be truthy but was false
122
+ fails "Kernel#public_send includes `public_send` in the backtrace when passed not enough arguments" # Expected "<internal:corelib/runtime.js>:1546:5:in `Opal.ac'".include? "`public_send'" to be truthy but was false
123
+ fails "Kernel#puts delegates to $stdout.puts" # NoMethodError: undefined method `tmp' for #<MSpecEnv:0x561c0 @name=nil @stdout=#<IO:0xa @fd=1 @flags="w" @eof=false @closed="both" @write_proc=#<Proc:0x40474> @tty=true>>
124
+ fails "Kernel#raise accepts a cause keyword argument that overrides the last exception" # Expected #<RuntimeError: first raise> == #<StandardError: StandardError> to be truthy but was false
125
+ fails "Kernel#raise accepts a cause keyword argument that sets the cause" # Expected nil == #<StandardError: StandardError> to be truthy but was false
126
+ fails "Kernel#raise passes no arguments to the constructor when given only an exception class" # Expected #<Class:0x5390e> but got: ArgumentError ([#initialize] wrong number of arguments (given 1, expected 0))
128
127
  fails "Kernel#raise raises an ArgumentError when only cause is given" # Expected ArgumentError but got: TypeError (exception class/object expected)
129
- fails "Kernel#raise re-raises a previously rescued exception without overwriting the backtrace" # Expected "RuntimeError: raised" to include "ruby/shared/kernel/raise.rb:65:"
130
- fails "Kernel#respond_to? throws a type error if argument can't be coerced into a Symbol"
131
- fails "Kernel#respond_to_missing? causes #respond_to? to return false if called and returning nil"
132
- fails "Kernel#respond_to_missing? causes #respond_to? to return true if called and not returning false"
133
- fails "Kernel#singleton_class raises TypeError for Integer" # Expected TypeError but no exception was raised (#<Class:#<Number:0xf7>> was returned)
134
- fails "Kernel#singleton_class raises TypeError for Symbol"
135
- fails "Kernel#singleton_method find a method defined on the singleton class" # NoMethodError: undefined method `singleton_method' for #<Object:0x39d20>
136
- fails "Kernel#singleton_method only looks at singleton methods and not at methods in the class" # Expected NoMethodError to equal NameError
137
- fails "Kernel#singleton_method raises a NameError if there is no such method" # Expected NoMethodError to equal NameError
138
- fails "Kernel#singleton_method returns a Method which can be called" # NoMethodError: undefined method `singleton_method' for #<Object:0x39d1a>
139
- fails "Kernel#singleton_methods when not passed an argument does not return any included methods for a class including a module"
140
- fails "Kernel#singleton_methods when not passed an argument does not return any included methods for a module including a module"
141
- fails "Kernel#singleton_methods when not passed an argument does not return private singleton methods for an object extended with a module including a module" # NoMethodError: undefined method `singleton_methods' for #<MockObject:0x104d6>
128
+ fails "Kernel#raise re-raises a previously rescued exception without overwriting the backtrace" # Expected "<internal:corelib/kernel.rb>:612:37:in `raise'" to include "ruby/shared/kernel/raise.rb:130:"
129
+ fails "Kernel#rand is a private method" # Expected Kernel to have private instance method 'rand' but it does not
130
+ fails "Kernel#rand is random on boot" # NoMethodError: undefined method `tmp' for #<MSpecEnv:0x19c2a>
131
+ fails "Kernel#rand supports custom object types" # Expected "NaN#<struct KernelSpecs::CustomRangeInteger value=1>" (String) to be an instance of KernelSpecs::CustomRangeInteger
132
+ fails "Kernel#remove_instance_variable raises a FrozenError if self is frozen" # Expected FrozenError but got: NameError (instance variable @foo not defined)
133
+ fails "Kernel#remove_instance_variable raises for frozen objects" # Expected FrozenError but got: NameError (instance variable @foo not defined)
134
+ fails "Kernel#respond_to? throws a type error if argument can't be coerced into a Symbol" # Expected TypeError (/is not a symbol nor a string/) but no exception was raised (false was returned)
135
+ fails "Kernel#respond_to_missing? causes #respond_to? to return false if called and returning nil" # Expected nil to be false
136
+ fails "Kernel#respond_to_missing? causes #respond_to? to return true if called and not returning false" # Expected "glark" to be true
137
+ fails "Kernel#singleton_class raises TypeError for Integer" # Expected TypeError but got: Exception (Object.defineProperty called on non-object)
138
+ fails "Kernel#singleton_class raises TypeError for Symbol" # Expected TypeError but no exception was raised (#<Class:#<String:0x53aaa>> was returned)
139
+ fails "Kernel#singleton_method find a method defined on the singleton class" # NoMethodError: undefined method `singleton_method' for #<Object:0x4540a>
140
+ fails "Kernel#singleton_method only looks at singleton methods and not at methods in the class" # Expected NoMethodError == NameError to be truthy but was false
141
+ fails "Kernel#singleton_method raises a NameError if there is no such method" # Expected NoMethodError == NameError to be truthy but was false
142
+ fails "Kernel#singleton_method returns a Method which can be called" # NoMethodError: undefined method `singleton_method' for #<Object:0x453d6>
143
+ fails "Kernel#singleton_methods when not passed an argument does not return any included methods for a class including a module" # NoMethodError: undefined method `singleton_methods' for ReflectSpecs::D
144
+ fails "Kernel#singleton_methods when not passed an argument does not return any included methods for a module including a module" # NoMethodError: undefined method `singleton_methods' for ReflectSpecs::N
145
+ fails "Kernel#singleton_methods when not passed an argument does not return private singleton methods for an object extended with a module including a module" # NoMethodError: undefined method `singleton_methods' for #<MockObject:0x47396 @name="Object extended, included" @null=nil>
142
146
  fails "Kernel#singleton_methods when not passed an argument for a module does not return methods in a module prepended to Module itself" # NoMethodError: undefined method `singleton_methods' for SingletonMethodsSpecs::SelfExtending
143
- fails "Kernel#singleton_methods when not passed an argument returns a unique list for a subclass including a module"
144
- fails "Kernel#singleton_methods when not passed an argument returns a unique list for a subclass"
145
- fails "Kernel#singleton_methods when not passed an argument returns a unique list for an object extended with a module"
146
- fails "Kernel#singleton_methods when not passed an argument returns an empty Array for an object with no singleton methods"
147
- fails "Kernel#singleton_methods when not passed an argument returns the names of class methods for a class"
148
- fails "Kernel#singleton_methods when not passed an argument returns the names of inherited singleton methods for a class extended with a module"
149
- fails "Kernel#singleton_methods when not passed an argument returns the names of inherited singleton methods for a subclass including a module"
150
- fails "Kernel#singleton_methods when not passed an argument returns the names of inherited singleton methods for a subclass of a class including a module"
151
- fails "Kernel#singleton_methods when not passed an argument returns the names of inherited singleton methods for a subclass of a class that includes a module, where the subclass also includes a module"
152
- fails "Kernel#singleton_methods when not passed an argument returns the names of inherited singleton methods for a subclass"
153
- fails "Kernel#singleton_methods when not passed an argument returns the names of module methods for a module"
154
- fails "Kernel#singleton_methods when not passed an argument returns the names of singleton methods for an object extended with a module including a module" # NoMethodError: undefined method `singleton_methods' for #<MockObject:0x104da>
155
- fails "Kernel#singleton_methods when not passed an argument returns the names of singleton methods for an object extended with a module" # NoMethodError: undefined method `singleton_methods' for #<MockObject:0x104e2>
156
- fails "Kernel#singleton_methods when not passed an argument returns the names of singleton methods for an object extended with two modules" # NoMethodError: undefined method `singleton_methods' for #<MockObject:0x104de>
157
- fails "Kernel#singleton_methods when not passed an argument returns the names of singleton methods for an object"
158
- fails "Kernel#singleton_methods when passed false does not return any included methods for a class including a module"
159
- fails "Kernel#singleton_methods when passed false does not return any included methods for a module including a module"
160
- fails "Kernel#singleton_methods when passed false does not return names of inherited singleton methods for a subclass"
161
- fails "Kernel#singleton_methods when passed false does not return private singleton methods for an object extended with a module including a module" # NoMethodError: undefined method `singleton_methods' for #<MockObject:0x104fe>
162
- fails "Kernel#singleton_methods when passed false does not return the names of inherited singleton methods for a class extended with a module"
147
+ fails "Kernel#singleton_methods when not passed an argument returns a unique list for a subclass including a module" # NoMethodError: undefined method `singleton_methods' for ReflectSpecs::C
148
+ fails "Kernel#singleton_methods when not passed an argument returns a unique list for a subclass" # NoMethodError: undefined method `singleton_methods' for ReflectSpecs::B
149
+ fails "Kernel#singleton_methods when not passed an argument returns a unique list for an object extended with a module" # NoMethodError: undefined method `singleton_methods' for #<MockObject:0x473b6 @name="Object extended" @null=nil>
150
+ fails "Kernel#singleton_methods when not passed an argument returns an empty Array for an object with no singleton methods" # NoMethodError: undefined method `singleton_methods' for #<MockObject:0x4739a @name="Object with no singleton methods" @null=nil>
151
+ fails "Kernel#singleton_methods when not passed an argument returns the names of class methods for a class" # NoMethodError: undefined method `singleton_methods' for ReflectSpecs::A
152
+ fails "Kernel#singleton_methods when not passed an argument returns the names of inherited singleton methods for a class extended with a module" # NoMethodError: undefined method `singleton_methods' for ReflectSpecs::P
153
+ fails "Kernel#singleton_methods when not passed an argument returns the names of inherited singleton methods for a subclass including a module" # NoMethodError: undefined method `singleton_methods' for ReflectSpecs::C
154
+ fails "Kernel#singleton_methods when not passed an argument returns the names of inherited singleton methods for a subclass of a class including a module" # NoMethodError: undefined method `singleton_methods' for ReflectSpecs::E
155
+ fails "Kernel#singleton_methods when not passed an argument returns the names of inherited singleton methods for a subclass of a class that includes a module, where the subclass also includes a module" # NoMethodError: undefined method `singleton_methods' for ReflectSpecs::F
156
+ fails "Kernel#singleton_methods when not passed an argument returns the names of inherited singleton methods for a subclass" # NoMethodError: undefined method `singleton_methods' for ReflectSpecs::B
157
+ fails "Kernel#singleton_methods when not passed an argument returns the names of module methods for a module" # NoMethodError: undefined method `singleton_methods' for ReflectSpecs::M
158
+ fails "Kernel#singleton_methods when not passed an argument returns the names of singleton methods for an object extended with a module including a module" # NoMethodError: undefined method `singleton_methods' for #<MockObject:0x473ca @name="Object extended, included" @null=nil>
159
+ fails "Kernel#singleton_methods when not passed an argument returns the names of singleton methods for an object extended with a module" # NoMethodError: undefined method `singleton_methods' for #<MockObject:0x473c6 @name="Object extended" @null=nil>
160
+ fails "Kernel#singleton_methods when not passed an argument returns the names of singleton methods for an object extended with two modules" # NoMethodError: undefined method `singleton_methods' for #<MockObject:0x473ae @name="Object extended twice" @null=nil>
161
+ fails "Kernel#singleton_methods when not passed an argument returns the names of singleton methods for an object" # NoMethodError: undefined method `singleton_methods' for #<MockObject:0x473a2 @name="Object with singleton methods" @null=nil>
162
+ fails "Kernel#singleton_methods when passed false does not return any included methods for a class including a module" # NoMethodError: undefined method `singleton_methods' for ReflectSpecs::D
163
+ fails "Kernel#singleton_methods when passed false does not return any included methods for a module including a module" # NoMethodError: undefined method `singleton_methods' for ReflectSpecs::N
164
+ fails "Kernel#singleton_methods when passed false does not return names of inherited singleton methods for a subclass" # NoMethodError: undefined method `singleton_methods' for ReflectSpecs::B
165
+ fails "Kernel#singleton_methods when passed false does not return private singleton methods for an object extended with a module including a module" # NoMethodError: undefined method `singleton_methods' for #<MockObject:0x47450 @name="Object extended, included" @null=nil>
166
+ fails "Kernel#singleton_methods when passed false does not return the names of inherited singleton methods for a class extended with a module" # NoMethodError: undefined method `singleton_methods' for ReflectSpecs::P
163
167
  fails "Kernel#singleton_methods when passed false for a module does not return methods in a module prepended to Module itself" # NoMethodError: undefined method `singleton_methods' for SingletonMethodsSpecs::SelfExtending
164
- fails "Kernel#singleton_methods when passed false returns an empty Array for an object extended with a module including a module"
165
- fails "Kernel#singleton_methods when passed false returns an empty Array for an object extended with a module" # NoMethodError: undefined method `singleton_methods' for #<MockObject:0x104fa>
166
- fails "Kernel#singleton_methods when passed false returns an empty Array for an object extended with two modules" # NoMethodError: undefined method `singleton_methods' for #<MockObject:0x104f6>
167
- fails "Kernel#singleton_methods when passed false returns an empty Array for an object with no singleton methods"
168
- fails "Kernel#singleton_methods when passed false returns the names of class methods for a class"
169
- fails "Kernel#singleton_methods when passed false returns the names of module methods for a module"
170
- fails "Kernel#singleton_methods when passed false returns the names of singleton methods for an object"
171
- fails "Kernel#singleton_methods when passed false returns the names of singleton methods of the subclass"
172
- fails "Kernel#singleton_methods when passed true does not return any included methods for a class including a module"
173
- fails "Kernel#singleton_methods when passed true does not return any included methods for a module including a module"
174
- fails "Kernel#singleton_methods when passed true does not return private singleton methods for an object extended with a module including a module" # NoMethodError: undefined method `singleton_methods' for #<MockObject:0x104e6>
168
+ fails "Kernel#singleton_methods when passed false returns an empty Array for an object extended with a module including a module" # NoMethodError: undefined method `singleton_methods' for #<MockObject:0x4742c @name="Object extended, included" @null=nil>
169
+ fails "Kernel#singleton_methods when passed false returns an empty Array for an object extended with a module" # NoMethodError: undefined method `singleton_methods' for #<MockObject:0x4744c @name="Object extended" @null=nil>
170
+ fails "Kernel#singleton_methods when passed false returns an empty Array for an object extended with two modules" # NoMethodError: undefined method `singleton_methods' for #<MockObject:0x47428 @name="Object extended twice" @null=nil>
171
+ fails "Kernel#singleton_methods when passed false returns an empty Array for an object with no singleton methods" # NoMethodError: undefined method `singleton_methods' for #<MockObject:0x47446 @name="Object with no singleton methods" @null=nil>
172
+ fails "Kernel#singleton_methods when passed false returns the names of class methods for a class" # NoMethodError: undefined method `singleton_methods' for ReflectSpecs::A
173
+ fails "Kernel#singleton_methods when passed false returns the names of module methods for a module" # NoMethodError: undefined method `singleton_methods' for ReflectSpecs::M
174
+ fails "Kernel#singleton_methods when passed false returns the names of singleton methods for an object" # NoMethodError: undefined method `singleton_methods' for #<MockObject:0x47436 @name="Object with singleton methods" @null=nil>
175
+ fails "Kernel#singleton_methods when passed false returns the names of singleton methods of the subclass" # NoMethodError: undefined method `singleton_methods' for ReflectSpecs::B
176
+ fails "Kernel#singleton_methods when passed true does not return any included methods for a class including a module" # NoMethodError: undefined method `singleton_methods' for ReflectSpecs::D
177
+ fails "Kernel#singleton_methods when passed true does not return any included methods for a module including a module" # NoMethodError: undefined method `singleton_methods' for ReflectSpecs::N
178
+ fails "Kernel#singleton_methods when passed true does not return private singleton methods for an object extended with a module including a module" # NoMethodError: undefined method `singleton_methods' for #<MockObject:0x473e8 @name="Object extended, included" @null=nil>
175
179
  fails "Kernel#singleton_methods when passed true for a module does not return methods in a module prepended to Module itself" # NoMethodError: undefined method `singleton_methods' for SingletonMethodsSpecs::SelfExtending
176
- fails "Kernel#singleton_methods when passed true returns a unique list for a subclass including a module"
177
- fails "Kernel#singleton_methods when passed true returns a unique list for a subclass"
178
- fails "Kernel#singleton_methods when passed true returns a unique list for an object extended with a module"
179
- fails "Kernel#singleton_methods when passed true returns an empty Array for an object with no singleton methods"
180
- fails "Kernel#singleton_methods when passed true returns the names of class methods for a class"
181
- fails "Kernel#singleton_methods when passed true returns the names of inherited singleton methods for a class extended with a module"
182
- fails "Kernel#singleton_methods when passed true returns the names of inherited singleton methods for a subclass including a module"
183
- fails "Kernel#singleton_methods when passed true returns the names of inherited singleton methods for a subclass of a class including a module"
184
- fails "Kernel#singleton_methods when passed true returns the names of inherited singleton methods for a subclass of a class that includes a module, where the subclass also includes a module"
185
- fails "Kernel#singleton_methods when passed true returns the names of inherited singleton methods for a subclass"
186
- fails "Kernel#singleton_methods when passed true returns the names of module methods for a module"
187
- fails "Kernel#singleton_methods when passed true returns the names of singleton methods for an object extended with a module including a module" # NoMethodError: undefined method `singleton_methods' for #<MockObject:0x104f2>
188
- fails "Kernel#singleton_methods when passed true returns the names of singleton methods for an object extended with a module" # NoMethodError: undefined method `singleton_methods' for #<MockObject:0x104ee>
189
- fails "Kernel#singleton_methods when passed true returns the names of singleton methods for an object extended with two modules" # NoMethodError: undefined method `singleton_methods' for #<MockObject:0x104ea>
190
- fails "Kernel#singleton_methods when passed true returns the names of singleton methods for an object"
180
+ fails "Kernel#singleton_methods when passed true returns a unique list for a subclass including a module" # NoMethodError: undefined method `singleton_methods' for ReflectSpecs::C
181
+ fails "Kernel#singleton_methods when passed true returns a unique list for a subclass" # NoMethodError: undefined method `singleton_methods' for ReflectSpecs::B
182
+ fails "Kernel#singleton_methods when passed true returns a unique list for an object extended with a module" # NoMethodError: undefined method `singleton_methods' for #<MockObject:0x47406 @name="Object extended" @null=nil>
183
+ fails "Kernel#singleton_methods when passed true returns an empty Array for an object with no singleton methods" # NoMethodError: undefined method `singleton_methods' for #<MockObject:0x473f8 @name="Object with no singleton methods" @null=nil>
184
+ fails "Kernel#singleton_methods when passed true returns the names of class methods for a class" # NoMethodError: undefined method `singleton_methods' for ReflectSpecs::A
185
+ fails "Kernel#singleton_methods when passed true returns the names of inherited singleton methods for a class extended with a module" # NoMethodError: undefined method `singleton_methods' for ReflectSpecs::P
186
+ fails "Kernel#singleton_methods when passed true returns the names of inherited singleton methods for a subclass including a module" # NoMethodError: undefined method `singleton_methods' for ReflectSpecs::C
187
+ fails "Kernel#singleton_methods when passed true returns the names of inherited singleton methods for a subclass of a class including a module" # NoMethodError: undefined method `singleton_methods' for ReflectSpecs::E
188
+ fails "Kernel#singleton_methods when passed true returns the names of inherited singleton methods for a subclass of a class that includes a module, where the subclass also includes a module" # NoMethodError: undefined method `singleton_methods' for ReflectSpecs::F
189
+ fails "Kernel#singleton_methods when passed true returns the names of inherited singleton methods for a subclass" # NoMethodError: undefined method `singleton_methods' for ReflectSpecs::B
190
+ fails "Kernel#singleton_methods when passed true returns the names of module methods for a module" # NoMethodError: undefined method `singleton_methods' for ReflectSpecs::M
191
+ fails "Kernel#singleton_methods when passed true returns the names of singleton methods for an object extended with a module including a module" # NoMethodError: undefined method `singleton_methods' for #<MockObject:0x47402 @name="Object extended, included" @null=nil>
192
+ fails "Kernel#singleton_methods when passed true returns the names of singleton methods for an object extended with a module" # NoMethodError: undefined method `singleton_methods' for #<MockObject:0x473fc @name="Object extended" @null=nil>
193
+ fails "Kernel#singleton_methods when passed true returns the names of singleton methods for an object extended with two modules" # NoMethodError: undefined method `singleton_methods' for #<MockObject:0x47412 @name="Object extended twice" @null=nil>
194
+ fails "Kernel#singleton_methods when passed true returns the names of singleton methods for an object" # NoMethodError: undefined method `singleton_methods' for #<MockObject:0x473f2 @name="Object with singleton methods" @null=nil>
191
195
  fails "Kernel#sleep accepts any Object that reponds to divmod" # TypeError: can't convert Object into time interval
196
+ fails "Kernel#sprintf %c raises error when a codepoint isn't representable in an encoding of a format string" # Expected RangeError (/out of char range/) but no exception was raised ("Ԇ" was returned)
197
+ fails "Kernel#sprintf %c uses the encoding of the format string to interpret codepoints" # ArgumentError: unknown encoding name - euc-jp
192
198
  fails "Kernel#sprintf can produce a string with invalid encoding" # Expected true to be false
193
- fails "Kernel#sprintf flags # applies to format o does nothing for negative argument" # Expected "0..7651" to equal "..7651"
194
- fails "Kernel#sprintf flags # applies to formats aAeEfgG changes format from dd.dddd to exponential form for gG" # Expected "1.234e+02" to equal "1.e+02"
199
+ fails "Kernel#sprintf flags # applies to format o does nothing for negative argument" # Expected "0..7651" == "..7651" to be truthy but was false
200
+ fails "Kernel#sprintf flags # applies to formats aAeEfgG changes format from dd.dddd to exponential form for gG" # Expected "1.234e+02" == "1.e+02" to be truthy but was false
195
201
  fails "Kernel#sprintf flags # applies to formats aAeEfgG forces a decimal point to be added, even if no digits follow" # NotImplementedError: `A` and `a` format field types are not implemented in Opal yet
196
202
  fails "Kernel#sprintf flags (digit)$ specifies the absolute argument number for this field" # NotImplementedError: `A` and `a` format field types are not implemented in Opal yet
197
- fails "Kernel#sprintf flags * left-justifies the result if specified with $ argument is negative" # Expected "1.095200e+2 " to equal "1.095200e+02 "
198
- fails "Kernel#sprintf flags * left-justifies the result if width is negative" # Expected "1.095200e+2 " to equal "1.095200e+02 "
203
+ fails "Kernel#sprintf flags * left-justifies the result if specified with $ argument is negative" # Expected "1.095200e+2 " == "1.095200e+02 " to be truthy but was false
204
+ fails "Kernel#sprintf flags * left-justifies the result if width is negative" # Expected "1.095200e+2 " == "1.095200e+02 " to be truthy but was false
199
205
  fails "Kernel#sprintf flags * raises ArgumentError when is mixed with width" # Expected ArgumentError but no exception was raised (" 112" was returned)
200
- fails "Kernel#sprintf flags * uses the previous argument as the field width" # Expected " 1.095200e+02" to equal " 1.095200e+02"
201
- fails "Kernel#sprintf flags * uses the specified argument as the width if * is followed by a number and $" # Expected " 1.095200e+02" to equal " 1.095200e+02"
206
+ fails "Kernel#sprintf flags * uses the previous argument as the field width" # Expected " 1.095200e+02" == " 1.095200e+02" to be truthy but was false
207
+ fails "Kernel#sprintf flags * uses the specified argument as the width if * is followed by a number and $" # Expected " 1.095200e+02" == " 1.095200e+02" to be truthy but was false
202
208
  fails "Kernel#sprintf flags + applies to numeric formats bBdiouxXaAeEfgG adds a leading plus sign to non-negative numbers" # NotImplementedError: `A` and `a` format field types are not implemented in Opal yet
203
- fails "Kernel#sprintf flags - left-justifies the result of conversion if width is specified" # Expected "1.095200e+2 " to equal "1.095200e+02 "
204
- fails "Kernel#sprintf flags 0 (zero) applies to numeric formats bBdiouxXaAeEfgG and width is specified pads with zeros, not spaces" # Expected "0000000001.095200e+02" to equal "000000001.095200e+02"
209
+ fails "Kernel#sprintf flags - left-justifies the result of conversion if width is specified" # Expected "1.095200e+2 " == "1.095200e+02 " to be truthy but was false
210
+ fails "Kernel#sprintf flags 0 (zero) applies to numeric formats bBdiouxXaAeEfgG and width is specified pads with zeros, not spaces" # Expected "0000000001.095200e+02" == "000000001.095200e+02" to be truthy but was false
205
211
  fails "Kernel#sprintf flags space applies to numeric formats bBdiouxXeEfgGaA does not leave a space at the start of negative numbers" # NotImplementedError: `A` and `a` format field types are not implemented in Opal yet
206
212
  fails "Kernel#sprintf flags space applies to numeric formats bBdiouxXeEfgGaA leaves a space at the start of non-negative numbers" # NotImplementedError: `A` and `a` format field types are not implemented in Opal yet
207
213
  fails "Kernel#sprintf flags space applies to numeric formats bBdiouxXeEfgGaA treats several white spaces as one" # NotImplementedError: `A` and `a` format field types are not implemented in Opal yet
208
214
  fails "Kernel#sprintf float formats A converts floating point argument as [-]0xh.hhhhp[+-]dd and use uppercase X and P" # NotImplementedError: `A` and `a` format field types are not implemented in Opal yet
209
215
  fails "Kernel#sprintf float formats A displays Float::INFINITY as Inf" # NotImplementedError: `A` and `a` format field types are not implemented in Opal yet
210
216
  fails "Kernel#sprintf float formats A displays Float::NAN as NaN" # NotImplementedError: `A` and `a` format field types are not implemented in Opal yet
211
- fails "Kernel#sprintf float formats G otherwise cuts excessive digits in fractional part and keeps only 4 ones" # Expected "12.12341111" to equal "12.1234"
212
- fails "Kernel#sprintf float formats G otherwise cuts fraction part to have only 6 digits at all" # Expected "1.1234567" to equal "1.12346"
213
- fails "Kernel#sprintf float formats G otherwise rounds the last significant digit to the closest one in fractional part" # Expected "1.555555555" to equal "1.55556"
214
- fails "Kernel#sprintf float formats G the exponent is greater than or equal to the precision (6 by default) converts a floating point number using exponential form" # Expected "1.234567E+06" to equal "1.23457E+06"
217
+ fails "Kernel#sprintf float formats G otherwise cuts excessive digits in fractional part and keeps only 4 ones" # Expected "12.12341111" == "12.1234" to be truthy but was false
218
+ fails "Kernel#sprintf float formats G otherwise cuts fraction part to have only 6 digits at all" # Expected "1.1234567" == "1.12346" to be truthy but was false
219
+ fails "Kernel#sprintf float formats G otherwise rounds the last significant digit to the closest one in fractional part" # Expected "1.555555555" == "1.55556" to be truthy but was false
220
+ fails "Kernel#sprintf float formats G the exponent is greater than or equal to the precision (6 by default) converts a floating point number using exponential form" # Expected "1.234567E+06" == "1.23457E+06" to be truthy but was false
215
221
  fails "Kernel#sprintf float formats a converts floating point argument as [-]0xh.hhhhp[+-]dd" # NotImplementedError: `A` and `a` format field types are not implemented in Opal yet
216
222
  fails "Kernel#sprintf float formats a displays Float::INFINITY as Inf" # NotImplementedError: `A` and `a` format field types are not implemented in Opal yet
217
223
  fails "Kernel#sprintf float formats a displays Float::NAN as NaN" # NotImplementedError: `A` and `a` format field types are not implemented in Opal yet
218
- fails "Kernel#sprintf float formats g otherwise cuts excessive digits in fractional part and keeps only 4 ones" # Expected "12.12341111" to equal "12.1234"
219
- fails "Kernel#sprintf float formats g otherwise cuts fraction part to have only 6 digits at all" # Expected "1.1234567" to equal "1.12346"
220
- fails "Kernel#sprintf float formats g otherwise rounds the last significant digit to the closest one in fractional part" # Expected "1.555555555" to equal "1.55556"
221
- fails "Kernel#sprintf float formats g the exponent is greater than or equal to the precision (6 by default) converts a floating point number using exponential form" # Expected "1.234567e+06" to equal "1.23457e+06"
222
- fails "Kernel#sprintf integer formats d works well with large numbers" # Expected "1234567890987654400" to equal "1234567890987654321"
223
- fails "Kernel#sprintf integer formats i works well with large numbers" # Expected "1234567890987654400" to equal "1234567890987654321"
224
- fails "Kernel#sprintf integer formats u works well with large numbers" # Expected "1234567890987654400" to equal "1234567890987654321"
224
+ fails "Kernel#sprintf float formats g otherwise cuts excessive digits in fractional part and keeps only 4 ones" # Expected "12.12341111" == "12.1234" to be truthy but was false
225
+ fails "Kernel#sprintf float formats g otherwise cuts fraction part to have only 6 digits at all" # Expected "1.1234567" == "1.12346" to be truthy but was false
226
+ fails "Kernel#sprintf float formats g otherwise rounds the last significant digit to the closest one in fractional part" # Expected "1.555555555" == "1.55556" to be truthy but was false
227
+ fails "Kernel#sprintf float formats g the exponent is greater than or equal to the precision (6 by default) converts a floating point number using exponential form" # Expected "1.234567e+06" == "1.23457e+06" to be truthy but was false
228
+ fails "Kernel#sprintf integer formats d works well with large numbers" # Expected "1234567890987654400" == "1234567890987654321" to be truthy but was false
229
+ fails "Kernel#sprintf integer formats i works well with large numbers" # Expected "1234567890987654400" == "1234567890987654321" to be truthy but was false
230
+ fails "Kernel#sprintf integer formats u works well with large numbers" # Expected "1234567890987654400" == "1234567890987654321" to be truthy but was false
225
231
  fails "Kernel#sprintf other formats % alone raises an ArgumentError" # Expected ArgumentError but no exception was raised ("%" was returned)
226
- fails "Kernel#sprintf other formats s preserves encoding of the format string" # Expected #<Encoding:UTF-8> == #<Encoding:ASCII-8BIT (dummy)> to be truthy but was false
232
+ fails "Kernel#sprintf other formats c raises TypeError if argument is nil" # Expected TypeError (/no implicit conversion from nil to integer/) but got: TypeError (no implicit conversion of NilClass into Integer)
233
+ fails "Kernel#sprintf other formats c raises TypeError if argument is not String or Integer and cannot be converted to them" # Expected TypeError (/no implicit conversion of Array into Integer/) but got: ArgumentError (too few arguments)
234
+ fails "Kernel#sprintf other formats c raises TypeError if converting to Integer with to_int returns non-Integer" # Expected TypeError (/can't convert BasicObject to String/) but got: NoMethodError (undefined method `respond_to?' for #<BasicObject:0x3e00a>)
235
+ fails "Kernel#sprintf other formats c raises TypeError if converting to String with to_str returns non-String" # Expected TypeError (/can't convert BasicObject to String/) but got: NoMethodError (undefined method `respond_to?' for #<BasicObject:0x3e032>)
236
+ fails "Kernel#sprintf other formats c tries to convert argument to Integer with to_int" # NoMethodError: undefined method `respond_to?' for #<BasicObject:0x3e012>
237
+ fails "Kernel#sprintf other formats c tries to convert argument to String with to_str" # NoMethodError: undefined method `respond_to?' for #<BasicObject:0x3e028>
238
+ fails "Kernel#sprintf other formats s preserves encoding of the format string" # Expected #<Encoding:UTF-8> == #<Encoding:US-ASCII> to be truthy but was false
227
239
  fails "Kernel#sprintf precision float types controls the number of decimal places displayed in fraction part" # NotImplementedError: `A` and `a` format field types are not implemented in Opal yet
228
- fails "Kernel#sprintf precision float types does not affect G format" # Expected "12.12340000" to equal "12.1234"
229
- fails "Kernel#sprintf precision string formats determines the maximum number of characters to be copied from the string" # Expected "1" to equal "["
230
- fails "Kernel#sprintf raises Encoding::CompatibilityError if both encodings are ASCII compatible and there ano not ASCII characters" # ArgumentError: unknown encoding name - windows-1252
231
- fails "Kernel#sprintf width specifies the minimum number of characters that will be written to the result" # Expected " 1.095200e+02" to equal " 1.095200e+02"
232
- fails "Kernel#warn :uplevel keyword argument converts first arg using to_s" # Expected: $stderr: /core\/kernel\/fixtures\/classes.rb:441: warning: false/ got: $stderr: "ruby/core/kernel/fixtures/classes.rb:441:7:in `warn': warning: false\n"
240
+ fails "Kernel#sprintf precision float types does not affect G format" # Expected "12.12340000" == "12.1234" to be truthy but was false
241
+ fails "Kernel#sprintf precision string formats determines the maximum number of characters to be copied from the string" # Expected "1" == "[" to be truthy but was false
242
+ fails "Kernel#sprintf raises Encoding::CompatibilityError if both encodings are ASCII compatible and there are not ASCII characters" # ArgumentError: unknown encoding name - windows-1252
243
+ fails "Kernel#sprintf width specifies the minimum number of characters that will be written to the result" # Expected " 1.095200e+02" == " 1.095200e+02" to be truthy but was false
244
+ fails "Kernel#srand is a private method" # Expected Kernel to have private instance method 'srand' but it does not
245
+ fails "Kernel#srand returns the system-initialized seed value on the first call" # NoMethodError: undefined method `tmp' for #<MSpecEnv:0x46d76 @seed=6933182541716747>
246
+ fails "Kernel#warn :uplevel keyword argument converts first arg using to_s" # Expected: $stderr: /core\/kernel\/fixtures\/classes.rb:453: warning: false/ got: $stderr: "ruby/core/kernel/fixtures/classes.rb:453:7: warning: false "
233
247
  fails "Kernel#warn :uplevel keyword argument converts value to Integer" # TypeError: no implicit conversion of Number into Integer
234
- fails "Kernel#warn :uplevel keyword argument prepends a message with specified line from the backtrace" # Expected: $stderr: /core\/kernel\/fixtures\/classes.rb:441: warning: foo/ got: $stderr: "ruby/core/kernel/fixtures/classes.rb:441:7:in `warn': warning: foo\n"
235
- fails "Kernel#warn :uplevel keyword argument prepends even if a message is empty or nil" # Expected: $stderr: /core\/kernel\/fixtures\/classes.rb:441: warning: \n$/ got: $stderr: "ruby/core/kernel/fixtures/classes.rb:441:7:in `warn': warning: \n"
248
+ fails "Kernel#warn :uplevel keyword argument prepends a message with specified line from the backtrace" # Expected: $stderr: /core\/kernel\/fixtures\/classes.rb:453: warning: foo/ got: $stderr: "ruby/core/kernel/fixtures/classes.rb:453:7: warning: foo "
249
+ fails "Kernel#warn :uplevel keyword argument prepends even if a message is empty or nil" # Expected: $stderr: /core\/kernel\/fixtures\/classes.rb:453: warning: \n$/ got: $stderr: "ruby/core/kernel/fixtures/classes.rb:453:7: warning: "
236
250
  fails "Kernel#warn :uplevel keyword argument raises if :category keyword is not nil and not convertible to symbol" # Expected TypeError but no exception was raised (nil was returned)
237
- fails "Kernel#warn :uplevel keyword argument shows the caller of #require and not #require itself with RubyGems loaded" # NoMethodError: undefined method `tmp' for #<MSpecEnv:0x28d18>
238
- fails "Kernel#warn :uplevel keyword argument shows the caller of #require and not #require itself without RubyGems" # NoMethodError: undefined method `insert' for "rubyexe.rb"
239
- fails "Kernel#warn :uplevel keyword argument skips <internal: core library methods defined in Ruby" # NoMethodError: undefined method `insert' for "rubyexe.rb"
240
- fails "Kernel#warn avoids recursion if Warning#warn is redefined and calls super" # NoMethodError: undefined method `insert' for "rubyexe.rb"
241
- fails "Kernel#warn does not call Warning.warn if self is the Warning module" # NoMethodError: undefined method `insert' for "rubyexe.rb"
242
- fails "Kernel#warn writes each array element on a line when passes an array" # Expected: $stderr: "line 1\nline 2\n" got: $stderr: "[\"line 1\", \"li
243
- fails "Kernel.Complex() when passed Numerics n1 and n2 and at least one responds to #real? with false returns n1 + n2 * Complex(0, 1)"
244
- fails "Kernel.Complex() when passed [Complex, Complex] returns a new Complex number based on the two given numbers"
245
- fails "Kernel.Complex() when passed [Complex] returns the passed Complex number"
246
- fails "Kernel.Complex() when passed a Numeric which responds to #real? with false returns the passed argument"
247
- fails "Kernel.Complex() when passed a non-Numeric second argument raises TypeError"
248
- fails "Kernel.Complex() when passed a single non-Numeric coerces the passed argument using #to_c"
249
- fails "Kernel.Complex() when passed an Object which responds to #to_c returns the passed argument" # Expected (#<Object:0x332c0>+0i) to equal (0+1i)
251
+ fails "Kernel#warn :uplevel keyword argument shows the caller of #require and not #require itself with RubyGems loaded" # NoMethodError: undefined method `tmp' for #<MSpecEnv:0xa4104 @before_verbose=nil @before_separator="\n">
252
+ fails "Kernel#warn :uplevel keyword argument shows the caller of #require and not #require itself without RubyGems" # NoMethodError: undefined method `tmp' for #<MSpecEnv:0xa4104 @before_verbose=nil @before_separator="\n">
253
+ fails "Kernel#warn :uplevel keyword argument skips <internal: core library methods defined in Ruby" # NoMethodError: undefined method `tmp' for #<MSpecEnv:0xa4104 @before_verbose=nil @before_separator="\n">
254
+ fails "Kernel#warn avoids recursion if Warning#warn is redefined and calls super" # NoMethodError: undefined method `tmp' for #<MSpecEnv:0xa4104 @before_verbose=nil @before_separator="\n">
255
+ fails "Kernel#warn does not call Warning.warn if self is the Warning module" # NoMethodError: undefined method `tmp' for #<MSpecEnv:0xa4104 @before_verbose=nil @before_separator="\n">
256
+ fails "Kernel#warn writes each array element on a line when passes an array" # Expected: $stderr: "line 1 line 2 " got: $stderr: "[\"line 1\", \"line 2\"] "
257
+ fails "Kernel.Complex() when passed Numerics n1 and n2 and at least one responds to #real? with false returns n1 + n2 * Complex(0, 1)" # Expected #<Complex>(#pretty_inspect raised #<ArgumentError: comparison of NumericMockObject with 0 failed>) to be identical to #<NumericMockObject:0x4a1ea @name="n4" @null=nil>
258
+ fails "Kernel.Complex() when passed [Complex, Complex] returns a new Complex number based on the two given numbers" # Expected #<Complex>(#pretty_inspect raised #<NoMethodError: undefined method `positive?' for (5+6i)>) == (-3+9i) to be truthy but was false
259
+ fails "Kernel.Complex() when passed [Complex] returns the passed Complex number" # Expected ((1+2i)+0i) == (1+2i) to be truthy but was false
260
+ fails "Kernel.Complex() when passed [String] ignores leading whitespaces" # Expected (" 79+4i"+0i) == (79+4i) to be truthy but was false
261
+ fails "Kernel.Complex() when passed [String] ignores trailing whitespaces" # Expected ("79+4i "+0i) == (79+4i) to be truthy but was false
262
+ fails "Kernel.Complex() when passed [String] invalid argument and exception: false passed raises Encoding::CompatibilityError if String is in not ASCII-compatible encoding" # Expected CompatibilityError (ASCII incompatible encoding: UTF-16) but got: ArgumentError (unknown encoding name - UTF-16)
263
+ fails "Kernel.Complex() when passed [String] invalid argument and exception: false passed returns nil for Float::INFINITY" # Expected #<Complex>(#pretty_inspect raised #<NoMethodError: undefined method `positive?' for {"exception"=>false}>) == nil to be truthy but was false
264
+ fails "Kernel.Complex() when passed [String] invalid argument and exception: false passed returns nil for Float::NAN" # Expected #<Complex>(#pretty_inspect raised #<NoMethodError: undefined method `positive?' for {"exception"=>false}>) == nil to be truthy but was false
265
+ fails "Kernel.Complex() when passed [String] invalid argument and exception: false passed returns nil for unrecognised Strings" # Expected #<Complex>(#pretty_inspect raised #<NoMethodError: undefined method `positive?' for {"exception"=>false}>) == nil to be truthy but was false
266
+ fails "Kernel.Complex() when passed [String] invalid argument and exception: false passed returns nil when String contains null-byte" # Expected #<Complex>(#pretty_inspect raised #<NoMethodError: undefined method `positive?' for {"exception"=>false}>) == nil to be truthy but was false
267
+ fails "Kernel.Complex() when passed [String] invalid argument and exception: false passed returns nil when there is a sequence of _" # Expected #<Complex>(#pretty_inspect raised #<NoMethodError: undefined method `positive?' for {"exception"=>false}>) == nil to be truthy but was false
268
+ fails "Kernel.Complex() when passed [String] invalid argument and exception: false passed returns nil when trailing garbage" # Expected #<Complex>(#pretty_inspect raised #<NoMethodError: undefined method `positive?' for {"exception"=>false}>) == nil to be truthy but was false
269
+ fails "Kernel.Complex() when passed [String] invalid argument does not allow null-byte" # Expected ArgumentError (string contains null byte) but no exception was raised (("1-2i\u0000"+0i) was returned)
270
+ fails "Kernel.Complex() when passed [String] invalid argument does not understand Float::INFINITY" # Expected ArgumentError (invalid value for convert(): "Infinity") but no exception was raised (("Infinity"+0i) was returned)
271
+ fails "Kernel.Complex() when passed [String] invalid argument does not understand Float::NAN" # Expected ArgumentError (invalid value for convert(): "NaN") but no exception was raised (("NaN"+0i) was returned)
272
+ fails "Kernel.Complex() when passed [String] invalid argument does not understand a sequence of _" # Expected ArgumentError (invalid value for convert(): "7__9+4__0i") but no exception was raised (("7__9+4__0i"+0i) was returned)
273
+ fails "Kernel.Complex() when passed [String] invalid argument raises ArgumentError for trailing garbage" # Expected ArgumentError (invalid value for convert(): "79+4iruby") but no exception was raised (("79+4iruby"+0i) was returned)
274
+ fails "Kernel.Complex() when passed [String] invalid argument raises ArgumentError for unrecognised Strings" # Expected ArgumentError (invalid value for convert(): "ruby") but no exception was raised (("ruby"+0i) was returned)
275
+ fails "Kernel.Complex() when passed [String] invalid argument raises Encoding::CompatibilityError if String is in not ASCII-compatible encoding" # Expected CompatibilityError (ASCII incompatible encoding: UTF-16) but got: ArgumentError (unknown encoding name - UTF-16)
276
+ fails "Kernel.Complex() when passed [String] understands 'a+bi' to mean a complex number with 'a' as the real part, 'b' as the imaginary" # Expected ("79+4i"+0i) == (79+4i) to be truthy but was false
277
+ fails "Kernel.Complex() when passed [String] understands 'a+i' to mean a complex number with 'a' as the real part, 1i as the imaginary" # Expected ("79+i"+0i) == (79+1i) to be truthy but was false
278
+ fails "Kernel.Complex() when passed [String] understands 'a-bi' to mean a complex number with 'a' as the real part, '-b' as the imaginary" # Expected ("79-4i"+0i) == (79-4i) to be truthy but was false
279
+ fails "Kernel.Complex() when passed [String] understands 'a-i' to mean a complex number with 'a' as the real part, -1i as the imaginary" # Expected ("79-i"+0i) == (79-1i) to be truthy but was false
280
+ fails "Kernel.Complex() when passed [String] understands 'm@a' to mean a complex number in polar form with 'm' as the modulus, 'a' as the argument" # Expected ("79@4"+0i) == (-51.63784604822534-59.78739712932633i) to be truthy but was false
281
+ fails "Kernel.Complex() when passed [String] understands _" # Expected ("7_9+4_0i"+0i) == (79+40i) to be truthy but was false
282
+ fails "Kernel.Complex() when passed [String] understands a '-i' by itself as denoting a complex number with an imaginary part of -1" # Expected ("-i"+0i) == (0-1i) to be truthy but was false
283
+ fails "Kernel.Complex() when passed [String] understands a negative integer followed by 'i' to mean that negative integer is the imaginary part" # Expected ("-29i"+0i) == (0-29i) to be truthy but was false
284
+ fails "Kernel.Complex() when passed [String] understands an 'i' by itself as denoting a complex number with an imaginary part of 1" # Expected ("i"+0i) == (0+1i) to be truthy but was false
285
+ fails "Kernel.Complex() when passed [String] understands an integer followed by 'i' to mean that integer is the imaginary part" # Expected ("35i"+0i) == (0+35i) to be truthy but was false
286
+ fails "Kernel.Complex() when passed [String] understands floats (a.b) for the imaginary part" # Expected ("4+2.3i"+0i) == (4+2.3i) to be truthy but was false
287
+ fails "Kernel.Complex() when passed [String] understands floats (a.b) for the real part" # Expected ("2.3"+0i) == (2.3+0i) to be truthy but was false
288
+ fails "Kernel.Complex() when passed [String] understands fractions (numerator/denominator) for the imaginary part" # Expected ("4+2/3i"+0i) == (4+(2/3)i) to be truthy but was false
289
+ fails "Kernel.Complex() when passed [String] understands fractions (numerator/denominator) for the real part" # Expected ("2/3"+0i) == ((2/3)+0i) to be truthy but was false
290
+ fails "Kernel.Complex() when passed [String] understands i, I, j, and J imaginary units" # Expected ("79+4i"+0i) == (79+4i) to be truthy but was false
291
+ fails "Kernel.Complex() when passed [String] understands integers" # Expected ("20"+0i) == (20+0i) to be truthy but was false
292
+ fails "Kernel.Complex() when passed [String] understands negative floats (-a.b) for the imaginary part" # Expected ("7-28.771i"+0i) == (7-28.771i) to be truthy but was false
293
+ fails "Kernel.Complex() when passed [String] understands negative floats (-a.b) for the real part" # Expected ("-2.33"+0i) == (-2.33+0i) to be truthy but was false
294
+ fails "Kernel.Complex() when passed [String] understands negative fractions (-numerator/denominator) for the imaginary part" # Expected ("7-2/3i"+0i) == (7-(2/3)i) to be truthy but was false
295
+ fails "Kernel.Complex() when passed [String] understands negative fractions (-numerator/denominator) for the real part" # Expected ("-2/3"+0i) == ((-2/3)+0i) to be truthy but was false
296
+ fails "Kernel.Complex() when passed [String] understands negative integers" # Expected ("-3"+0i) == (-3+0i) to be truthy but was false
297
+ fails "Kernel.Complex() when passed [String] understands negative scientific notation for the imaginary part" # Expected ("4-2e3i"+0i) == (4-2000i) to be truthy but was false
298
+ fails "Kernel.Complex() when passed [String] understands negative scientific notation for the real and imaginary part in the same String" # Expected ("-2e3-2e4i"+0i) == (-2000-20000i) to be truthy but was false
299
+ fails "Kernel.Complex() when passed [String] understands negative scientific notation for the real part" # Expected ("-2e3+4i"+0i) == (-2000+4i) to be truthy but was false
300
+ fails "Kernel.Complex() when passed [String] understands scientific notation for the imaginary part" # Expected ("4+2e3i"+0i) == (4+2000i) to be truthy but was false
301
+ fails "Kernel.Complex() when passed [String] understands scientific notation for the real and imaginary part in the same String" # Expected ("2e3+2e4i"+0i) == (2000+20000i) to be truthy but was false
302
+ fails "Kernel.Complex() when passed [String] understands scientific notation for the real part" # Expected ("2e3+4i"+0i) == (2000+4i) to be truthy but was false
303
+ fails "Kernel.Complex() when passed [String] understands scientific notation with e and E" # Expected ("2e3+2e4i"+0i) == (2000+20000i) to be truthy but was false
304
+ fails "Kernel.Complex() when passed a Numeric which responds to #real? with false returns the passed argument" # Expected (#<NumericMockObject:0x4a1b8 @name="unreal" @null=nil>+0i) to be identical to #<NumericMockObject:0x4a1b8 @name="unreal" @null=nil>
305
+ fails "Kernel.Complex() when passed a non-Numeric second argument raises TypeError" # Expected TypeError but no exception was raised (#<Complex>(#pretty_inspect raised #<NoMethodError: undefined method `positive?' for "sym">) was returned)
306
+ fails "Kernel.Complex() when passed a single non-Numeric coerces the passed argument using #to_c" # Expected (#<MockObject:0x4a298 @name="n" @null=nil>+0i) to be identical to (0+0i)
307
+ fails "Kernel.Complex() when passed an Object which responds to #to_c returns the passed argument" # Expected (#<Object:0x4a18a>+0i) == (0+1i) to be truthy but was false
250
308
  fails "Kernel.Complex() when passed exception: false and [Numeric] returns a complex number" # Expected #<Complex>(#pretty_inspect raised #<NoMethodError: undefined method `positive?' for {"exception"=>false}>) == (123+0i) to be truthy but was false
251
- fails "Kernel.Complex() when passed exception: false and [anything, non-Numeric] argument swallows an error" # ArgumentError: [MSpecEnv#Complex] wrong number of arguments(3 for -2)
252
- fails "Kernel.Complex() when passed exception: false and [non-Numeric, Numeric] argument throws a TypeError" # Expected TypeError (not a real) but got: ArgumentError ([MSpecEnv#Complex] wrong number of arguments(3 for -2))
309
+ fails "Kernel.Complex() when passed exception: false and [anything, non-Numeric] argument swallows an error" # ArgumentError: [MSpecEnv#Complex] wrong number of arguments (given 3, expected -2)
310
+ fails "Kernel.Complex() when passed exception: false and [non-Numeric, Numeric] argument throws a TypeError" # Expected TypeError (not a real) but got: ArgumentError ([MSpecEnv#Complex] wrong number of arguments (given 3, expected -2))
253
311
  fails "Kernel.Complex() when passed exception: false and [non-Numeric] swallows an error" # Expected #<Complex>(#pretty_inspect raised #<NoMethodError: undefined method `positive?' for {"exception"=>false}>) == nil to be truthy but was false
254
312
  fails "Kernel.Complex() when passed exception: false and nil arguments swallows an error" # Expected #<Complex>(#pretty_inspect raised #<NoMethodError: undefined method `positive?' for {"exception"=>false}>) == nil to be truthy but was false
255
- fails "Kernel.Complex() when passed exception: false and non-numeric String arguments swallows an error" # ArgumentError: [MSpecEnv#Complex] wrong number of arguments(3 for -2)
313
+ fails "Kernel.Complex() when passed exception: false and non-numeric String arguments swallows an error" # ArgumentError: [MSpecEnv#Complex] wrong number of arguments (given 3, expected -2)
256
314
  fails "Kernel.Complex() when passed nil raises TypeError" # Expected TypeError (can't convert nil into Complex) but no exception was raised ((nil+0i) was returned)
257
- fails "Kernel.Float for hexadecimal literals with binary exponent allows embedded _ in a number on either side of the P"
258
- fails "Kernel.Float for hexadecimal literals with binary exponent allows embedded _ in a number on either side of the p"
259
- fails "Kernel.Float for hexadecimal literals with binary exponent allows hexadecimal points on the left side of the 'P'"
260
- fails "Kernel.Float for hexadecimal literals with binary exponent allows hexadecimal points on the left side of the 'p'"
261
- fails "Kernel.Float for hexadecimal literals with binary exponent interprets the exponent (on the right of 'P') in decimal"
262
- fails "Kernel.Float for hexadecimal literals with binary exponent interprets the exponent (on the right of 'p') in decimal"
263
- fails "Kernel.Float for hexadecimal literals with binary exponent interprets the fractional part (on the left side of 'P') in hexadecimal"
264
- fails "Kernel.Float for hexadecimal literals with binary exponent interprets the fractional part (on the left side of 'p') in hexadecimal"
265
- fails "Kernel.Float for hexadecimal literals with binary exponent returns 0 for '0x1P-10000'"
266
- fails "Kernel.Float for hexadecimal literals with binary exponent returns 0 for '0x1p-10000'"
267
- fails "Kernel.Float for hexadecimal literals with binary exponent returns Infinity for '0x1P10000'"
268
- fails "Kernel.Float for hexadecimal literals with binary exponent returns Infinity for '0x1p10000'"
269
- fails "Kernel.Float when passed exception: false and invalid input swallows an error" # ArgumentError: [Kernel.Float] wrong number of arguments(2 for 1)
270
- fails "Kernel.Float when passed exception: false and nil swallows it" # ArgumentError: [Kernel.Float] wrong number of arguments(2 for 1)
271
- fails "Kernel.Float when passed exception: false and valid input returns a Float number" # ArgumentError: [Kernel.Float] wrong number of arguments(2 for 1)
315
+ fails "Kernel.Float for hexadecimal literals with binary exponent allows embedded _ in a number on either side of the P" # ArgumentError: invalid value for Float(): "0x1_0P10"
316
+ fails "Kernel.Float for hexadecimal literals with binary exponent allows embedded _ in a number on either side of the p" # ArgumentError: invalid value for Float(): "0x1_0p10"
317
+ fails "Kernel.Float for hexadecimal literals with binary exponent allows hexadecimal points on the left side of the 'P'" # ArgumentError: invalid value for Float(): "0x1.8P0"
318
+ fails "Kernel.Float for hexadecimal literals with binary exponent allows hexadecimal points on the left side of the 'p'" # ArgumentError: invalid value for Float(): "0x1.8p0"
319
+ fails "Kernel.Float for hexadecimal literals with binary exponent interprets the exponent (on the right of 'P') in decimal" # ArgumentError: invalid value for Float(): "0x1P10"
320
+ fails "Kernel.Float for hexadecimal literals with binary exponent interprets the exponent (on the right of 'p') in decimal" # ArgumentError: invalid value for Float(): "0x1p10"
321
+ fails "Kernel.Float for hexadecimal literals with binary exponent interprets the fractional part (on the left side of 'P') in hexadecimal" # ArgumentError: invalid value for Float(): "0x10P0"
322
+ fails "Kernel.Float for hexadecimal literals with binary exponent interprets the fractional part (on the left side of 'p') in hexadecimal" # ArgumentError: invalid value for Float(): "0x10p0"
323
+ fails "Kernel.Float for hexadecimal literals with binary exponent returns 0 for '0x1P-10000'" # ArgumentError: invalid value for Float(): "0x1P-10000"
324
+ fails "Kernel.Float for hexadecimal literals with binary exponent returns 0 for '0x1p-10000'" # ArgumentError: invalid value for Float(): "0x1p-10000"
325
+ fails "Kernel.Float for hexadecimal literals with binary exponent returns Infinity for '0x1P10000'" # ArgumentError: invalid value for Float(): "0x1P10000"
326
+ fails "Kernel.Float for hexadecimal literals with binary exponent returns Infinity for '0x1p10000'" # ArgumentError: invalid value for Float(): "0x1p10000"
327
+ fails "Kernel.Float when passed exception: false and invalid input swallows an error" # ArgumentError: [Kernel.Float] wrong number of arguments (given 2, expected 1)
328
+ fails "Kernel.Float when passed exception: false and nil swallows it" # ArgumentError: [Kernel.Float] wrong number of arguments (given 2, expected 1)
329
+ fails "Kernel.Float when passed exception: false and valid input returns a Float number" # ArgumentError: [Kernel.Float] wrong number of arguments (given 2, expected 1)
272
330
  fails "Kernel.Integer raises a TypeError when to_int returns not-an-Integer object and to_i returns nil" # Expected TypeError but no exception was raised ("1" was returned)
273
331
  fails "Kernel.Integer return a result of to_i when to_int does not return an Integer" # Expected "1" == 42 to be truthy but was false
274
332
  fails "Kernel.Integer when passed exception: false and an argument that contains a period swallows an error" # TypeError: no implicit conversion of Hash into Integer
275
333
  fails "Kernel.Integer when passed exception: false and an empty string swallows an error" # TypeError: no implicit conversion of Hash into Integer
276
- fails "Kernel.Integer when passed exception: false and invalid argument swallows an error" # ArgumentError: [MSpecEnv#Integer] wrong number of arguments(3 for -2)
334
+ fails "Kernel.Integer when passed exception: false and invalid argument swallows an error" # ArgumentError: [MSpecEnv#Integer] wrong number of arguments (given 3, expected -2)
277
335
  fails "Kernel.Integer when passed exception: false and multiple leading -s swallows an error" # TypeError: no implicit conversion of Hash into Integer
278
336
  fails "Kernel.Integer when passed exception: false and multiple trailing -s swallows an error" # TypeError: no implicit conversion of Hash into Integer
279
337
  fails "Kernel.Integer when passed exception: false and no to_int or to_i methods exist swallows an error" # ArgumentError: base specified for non string value
@@ -284,89 +342,111 @@ opal_filter "Kernel" do
284
342
  fails "Kernel.Integer when passed exception: false and passed nil swallows an error" # ArgumentError: base specified for non string value
285
343
  fails "Kernel.Integer when passed exception: false and to_i returns a value that is not an Integer swallows an error" # ArgumentError: base specified for non string value
286
344
  fails "Kernel.Integer when passed exception: false and to_int returns nil and no to_i exists swallows an error" # ArgumentError: base specified for non string value
287
- fails "Kernel.Integer when passed exception: false and valid argument returns an Integer number" # ArgumentError: [MSpecEnv#Integer] wrong number of arguments(3 for -2)
288
- fails "Kernel.Rational when passed a String converts the String to a Rational using the same method as String#to_r"
289
- fails "Kernel.Rational when passed a String does not use the same method as Float#to_r"
290
- fails "Kernel.Rational when passed a String raises a TypeError if the first argument is a Symbol"
291
- fails "Kernel.Rational when passed a String raises a TypeError if the second argument is a Symbol"
292
- fails "Kernel.Rational when passed a String scales the Rational value of the first argument by the Rational value of the second"
293
- fails "Kernel.Rational when passed a String when passed a Numeric calls #to_r to convert the first argument to a Rational"
294
- fails "Kernel.Rational when passed exception: false and [anything, non-Numeric] swallows an error" # ArgumentError: [MSpecEnv#Rational] wrong number of arguments(3 for -2)
295
- fails "Kernel.Rational when passed exception: false and [non-Numeric, Numeric] swallows an error" # ArgumentError: [MSpecEnv#Rational] wrong number of arguments(3 for -2)
345
+ fails "Kernel.Integer when passed exception: false and valid argument returns an Integer number" # ArgumentError: [MSpecEnv#Integer] wrong number of arguments (given 3, expected -2)
346
+ fails "Kernel.Rational when passed a String converts the String to a Rational using the same method as String#to_r" # Expected (0/1) == (13/25) to be truthy but was false
347
+ fails "Kernel.Rational when passed a String does not use the same method as Float#to_r" # Expected (5404319552844595/9007199254740992) == (3/5) to be truthy but was false
348
+ fails "Kernel.Rational when passed a String raises a TypeError if the first argument is a Symbol" # Expected TypeError but no exception was raised ((0/1) was returned)
349
+ fails "Kernel.Rational when passed a String raises a TypeError if the second argument is a Symbol" # Expected TypeError but got: ZeroDivisionError (divided by 0)
350
+ fails "Kernel.Rational when passed a String scales the Rational value of the first argument by the Rational value of the second" # ZeroDivisionError: divided by 0
351
+ fails "Kernel.Rational when passed a String when passed a Numeric calls #to_r to convert the first argument to a Rational" # NoMethodError: undefined method `/' for #<RationalSpecs::SubNumeric:0x2b4dc @value=(2/1)>
352
+ fails "Kernel.Rational when passed exception: false and [anything, non-Numeric] swallows an error" # ArgumentError: [MSpecEnv#Rational] wrong number of arguments (given 3, expected -2)
353
+ fails "Kernel.Rational when passed exception: false and [non-Numeric, Numeric] swallows an error" # ArgumentError: [MSpecEnv#Rational] wrong number of arguments (given 3, expected -2)
296
354
  fails "Kernel.Rational when passed exception: false and [non-Numeric] swallows an error" # NoMethodError: undefined method `to_i' for {"exception"=>false}
297
355
  fails "Kernel.Rational when passed exception: false and nil arguments swallows an error" # TypeError: cannot convert nil into Rational
298
- fails "Kernel.Rational when passed exception: false and non-Numeric String arguments swallows an error" # ArgumentError: [MSpecEnv#Rational] wrong number of arguments(3 for -2)
356
+ fails "Kernel.Rational when passed exception: false and non-Numeric String arguments swallows an error" # ArgumentError: [MSpecEnv#Rational] wrong number of arguments (given 3, expected -2)
299
357
  fails "Kernel.String calls #to_s if #respond_to?(:to_s) returns true" # TypeError: no implicit conversion of MockObject into String
300
- fails "Kernel.String raises a TypeError if #to_s is not defined, even though #respond_to?(:to_s) returns true"
301
- fails "Kernel.__callee__ returns method name even from eval"
302
- fails "Kernel.__callee__ returns method name even from send"
303
- fails "Kernel.__callee__ returns the aliased name when aliased method"
304
- fails "Kernel.__callee__ returns the caller from a define_method called from the same class"
305
- fails "Kernel.__callee__ returns the caller from block inside define_method too"
306
- fails "Kernel.__callee__ returns the caller from blocks too"
307
- fails "Kernel.__callee__ returns the caller from define_method too"
308
- fails "Kernel.__method__ returns method name even from eval"
309
- fails "Kernel.__method__ returns method name even from send"
310
- fails "Kernel.__method__ returns the caller from block inside define_method too"
311
- fails "Kernel.__method__ returns the caller from blocks too"
312
- fails "Kernel.__method__ returns the caller from define_method too"
358
+ fails "Kernel.String raises a TypeError if #to_s is not defined, even though #respond_to?(:to_s) returns true" # Expected TypeError but got: NoMethodError (undefined method `to_s' for #<Object:0x295e2>)
359
+ fails "Kernel.__callee__ returns method name even from eval" # Expected nil == "from_eval" to be truthy but was false
360
+ fails "Kernel.__callee__ returns method name even from send" # NoMethodError: undefined method `__callee__' for #<KernelSpecs::CalleeTest:0x4679a>
361
+ fails "Kernel.__callee__ returns the aliased name when aliased method" # Expected "f" == "g" to be truthy but was false
362
+ fails "Kernel.__callee__ returns the caller from a define_method called from the same class" # Expected nil == "f" to be truthy but was false
363
+ fails "Kernel.__callee__ returns the caller from block inside define_method too" # Expected [nil, nil] == ["dm_block", "dm_block"] to be truthy but was false
364
+ fails "Kernel.__callee__ returns the caller from blocks too" # Expected [nil, nil] == ["in_block", "in_block"] to be truthy but was false
365
+ fails "Kernel.__callee__ returns the caller from define_method too" # Expected nil == "dm" to be truthy but was false
366
+ fails "Kernel.__method__ returns method name even from eval" # Expected nil == "from_eval" to be truthy but was false
367
+ fails "Kernel.__method__ returns method name even from send" # NoMethodError: undefined method `__method__' for #<KernelSpecs::MethodTest:0x7c4de>
368
+ fails "Kernel.__method__ returns the caller from block inside define_method too" # Expected [nil, nil] == ["dm_block", "dm_block"] to be truthy but was false
369
+ fails "Kernel.__method__ returns the caller from blocks too" # Expected [nil, nil] == ["in_block", "in_block"] to be truthy but was false
370
+ fails "Kernel.__method__ returns the caller from define_method too" # Expected nil == "dm" to be truthy but was false
313
371
  fails "Kernel.autoload calls #to_path on non-String filenames" # Mock 'path' expected to receive to_path("any_args") exactly 1 times but received it 0 times
314
- fails "Kernel.autoload when called from included module's method setups the autoload on the included module" # NoMethodError: undefined method `autoload?' for KernelSpecs::AutoloadMethod2
372
+ fails "Kernel.autoload when called from included module's method setups the autoload on the included module" # Expected nil == "ruby/core/kernel/fixtures/autoload_from_included_module2.rb" to be truthy but was false
315
373
  fails "Kernel.autoload when called from included module's method the autoload relative to the included module works" # NameError: uninitialized constant KernelSpecs::AutoloadMethod2::AutoloadFromIncludedModule2
316
- fails "Kernel.global_variables finds subset starting with std"
374
+ fails "Kernel.global_variables finds subset starting with std" # NoMethodError: undefined method `global_variables' for #<MSpecEnv:0xb3298 @i=0>
317
375
  fails "Kernel.lambda does not create lambda-style Procs when captured with #method" # Expected true to be false
318
- fails "Kernel.lambda raises an ArgumentError when no block is given"
376
+ fails "Kernel.lambda raises an ArgumentError when no block is given" # Expected ArgumentError but got: Exception (Cannot add property $$is_lambda, object is not extensible)
319
377
  fails "Kernel.lambda returns the passed Proc if given an existing Proc through super" # Expected true to be false
320
378
  fails "Kernel.lambda returns the passed Proc if given an existing Proc" # Expected true to be false
321
- fails "Kernel.loop returns StopIteration#result, the result value of a finished iterator" # requires changes in enumerator.rb
322
- fails "Kernel.printf calls write on the first argument when it is not a string"
323
- fails "Kernel.printf formatting io is not specified other formats s preserves encoding of the format string" # Expected #<Encoding:UTF-8> == #<Encoding:ASCII-8BIT (dummy)> to be truthy but was false
324
- fails "Kernel.printf formatting io is specified other formats s preserves encoding of the format string" # Expected #<Encoding:UTF-8> == #<Encoding:ASCII-8BIT (dummy)> to be truthy but was false
325
- fails "Kernel.printf writes to stdout when a string is the first argument"
379
+ fails "Kernel.loop returns StopIteration#result, the result value of a finished iterator" # Expected nil == "stopped" to be truthy but was false
380
+ fails "Kernel.printf calls write on the first argument when it is not a string" # NoMethodError: undefined method `tmp' for #<MSpecEnv:0x4046a @name=nil @stdout=#<IO:0xa @fd=1 @flags="w" @eof=false @closed="read" @write_proc=#<Proc:0x40474> @tty=true>>
381
+ fails "Kernel.printf formatting io is not specified other formats c raises TypeError if argument is nil" # Expected TypeError (/no implicit conversion from nil to integer/) but got: TypeError (no implicit conversion of NilClass into Integer)
382
+ fails "Kernel.printf formatting io is not specified other formats c raises TypeError if argument is not String or Integer and cannot be converted to them" # Expected TypeError (/no implicit conversion of Array into Integer/) but got: ArgumentError (too few arguments)
383
+ fails "Kernel.printf formatting io is not specified other formats c raises TypeError if converting to Integer with to_int returns non-Integer" # Expected TypeError (/can't convert BasicObject to String/) but got: NoMethodError (undefined method `respond_to?' for #<BasicObject:0x407ec>)
384
+ fails "Kernel.printf formatting io is not specified other formats c raises TypeError if converting to String with to_str returns non-String" # Expected TypeError (/can't convert BasicObject to String/) but got: NoMethodError (undefined method `respond_to?' for #<BasicObject:0x407f6>)
385
+ fails "Kernel.printf formatting io is not specified other formats c tries to convert argument to Integer with to_int" # NoMethodError: undefined method `respond_to?' for #<BasicObject:0x4080e>
386
+ fails "Kernel.printf formatting io is not specified other formats c tries to convert argument to String with to_str" # NoMethodError: undefined method `respond_to?' for #<BasicObject:0x40800>
387
+ fails "Kernel.printf formatting io is not specified other formats s preserves encoding of the format string" # Expected #<Encoding:UTF-8> == #<Encoding:US-ASCII> to be truthy but was false
388
+ fails "Kernel.printf formatting io is specified other formats c raises TypeError if argument is nil" # Expected TypeError (/no implicit conversion from nil to integer/) but got: Exception (format_string.indexOf is not a function)
389
+ fails "Kernel.printf formatting io is specified other formats c raises TypeError if argument is not String or Integer and cannot be converted to them" # Expected TypeError (/no implicit conversion of Array into Integer/) but got: Exception (format_string.indexOf is not a function)
390
+ fails "Kernel.printf formatting io is specified other formats c raises TypeError if converting to Integer with to_int returns non-Integer" # Expected TypeError (/can't convert BasicObject to String/) but got: Exception (format_string.indexOf is not a function)
391
+ fails "Kernel.printf formatting io is specified other formats c raises TypeError if converting to String with to_str returns non-String" # Expected TypeError (/can't convert BasicObject to String/) but got: Exception (format_string.indexOf is not a function)
392
+ fails "Kernel.printf formatting io is specified other formats c tries to convert argument to Integer with to_int" # Exception: format_string.indexOf is not a function
393
+ fails "Kernel.printf formatting io is specified other formats c tries to convert argument to String with to_str" # Exception: format_string.indexOf is not a function
394
+ fails "Kernel.printf formatting io is specified other formats s formats nil with precision" # Exception: format_string.indexOf is not a function
395
+ fails "Kernel.printf formatting io is specified other formats s formats nil with width" # Exception: format_string.indexOf is not a function
396
+ fails "Kernel.printf formatting io is specified other formats s preserves encoding of the format string" # Expected #<Encoding:UTF-8> == #<Encoding:US-ASCII> to be truthy but was false
397
+ fails "Kernel.printf writes to stdout when a string is the first argument" # NoMethodError: undefined method `tmp' for #<MSpecEnv:0x4046a @name=nil @stdout=#<IO:0xa @fd=1 @flags="w" @eof=false @closed="both" @write_proc=#<Proc:0x40474> @tty=true>>
326
398
  fails "Kernel.proc returned the passed Proc if given an existing Proc" # Expected false to be true
327
- fails "Kernel.rand is random on boot" # NoMethodError: undefined method `insert' for "rubyexe.rb"
328
- fails "Kernel.rand supports custom object types" # Expected "NaN#<struct KernelSpecs::CustomRangeInteger value=1>" (String) to be an instance of KernelSpecs::CustomRangeInteger
399
+ fails "Kernel.sprintf %c raises error when a codepoint isn't representable in an encoding of a format string" # Expected RangeError (/out of char range/) but no exception was raised ("Ԇ" was returned)
400
+ fails "Kernel.sprintf %c uses the encoding of the format string to interpret codepoints" # ArgumentError: unknown encoding name - euc-jp
329
401
  fails "Kernel.sprintf can produce a string with invalid encoding" # Expected true to be false
330
- fails "Kernel.sprintf flags # applies to format o does nothing for negative argument" # Expected "0..7651" to equal "..7651"
331
- fails "Kernel.sprintf flags # applies to formats aAeEfgG changes format from dd.dddd to exponential form for gG" # Expected "1.234e+02" to equal "1.e+02"
402
+ fails "Kernel.sprintf flags # applies to format o does nothing for negative argument" # Expected "0..7651" == "..7651" to be truthy but was false
403
+ fails "Kernel.sprintf flags # applies to formats aAeEfgG changes format from dd.dddd to exponential form for gG" # Expected "1.234e+02" == "1.e+02" to be truthy but was false
332
404
  fails "Kernel.sprintf flags # applies to formats aAeEfgG forces a decimal point to be added, even if no digits follow" # NotImplementedError: `A` and `a` format field types are not implemented in Opal yet
333
405
  fails "Kernel.sprintf flags (digit)$ specifies the absolute argument number for this field" # NotImplementedError: `A` and `a` format field types are not implemented in Opal yet
334
- fails "Kernel.sprintf flags * left-justifies the result if specified with $ argument is negative" # Expected "1.095200e+2 " to equal "1.095200e+02 "
335
- fails "Kernel.sprintf flags * left-justifies the result if width is negative" # Expected "1.095200e+2 " to equal "1.095200e+02 "
406
+ fails "Kernel.sprintf flags * left-justifies the result if specified with $ argument is negative" # Expected "1.095200e+2 " == "1.095200e+02 " to be truthy but was false
407
+ fails "Kernel.sprintf flags * left-justifies the result if width is negative" # Expected "1.095200e+2 " == "1.095200e+02 " to be truthy but was false
336
408
  fails "Kernel.sprintf flags * raises ArgumentError when is mixed with width" # Expected ArgumentError but no exception was raised (" 112" was returned)
337
- fails "Kernel.sprintf flags * uses the previous argument as the field width" # Expected " 1.095200e+02" to equal " 1.095200e+02"
338
- fails "Kernel.sprintf flags * uses the specified argument as the width if * is followed by a number and $" # Expected " 1.095200e+02" to equal " 1.095200e+02"
409
+ fails "Kernel.sprintf flags * uses the previous argument as the field width" # Expected " 1.095200e+02" == " 1.095200e+02" to be truthy but was false
410
+ fails "Kernel.sprintf flags * uses the specified argument as the width if * is followed by a number and $" # Expected " 1.095200e+02" == " 1.095200e+02" to be truthy but was false
339
411
  fails "Kernel.sprintf flags + applies to numeric formats bBdiouxXaAeEfgG adds a leading plus sign to non-negative numbers" # NotImplementedError: `A` and `a` format field types are not implemented in Opal yet
340
- fails "Kernel.sprintf flags - left-justifies the result of conversion if width is specified" # Expected "1.095200e+2 " to equal "1.095200e+02 "
341
- fails "Kernel.sprintf flags 0 (zero) applies to numeric formats bBdiouxXaAeEfgG and width is specified pads with zeros, not spaces" # Expected "0000000001.095200e+02" to equal "000000001.095200e+02"
412
+ fails "Kernel.sprintf flags - left-justifies the result of conversion if width is specified" # Expected "1.095200e+2 " == "1.095200e+02 " to be truthy but was false
413
+ fails "Kernel.sprintf flags 0 (zero) applies to numeric formats bBdiouxXaAeEfgG and width is specified pads with zeros, not spaces" # Expected "0000000001.095200e+02" == "000000001.095200e+02" to be truthy but was false
342
414
  fails "Kernel.sprintf flags space applies to numeric formats bBdiouxXeEfgGaA does not leave a space at the start of negative numbers" # NotImplementedError: `A` and `a` format field types are not implemented in Opal yet
343
415
  fails "Kernel.sprintf flags space applies to numeric formats bBdiouxXeEfgGaA leaves a space at the start of non-negative numbers" # NotImplementedError: `A` and `a` format field types are not implemented in Opal yet
344
416
  fails "Kernel.sprintf flags space applies to numeric formats bBdiouxXeEfgGaA treats several white spaces as one" # NotImplementedError: `A` and `a` format field types are not implemented in Opal yet
345
417
  fails "Kernel.sprintf float formats A converts floating point argument as [-]0xh.hhhhp[+-]dd and use uppercase X and P" # NotImplementedError: `A` and `a` format field types are not implemented in Opal yet
346
418
  fails "Kernel.sprintf float formats A displays Float::INFINITY as Inf" # NotImplementedError: `A` and `a` format field types are not implemented in Opal yet
347
419
  fails "Kernel.sprintf float formats A displays Float::NAN as NaN" # NotImplementedError: `A` and `a` format field types are not implemented in Opal yet
348
- fails "Kernel.sprintf float formats G otherwise cuts excessive digits in fractional part and keeps only 4 ones" # Expected "12.12341111" to equal "12.1234"
349
- fails "Kernel.sprintf float formats G otherwise cuts fraction part to have only 6 digits at all" # Expected "1.1234567" to equal "1.12346"
350
- fails "Kernel.sprintf float formats G otherwise rounds the last significant digit to the closest one in fractional part" # Expected "1.555555555" to equal "1.55556"
351
- fails "Kernel.sprintf float formats G the exponent is greater than or equal to the precision (6 by default) converts a floating point number using exponential form" # Expected "1.234567E+06" to equal "1.23457E+06"
420
+ fails "Kernel.sprintf float formats G otherwise cuts excessive digits in fractional part and keeps only 4 ones" # Expected "12.12341111" == "12.1234" to be truthy but was false
421
+ fails "Kernel.sprintf float formats G otherwise cuts fraction part to have only 6 digits at all" # Expected "1.1234567" == "1.12346" to be truthy but was false
422
+ fails "Kernel.sprintf float formats G otherwise rounds the last significant digit to the closest one in fractional part" # Expected "1.555555555" == "1.55556" to be truthy but was false
423
+ fails "Kernel.sprintf float formats G the exponent is greater than or equal to the precision (6 by default) converts a floating point number using exponential form" # Expected "1.234567E+06" == "1.23457E+06" to be truthy but was false
352
424
  fails "Kernel.sprintf float formats a converts floating point argument as [-]0xh.hhhhp[+-]dd" # NotImplementedError: `A` and `a` format field types are not implemented in Opal yet
353
425
  fails "Kernel.sprintf float formats a displays Float::INFINITY as Inf" # NotImplementedError: `A` and `a` format field types are not implemented in Opal yet
354
426
  fails "Kernel.sprintf float formats a displays Float::NAN as NaN" # NotImplementedError: `A` and `a` format field types are not implemented in Opal yet
355
- fails "Kernel.sprintf float formats g otherwise cuts excessive digits in fractional part and keeps only 4 ones" # Expected "12.12341111" to equal "12.1234"
356
- fails "Kernel.sprintf float formats g otherwise cuts fraction part to have only 6 digits at all" # Expected "1.1234567" to equal "1.12346"
357
- fails "Kernel.sprintf float formats g otherwise rounds the last significant digit to the closest one in fractional part" # Expected "1.555555555" to equal "1.55556"
358
- fails "Kernel.sprintf float formats g the exponent is greater than or equal to the precision (6 by default) converts a floating point number using exponential form" # Expected "1.234567e+06" to equal "1.23457e+06"
359
- fails "Kernel.sprintf integer formats d works well with large numbers" # Expected "1234567890987654400" to equal "1234567890987654321"
360
- fails "Kernel.sprintf integer formats i works well with large numbers" # Expected "1234567890987654400" to equal "1234567890987654321"
361
- fails "Kernel.sprintf integer formats u works well with large numbers" # Expected "1234567890987654400" to equal "1234567890987654321"
427
+ fails "Kernel.sprintf float formats g otherwise cuts excessive digits in fractional part and keeps only 4 ones" # Expected "12.12341111" == "12.1234" to be truthy but was false
428
+ fails "Kernel.sprintf float formats g otherwise cuts fraction part to have only 6 digits at all" # Expected "1.1234567" == "1.12346" to be truthy but was false
429
+ fails "Kernel.sprintf float formats g otherwise rounds the last significant digit to the closest one in fractional part" # Expected "1.555555555" == "1.55556" to be truthy but was false
430
+ fails "Kernel.sprintf float formats g the exponent is greater than or equal to the precision (6 by default) converts a floating point number using exponential form" # Expected "1.234567e+06" == "1.23457e+06" to be truthy but was false
431
+ fails "Kernel.sprintf integer formats d works well with large numbers" # Expected "1234567890987654400" == "1234567890987654321" to be truthy but was false
432
+ fails "Kernel.sprintf integer formats i works well with large numbers" # Expected "1234567890987654400" == "1234567890987654321" to be truthy but was false
433
+ fails "Kernel.sprintf integer formats u works well with large numbers" # Expected "1234567890987654400" == "1234567890987654321" to be truthy but was false
362
434
  fails "Kernel.sprintf other formats % alone raises an ArgumentError" # Expected ArgumentError but no exception was raised ("%" was returned)
363
- fails "Kernel.sprintf other formats s preserves encoding of the format string" # Expected #<Encoding:UTF-8> == #<Encoding:ASCII-8BIT (dummy)> to be truthy but was false
435
+ fails "Kernel.sprintf other formats c raises TypeError if argument is nil" # Expected TypeError (/no implicit conversion from nil to integer/) but got: TypeError (no implicit conversion of NilClass into Integer)
436
+ fails "Kernel.sprintf other formats c raises TypeError if argument is not String or Integer and cannot be converted to them" # Expected TypeError (/no implicit conversion of Array into Integer/) but got: ArgumentError (too few arguments)
437
+ fails "Kernel.sprintf other formats c raises TypeError if converting to Integer with to_int returns non-Integer" # Expected TypeError (/can't convert BasicObject to String/) but got: NoMethodError (undefined method `respond_to?' for #<BasicObject:0x3e8be>)
438
+ fails "Kernel.sprintf other formats c raises TypeError if converting to String with to_str returns non-String" # Expected TypeError (/can't convert BasicObject to String/) but got: NoMethodError (undefined method `respond_to?' for #<BasicObject:0x3e8e6>)
439
+ fails "Kernel.sprintf other formats c tries to convert argument to Integer with to_int" # NoMethodError: undefined method `respond_to?' for #<BasicObject:0x3e8c6>
440
+ fails "Kernel.sprintf other formats c tries to convert argument to String with to_str" # NoMethodError: undefined method `respond_to?' for #<BasicObject:0x3e8e2>
441
+ fails "Kernel.sprintf other formats s preserves encoding of the format string" # Expected #<Encoding:UTF-8> == #<Encoding:US-ASCII> to be truthy but was false
364
442
  fails "Kernel.sprintf precision float types controls the number of decimal places displayed in fraction part" # NotImplementedError: `A` and `a` format field types are not implemented in Opal yet
365
- fails "Kernel.sprintf precision float types does not affect G format" # Expected "12.12340000" to equal "12.1234"
366
- fails "Kernel.sprintf precision string formats determines the maximum number of characters to be copied from the string" # Expected "1" to equal "["
367
- fails "Kernel.sprintf raises Encoding::CompatibilityError if both encodings are ASCII compatible and there ano not ASCII characters" # ArgumentError: unknown encoding name - windows-1252
443
+ fails "Kernel.sprintf precision float types does not affect G format" # Expected "12.12340000" == "12.1234" to be truthy but was false
444
+ fails "Kernel.sprintf precision string formats determines the maximum number of characters to be copied from the string" # Expected "1" == "[" to be truthy but was false
445
+ fails "Kernel.sprintf raises Encoding::CompatibilityError if both encodings are ASCII compatible and there are not ASCII characters" # ArgumentError: unknown encoding name - windows-1252
368
446
  fails "Kernel.sprintf returns a String in the same encoding as the format String if compatible" # NameError: uninitialized constant Encoding::KOI8_U
369
- fails "Kernel.sprintf width specifies the minimum number of characters that will be written to the result" # Expected " 1.095200e+02" to equal " 1.095200e+02"
370
- fails "Kernel.srand returns the previous seed value on the first call" # NoMethodError: undefined method `insert' for "rubyexe.rb"
447
+ fails "Kernel.sprintf width specifies the minimum number of characters that will be written to the result" # Expected " 1.095200e+02" == " 1.095200e+02" to be truthy but was false
371
448
  fails_badly "Kernel#autoload registers a file to load the first time the named constant is accessed" # NoMethodError: undefined method `autoload?' for #<MSpecEnv:0x5b168>
449
+ fails_badly "Kernel#autoload when called from included module's method setups the autoload on the included module"
450
+ fails_badly "Kernel#autoload when called from included module's method the autoload is reachable from the class too"
451
+ fails_badly "Kernel#autoload when called from included module's method the autoload relative to the included module works"
372
452
  end