|
12 | 12 | from docx.shared import Inches |
13 | 13 |
|
14 | 14 | from .unitutil.cxml import element, xml |
15 | | -from .unitutil.mock import call, class_mock, instance_mock |
| 15 | +from .unitutil.mock import call, class_mock, instance_mock, property_mock |
16 | 16 |
|
17 | 17 |
|
18 | 18 | class DescribeSections(object): |
@@ -355,3 +355,30 @@ def _Header_(self, request): |
355 | 355 | @pytest.fixture |
356 | 356 | def header_(self, request): |
357 | 357 | return instance_mock(request, _Header) |
| 358 | + |
| 359 | + |
| 360 | +class Describe_Header(object): |
| 361 | + |
| 362 | + def it_knows_when_its_linked_to_the_previous_header( |
| 363 | + self, is_linked_fixture, _has_header_part_prop_ |
| 364 | + ): |
| 365 | + has_header_part, expected_value = is_linked_fixture |
| 366 | + _has_header_part_prop_.return_value = has_header_part |
| 367 | + header = _Header(None, None) |
| 368 | + |
| 369 | + is_linked = header.is_linked_to_previous |
| 370 | + |
| 371 | + assert is_linked is expected_value |
| 372 | + |
| 373 | + # fixtures ------------------------------------------------------- |
| 374 | + |
| 375 | + @pytest.fixture(params=[(False, True), (True, False)]) |
| 376 | + def is_linked_fixture(self, request): |
| 377 | + has_header_part, expected_value = request.param |
| 378 | + return has_header_part, expected_value |
| 379 | + |
| 380 | + # fixture components --------------------------------------------- |
| 381 | + |
| 382 | + @pytest.fixture |
| 383 | + def _has_header_part_prop_(self, request): |
| 384 | + return property_mock(request, _Header, "_has_header_part") |
0 commit comments