Skip to content

Commit 371c94f

Browse files
author
Steve Canny
committed
style: add StylesPart.default()
1 parent bb948db commit 371c94f

File tree

4 files changed

+223
-2
lines changed

4 files changed

+223
-2
lines changed

docx/parts/styles.py

Lines changed: 22 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,12 @@
88
absolute_import, division, print_function, unicode_literals
99
)
1010

11+
import os
12+
13+
from ..opc.constants import CONTENT_TYPE as CT
14+
from ..opc.packuri import PackURI
1115
from ..opc.part import XmlPart
16+
from ..oxml import parse_xml
1217
from ..styles.styles import Styles
1318

1419

@@ -23,7 +28,10 @@ def default(cls, package):
2328
Return a newly created styles part, containing a default set of
2429
elements.
2530
"""
26-
raise NotImplementedError
31+
partname = PackURI('/word/styles.xml')
32+
content_type = CT.WML_STYLES
33+
element = parse_xml(cls._default_styles_xml())
34+
return cls(partname, content_type, element, package)
2735

2836
@property
2937
def styles(self):
@@ -32,3 +40,16 @@ def styles(self):
3240
proxies) for this styles part.
3341
"""
3442
return Styles(self.element)
43+
44+
@classmethod
45+
def _default_styles_xml(cls):
46+
"""
47+
Return a bytestream containing XML for a default styles part.
48+
"""
49+
path = os.path.join(
50+
os.path.split(__file__)[0], '..', 'templates',
51+
'default-styles.xml'
52+
)
53+
with open(path, 'rb') as f:
54+
xml_bytes = f.read()
55+
return xml_bytes

docx/templates/default-styles.xml

