spec/templates/helpers/shared_signature_examples.rb in yard-0.7.5 vs spec/templates/helpers/shared_signature_examples.rb in yard-0.8.0
- old
+ new
@@ -1,24 +1,26 @@
shared_examples_for "signature" do
before do
- YARD::Registry.clear
- stub!(:options).and_return(:default_return => "Object")
+ YARD::Registry.clear
+ @options = Templates::TemplateOptions.new
+ @options.reset_defaults
+ stub!(:options).and_return(@options)
end
it "should show signature for regular instance method" do
YARD.parse_string "def foo; end"
signature(Registry.at('#foo')).should == @results[:regular]
end
it "should allow default return type to be changed" do
- stub!(:options).and_return(:default_return => "Hello")
+ @options.default_return = "Hello"
YARD.parse_string "def foo; end"
signature(Registry.at('#foo')).should == @results[:default_return]
end
it "should allow default return type to be omitted" do
- stub!(:options).and_return(:default_return => "")
+ @options.default_return = ""
YARD.parse_string "def foo; end"
signature(Registry.at('#foo')).should == @results[:no_default_return]
end
it "should show signature for private class method" do
@@ -56,11 +58,11 @@
# @return [Type, nil]
def foo; end
eof
signature(Registry.at('#foo')).should == @results[:type_nil]
end
-
+
it "should show 'Type?' if return types are [Type, nil, nil] (extra nil)" do
YARD.parse_string <<-'eof'
# @return [Type, nil]
# @return [nil]
def foo; end
@@ -92,11 +94,11 @@
eof
signature(Registry.at('#foo')).should == @results[:void]
end
it "should not show return for @return [void] if :hide_void_return is true" do
- stub!(:options).and_return(:hide_void_return => true)
+ @options.hide_void_return = true
YARD.parse_string <<-'eof'
# @return [void]
def foo; end
eof
signature(Registry.at('#foo')).should == @results[:hide_void]
@@ -106,10 +108,10 @@
YARD.parse_string <<-'eof'
def foo; yield(a, b, c) end
eof
signature(Registry.at('#foo')).should == @results[:block]
end
-
+
it "should use regular return tag if the @overload is empty" do
YARD.parse_string <<-'eof'
# @overload foobar
# Hello world
# @return [String]