Skip to content

Commit 1bdb213

Browse files
committed
Merge pull request #242 from apenney/facts_d
Adjust the regular expression for facts.
2 parents 6a5dee2 + 68acb59 commit 1bdb213

File tree

2 files changed

+32
-1
lines changed

2 files changed

+32
-1
lines changed

lib/facter/facter_dot_d.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ def fact_type(file)
4040

4141
def txt_parser(file)
4242
File.readlines(file).each do |line|
43-
if line =~ /^(.+)=(.+)$/
43+
if line =~ /^([^=]+)=(.+)$/
4444
var = $1; val = $2
4545

4646
Facter.add(var) do

spec/unit/facter/facter_dot_d_spec.rb

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
require 'spec_helper'
2+
require 'facter/facter_dot_d'
3+
4+
describe Facter::Util::DotD do
5+
6+
context 'returns a simple fact' do
7+
before :each do
8+
Facter.stubs(:version).returns('1.6.1')
9+
subject.stubs(:entries).returns(['/etc/facter/facts.d/fake_fact.txt'])
10+
File.stubs(:readlines).with('/etc/facter/facts.d/fake_fact.txt').returns(['fake_fact=fake fact'])
11+
subject.create
12+
end
13+
14+
it 'should return successfully' do
15+
Facter.fact(:fake_fact).value.should == 'fake fact'
16+
end
17+
end
18+
19+
context 'returns a fact with equals signs' do
20+
before :each do
21+
Facter.stubs(:version).returns('1.6.1')
22+
subject.stubs(:entries).returns(['/etc/facter/facts.d/foo.txt'])
23+
File.stubs(:readlines).with('/etc/facter/facts.d/foo.txt').returns(['foo=1+1=2'])
24+
subject.create
25+
end
26+
27+
it 'should return successfully' do
28+
Facter.fact(:foo).value.should == '1+1=2'
29+
end
30+
end
31+
end

0 commit comments

Comments
 (0)