summaryrefslogtreecommitdiff
path: root/bs4/tests
diff options
context:
space:
mode:
authorLeonard Richardson <leonardr@segfault.org>2023-03-21 11:27:08 -0400
committerLeonard Richardson <leonardr@segfault.org>2023-03-21 11:27:08 -0400
commit3be39f46ec502fe20d5a95ed3292d0dccd3b1aec (patch)
tree01a8f5556c32dadc4e47f639d0a4dac078adeab2 /bs4/tests
parentd923a1cc966a4faa966f5d6f0a1fe09bd482949a (diff)
Reimplemented the pretty-print algorithm to remove recursive function calls.
Diffstat (limited to 'bs4/tests')
-rw-r--r--bs4/tests/__init__.py6
-rw-r--r--bs4/tests/test_formatter.py20
-rw-r--r--bs4/tests/test_pageelement.py2
3 files changed, 14 insertions, 14 deletions
diff --git a/bs4/tests/__init__.py b/bs4/tests/__init__.py
index d8b3b9b..dbb1593 100644
--- a/bs4/tests/__init__.py
+++ b/bs4/tests/__init__.py
@@ -551,8 +551,8 @@ Hello, world!
"""Whitespace must be preserved in <pre> and <textarea> tags,
even if that would mean not prettifying the markup.
"""
- pre_markup = "<pre> </pre>"
- textarea_markup = "<textarea> woo\nwoo </textarea>"
+ pre_markup = "<pre>a z</pre>\n"
+ textarea_markup = "<textarea> woo\nwoo </textarea>\n"
self.assert_soup(pre_markup)
self.assert_soup(textarea_markup)
@@ -563,7 +563,7 @@ Hello, world!
assert soup.textarea.prettify() == textarea_markup
soup = self.soup("<textarea></textarea>")
- assert soup.textarea.prettify() == "<textarea></textarea>"
+ assert soup.textarea.prettify() == "<textarea></textarea>\n"
def test_nested_inline_elements(self):
"""Inline elements can be nested indefinitely."""
diff --git a/bs4/tests/test_formatter.py b/bs4/tests/test_formatter.py
index 84d4e3b..528b16d 100644
--- a/bs4/tests/test_formatter.py
+++ b/bs4/tests/test_formatter.py
@@ -80,20 +80,20 @@ class TestFormatter(SoupTest):
@pytest.mark.parametrize(
"indent,expect",
[
- (None, '<a>\n<b>\ntext\n</b>\n</a>'),
- (-1, '<a>\n<b>\ntext\n</b>\n</a>'),
- (0, '<a>\n<b>\ntext\n</b>\n</a>'),
- ("", '<a>\n<b>\ntext\n</b>\n</a>'),
+ (None, '<a>\n<b>\ntext\n</b>\n</a>\n'),
+ (-1, '<a>\n<b>\ntext\n</b>\n</a>\n'),
+ (0, '<a>\n<b>\ntext\n</b>\n</a>\n'),
+ ("", '<a>\n<b>\ntext\n</b>\n</a>\n'),
- (1, '<a>\n <b>\n text\n </b>\n</a>'),
- (2, '<a>\n <b>\n text\n </b>\n</a>'),
+ (1, '<a>\n <b>\n text\n </b>\n</a>\n'),
+ (2, '<a>\n <b>\n text\n </b>\n</a>\n'),
- ("\t", '<a>\n\t<b>\n\t\ttext\n\t</b>\n</a>'),
- ('abc', '<a>\nabc<b>\nabcabctext\nabc</b>\n</a>'),
+ ("\t", '<a>\n\t<b>\n\t\ttext\n\t</b>\n</a>\n'),
+ ('abc', '<a>\nabc<b>\nabcabctext\nabc</b>\n</a>\n'),
# Some invalid inputs -- the default behavior is used.
- (object(), '<a>\n <b>\n text\n </b>\n</a>'),
- (b'bytes', '<a>\n <b>\n text\n </b>\n</a>'),
+ (object(), '<a>\n <b>\n text\n </b>\n</a>\n'),
+ (b'bytes', '<a>\n <b>\n text\n </b>\n</a>\n'),
]
)
def test_indent(self, indent, expect):
diff --git a/bs4/tests/test_pageelement.py b/bs4/tests/test_pageelement.py
index a94280f..f8eb9bb 100644
--- a/bs4/tests/test_pageelement.py
+++ b/bs4/tests/test_pageelement.py
@@ -156,7 +156,7 @@ class TestFormatters(SoupTest):
soup = self.soup("<div> foo <pre> \tbar\n \n </pre> baz <textarea> eee\nfff\t</textarea></div>")
# Everything outside the <pre> tag is reformatted, but everything
# inside is left alone.
- assert '<div>\n foo\n <pre> \tbar\n \n </pre>\n baz\n <textarea> eee\nfff\t</textarea>\n</div>' == soup.div.prettify()
+ assert '<div>\n foo\n <pre> \tbar\n \n </pre>\n baz\n <textarea> eee\nfff\t</textarea>\n</div>\n' == soup.div.prettify()
def test_prettify_accepts_formatter_function(self):
soup = BeautifulSoup("<html><body>foo</body></html>", 'html.parser')