From: "agrimm (Andrew Grimm)" Date: 2013-10-03T11:08:57+09:00 Subject: [ruby-core:57625] [ruby-trunk - Bug #8975] Confusing code sample for assert_send Issue #8975 has been updated by agrimm (Andrew Grimm). To be honest, it's not so much a "legacy app" issue as a "legacy programmer" issue. I started programming back in Ruby 1.8.6. I don't use any opinionated web development frameworks such as Rails (I don't do web development at all, actually!), so nothing told me to switch to minitest. I used 'require "test/unit"' back then, and I still use it now. I don't actually know whether I use test/unit or whether Ruby 1.9/2.0 uses minitest with a compatibility layer. I also don't know what advantages there are in switching from test/unit to minitest. When I switched from 1.9.x to 2.0, the way that tests were outputted changed, in that you usually don't get a series of dots being printed out for each test. That gave me the impression that whatever I was using was non-legacy. Is test/unit considered legacy? I think that documenting the advantages of minitest over test/unit, or that test/unit is considered legacy, may be helpful. Maybe in the documentation for test/unit? ---------------------------------------- Bug #8975: Confusing code sample for assert_send https://bugs.ruby-lang.org/issues/8975#change-42239 Author: agrimm (Andrew Grimm) Status: Assigned Priority: Normal Assignee: zzak (Zachary Scott) Category: doc Target version: ruby -v: ruby 2.0.0p247 (2013-06-27 revision 41674) [x86_64-linux] Backport: 1.9.3: UNKNOWN, 2.0.0: UNKNOWN Test::Unit::Assertsions#assert_send has the code sample assert_send([[1, 2], :member?, 1]) # -> pass assert_send([[1, 2], :member?, 4]) # -> fail Having an array within an array is somewhat confusing. When I first read it, I ignored the extra square brackets. A less confusing example would be assert_send(["Hello world", :include?, "Hello"]) # -> pass assert_send(["Hello world", :include?, "Goodbye"]) # -> fail -- http://bugs.ruby-lang.org/