summaryrefslogtreecommitdiff
path: root/spec/unit/facter
diff options
context:
space:
mode:
authorAshley Penney <ashley.penney@puppetlabs.com>2014-04-22 23:14:16 +0200
committerAshley Penney <ashley.penney@puppetlabs.com>2014-04-22 23:15:16 +0200
commit68acb59bf77d8d818489b1e2a97491cb7f327a0a (patch)
tree158f31acabe32a690c7261f99b17b89a21b5257b /spec/unit/facter
parent6a5dee25a6005280ef86a523192acf9b4d02e7ce (diff)
Adjust the regular expression for facts.
Previously this was incorrectly handling facts that were of the form foo=1+1=2 due to the ='s in the actual fact contents. Fix this and add tests to try and prevent regressions.
Diffstat (limited to 'spec/unit/facter')
-rw-r--r--spec/unit/facter/facter_dot_d_spec.rb31
1 files changed, 31 insertions, 0 deletions
diff --git a/spec/unit/facter/facter_dot_d_spec.rb b/spec/unit/facter/facter_dot_d_spec.rb
new file mode 100644
index 0000000..1ecffc8
--- /dev/null
+++ b/spec/unit/facter/facter_dot_d_spec.rb
@@ -0,0 +1,31 @@
+require 'spec_helper'
+require 'facter/facter_dot_d'
+
+describe Facter::Util::DotD do
+
+ context 'returns a simple fact' do
+ before :each do
+ Facter.stubs(:version).returns('1.6.1')
+ subject.stubs(:entries).returns(['/etc/facter/facts.d/fake_fact.txt'])
+ File.stubs(:readlines).with('/etc/facter/facts.d/fake_fact.txt').returns(['fake_fact=fake fact'])
+ subject.create
+ end
+
+ it 'should return successfully' do
+ Facter.fact(:fake_fact).value.should == 'fake fact'
+ end
+ end
+
+ context 'returns a fact with equals signs' do
+ before :each do
+ Facter.stubs(:version).returns('1.6.1')
+ subject.stubs(:entries).returns(['/etc/facter/facts.d/foo.txt'])
+ File.stubs(:readlines).with('/etc/facter/facts.d/foo.txt').returns(['foo=1+1=2'])
+ subject.create
+ end
+
+ it 'should return successfully' do
+ Facter.fact(:foo).value.should == '1+1=2'
+ end
+ end
+end