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') | 
