equivalent-xml 0.4.4 → 0.5.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +8 -8
- data/README.md +2 -0
- data/lib/equivalent-xml.rb +5 -2
- data/spec/equivalent-xml_spec.rb +16 -0
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,15 +1,15 @@
|
|
1
1
|
---
|
2
2
|
!binary "U0hBMQ==":
|
3
3
|
metadata.gz: !binary |-
|
4
|
-
|
4
|
+
MDRhZTQ4ZjZiYmU5ZmIzZTU1M2U5MzU1ZjE1MzY2MjFmN2VlZjUzYg==
|
5
5
|
data.tar.gz: !binary |-
|
6
|
-
|
6
|
+
NTY1MTViYWYzYjY5NWFmNTU3YjdlYTg4MjRhNjQ2MGFhNjJjNTk5Zg==
|
7
7
|
SHA512:
|
8
8
|
metadata.gz: !binary |-
|
9
|
-
|
10
|
-
|
11
|
-
|
9
|
+
ZjkwYjhmMjA5Yjg3ZTQyNTI1MjgwZWQ3MjNmMzE3MTM5MTIwOTc0MTlmMDMx
|
10
|
+
NmI4OTljYzA4Njk0ZTdkMDlhMDhmNjQxNTZhMTYxYzFkNWM2MGQ0NDAwNzMw
|
11
|
+
NmM2ZWY1MGUxZTQ1MjcxM2JkNjVlOWQ1MjI2ZWYwNGJjODQ5ZDc=
|
12
12
|
data.tar.gz: !binary |-
|
13
|
-
|
14
|
-
|
15
|
-
|
13
|
+
M2VkNjVlNGQ2YThmYTc4OTQzMTQwYjg2OTJmYjUzODg1YjQwNGY5YmU2YzNj
|
14
|
+
OGM0NTNiYjNhNDk1Y2QxODUyODE4Y2VlYzlmZmMxNzY2Y2I0MTczYmY4Njc3
|
15
|
+
ZTZhODA3OTk3YzdiMDhlOGZjNTZiMjljZTUzM2FmMjg3YzU4Y2U=
|
data/README.md
CHANGED
@@ -113,6 +113,8 @@ Chained modifiers:
|
|
113
113
|
|
114
114
|
## History
|
115
115
|
|
116
|
+
- <b>0.5.1</b> - Fix false negative when comparing a Nokogiri::XML::Node to a string (introduced in 0.5.0)
|
117
|
+
- <b>0.5.0</b> - Allow to compare XML-Fragments in Strings (contrib. by webmasters)
|
116
118
|
- <b>0.4.4</b> - Fix rspec 3 deprecation warnings while maintaining compatibility with rspec 1 & 2 (w/assist from barelyknown & DanielHeath)
|
117
119
|
- <b>0.4.3</b> - Updates for rspec 3
|
118
120
|
- <b>0.4.2</b> - Move version back into gemspec for now
|
data/lib/equivalent-xml.rb
CHANGED
@@ -21,6 +21,9 @@ module EquivalentXml
|
|
21
21
|
if [node_1, node_2].any? { |node| node.is_a?(Nokogiri::XML::NodeSet)}
|
22
22
|
self.compare_nodesets(as_nodeset(node_1, opts), as_nodeset(node_2, opts), opts, &block)
|
23
23
|
else
|
24
|
+
# Don't let one node to coerced to a DocumentFragment if the other one is a Document
|
25
|
+
node_2 = Nokogiri::XML(node_2) if node_1.is_a?(Nokogiri::XML::Document) and !node_2.is_a?(Nokogiri::XML::Node)
|
26
|
+
node_1 = Nokogiri::XML(node_1) if node_2.is_a?(Nokogiri::XML::Document) and !node_1.is_a?(Nokogiri::XML::Node)
|
24
27
|
self.compare_nodes(as_node(node_1), as_node(node_2), opts, &block)
|
25
28
|
end
|
26
29
|
end
|
@@ -156,8 +159,8 @@ module EquivalentXml
|
|
156
159
|
if data.respond_to?(:node_type)
|
157
160
|
return data
|
158
161
|
else
|
159
|
-
result = Nokogiri::XML(data)
|
160
|
-
if result.root.nil?
|
162
|
+
result = Nokogiri::XML.fragment(data)
|
163
|
+
if result.respond_to?(:root) && result.root.nil?
|
161
164
|
return data
|
162
165
|
else
|
163
166
|
return result
|
data/spec/equivalent-xml_spec.rb
CHANGED
@@ -198,6 +198,13 @@ describe EquivalentXml do
|
|
198
198
|
|
199
199
|
expect(doc1).to be_equivalent_to(doc2).ignoring_content_of("SerialNumber")
|
200
200
|
end
|
201
|
+
|
202
|
+
it "should properly compare a document to a string" do
|
203
|
+
doc1 = '<test_document><foo/><test_xml/></test_document>'
|
204
|
+
doc2 = Nokogiri::XML doc1
|
205
|
+
expect(doc1).to be_equivalent_to(doc2)
|
206
|
+
expect(doc2).to be_equivalent_to(doc1)
|
207
|
+
end
|
201
208
|
end
|
202
209
|
|
203
210
|
context "with the :ignore_content_paths option set to an array of CSS selectors" do
|
@@ -216,4 +223,13 @@ describe EquivalentXml do
|
|
216
223
|
expect(doc1).to be_equivalent_to(doc2).ignoring_attr_values
|
217
224
|
end
|
218
225
|
end
|
226
|
+
|
227
|
+
context "(on fragments consisting of multiple nodes)" do
|
228
|
+
it "should compare all nodes" do
|
229
|
+
doc1 = "<h1>Headline</h1><h1>Headline</h1>"
|
230
|
+
doc2 = "<h1>Headline</h1><h2>Headline2</h2>"
|
231
|
+
expect(doc1).not_to be_equivalent_to(doc2)
|
232
|
+
end
|
233
|
+
end
|
234
|
+
|
219
235
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: equivalent-xml
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.5.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Michael B. Klein
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-07-
|
11
|
+
date: 2014-07-16 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: nokogiri
|