Skip to content

Commit 426cad4

Browse files
author
Steve Canny
committed
acpt: add scenarios for ColorFormat.theme
1 parent cabb727 commit 426cad4

File tree

2 files changed

+47
-1
lines changed

2 files changed

+47
-1
lines changed

features/steps/font.py

Lines changed: 17 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212

1313
from docx import Document
1414
from docx.dml.color import ColorFormat
15-
from docx.enum.dml import MSO_COLOR_TYPE
15+
from docx.enum.dml import MSO_COLOR_TYPE, MSO_THEME_COLOR
1616
from docx.enum.text import WD_UNDERLINE
1717
from docx.shared import RGBColor
1818

@@ -87,6 +87,13 @@ def when_I_assign_value_to_font_color_rgb(context, value):
8787
font.color.rgb = new_value
8888

8989

90+
@when('I assign {value} to font.color.theme_color')
91+
def when_I_assign_value_to_font_color_theme_color(context, value):
92+
font = context.font
93+
new_value = None if value == 'None' else getattr(MSO_THEME_COLOR, value)
94+
font.color.theme_color = new_value
95+
96+
9097
@when('I assign {value} to font.name')
9198
def when_I_assign_value_to_font_name(context, value):
9299
font = context.font
@@ -145,6 +152,15 @@ def then_font_color_rgb_is_value(context, value):
145152
assert font.color.rgb == expected_value
146153

147154

155+
@then('font.color.theme_color is {value}')
156+
def then_font_color_theme_color_is_value(context, value):
157+
font = context.font
158+
expected_value = (
159+
None if value == 'None' else getattr(MSO_THEME_COLOR, value)
160+
)
161+
assert font.color.theme_color == expected_value
162+
163+
148164
@then('font.color.type is {value}')
149165
def then_font_color_type_is_value(context, value):
150166
font = context.font

features/txt-font-color.feature

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,3 +42,33 @@ Feature: Get and set font color
4242
| a theme | 987bac | RGB | 987bac |
4343
| an RGB | None | None | None |
4444
| a theme | None | None | None |
45+
46+
47+
@wip
48+
Scenario Outline: Get font theme color
49+
Given a font having <type> color
50+
Then font.color.theme_color is <value>
51+
52+
Examples: Color type settings
53+
| type | value |
54+
| no | None |
55+
| auto | None |
56+
| an RGB | None |
57+
| a theme | ACCENT_1 |
58+
59+
60+
@wip
61+
Scenario Outline: Set font theme color
62+
Given a font having <type> color
63+
When I assign <value> to font.color.theme_color
64+
Then font.color.type is <type-value>
65+
Then font.color.theme_color is <theme-value>
66+
67+
Examples: Color type settings
68+
| type | value | type-value | theme-value |
69+
| no | ACCENT_2 | THEME | ACCENT_2 |
70+
| auto | DARK_1 | THEME | DARK_1 |
71+
| an RGB | TEXT_1 | THEME | TEXT_1 |
72+
| a theme | LIGHT_2 | THEME | LIGHT_2 |
73+
| a theme | None | None | None |
74+
| an RGB | None | None | None |

0 commit comments

Comments
 (0)