summaryrefslogtreecommitdiff
path: root/test
AgeCommit message (Collapse)Author
2019-08-30Don't pass an empty keyword hash when double splatting empty hashJeremy Evans
2019-08-30Use more accurate source location in keyword argument separation warningsJeremy Evans
This shows locations in places it didn't before, such as for proc calls, and fixes the location for super calls. This requires making iseq_location non-static and MJIT exported, which I hope will not cause problems.
2019-08-30Warn for keyword to last hash parameter when method has no optional/rest ↵Jeremy Evans
parameters Previously, there was no warning in this case, even though we will be changing the behavior in Ruby 3. Fixes [Bug #14130]
2019-08-30Remove a verbose warning that is no longer neededJeremy Evans
This warns about a case that we will continue to support.
2019-08-30Fix remaining warning issues in the tests due to keyword argument separationJeremy Evans
Notes: Merged: https://github.com/ruby/ruby/pull/2395
2019-08-30Make Method/Proc#parameters handle **nil syntaxJeremy Evans
Use a [:nokey] entry in this case. Notes: Merged: https://github.com/ruby/ruby/pull/2395
2019-08-30Make RubyVM::AbstractSyntaxTree handle **nil syntaxJeremy Evans
Use false instead of nil for the keyword and keyword rest values in that case. Notes: Merged: https://github.com/ruby/ruby/pull/2395
2019-08-30Make ripper support **nil syntaxJeremy Evans
The on_params hook will use :nil as the keyword rest argument. There is a new on_nokw_param hook as well. This fixes a type issue in the previous code, where an ID was passed where a VALUE was the declared type. The symbol :nil is passed instead of the id. Notes: Merged: https://github.com/ruby/ruby/pull/2395
2019-08-30Support **nil syntax for specifying a method does not accept keyword argumentsJeremy Evans
This syntax means the method should be treated as a method that uses keyword arguments, but no specific keyword arguments are supported, and therefore calling the method with keyword arguments will raise an ArgumentError. It is still allowed to double splat an empty hash when calling the method, as that does not pass any keyword arguments. Notes: Merged: https://github.com/ruby/ruby/pull/2395
2019-08-30Restore splitting of hashes into positional and keyword arguments, add warningJeremy Evans
This restores compatibility with Ruby 2.6, splitting the last positional hash into positional and keyword arguments if it contains both symbol and non-symbol keys. However, in this case it will warn, as the behavior in Ruby 3 will be to not split the hash and keep it as a positional argument. This does not affect the handling of mixed symbol and non-symbol keys in bare keywords. Those are still treated as keywords now, as they were before this patch. This results in different behavior than Ruby 2.6, which would split the bare keywords and use the non-Symbol keys as a positional arguments. Notes: Merged: https://github.com/ruby/ruby/pull/2395
2019-08-30Fix test after keyword argument separationJeremy Evans
Now that keyword splats accept non-Symbols, the type of exception changes. Previously, a TypeError (hash key "k1" is not a Symbol) was raised for this test, but now an ArgumentError (unknown keyword: "k1") is raised. Notes: Merged: https://github.com/ruby/ruby/pull/2395
2019-08-30Update tests to fix warning message changesJeremy Evans
Now that keyword splats accept non-Symbols, the inspect value of the keyword is used instead of the string value. Notes: Merged: https://github.com/ruby/ruby/pull/2395
2019-08-30Fix keyword argument separation warnings in testJeremy Evans
Notes: Merged: https://github.com/ruby/ruby/pull/2395
2019-08-30Make the dot-colon method reference frozenMaciej Mensfeld
[Feature #16103] Close: https://github.com/ruby/ruby/pull/2267
2019-08-30proc.c: Add UnboundMethod#bind_callYusuke Endoh
`umethod.bind_call(obj, ...)` is semantically equivalent to `umethod.bind(obj).call(...)`. This idiom is used in some libraries to call a method that is overridden. The added method does the same without allocation of intermediate Method object. [Feature #15955] ``` class Foo def add_1(x) x + 1 end end class Bar < Foo def add_1(x) # override x + 2 end end obj = Bar.new p obj.add_1(1) #=> 3 p Foo.instance_method(:add_1).bind(obj).call(1) #=> 2 p Foo.instance_method(:add_1).bind_call(obj, 1) #=> 2 ```
2019-08-30Move pread + pwrite tests out of RUBY_ENGINE blockCharles Oliver Nutter
These tests were guarded by a RUBY_ENGINE of "ruby" even though they test an official Ruby feature (pread/pwrite added in Ruby 2.5). This commit moves them to the top level of the test case so they will run on other implementations. Notes: Merged: https://github.com/ruby/ruby/pull/2412
2019-08-29Disallow use of attrset symbols as Struct membersJeremy Evans
Fixes [Bug #11326]
2019-08-29Refined warnings against literal in flip-flopNobuyoshi Nakada
2019-08-29Allow non-finalizable objects in ObjectSpace::WeakMapJean Boussier
[feature #16035] This goes one step farther than what nobu did in [feature #13498] With this patch, special objects such as static symbols, integers, etc can be used as either key or values inside WeakMap. They simply don't have a finalizer defined on them. This is useful if you need to deduplicate value objects Notes: Merged: https://github.com/ruby/ruby/pull/2313
2019-08-29Freeze method reference operator objectNobuyoshi Nakada
[Feature #16103]
2019-08-29Revert "Add pipeline operator [Feature #15799]"Nobuyoshi Nakada
This reverts commits: * d365fd5a024254d7c105a62a015a7ea29ccf3e5d * d780c3662484d6072b3a6945b840049de72c2096 * aa7211836b769231a2a8ef6b6ec2fd0ec882ef29 * 043f010c28e82ea38978bf8ed885416f133b5b75 * bb4dd7c6af05c7821d572e2592ea3d0cc748d81f * 043f010c28e82ea38978bf8ed885416f133b5b75 * f169043d81524b5b529f2c1e9c35437ba5bc3a7a http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-core/94645
2019-08-29Show the previous definition location,Nobuyoshi Nakada
when reopened class/module redefinition mismatched the previous definition. [Feature #11460]
2019-08-29Aseert exception at negative step for non-endless range tooNobuyoshi Nakada
2019-08-29Revert "Remove warnings of flip-flop deprecation from tests and specs"Nobuyoshi Nakada
This reverts commit bf7a32d22079cc44eb19794e41d82b886d5d17b3. flip-flop is no longer deprecated. [Feature #5400]
2019-08-27Fix use_lib_reline for test/readlineaycabta
2019-08-27Add test with encoding.manga_osyo
2019-08-27Change to test file path.manga_osyo
2019-08-27Add support Windows in CI.manga_osyo
2019-08-27Add test reline.manga_osyo
2019-08-27Refactoring Reline.manga_osyo
2019-08-27Fix reference core method.manga_osyo
2019-08-27Remove test_mode in `lib/reline`.manga_osyo
2019-08-27Refactoring Reline accessor.manga_osyo
2019-08-25Inspect dynamic symbol as well as static symbolNobuyoshi Nakada
2019-08-21Add abs to Matrix (#2199)Fernando Wolf Bona
2019-08-20Enable more Time TZ tests on OpenBSDJeremy Evans
2019-08-19Make portable for standalone test-unit gem.Hiroshi SHIBATA
* It can invoke test-unit with envutil.rb * refute_match of test-unit couldn't handle String instance.
2019-08-18Remove commented out debug printaycabta
2019-08-18Don't crash when deleting at the end of the lineAlan Wu
To reproduce this bug, type one character into irb, then press the delete key on your keyboard.
2019-08-17Remove Travis CI workaroundaycabta
2019-08-17Removed test_case files from lib directory.Hiroshi SHIBATA
2019-08-17Skip teardown with JRubyHiroshi SHIBATA
2019-08-17Use the original require for test_race_exceptionHiroshi SHIBATA
The extension for require method with rubygems affects this test case. We need to keep this test for the original method.
2019-08-17Revert "Revert "[rubygems/rubygems] [Require] Ensure -I beats a default gem""Hiroshi SHIBATA
This reverts commit 75d29db8f965893bb6ab38b9008abc80cdda246e.
2019-08-17Search refinement module along nested usingsNobuyoshi Nakada
[Bug #16107] Notes: Merged: https://github.com/ruby/ruby/pull/2373
2019-08-17Revert "[rubygems/rubygems] [Require] Ensure -I beats a default gem"Hiroshi SHIBATA
This reverts commit 00cd5d74cecb6aa4a184e57e2b8246ef6e45d458.
2019-08-17Move lib directory to the last of $LOAD_PATH on ruby repository.Hiroshi SHIBATA
https://github.com/rubygems/rubygems/pull/1868 changes the behavior of require when it used with -I options. Therefore, the options of ruby repository was different from rubygems/rubygems.
2019-08-17[rubygems/rubygems] Do not mutate uri.query during s3 signature creationAlexander Pakulov
https://github.com/rubygems/rubygems/commit/c0275ee537
2019-08-17[rubygems/rubygems] Autoswitch to exact bundler version if presentDavid Rodríguez
https://github.com/rubygems/rubygems/commit/bb02953a97
2019-08-17[rubygems/rubygems] Fix removing unresolved default spec files from mapDavid Rodríguez
https://github.com/rubygems/rubygems/commit/7964917bbc