Merge pull request #62 from iankronquist/type-warnings-fixes
Last PR for the Summer
This commit is contained in:
		
						commit
						4e1e8cf36d
					
				|  | @ -30,8 +30,9 @@ class Puppet4xFunctionHandler < YARD::Handlers::Ruby::Base | |||
|     return [] if command.children.length < 2 or command.children[1].children.length < 2 | ||||
|     type_specifier = command.children[1] | ||||
|     # the parameter signature is the first child of the specifier and an | ||||
|     # identifier. Convert it to a string. | ||||
|     param_signature = type_specifier.children[0].source | ||||
|     # identifier. Jump to the content inside the quotes and convert it to a | ||||
|     # string. | ||||
|     param_signature = type_specifier.children[0].jump(:tstring_content).source | ||||
|     # The parameter name is the second child of the specifier and a symbol. | ||||
|     # convert it to a string. | ||||
|     param_name_ident = type_specifier.jump :ident | ||||
|  |  | |||
|  | @ -118,7 +118,7 @@ class TemplateHelper | |||
|       function.keys.each do |key| | ||||
|         if function[key].class == String | ||||
|           begin | ||||
|             instantiated = type_parser.parse function[key].gsub(/'/, '').gsub(/"/, "") | ||||
|             instantiated = type_parser.parse function[key] | ||||
|           rescue Puppet::ParseError | ||||
|             # Likely the result of a malformed type | ||||
|             next | ||||
|  | @ -132,15 +132,15 @@ class TemplateHelper | |||
|               param_instantiated = type_parser.parse type | ||||
|               if not type_calculator.assignable? instantiated, param_instantiated | ||||
|                 actual_types = object.type_info.map do |sig| | ||||
|                   sig[key] | ||||
|                 end | ||||
|                   sig[key].to_s if sig[key] | ||||
|                 end.compact | ||||
|                 # Get the locations where the object can be found. We only care about | ||||
|                 # the first one. | ||||
|                 locations = object.files | ||||
|                 warning = <<-EOS | ||||
| [warn]: @param tag types do not match the code. The #{param[:name]} | ||||
|     parameter is declared as types #{param[:types]} in the docstring, | ||||
|     but the code specifies the types #{actual_types.inspect} | ||||
|     but the code specifies the types #{actual_types} | ||||
|  EOS | ||||
| 
 | ||||
|                 # If the locations aren't in the shape we expect then report that | ||||
|  |  | |||
|  | @ -79,7 +79,7 @@ Puppet Types:     0 (    0 undocumented) | |||
| Puppet Providers:     0 (    0 undocumented) | ||||
|  100.00% documented | ||||
|     output | ||||
|     expected_stderr = "[warn]: @param tag types do not match the code. The ident\n    parameter is declared as types [\"Float\"] in the docstring,\n    but the code specifies the types [Puppet::Pops::Types::PStringType]\n    in the file manifests/init.pp near line 2.\n" | ||||
|     expected_stderr = "[warn]: @param tag types do not match the code. The ident\n    parameter is declared as types [\"Float\"] in the docstring,\n    but the code specifies the types [\"String\"]\n    in the file manifests/init.pp near line 2.\n" | ||||
| 
 | ||||
|     expect { | ||||
|       expect { | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue
	
	 Hailee Kenney
						Hailee Kenney