diff options
-rw-r--r-- | test/commands_test.rb | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/test/commands_test.rb b/test/commands_test.rb index ac609ac..174dcf2 100644 --- a/test/commands_test.rb +++ b/test/commands_test.rb @@ -99,4 +99,26 @@ class CommandsTest < TestCase assert_equal %w( file1 file2 ), @commands.arguments end + test "context and return value of constructor block" do + peep = nil + ret = Slop::Commands.new { peep = self } + assert_same ret, peep + assert !equal?(peep) + + peep = nil + ret = Slop::Commands.new { |a| peep = self } + assert !peep.equal?(ret) + assert_same peep, self + + peep = nil + ret = Slop::Commands.new { |a, b| peep = self } + assert_same ret, peep + assert !equal?(peep) + + peep = nil + ret = Slop::Commands.new { |a, *rest| peep = self } + assert_same ret, peep + assert !equal?(peep) + end + end |