From 102e58a05ac3edefb3f8214aa1f6cb78eb3b92e7 Mon Sep 17 00:00:00 2001 From: Derek Abdine Date: Wed, 8 Dec 2021 02:12:02 +0000 Subject: [PATCH] Add tests to cover line numbering edge cases with JRuby --- test/xml/test_node.rb | 48 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) diff --git a/test/xml/test_node.rb b/test/xml/test_node.rb index b179a6fdaf..41e167eea2 100644 --- a/test/xml/test_node.rb +++ b/test/xml/test_node.rb @@ -1242,6 +1242,54 @@ def test_wrap end describe "#line" do + it "properly numbers lines with documents containing XML prolog" do + xml = Nokogiri::XML(<<~eoxml) + + + + Test + + + eoxml + + set = xml.search("//b") + assert_equal(3, set[0].line) + end + + it "properly numbers lines with documents containing XML comments" do + xml = Nokogiri::XML(<<~eoxml) + + + + + Test + + + + eoxml + + set = xml.search("//c") + assert_equal(4, set[0].line) + end + + it "properly numbers lines with documents containing XML multiline comments" do + xml = Nokogiri::XML(<<~eoxml) + + + + + Test + + + + eoxml + + set = xml.search("//c") + assert_equal(6, set[0].line) + end + it "returns a sensible line number for each node" do xml = Nokogiri::XML(<<~eoxml)