summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLuke Kanies <luke@madstop.com>2008-08-24 12:18:42 -0500
committerLuke Kanies <luke@madstop.com>2008-08-26 22:40:40 -0700
commit89a3738d2b0678ae8fb1e7191e01caf6c5ece1f9 (patch)
tree8a698a3604ba07ae22df9caf6dc130dd9cd8d83a
parenta0bda8532f5e1e9f5bb29eb92f389383ae0857d5 (diff)
downloadpuppet-89a3738d2b0678ae8fb1e7191e01caf6c5ece1f9.tar.gz
puppet-89a3738d2b0678ae8fb1e7191e01caf6c5ece1f9.tar.xz
puppet-89a3738d2b0678ae8fb1e7191e01caf6c5ece1f9.zip
Adding suitability as a requirement for a format being supported.
Signed-off-by: Luke Kanies <luke@madstop.com>
-rw-r--r--lib/puppet/network/format.rb3
-rwxr-xr-xspec/unit/network/format.rb5
2 files changed, 7 insertions, 1 deletions
diff --git a/lib/puppet/network/format.rb b/lib/puppet/network/format.rb
index 5f259fa49..3e0a7d8aa 100644
--- a/lib/puppet/network/format.rb
+++ b/lib/puppet/network/format.rb
@@ -55,7 +55,8 @@ class Puppet::Network::Format
end
def supported?(klass)
- klass.respond_to?(intern_method) and
+ suitable? and
+ klass.respond_to?(intern_method) and
klass.respond_to?(intern_multiple_method) and
klass.respond_to?(render_multiple_method) and
klass.instance_methods.include?(render_method)
diff --git a/spec/unit/network/format.rb b/spec/unit/network/format.rb
index b960a3f73..818ecdce3 100755
--- a/spec/unit/network/format.rb
+++ b/spec/unit/network/format.rb
@@ -74,6 +74,11 @@ describe Puppet::Network::Format do
Puppet::Network::Format.new(:yaml).should_not be_supported(String)
end
+ it "should not consider a class supported unless the format is suitable" do
+ @format.expects(:suitable?).returns false
+ @format.should_not be_supported(FormatRenderer)
+ end
+
it "should always downcase mimetypes" do
@format.mime = "Foo/Bar"
@format.mime.should == "foo/bar"