Previously, trying to use a space as a key_val_separator in the ini_setting
type would fail because #strip is being called on the key_val_separator
attribute, which completely kills the space. This commit checks to see
if key_val_separator has been set as a space, and, if so, sets the `k_v_s`
variable in the library to be ' ' instead of ''. This in turn allows the
provider to check for existing values (instead of inserting the value every
time Puppet is run).
The previous match for \s would also match on newlines. This caused
existing settings with blank values to have the newline considered part
of the whitespace surrounding the separator. When such settings are
set with a value, the value ends up on the next line.
Also adding acceptance test for this particular situation.
Noticed this when I was testing the module out with a FreeBSD host this code duplicates the shared_example used in the rest of the spec, so I DRY'd it up! 👍
This removes the "basic_spec" as it is largely a sanity check against
the env/tooling. The spec itself is problematic because in Puppet
Enterprise a module will be in 'sitemoduledir' or 'distmoduledir'
depending on whether it's included in PE as part of the distribution or
not. However it will always be in 'distmoduledir' for FOSS.