diff options
Diffstat (limited to 'bs4/tests')
-rw-r--r-- | bs4/tests/test_lxml.py | 12 | ||||
-rw-r--r-- | bs4/tests/test_pageelement.py | 6 |
2 files changed, 8 insertions, 10 deletions
diff --git a/bs4/tests/test_lxml.py b/bs4/tests/test_lxml.py index c7bf45d..5065b6f 100644 --- a/bs4/tests/test_lxml.py +++ b/bs4/tests/test_lxml.py @@ -189,13 +189,15 @@ class TestLXMLXMLTreeBuilder(SoupTest, XMLTreeBuilderSmokeTest): assert soup.find('prefix:tag3').name == 'tag3' assert soup.subtag.find('prefix:tag3').name == 'tag3' - def test_pickle_removes_builder(self): - # The lxml TreeBuilder is not picklable, so it won't be - # preserved in a pickle/unpickle operation. - + def test_pickle_restores_builder(self): + # The lxml TreeBuilder is not picklable, so when unpickling + # a document created with it, a new TreeBuilder of the + # appropriate class is created. soup = self.soup("<a>some markup</a>") assert isinstance(soup.builder, self.default_builder) pickled = pickle.dumps(soup) unpickled = pickle.loads(pickled) + assert "some markup" == unpickled.a.string - assert unpickled.builder is None + assert unpickled.builder != soup.builder + assert isinstance(unpickled.builder, self.default_builder) diff --git a/bs4/tests/test_pageelement.py b/bs4/tests/test_pageelement.py index b2773be..e12df79 100644 --- a/bs4/tests/test_pageelement.py +++ b/bs4/tests/test_pageelement.py @@ -277,7 +277,7 @@ class TestPersistence(SoupTest): loaded = pickle.loads(dumped) assert loaded.__class__ == BeautifulSoup assert loaded.decode() == self.tree.decode() - + def test_deepcopy_identity(self): # Making a deepcopy of a tree yields an identical tree. copied = copy.deepcopy(self.tree) @@ -291,13 +291,9 @@ class TestPersistence(SoupTest): markup = "<span>" * limit soup = self.soup(markup) - encoded = soup.encode() copied = copy.copy(soup) - assert encoded == copied.encode() - copied = copy.deepcopy(soup) - assert encoded == copied.encode() def test_copy_preserves_encoding(self): soup = BeautifulSoup(b'<p> </p>', 'html.parser') |