diff options
-rw-r--r-- | lib/puppet/provider/augeas/augeas.rb | 3 | ||||
-rw-r--r-- | spec/unit/provider/augeas/augeas_spec.rb | 10 |
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') |