From d3104a0307ce6c46a1ed99d0c5af672751209d9e Mon Sep 17 00:00:00 2001 From: Jonathan Hedley Date: Tue, 27 Aug 2024 20:52:03 +1000 Subject: [PATCH] Testcase for #981 Closes #981 Fixed many, many moons ago. --- .../java/org/jsoup/helper/W3CDomTest.java | 29 +++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/src/test/java/org/jsoup/helper/W3CDomTest.java b/src/test/java/org/jsoup/helper/W3CDomTest.java index 7e1de61547..f9c39a4d54 100644 --- a/src/test/java/org/jsoup/helper/W3CDomTest.java +++ b/src/test/java/org/jsoup/helper/W3CDomTest.java @@ -387,4 +387,33 @@ public void canOutputHtmlWithoutNamespace() { assertEquals("Foo", doc.getFirstChild().getTextContent()); } + @Test void testHtmlParseAttributesAreCaseInsensitive() throws IOException { + // https://github.com/jhy/jsoup/issues/981 + String html = "\n" + + "\n" + + "\"Alt\n" + + "\"Alt\n" + + "\n" + + ""; + org.jsoup.nodes.Document jsoupDoc; + jsoupDoc = Jsoup.parse(html); + org.jsoup.helper.W3CDom jDom = new org.jsoup.helper.W3CDom(); + Document doc = jDom.fromJsoup(jsoupDoc); + org.w3c.dom.Element body = (org.w3c.dom.Element) doc.getDocumentElement().getElementsByTagName("body").item(0); + NodeList imgs = body.getElementsByTagName("img"); + assertEquals(2, imgs.getLength()); + org.w3c.dom.Element first = (org.w3c.dom.Element) imgs.item(0); + assertEquals(first.getAttributes().getLength(), 2); + String img1 = first.getAttribute("src"); + assertEquals("firstImage.jpg", img1); + String alt1 = first.getAttribute("alt"); + assertEquals("Alt one", alt1); + org.w3c.dom.Element second = (org.w3c.dom.Element) imgs.item(1); + assertEquals(second.getAttributes().getLength(), 2); + String img2 = second.getAttribute("src"); + assertEquals("secondImage.jpg", img2); + String alt2 = second.getAttribute("alt"); + assertEquals("Alt two", alt2); + } + }