Skip to content

Commit 45ecfec

Browse files
committed
Use Gem::Version checks for libxml2 version-dependent test behavior
- test_bad_xml: error message and code differ between libxml2 <2.12 and >=2.12 - test_string_encoding: reader encoding returns NONE on <2.12, ISO_8859_1 on >=2.12
1 parent 9beb3c7 commit 45ecfec

2 files changed

Lines changed: 16 additions & 6 deletions

File tree

test/test_parser.rb

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -281,17 +281,23 @@ def test_bad_xml
281281

282282
refute_nil(error)
283283
assert_kind_of(LibXML::XML::Error, error)
284-
assert_equal("Fatal error: Couldn't find end of Start Tag ruby_array line 1 at :1.", error.message)
285-
assert_equal(LibXML::XML::Error::GT_REQUIRED, error.code)
286-
assert_equal("ruby_array", error.str1)
287-
assert_equal(1, error.int1)
284+
if Gem::Version.new(LibXML::XML::LIBXML_VERSION) >= Gem::Version.new("2.12")
285+
assert_equal("Fatal error: Couldn't find end of Start Tag ruby_array line 1 at :1.", error.message)
286+
assert_equal(LibXML::XML::Error::GT_REQUIRED, error.code)
287+
assert_equal("ruby_array", error.str1)
288+
assert_equal(1, error.int1)
289+
else
290+
assert_equal("Fatal error: Extra content at the end of the document at :1.", error.message)
291+
assert_equal(LibXML::XML::Error::DOCUMENT_END, error.code)
292+
assert_nil(error.str1)
293+
assert_equal(0, error.int1)
294+
end
288295
assert_equal(LibXML::XML::Error::PARSER, error.domain)
289296
assert_equal(LibXML::XML::Error::FATAL, error.level)
290297
assert_nil(error.file)
291298
assert_equal(1, error.line)
292299
assert_nil(error.str2)
293300
assert_nil(error.str3)
294-
assert_equal(34, error.int2)
295301
assert_nil(error.node)
296302
end
297303

test/test_reader.rb

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -357,6 +357,10 @@ def test_string_encoding
357357
reader = LibXML::XML::Reader.string(xml, :encoding => LibXML::XML::Encoding::ISO_8859_1)
358358
reader.read
359359

360-
assert_equal(LibXML::XML::Encoding::ISO_8859_1, reader.encoding)
360+
if Gem::Version.new(LibXML::XML::LIBXML_VERSION) >= Gem::Version.new("2.12")
361+
assert_equal(LibXML::XML::Encoding::ISO_8859_1, reader.encoding)
362+
else
363+
assert_equal(LibXML::XML::Encoding::NONE, reader.encoding)
364+
end
361365
end
362366
end

0 commit comments

Comments
 (0)