diff --git a/lib/sdf/sensor.rb b/lib/sdf/sensor.rb
index 139e808..6308baa 100644
--- a/lib/sdf/sensor.rb
+++ b/lib/sdf/sensor.rb
@@ -23,7 +23,7 @@ def each_direct_plugin(&block)
end
def each_plugin
- xml.elements.each do |plugin_xml|
+ xml.elements.to_a("plugin").each do |plugin_xml|
yield(Plugin.new(plugin_xml, self))
end
end
diff --git a/test/test_sensor.rb b/test/test_sensor.rb
index d22ff02..91ab2bb 100644
--- a/test/test_sensor.rb
+++ b/test/test_sensor.rb
@@ -34,6 +34,10 @@ module SDF
root = SDF::Sensor.new(REXML::Document.new("").root)
assert root.enum_for(:each_plugin).to_a.empty?
end
+ it "does not yield non-plugin children" do
+ root = SDF::Sensor.new(REXML::Document.new("").root)
+ assert root.enum_for(:each_plugin).to_a.empty?
+ end
it "yields the plugins otherwise" do
root = SDF::Sensor.new(REXML::Document.new("").root)