From 97f836f41b7f8b0aec6733c82873d32140c07304 Mon Sep 17 00:00:00 2001
From: Jeff McCune <jeff@puppetlabs.com>
Date: Thu, 25 Oct 2012 15:32:34 -0700
Subject: (maint) Fix spec failures resulting from Facter API changes

Without this patch stdlib tests fail against Facter 2.x and master but
not 1.6.x.

This patch fixes the problem by initializing the example group
differently depending on the version of Facter integrating into the
system.  The adjusted methods are:

 1.x - Facter.collection.loader.load
 2.x - Facter.collection.load

The collection actually implements the load method in both version, it's
simply marked as private in 1.x.
---
 spec/unit/facter/pe_version_spec.rb | 10 +++++++++-
 1 file changed, 9 insertions(+), 1 deletion(-)

(limited to 'spec/unit/facter')

diff --git a/spec/unit/facter/pe_version_spec.rb b/spec/unit/facter/pe_version_spec.rb
index 202a0e5..931c6d4 100644
--- a/spec/unit/facter/pe_version_spec.rb
+++ b/spec/unit/facter/pe_version_spec.rb
@@ -4,7 +4,15 @@ require 'spec_helper'
 
 describe "PE Version specs" do
   before :each do
-    Facter.collection.loader.load(:pe_version)
+    # Explicitly load the pe_version.rb file which contains generated facts
+    # that cannot be automatically loaded.  Puppet 2.x implements
+    # Facter.collection.load while Facter 1.x markes Facter.collection.load as
+    # a private method.
+    if Facter.collection.respond_to? :load
+      Facter.collection.load(:pe_version)
+    else
+      Facter.collection.loader.load(:pe_version)
+    end
   end
 
   context "If PE is installed" do
-- 
cgit v1.2.3