|
13 | 13 | from docx.opc.packuri import PackURI |
14 | 14 | from docx.oxml.parts.styles import CT_Styles |
15 | 15 | from docx.package import Package |
16 | | -from docx.parts.styles import StylesPart |
| 16 | +from docx.parts.styles import StylesPart, _Styles |
17 | 17 |
|
18 | 18 | from ..unitutil import ( |
19 | | - function_mock, initializer_mock, instance_mock, method_mock |
| 19 | + function_mock, class_mock, initializer_mock, instance_mock, method_mock |
20 | 20 | ) |
21 | 21 |
|
22 | 22 |
|
@@ -51,6 +51,12 @@ def it_can_be_constructed_by_opc_part_factory(self, construct_fixture): |
51 | 51 | ) |
52 | 52 | assert isinstance(styles_part, StylesPart) |
53 | 53 |
|
| 54 | + def it_provides_access_to_the_styles(self, styles_fixture): |
| 55 | + styles_part, _Styles_, styles_elm_, styles_ = styles_fixture |
| 56 | + styles = styles_part.styles |
| 57 | + _Styles_.assert_called_once_with(styles_elm_) |
| 58 | + assert styles is styles_ |
| 59 | + |
54 | 60 | # fixtures ------------------------------------------------------- |
55 | 61 |
|
56 | 62 | @pytest.fixture |
@@ -98,10 +104,25 @@ def package_(self, request): |
98 | 104 | def partname_(self, request): |
99 | 105 | return instance_mock(request, PackURI) |
100 | 106 |
|
| 107 | + @pytest.fixture |
| 108 | + def _Styles_(self, request, styles_): |
| 109 | + return class_mock( |
| 110 | + request, 'docx.parts.styles._Styles', return_value=styles_ |
| 111 | + ) |
| 112 | + |
| 113 | + @pytest.fixture |
| 114 | + def styles_(self, request): |
| 115 | + return instance_mock(request, _Styles) |
| 116 | + |
101 | 117 | @pytest.fixture |
102 | 118 | def styles_elm_(self, request): |
103 | 119 | return instance_mock(request, CT_Styles) |
104 | 120 |
|
| 121 | + @pytest.fixture |
| 122 | + def styles_fixture(self, _Styles_, styles_elm_, styles_): |
| 123 | + styles_part = StylesPart(None, None, styles_elm_, None) |
| 124 | + return styles_part, _Styles_, styles_elm_, styles_ |
| 125 | + |
105 | 126 | @pytest.fixture |
106 | 127 | def styles_part_(self, request): |
107 | 128 | return instance_mock(request, StylesPart) |
|
0 commit comments