From e2bf8e5da621f866cd80b1c0e228afc5542c2828 Mon Sep 17 00:00:00 2001 From: Ethan Date: Tue, 7 Mar 2023 01:20:35 -0800 Subject: [PATCH] test DocstringParser warnings for unknown delegated reference params --- spec/docstring_parser_spec.rb | 36 +++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) diff --git a/spec/docstring_parser_spec.rb b/spec/docstring_parser_spec.rb index c8521eb86..9ebb0bf2d 100644 --- a/spec/docstring_parser_spec.rb +++ b/spec/docstring_parser_spec.rb @@ -215,6 +215,42 @@ def foo(a) end eof end + it "does warn about invalid named reference parameters without a splat" do + expect(log).to receive(:warn).with(/@param tag has unknown parameter name: notaparam/) + YARD.parse_string <<-eof + # @param notaparam (see #elsewhere) + def foo(a) end + eof + end + + it "does not warn about unknown named parameters that are delegated" do + expect(log).not_to receive(:warn).with(/@param tag has unknown parameter name: notaparam/) + YARD.parse_string <<-eof + # @param notaparam (see #elsewhere) + def foo(*a) end + eof + end + + it "does not warn about unknown named delegated parameters from ref tag list" do + expect(log).not_to receive(:warn).with(/@param tag has unknown parameter name: barparam/) + YARD.parse_string <<-eof + # @param barparam + def bar(barparam) end + # @param (see #bar) + def foo(*a) end + eof + end + + it "does warn about unknown named delegated parameters from ref tag list without splat" do + expect(log).to receive(:warn).with(/@param tag has unknown parameter name: barparam/) + YARD.parse_string <<-eof + # @param barparam + def bar(barparam) end + # @param (see #bar) + def foo(a) end + eof + end + it "warns about invalid named parameters on @!method directives" do expect(log).to receive(:warn).with(/#foo @param tag has unknown parameter name: notaparam/) YARD.parse_string <<-eof