File tree Expand file tree Collapse file tree 2 files changed +10
-2
lines changed
lib/facter/custom_facts/util Expand file tree Collapse file tree 2 files changed +10
-2
lines changed Original file line number Diff line number Diff line change @@ -35,7 +35,7 @@ def to_s
3535 end
3636
3737 # Evaluate the fact, returning true or false.
38- # if we have a block paramter then we only evaluate that instead
38+ # if we have a block parameter then we only evaluate that instead
3939 def true?
4040 if @block && !@fact
4141 begin
@@ -54,9 +54,11 @@ def true?
5454
5555 return false if value . nil?
5656
57+ # We call the block with both the downcased and raw fact value for
58+ # backwards-compatibility.
5759 if @block
5860 begin
59- return !!@block . call ( value )
61+ return !@block . call ( value ) . nil? || !@block . call ( fact . value ) . nil?
6062 rescue StandardError => e
6163 log . debug "Confine raised #{ e . class } #{ e } "
6264 return false
Original file line number Diff line number Diff line change @@ -126,6 +126,12 @@ def confined(fact_value, *confines)
126126 expect ( confine . true? ) . to be true
127127 end
128128
129+ it 'accepts and evaluate a block argument against the fact while respecting case' do
130+ allow ( fact ) . to receive ( :value ) . and_return 'Foo'
131+ confine = LegacyFacter ::Util ::Confine . new ( :yay ) { |f | f == 'Foo' }
132+ expect ( confine . true? ) . to be true
133+ end
134+
129135 it 'returns false if the block raises a StandardError when checking a fact' do
130136 allow ( fact ) . to receive ( :value ) . and_return 'foo'
131137 confine = LegacyFacter ::Util ::Confine . new ( :yay ) { |_f | raise StandardError }
You can’t perform that action at this time.
0 commit comments