Commit 3c2193b3 authored by Tom Hunze's avatar Tom Hunze Committed by github-actions[bot]
Browse files

python313Packages.splinter: fix build with lxml 6

lxml 6 doesn't find a `<body>` tag via the XPath expression `//body`
anymore when the parsed HTML doesn't contain any tags at all. This
causes some of splinter's tests to fail when lxml 6 is used.

(cherry picked from commit b055793d)
parent 4497abec
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -29,6 +29,10 @@ buildPythonPackage rec {
    hash = "sha256-PGGql8yI1YosoUBAyDoI/8k7s4sVYnXEV7eow3GHH88=";
  };

  patches = [
    ./lxml-6.patch
  ];

  nativeBuildInputs = [ setuptools ];

  propagatedBuildInputs = [ urllib3 ];
+42 −0
Original line number Diff line number Diff line
diff --git a/tests/fake_django/urls.py b/tests/fake_django/urls.py
index 2ab75ff..bd736ab 100644
--- a/tests/fake_django/urls.py
+++ b/tests/fake_django/urls.py
@@ -52,7 +52,8 @@ def post_form(request):
 
 
 def request_headers(request):
-    body = "\n".join(f"{key}: {value}" for key, value in request.META.items())
+    headers = "\n".join(f"{key}: {value}" for key, value in request.META.items())
+    body = f"<html><body>{headers}</body></html>"
     return HttpResponse(body)
 
 
@@ -67,7 +68,7 @@ def upload_file(request):
 
 
 def foo(request):
-    return HttpResponse("BAR!")
+    return HttpResponse("<html><body>BAR!</body></html>")
 
 
 def query_string(request):
diff --git a/tests/fake_webapp.py b/tests/fake_webapp.py
index ccd5bab..efc31c5 100644
--- a/tests/fake_webapp.py
+++ b/tests/fake_webapp.py
@@ -119,12 +119,12 @@ def upload_file():
 
 @app.route("/headers", methods=["GET"])
 def request_headers():
-    return str(request.headers)
+    return f"<html><body>{request.headers}</body></html>"
 
 
 @app.route("/foo")
 def foo():
-    return "BAR!"
+    return "<html><body>BAR!</body></html>"
 
 
 @app.route("/query", methods=["GET"])