From 4909ff339efefe2bdb6d9b6213aa4e80ad867a55 Mon Sep 17 00:00:00 2001 From: MatzFan Date: Fri, 14 Dec 2018 11:20:27 +0000 Subject: [PATCH] add #value?, plus test --- lib/nokogiri/xml/node.rb | 6 ++++++ test/xml/test_node.rb | 5 +++++ 2 files changed, 11 insertions(+) diff --git a/lib/nokogiri/xml/node.rb b/lib/nokogiri/xml/node.rb index a8a262747f..70da57066d 100644 --- a/lib/nokogiri/xml/node.rb +++ b/lib/nokogiri/xml/node.rb @@ -349,6 +349,12 @@ def values attribute_nodes.map(&:value) end + ### + # Does this Node's attributes include + def value?(value) + values.include? value + end + ### # Get the attribute names for this Node. def keys diff --git a/test/xml/test_node.rb b/test/xml/test_node.rb index 3be93bb003..b9dabe43ec 100644 --- a/test/xml/test_node.rb +++ b/test/xml/test_node.rb @@ -644,6 +644,11 @@ def test_values assert_equal %w{ Yes Yes }, @xml.xpath('//address')[1].values end + def test_value? + refute @xml.xpath('//address')[1].value?('no_such_value') + assert @xml.xpath('//address')[1].value?('Yes') + end + def test_keys assert_equal %w{ domestic street }, @xml.xpath('//address')[1].keys end