-    )
-
-    xml_src = '''<utwor><akap> %s </akap></utwor>''' % "".join(
-        t[0] for t in annotations)
-    html = WLDocument.from_string(xml_src, parse_dublincore=False).as_html().get_file()
-    res_annotations = list(extract_annotations(html))
-
-    for i, (src, expected, name) in enumerate(annotations):
-        yield _test_annotation, expected, res_annotations[i], name
+        ('<pe><slowo_obce>gemajna</slowo_obce> (daw., z niem. <slowo_obce>gemein</slowo_obce>: zwykły) --- '
+         'częściej: gemajn, szeregowiec w wojsku polskim cudzoziemskiego autoramentu.</pe>', (
+            'pe',
+            ['daw.', 'niem.'],
+            'gemajna (daw., z niem. gemein: zwykły) \u2014 częściej: gemajn, '
+            'szeregowiec w wojsku polskim cudzoziemskiego autoramentu. [przypis edytorski]',
+            '<p><em class="foreign-word">gemajna</em> (daw., z niem. <em class="foreign-word">gemein</em>: zwykły) '
+            '\u2014 częściej: gemajn, szeregowiec w wojsku polskim cudzoziemskiego autoramentu. [przypis edytorski]</p>'
+            ),
+            'Footnote with multiple and qualifiers and emphasis.'),
+        )
+
+        xml_src = '''<utwor><akap> %s </akap></utwor>''' % "".join(
+            t[0] for t in annotations)
+        html = WLDocument.from_bytes(
+            xml_src.encode('utf-8'),
+            parse_dublincore=False).as_html().get_file()
+        res_annotations = list(extract_annotations(html))
+
+        for i, (src, expected, name) in enumerate(annotations):
+            with self.subTest(i=i):
+                self._test_annotation(expected, res_annotations[i], name)