diff --git a/tests/rewrite_work_components/basic_in.xml b/tests/rewrite_work_components/basic_in.xml
new file mode 100644
index 0000000..809de3b
--- /dev/null
+++ b/tests/rewrite_work_components/basic_in.xml
@@ -0,0 +1,117 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 1
+ Heading
+
+
+
+
+ a heading
+ subheading
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ some text
+
+
+
+
+ a heading
+ subheading
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ some text
+
+
+
+
+
+
diff --git a/tests/rewrite_work_components/basic_out.xml b/tests/rewrite_work_components/basic_out.xml
new file mode 100644
index 0000000..861c8ad
--- /dev/null
+++ b/tests/rewrite_work_components/basic_out.xml
@@ -0,0 +1,117 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 1
+ Heading
+
+
+
+
+ a heading
+ subheading
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ some text
+
+
+
+
+ a heading
+ subheading
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ some text
+
+
+
+
+
+
diff --git a/tests/test_work_components.py b/tests/test_work_components.py
new file mode 100644
index 0000000..88796f3
--- /dev/null
+++ b/tests/test_work_components.py
@@ -0,0 +1,26 @@
+import os
+from unittest import TestCase
+
+from lxml import etree
+
+from tests.support import ParserSupport
+
+
+class AttachmentWorkComponentsTestCase(ParserSupport, TestCase):
+ maxDiff = None
+
+ def rewrite_and_compare(self, xml_in, xml_out):
+ dir = os.path.join(os.path.dirname(__file__), 'rewrite_work_components')
+ with open(os.path.join(dir, f'{xml_in}.xml'), 'rt') as f:
+ old_xml = f.read()
+ with open(os.path.join(dir, f'{xml_out}.xml'), 'rt') as f:
+ expected = f.read()
+
+ xml = etree.fromstring(old_xml)
+ self.generator.rewrite_all_attachment_work_components(xml)
+ actual = self.tostring(xml)
+
+ self.assertEqual(expected, actual)
+
+ def test_fix_work_components_basic(self):
+ self.rewrite_and_compare('basic_in', 'basic_out')