Previously, overload objects were not displaying their tags when
they had no docstring text. This was due to an issue in the overload
`to_hash` method, which prevented the tags from being serialized when
the dispatch had no top-level text. This commit updates that logic
so that the tags will always be included in the hash if they exist.
Previously, Strings ignored calls to `return_type` in Puppet 4.x API
function dispatches, preventing the return types of overloads from
being automatically determined. This commit adds a check for a node
with a `return_type` call and handles it properly.
Prior to this commit, strings did not properly handle providers
which had multiple related `defaultfor`s. In code, these are written
as comma-separated constraints. This commit updates strings' puppet
provider handler, as well as the template which generates HTML for
`defaultfor` statements.
Note that it was necessary to make a breaking change to the JSON
schema to accomodate multiple AND'ed defaults. Previously, provider
defaults were contained in a single key-value map. Now, they are
contained in an array of key-value lists, which allows multiple
constraints to be associated with each other.
Previously the acceptance test was implemented under the `spec` directory and
was moved out to a top level `acceptance` directory.
This broke the expected location for the node configuration files.
This commit puts the acceptance test back where it was previously.
Also fixes a failure in the test now that Markdown is the default markup
language used.
The specs test functions written in the Puppet language in a few places, but
this feature is only supported in Puppet 4.1+. This commit prevents these
specs from running if targeting older versions of Puppet.