Lines changed: 190 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,190 @@
1+
<?xml version='1.0' encoding='UTF-8' standalone='yes'?>
2+
<w:styles
3+
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
4+
xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships"
5+
xmlns:w14="http://schemas.microsoft.com/office/word/2010/wordml"
6+
xmlns:w="http://schemas.openxmlformats.org/wordprocessingml/2006/main"
7+
mc:Ignorable="w14"
8+
>
9+
<w:docDefaults>
10+
<w:rPrDefault>
11+
<w:rPr>
12+
<w:rFonts w:asciiTheme="minorHAnsi" w:eastAsiaTheme="minorEastAsia" w:hAnsiTheme="minorHAnsi" w:cstheme="minorBidi"/>
13+
<w:sz w:val="24"/>
14+
<w:szCs w:val="24"/>
15+
<w:lang w:val="en-US" w:eastAsia="en-US" w:bidi="ar-SA"/>
16+
</w:rPr>
17+
</w:rPrDefault>
18+
<w:pPrDefault/>
19+
</w:docDefaults>
20+
<w:latentStyles w:defLockedState="0" w:defUIPriority="99" w:defSemiHidden="1" w:defUnhideWhenUsed="1" w:defQFormat="0" w:count="276">
21+
<w:lsdException w:name="Normal" w:semiHidden="0" w:uiPriority="0" w:unhideWhenUsed="0" w:qFormat="1"/>
22+
<w:lsdException w:name="heading 1" w:semiHidden="0" w:uiPriority="9" w:unhideWhenUsed="0" w:qFormat="1"/>
23+
<w:lsdException w:name="heading 2" w:uiPriority="9" w:qFormat="1"/>
24+
<w:lsdException w:name="heading 3" w:uiPriority="9" w:qFormat="1"/>
25+
<w:lsdException w:name="heading 4" w:uiPriority="9" w:qFormat="1"/>
26+
<w:lsdException w:name="heading 5" w:uiPriority="9" w:qFormat="1"/>
27+
<w:lsdException w:name="heading 6" w:uiPriority="9" w:qFormat="1"/>
28+
<w:lsdException w:name="heading 7" w:uiPriority="9" w:qFormat="1"/>
29+
<w:lsdException w:name="heading 8" w:uiPriority="9" w:qFormat="1"/>
30+
<w:lsdException w:name="heading 9" w:uiPriority="9" w:qFormat="1"/>
31+
<w:lsdException w:name="toc 1" w:uiPriority="39"/>
32+
<w:lsdException w:name="toc 2" w:uiPriority="39"/>
33+
<w:lsdException w:name="toc 3" w:uiPriority="39"/>
34+
<w:lsdException w:name="toc 4" w:uiPriority="39"/>
35+
<w:lsdException w:name="toc 5" w:uiPriority="39"/>
36+
<w:lsdException w:name="toc 6" w:uiPriority="39"/>
37+
<w:lsdException w:name="toc 7" w:uiPriority="39"/>
38+
<w:lsdException w:name="toc 8" w:uiPriority="39"/>
39+
<w:lsdException w:name="toc 9" w:uiPriority="39"/>
40+
<w:lsdException w:name="caption" w:uiPriority="35" w:qFormat="1"/>
41+
<w:lsdException w:name="Title" w:semiHidden="0" w:uiPriority="10" w:unhideWhenUsed="0" w:qFormat="1"/>
42+
<w:lsdException w:name="Default Paragraph Font" w:uiPriority="1"/>
43+
<w:lsdException w:name="Subtitle" w:semiHidden="0" w:uiPriority="11" w:unhideWhenUsed="0" w:qFormat="1"/>
44+
<w:lsdException w:name="Strong" w:semiHidden="0" w:uiPriority="22" w:unhideWhenUsed="0" w:qFormat="1"/>
45+
<w:lsdException w:name="Emphasis" w:semiHidden="0" w:uiPriority="20" w:unhideWhenUsed="0" w:qFormat="1"/>
46+
<w:lsdException w:name="Table Grid" w:semiHidden="0" w:uiPriority="59" w:unhideWhenUsed="0"/>
47+
<w:lsdException w:name="Placeholder Text" w:unhideWhenUsed="0"/>
48+
<w:lsdException w:name="No Spacing" w:semiHidden="0" w:uiPriority="1" w:unhideWhenUsed="0" w:qFormat="1"/>
49+
<w:lsdException w:name="Light Shading" w:semiHidden="0" w:uiPriority="60" w:unhideWhenUsed="0"/>
50+
<w:lsdException w:name="Light List" w:semiHidden="0" w:uiPriority="61" w:unhideWhenUsed="0"/>
51+
<w:lsdException w:name="Light Grid" w:semiHidden="0" w:uiPriority="62" w:unhideWhenUsed="0"/>
52+
<w:lsdException w:name="Medium Shading 1" w:semiHidden="0" w:uiPriority="63" w:unhideWhenUsed="0"/>
53+
<w:lsdException w:name="Medium Shading 2" w:semiHidden="0" w:uiPriority="64" w:unhideWhenUsed="0"/>
54+
<w:lsdException w:name="Medium List 1" w:semiHidden="0" w:uiPriority="65" w:unhideWhenUsed="0"/>
55+
<w:lsdException w:name="Medium List 2" w:semiHidden="0" w:uiPriority="66" w:unhideWhenUsed="0"/>
56+
<w:lsdException w:name="Medium Grid 1" w:semiHidden="0" w:uiPriority="67" w:unhideWhenUsed="0"/>
57+
<w:lsdException w:name="Medium Grid 2" w:semiHidden="0" w:uiPriority="68" w:unhideWhenUsed="0"/>
58+
<w:lsdException w:name="Medium Grid 3" w:semiHidden="0" w:uiPriority="69" w:unhideWhenUsed="0"/>
59+
<w:lsdException w:name="Dark List" w:semiHidden="0" w:uiPriority="70" w:unhideWhenUsed="0"/>
60+
<w:lsdException w:name="Colorful Shading" w:semiHidden="0" w:uiPriority="71" w:unhideWhenUsed="0"/>
61+
<w:lsdException w:name="Colorful List" w:semiHidden="0" w:uiPriority="72" w:unhideWhenUsed="0"/>
62+
<w:lsdException w:name="Colorful Grid" w:semiHidden="0" w:uiPriority="73" w:unhideWhenUsed="0"/>
63+
<w:lsdException w:name="Light Shading Accent 1" w:semiHidden="0" w:uiPriority="60" w:unhideWhenUsed="0"/>
64+
<w:lsdException w:name="Light List Accent 1" w:semiHidden="0" w:uiPriority="61" w:unhideWhenUsed="0"/>
65+
<w:lsdException w:name="Light Grid Accent 1" w:semiHidden="0" w:uiPriority="62" w:unhideWhenUsed="0"/>
66+
<w:lsdException w:name="Medium Shading 1 Accent 1" w:semiHidden="0" w:uiPriority="63" w:unhideWhenUsed="0"/>
67+
<w:lsdException w:name="Medium Shading 2 Accent 1" w:semiHidden="0" w:uiPriority="64" w:unhideWhenUsed="0"/>
68+
<w:lsdException w:name="Medium List 1 Accent 1" w:semiHidden="0" w:uiPriority="65" w:unhideWhenUsed="0"/>
69+
<w:lsdException w:name="Revision" w:unhideWhenUsed="0"/>
70+
<w:lsdException w:name="List Paragraph" w:semiHidden="0" w:uiPriority="34" w:unhideWhenUsed="0" w:qFormat="1"/>
71+
<w:lsdException w:name="Quote" w:semiHidden="0" w:uiPriority="29" w:unhideWhenUsed="0" w:qFormat="1"/>
72+
<w:lsdException w:name="Intense Quote" w:semiHidden="0" w:uiPriority="30" w:unhideWhenUsed="0" w:qFormat="1"/>
73+
<w:lsdException w:name="Medium List 2 Accent 1" w:semiHidden="0" w:uiPriority="66" w:unhideWhenUsed="0"/>
74+
<w:lsdException w:name="Medium Grid 1 Accent 1" w:semiHidden="0" w:uiPriority="67" w:unhideWhenUsed="0"/>
75+
<w:lsdException w:name="Medium Grid 2 Accent 1" w:semiHidden="0" w:uiPriority="68" w:unhideWhenUsed="0"/>
76+
<w:lsdException w:name="Medium Grid 3 Accent 1" w:semiHidden="0" w:uiPriority="69" w:unhideWhenUsed="0"/>
77+
<w:lsdException w:name="Dark List Accent 1" w:semiHidden="0" w:uiPriority="70" w:unhideWhenUsed="0"/>
78+
<w:lsdException w:name="Colorful Shading Accent 1" w:semiHidden="0" w:uiPriority="71" w:unhideWhenUsed="0"/>
79+
<w:lsdException w:name="Colorful List Accent 1" w:semiHidden="0" w:uiPriority="72" w:unhideWhenUsed="0"/>
80+
<w:lsdException w:name="Colorful Grid Accent 1" w:semiHidden="0" w:uiPriority="73" w:unhideWhenUsed="0"/>
81+
<w:lsdException w:name="Light Shading Accent 2" w:semiHidden="0" w:uiPriority="60" w:unhideWhenUsed="0"/>
82+
<w:lsdException w:name="Light List Accent 2" w:semiHidden="0" w:uiPriority="61" w:unhideWhenUsed="0"/>
83+
<w:lsdException w:name="Light Grid Accent 2" w:semiHidden="0" w:uiPriority="62" w:unhideWhenUsed="0"/>
84+
<w:lsdException w:name="Medium Shading 1 Accent 2" w:semiHidden="0" w:uiPriority="63" w:unhideWhenUsed="0"/>
85+
<w:lsdException w:name="Medium Shading 2 Accent 2" w:semiHidden="0" w:uiPriority="64" w:unhideWhenUsed="0"/>
86+
<w:lsdException w:name="Medium List 1 Accent 2" w:semiHidden="0" w:uiPriority="65" w:unhideWhenUsed="0"/>
87+
<w:lsdException w:name="Medium List 2 Accent 2" w:semiHidden="0" w:uiPriority="66" w:unhideWhenUsed="0"/>
88+
<w:lsdException w:name="Medium Grid 1 Accent 2" w:semiHidden="0" w:uiPriority="67" w:unhideWhenUsed="0"/>
89+
<w:lsdException w:name="Medium Grid 2 Accent 2" w:semiHidden="0" w:uiPriority="68" w:unhideWhenUsed="0"/>
90+
<w:lsdException w:name="Medium Grid 3 Accent 2" w:semiHidden="0" w:uiPriority="69" w:unhideWhenUsed="0"/>
91+
<w:lsdException w:name="Dark List Accent 2" w:semiHidden="0" w:uiPriority="70" w:unhideWhenUsed="0"/>
92+
<w:lsdException w:name="Colorful Shading Accent 2" w:semiHidden="0" w:uiPriority="71" w:unhideWhenUsed="0"/>
93+
<w:lsdException w:name="Colorful List Accent 2" w:semiHidden="0" w:uiPriority="72" w:unhideWhenUsed="0"/>
94+
<w:lsdException w:name="Colorful Grid Accent 2" w:semiHidden="0" w:uiPriority="73" w:unhideWhenUsed="0"/>
95+
<w:lsdException w:name="Light Shading Accent 3" w:semiHidden="0" w:uiPriority="60" w:unhideWhenUsed="0"/>
96+
<w:lsdException w:name="Light List Accent 3" w:semiHidden="0" w:uiPriority="61" w:unhideWhenUsed="0"/>
97+
<w:lsdException w:name="Light Grid Accent 3" w:semiHidden="0" w:uiPriority="62" w:unhideWhenUsed="0"/>
98+
<w:lsdException w:name="Medium Shading 1 Accent 3" w:semiHidden="0" w:uiPriority="63" w:unhideWhenUsed="0"/>
99+
<w:lsdException w:name="Medium Shading 2 Accent 3" w:semiHidden="0" w:uiPriority="64" w:unhideWhenUsed="0"/>
100+
<w:lsdException w:name="Medium List 1 Accent 3" w:semiHidden="0" w:uiPriority="65" w:unhideWhenUsed="0"/>
101+
<w:lsdException w:name="Medium List 2 Accent 3" w:semiHidden="0" w:uiPriority="66" w:unhideWhenUsed="0"/>
102+
<w:lsdException w:name="Medium Grid 1 Accent 3" w:semiHidden="0" w:uiPriority="67" w:unhideWhenUsed="0"/>
103+
<w:lsdException w:name="Medium Grid 2 Accent 3" w:semiHidden="0" w:uiPriority="68" w:unhideWhenUsed="0"/>
104+
<w:lsdException w:name="Medium Grid 3 Accent 3" w:semiHidden="0" w:uiPriority="69" w:unhideWhenUsed="0"/>
105+
<w:lsdException w:name="Dark List Accent 3" w:semiHidden="0" w:uiPriority="70" w:unhideWhenUsed="0"/>
106+
<w:lsdException w:name="Colorful Shading Accent 3" w:semiHidden="0" w:uiPriority="71" w:unhideWhenUsed="0"/>
107+
<w:lsdException w:name="Colorful List Accent 3" w:semiHidden="0" w:uiPriority="72" w:unhideWhenUsed="0"/>
108+
<w:lsdException w:name="Colorful Grid Accent 3" w:semiHidden="0" w:uiPriority="73" w:unhideWhenUsed="0"/>
109+
<w:lsdException w:name="Light Shading Accent 4" w:semiHidden="0" w:uiPriority="60" w:unhideWhenUsed="0"/>
110+
<w:lsdException w:name="Light List Accent 4" w:semiHidden="0" w:uiPriority="61" w:unhideWhenUsed="0"/>
111+
<w:lsdException w:name="Light Grid Accent 4" w:semiHidden="0" w:uiPriority="62" w:unhideWhenUsed="0"/>
112+
<w:lsdException w:name="Medium Shading 1 Accent 4" w:semiHidden="0" w:uiPriority="63" w:unhideWhenUsed="0"/>
113+
<w:lsdException w:name="Medium Shading 2 Accent 4" w:semiHidden="0" w:uiPriority="64" w:unhideWhenUsed="0"/>
114+
<w:lsdException w:name="Medium List 1 Accent 4" w:semiHidden="0" w:uiPriority="65" w:unhideWhenUsed="0"/>
115+
<w:lsdException w:name="Medium List 2 Accent 4" w:semiHidden="0" w:uiPriority="66" w:unhideWhenUsed="0"/>
116+
<w:lsdException w:name="Medium Grid 1 Accent 4" w:semiHidden="0" w:uiPriority="67" w:unhideWhenUsed="0"/>
117+
<w:lsdException w:name="Medium Grid 2 Accent 4" w:semiHidden="0" w:uiPriority="68" w:unhideWhenUsed="0"/>
118+
<w:lsdException w:name="Medium Grid 3 Accent 4" w:semiHidden="0" w:uiPriority="69" w:unhideWhenUsed="0"/>
119+
<w:lsdException w:name="Dark List Accent 4" w:semiHidden="0" w:uiPriority="70" w:unhideWhenUsed="0"/>
120+
<w:lsdException w:name="Colorful Shading Accent 4" w:semiHidden="0" w:uiPriority="71" w:unhideWhenUsed="0"/>
121+
<w:lsdException w:name="Colorful List Accent 4" w:semiHidden="0" w:uiPriority="72" w:unhideWhenUsed="0"/>
122+
<w:lsdException w:name="Colorful Grid Accent 4" w:semiHidden="0" w:uiPriority="73" w:unhideWhenUsed="0"/>
123+
<w:lsdException w:name="Light Shading Accent 5" w:semiHidden="0" w:uiPriority="60" w:unhideWhenUsed="0"/>
124+
<w:lsdException w:name="Light List Accent 5" w:semiHidden="0" w:uiPriority="61" w:unhideWhenUsed="0"/>
125+
<w:lsdException w:name="Light Grid Accent 5" w:semiHidden="0" w:uiPriority="62" w:unhideWhenUsed="0"/>
126+
<w:lsdException w:name="Medium Shading 1 Accent 5" w:semiHidden="0" w:uiPriority="63" w:unhideWhenUsed="0"/>
127+
<w:lsdException w:name="Medium Shading 2 Accent 5" w:semiHidden="0" w:uiPriority="64" w:unhideWhenUsed="0"/>
128+
<w:lsdException w:name="Medium List 1 Accent 5" w:semiHidden="0" w:uiPriority="65" w:unhideWhenUsed="0"/>
129+
<w:lsdException w:name="Medium List 2 Accent 5" w:semiHidden="0" w:uiPriority="66" w:unhideWhenUsed="0"/>
130+
<w:lsdException w:name="Medium Grid 1 Accent 5" w:semiHidden="0" w:uiPriority="67" w:unhideWhenUsed="0"/>
131+
<w:lsdException w:name="Medium Grid 2 Accent 5" w:semiHidden="0" w:uiPriority="68" w:unhideWhenUsed="0"/>
132+
<w:lsdException w:name="Medium Grid 3 Accent 5" w:semiHidden="0" w:uiPriority="69" w:unhideWhenUsed="0"/>
133+
<w:lsdException w:name="Dark List Accent 5" w:semiHidden="0" w:uiPriority="70" w:unhideWhenUsed="0"/>
134+
<w:lsdException w:name="Colorful Shading Accent 5" w:semiHidden="0" w:uiPriority="71" w:unhideWhenUsed="0"/>
135+
<w:lsdException w:name="Colorful List Accent 5" w:semiHidden="0" w:uiPriority="72" w:unhideWhenUsed="0"/>
136+
<w:lsdException w:name="Colorful Grid Accent 5" w:semiHidden="0" w:uiPriority="73" w:unhideWhenUsed="0"/>
137+
<w:lsdException w:name="Light Shading Accent 6" w:semiHidden="0" w:uiPriority="60" w:unhideWhenUsed="0"/>
138+
<w:lsdException w:name="Light List Accent 6" w:semiHidden="0" w:uiPriority="61" w:unhideWhenUsed="0"/>
139+
<w:lsdException w:name="Light Grid Accent 6" w:semiHidden="0" w:uiPriority="62" w:unhideWhenUsed="0"/>
140+
<w:lsdException w:name="Medium Shading 1 Accent 6" w:semiHidden="0" w:uiPriority="63" w:unhideWhenUsed="0"/>
141+
<w:lsdException w:name="Medium Shading 2 Accent 6" w:semiHidden="0" w:uiPriority="64" w:unhideWhenUsed="0"/>
142+
<w:lsdException w:name="Medium List 1 Accent 6" w:semiHidden="0" w:uiPriority="65" w:unhideWhenUsed="0"/>
143+
<w:lsdException w:name="Medium List 2 Accent 6" w:semiHidden="0" w:uiPriority="66" w:unhideWhenUsed="0"/>
144+
<w:lsdException w:name="Medium Grid 1 Accent 6" w:semiHidden="0" w:uiPriority="67" w:unhideWhenUsed="0"/>
145+
<w:lsdException w:name="Medium Grid 2 Accent 6" w:semiHidden="0" w:uiPriority="68" w:unhideWhenUsed="0"/>
146+
<w:lsdException w:name="Medium Grid 3 Accent 6" w:semiHidden="0" w:uiPriority="69" w:unhideWhenUsed="0"/>
147+
<w:lsdException w:name="Dark List Accent 6" w:semiHidden="0" w:uiPriority="70" w:unhideWhenUsed="0"/>
148+
<w:lsdException w:name="Colorful Shading Accent 6" w:semiHidden="0" w:uiPriority="71" w:unhideWhenUsed="0"/>
149+
<w:lsdException w:name="Colorful List Accent 6" w:semiHidden="0" w:uiPriority="72" w:unhideWhenUsed="0"/>
150+
<w:lsdException w:name="Colorful Grid Accent 6" w:semiHidden="0" w:uiPriority="73" w:unhideWhenUsed="0"/>
151+
<w:lsdException w:name="Subtle Emphasis" w:semiHidden="0" w:uiPriority="19" w:unhideWhenUsed="0" w:qFormat="1"/>
152+
<w:lsdException w:name="Intense Emphasis" w:semiHidden="0" w:uiPriority="21" w:unhideWhenUsed="0" w:qFormat="1"/>
153+
<w:lsdException w:name="Subtle Reference" w:semiHidden="0" w:uiPriority="31" w:unhideWhenUsed="0" w:qFormat="1"/>
154+
<w:lsdException w:name="Intense Reference" w:semiHidden="0" w:uiPriority="32" w:unhideWhenUsed="0" w:qFormat="1"/>
155+
<w:lsdException w:name="Book Title" w:semiHidden="0" w:uiPriority="33" w:unhideWhenUsed="0" w:qFormat="1"/>
156+
<w:lsdException w:name="Bibliography" w:uiPriority="37"/>
157+
<w:lsdException w:name="TOC Heading" w:uiPriority="39" w:qFormat="1"/>
158+
</w:latentStyles>
159+
<w:style w:type="paragraph" w:default="1" w:styleId="Normal">
160+
<w:name w:val="Normal"/>
161+
<w:qFormat/>
162+
</w:style>
163+
<w:style w:type="character" w:default="1" w:styleId="DefaultParagraphFont">
164+
<w:name w:val="Default Paragraph Font"/>
165+
<w:uiPriority w:val="1"/>
166+
<w:semiHidden/>
167+
<w:unhideWhenUsed/>
168+
</w:style>
169+
<w:style w:type="table" w:default="1" w:styleId="TableNormal">
170+
<w:name w:val="Normal Table"/>
171+
<w:uiPriority w:val="99"/>
172+
<w:semiHidden/>
173+
<w:unhideWhenUsed/>
174+
<w:tblPr>
175+
<w:tblInd w:w="0" w:type="dxa"/>
176+
<w:tblCellMar>
177+
<w:top w:w="0" w:type="dxa"/>
178+
<w:left w:w="108" w:type="dxa"/>
179+
<w:bottom w:w="0" w:type="dxa"/>
180+
<w:right w:w="108" w:type="dxa"/>
181+
</w:tblCellMar>
182+
</w:tblPr>
183+
</w:style>
184+
<w:style w:type="numbering" w:default="1" w:styleId="NoList">
185+
<w:name w:val="No List"/>
186+
<w:uiPriority w:val="99"/>
187+
<w:semiHidden/>
188+
<w:unhideWhenUsed/>
189+
</w:style>
190+
</w:styles>

