summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKenichi Kamiya <kachick1@gmail.com>2012-10-20 20:44:28 +0900
committerKenichi Kamiya <kachick1@gmail.com>2012-10-20 20:44:28 +0900
commitaa5c10953dcc99f16e45fe859b85190b933ae06e (patch)
tree9b4a521dfbca3ba33c7f0526d86d2f8a1c9c01eb
parent88c24072a6f9f3b806dc1122496b2d8e5c6b560f (diff)
downloadslop-aa5c10953dcc99f16e45fe859b85190b933ae06e.tar.gz
Add test suite for to specify the interface of Commands.new
-rw-r--r--test/commands_test.rb22
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