summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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