Skip to content

Commit 8ae1ea7

Browse files
committed
test DocstringParser warnings for unknown delegated reference params
1 parent 4fe00c4 commit 8ae1ea7

File tree

1 file changed

+36
-0
lines changed

1 file changed

+36
-0
lines changed

spec/docstring_parser_spec.rb

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -215,6 +215,42 @@ def foo(a) end
215215
eof
216216
end
217217

218+
it "does warn about invalid named reference parameters without a splat" do
219+
expect(log).to receive(:warn).with(/@param tag has unknown parameter name: notaparam/)
220+
YARD.parse_string <<-eof
221+
# @param notaparam (see #elsewhere)
222+
def foo(a) end
223+
eof
224+
end
225+
226+
it "does not warn about unknown named parameters that are delegated" do
227+
expect(log).not_to receive(:warn).with(/@param tag has unknown parameter name: notaparam/)
228+
YARD.parse_string <<-eof
229+
# @param notaparam (see #elsewhere)
230+
def foo(*a) end
231+
eof
232+
end
233+
234+
it "does not warn about unknown named delegated parameters from ref tag list" do
235+
expect(log).not_to receive(:warn).with(/@param tag has unknown parameter name: barparam/)
236+
YARD.parse_string <<-eof
237+
# @param barparam
238+
def bar(barparam) end
239+
# @param (see #bar)
240+
def foo(*a) end
241+
eof
242+
end
243+
244+
it "does warn about unknown named delegated parameters from ref tag list without splat" do
245+
expect(log).to receive(:warn).with(/@param tag has unknown parameter name: barparam/)
246+
YARD.parse_string <<-eof
247+
# @param barparam
248+
def bar(barparam) end
249+
# @param (see #bar)
250+
def foo(a) end
251+
eof
252+
end
253+
218254
it "warns about invalid named parameters on @!method directives" do
219255
expect(log).to receive(:warn).with(/#foo @param tag has unknown parameter name: notaparam/)
220256
YARD.parse_string <<-eof

0 commit comments

Comments
 (0)