aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/puppet/provider/augeas/augeas.rb3
-rw-r--r--spec/unit/provider/augeas/augeas_spec.rb10
2 files changed, 12 insertions, 1 deletions
diff --git a/lib/puppet/provider/augeas/augeas.rb b/lib/puppet/provider/augeas/augeas.rb
index a22a506..7704955 100644
--- a/lib/puppet/provider/augeas/augeas.rb
+++ b/lib/puppet/provider/augeas/augeas.rb
@@ -79,8 +79,9 @@ Puppet::Type.type(:augeas).provide(:augeas) do
data = data.flatten
args = []
data.each do |line|
+ next if line.nil?
line.strip!
- next if line.nil? || line.empty?
+ next if line.empty?
argline = []
sc = StringScanner.new(line)
cmd = sc.scan(%r{\w+|==|!=})
diff --git a/spec/unit/provider/augeas/augeas_spec.rb b/spec/unit/provider/augeas/augeas_spec.rb
index 180f89c..7c9336a 100644
--- a/spec/unit/provider/augeas/augeas_spec.rb
+++ b/spec/unit/provider/augeas/augeas_spec.rb
@@ -46,6 +46,16 @@ describe Puppet::Type.type(:augeas).provider(:augeas) do
end
describe 'command parsing' do
+ it 'ignores nil values when parsing commands' do
+ commands = [nil, 'set Jar/Jar Binks']
+ tokens = provider.parse_commands(commands)
+ expect(tokens.size).to eq(1)
+ expect(tokens[0].size).to eq(3)
+ expect(tokens[0][0]).to eq('set')
+ expect(tokens[0][1]).to eq('Jar/Jar')
+ expect(tokens[0][2]).to eq('Binks')
+ end
+
it 'breaks apart a single line into three tokens and clean up the context' do
resource[:context] = '/context'
tokens = provider.parse_commands('set Jar/Jar Binks')