diff --git a/data/wiki/guanghan_topology_demo.html b/data/wiki/guanghan_topology_demo.html
new file mode 100644
index 0000000..5485683
--- /dev/null
+++ b/data/wiki/guanghan_topology_demo.html
@@ -0,0 +1,493 @@
+
+
+
+
+
+
+
+ 结构直连
+ 加压走道
+ 燃料 / 供电
+ 大型折叠散热面板
+
+
+
+
+
+
+ 模块与车辆支持详情查看;走道、管线和散热面板仅用于表达拓扑关系。
+
+
+
+
+
diff --git a/tests/test_guanghan_topology_demo.py b/tests/test_guanghan_topology_demo.py
index 0c9b58e..27ac135 100644
--- a/tests/test_guanghan_topology_demo.py
+++ b/tests/test_guanghan_topology_demo.py
@@ -65,11 +65,13 @@ class GuanghanTopologySourceTests(unittest.TestCase):
def test_every_clickable_module_has_dimensions_field(self) -> None:
for module_id in CLICKABLE_MODULES:
- self.assertRegex(
+ match = re.search(
+ rf'"{re.escape(module_id)}"\s*:\s*\{{(.*?)\n \}}(?:,|\n)',
self.html,
- rf'"{re.escape(module_id)}"\s*:\s*\{{.*?dimensions\s*:',
- msg=f"{module_id} is missing dimensions",
+ flags=re.S,
)
+ self.assertIsNotNone(match, msg=f"{module_id} detail object is missing")
+ self.assertIn("dimensions:", match.group(1), msg=f"{module_id} is missing dimensions")
def test_timeline_contains_only_the_two_real_corridors(self) -> None:
for incorrect in (