about summary refs log tree commit diff
path: root/.venv/lib/python3.12/site-packages/bs4/tests/test_builder.py
diff options
context:
space:
mode:
authorS. Solomon Darnell2025-03-28 21:52:21 -0500
committerS. Solomon Darnell2025-03-28 21:52:21 -0500
commit4a52a71956a8d46fcb7294ac71734504bb09bcc2 (patch)
treeee3dc5af3b6313e921cd920906356f5d4febc4ed /.venv/lib/python3.12/site-packages/bs4/tests/test_builder.py
parentcc961e04ba734dd72309fb548a2f97d67d578813 (diff)
downloadgn-ai-master.tar.gz
two version of R2R are here HEAD master
Diffstat (limited to '.venv/lib/python3.12/site-packages/bs4/tests/test_builder.py')
-rw-r--r--.venv/lib/python3.12/site-packages/bs4/tests/test_builder.py28
1 files changed, 28 insertions, 0 deletions
diff --git a/.venv/lib/python3.12/site-packages/bs4/tests/test_builder.py b/.venv/lib/python3.12/site-packages/bs4/tests/test_builder.py
new file mode 100644
index 00000000..87d67587
--- /dev/null
+++ b/.venv/lib/python3.12/site-packages/bs4/tests/test_builder.py
@@ -0,0 +1,28 @@
+import pytest
+from unittest.mock import patch
+from bs4.builder import DetectsXMLParsedAsHTML
+
+
+class TestDetectsXMLParsedAsHTML:
+    @pytest.mark.parametrize(
+        "markup,looks_like_xml",
+        [
+            ("No xml declaration", False),
+            ("<html>obviously HTML</html", False),
+            ("<?xml ><html>Actually XHTML</html>", False),
+            ("<?xml>            <    html>Tricky XHTML</html>", False),
+            ("<?xml ><no-html-tag>", True),
+        ],
+    )
+    def test_warn_if_markup_looks_like_xml(self, markup, looks_like_xml):
+        # Test of our ability to guess at whether markup looks XML-ish
+        # _and_ not HTML-ish.
+        with patch("bs4.builder.DetectsXMLParsedAsHTML._warn") as mock:
+            for data in markup, markup.encode("utf8"):
+                result = DetectsXMLParsedAsHTML.warn_if_markup_looks_like_xml(data)
+                assert result == looks_like_xml
+                if looks_like_xml:
+                    assert mock.called
+                else:
+                    assert not mock.called
+                mock.reset_mock()