features/doc-styles.feature

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@ Feature: Access document styles
44
I need a way to access document styles
55

66

7-
@wip
87
Scenario Outline: Access document styles collection
98
Given a document having <styles-state>
109
Then I can access the document styles collection

tests/parts/test_styles.py

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,8 @@
88

99
import pytest
1010

11+
from docx.opc.constants import CONTENT_TYPE as CT
12+
from docx.opc.package import OpcPackage
1113
from docx.oxml.parts.styles import CT_Styles
1214
from docx.parts.styles import StylesPart
1315
from docx.styles.styles import Styles
@@ -23,6 +25,15 @@ def it_provides_access_to_its_styles(self, styles_fixture):
2325
Styles_.assert_called_once_with(styles_part.element)
2426
assert styles is styles_
2527

28+
def it_can_construct_a_default_styles_part_to_help(self):
29+
package = OpcPackage()
30+
styles_part = StylesPart.default(package)
31+
assert isinstance(styles_part, StylesPart)
32+
assert styles_part.partname == '/word/styles.xml'
33+
assert styles_part.content_type == CT.WML_STYLES
34+
assert styles_part.package is package
35+
assert len(styles_part.element) == 6
36+
2637
# fixtures -------------------------------------------------------
2738

2839
@pytest.fixture

0 commit comments

Comments
 (0)