ruby-trunk-changes r49126 - r49144

今日は Tempfile.new の引数が省略可能になったり、Ripper.sexp の不具合修正があったりした他は主にドキュメントの追加/修正がありました。

ayumin: r49126 2015-01-04 00:00:31 +0900

Hash#invert の rdoc 用コメントに同じ値のキーがあった時の挙動について追記しています。今は Hash のキーが順序を保存しているのでそれに依存しているのですね。 [ruby-core:66917] [Bug #10612]

svn: r49127 2015-01-04 00:00:43 +0900

version.h の日付更新。

ayumin: r49128 2015-01-04 00:46:05 +0900

README.ja.md に不具合などの報告先として ML や Redmine へのリンクを追加しています。

hsbt: r49129 2015-01-04 09:18:38 +0900

標準添付ライブラリ tempfile の Tempfile.new の第1引数も省略可能にして空文字列を basename にするようにしています。 https://github.com/ruby/ruby/pull/523

hsbt: r49130 2015-01-04 09:21:08 +0900

標準添付ライブラリ drb の DRb::DRbProtocol#auto_load の第2引数が利用されていないので削除しています。 https://github.com/ruby/ruby/pull/515

nobu: r49131 2015-01-04 10:58:49 +0900

r49129 で追加したテストの assertion に assert_file を利用するようにしています。

nobu: r49132 2015-01-04 11:04:26 +0900

test/lib/minitest/unit.rb で省略可能引数に引数が渡されたのか、省略されたのかを判定するために UNDEFINED という定数に Object.new で作ったオブジェクトを入れてそれをデフォルト値にすることで判定していたのを、デフォルト値の式にローカル変数(?)への代入を含めることで判定するように書きかえています。 おお、なるほど、こういう方法も可能なんですね。これまでどうしても値が明示的に渡されたのかどうか判定するために同じように Object.new で専用のオブジェクトを作って確認していましたが、このほうが確実ですね。

nobu: r49133 2015-01-04 11:04:31 +0900

test/lib/minitest の make test-all 用の minitest からテストの順番を固定する機能とそのテストを削除しています。

nobu: r49134 2015-01-04 11:15:03 +0900

test/lib/test/unit の Test::Unit::TestCase.method_added で super を呼ぶようにしています。 hook メソッドは super を呼ぶのが定石。

ayumin: r49135 2015-01-04 12:37:10 +0900

String#strip の rdoc 用コメントに「空白」として扱う文字種について追記しています。 [ruby-core:66081] [Bug #10476]

ayumin: r49136 2015-01-04 12:45:24 +0900

Array#reject の rdoc 用コメントに順番は保存されることを追記しています。 そりゃそうだよなぁと思うけど確かに明記されてなかったですね。 [ruby-core:65324] [misc #10307]

ayumin: r49137 2015-01-04 13:10:31 +0900

String#<=> の rdoc 用コメントのサンプルコードに異なるクラスのオブジェクトが渡されたら nil を返すという例を追加しています。 [ruby-core:65399] [Feature #10322]

ayumin: r49138 2015-01-04 13:41:04 +0900

r49131 と同様に他のテストケースでも assert File.exist? としていたところを assert_file.exist? を利用するようにしています。

nobu: r49139 2015-01-04 14:02:40 +0900

test/lib/test/unit/parallel.rb で並列テスト実行の子プロセスでテストスクリプトを読み込む時の require に渡すファイルパスを絶対パスに展開するようにしています。

nobu: r49140 2015-01-04 21:32:54 +0900

拡張ライブラリ ripper でキーワード引数つきのメソッドをパースすると仮引数名のかわりに内部的な ID? が見えてしまっていた不具合を修正しています。 [ruby-core:67315] [Bug #10693]

nobu: r49141 2015-01-04 22:32:11 +0900

test/lib/test/unit.rb のリファクタリング。 Test::Unit をいくつかのモジュールに分割しています。

nobu: r49142 2015-01-04 22:32:44 +0900

test/lib/test/unit.rb のリファクタリング。 module 定義の順番を入れ替えたりしているそうです。内容の同一性は未確認。

nobu: r49143 2015-01-04 22:33:35 +0900

test/lib/test/unit.rb に ExcludesOption という Module を追加して -X/--excludes-dir オプションおよび環境変数 EXCLUDES による実行から除外するテストの指定を受け付けるようにする機能を追加しています。 なるほど、この追加をするためにまずリファクタリングしていたんですね。 [ruby-core:67255] [Feature #10682]

kazu: r49144 2015-01-04 23:53:00 +0900

r49136 の ChangeLog エントリの typo 修正。