Skip to content

Commit f54b3c8

Browse files
authored
test: color contrast pairings for new Twilio and Twilio dark themes (#3019)
1 parent 154b02c commit f54b3c8

File tree

1 file changed

+166
-0
lines changed

1 file changed

+166
-0
lines changed

packages/paste-color-contrast-utils/__tests__/themeContrast.spec.ts

Lines changed: 166 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,38 @@ import {
3030
textColors as darkTextColors,
3131
zIndices as darkZIndices,
3232
} from '@twilio-paste/design-tokens/dist/themes/dark/tokens.common';
33+
import {
34+
backgroundColors as twilioBackgroundColors,
35+
borderColors as twilioBorderColors,
36+
borderWidths as twilioBorderWidths,
37+
radii as twilioRadii,
38+
dataVisualization as twilioDataVisualization,
39+
fonts as twilioFonts,
40+
fontSizes as twilioFontSizes,
41+
fontWeights as twilioFontWeights,
42+
lineHeights as twilioLineHeights,
43+
boxShadows as twilioBoxShadows,
44+
sizings as twilioSizings,
45+
spacings as twilioSpacings,
46+
textColors as twilioTextColors,
47+
zIndices as twilioZIndices,
48+
} from '@twilio-paste/design-tokens/dist/themes/twilio/tokens.common';
49+
import {
50+
backgroundColors as twilioDarkBackgroundColors,
51+
borderColors as twilioDarkBorderColors,
52+
borderWidths as twilioDarkBorderWidths,
53+
radii as twilioDarkRadii,
54+
dataVisualization as twilioDarkDataVisualization,
55+
fonts as twilioDarkFonts,
56+
fontSizes as twilioDarkFontSizes,
57+
fontWeights as twilioDarkFontWeights,
58+
lineHeights as twilioDarkLineHeights,
59+
boxShadows as twilioDarkBoxShadows,
60+
sizings as twilioDarkSizings,
61+
spacings as twilioDarkSpacings,
62+
textColors as twilioDarkTextColors,
63+
zIndices as twilioDarkZIndices,
64+
} from '@twilio-paste/design-tokens/dist/themes/twilio-dark/tokens.common';
3365

3466
import {
3567
getContrastRatingsOfTokensWithTextContrastRequirements,
@@ -136,6 +168,104 @@ const darkThemeDataVisualizationColorContrastRatings =
136168
textColors: darkTextColors,
137169
zIndices: darkZIndices,
138170
});
171+
const twilioThemeTextColorContrastRatings = getContrastRatingsOfTokensWithTextContrastRequirements({
172+
backgroundColors: twilioBackgroundColors,
173+
borderColors: twilioBorderColors,
174+
borderWidths: twilioBorderWidths,
175+
radii: twilioRadii,
176+
dataVisualization: twilioDataVisualization,
177+
fonts: twilioFonts,
178+
fontSizes: twilioFontSizes,
179+
fontWeights: twilioFontWeights,
180+
lineHeights: twilioLineHeights,
181+
boxShadows: twilioBoxShadows,
182+
sizings: twilioSizings,
183+
spacings: twilioSpacings,
184+
textColors: twilioTextColors,
185+
zIndices: twilioZIndices,
186+
});
187+
const twilioThemeUiControlColorContrastRatings = getContrastRatingsOfTokensWithUIControlContrastRequirements({
188+
backgroundColors: twilioBackgroundColors,
189+
borderColors: twilioBorderColors,
190+
borderWidths: twilioBorderWidths,
191+
radii: twilioRadii,
192+
dataVisualization: twilioDataVisualization,
193+
fonts: twilioFonts,
194+
fontSizes: twilioFontSizes,
195+
fontWeights: twilioFontWeights,
196+
lineHeights: twilioLineHeights,
197+
boxShadows: twilioBoxShadows,
198+
sizings: twilioSizings,
199+
spacings: twilioSpacings,
200+
textColors: twilioTextColors,
201+
zIndices: twilioZIndices,
202+
});
203+
const twilioThemeDataVisualizationColorContrastRatings =
204+
getContrastRatingsOfTokensWithDataVisualizationContrastRequirements({
205+
backgroundColors: twilioBackgroundColors,
206+
borderColors: twilioBorderColors,
207+
borderWidths: twilioBorderWidths,
208+
radii: twilioRadii,
209+
dataVisualization: twilioDataVisualization,
210+
fonts: twilioFonts,
211+
fontSizes: twilioFontSizes,
212+
fontWeights: twilioFontWeights,
213+
lineHeights: twilioLineHeights,
214+
boxShadows: twilioBoxShadows,
215+
sizings: twilioSizings,
216+
spacings: twilioSpacings,
217+
textColors: twilioTextColors,
218+
zIndices: twilioZIndices,
219+
});
220+
const twilioDarkThemeTextColorContrastRatings = getContrastRatingsOfTokensWithTextContrastRequirements({
221+
backgroundColors: twilioDarkBackgroundColors,
222+
borderColors: twilioDarkBorderColors,
223+
borderWidths: twilioDarkBorderWidths,
224+
radii: twilioDarkRadii,
225+
dataVisualization: twilioDarkDataVisualization,
226+
fonts: twilioDarkFonts,
227+
fontSizes: twilioDarkFontSizes,
228+
fontWeights: twilioDarkFontWeights,
229+
lineHeights: twilioDarkLineHeights,
230+
boxShadows: twilioDarkBoxShadows,
231+
sizings: twilioDarkSizings,
232+
spacings: twilioDarkSpacings,
233+
textColors: twilioDarkTextColors,
234+
zIndices: twilioDarkZIndices,
235+
});
236+
const twilioDarkThemeUiControlColorContrastRatings = getContrastRatingsOfTokensWithUIControlContrastRequirements({
237+
backgroundColors: twilioDarkBackgroundColors,
238+
borderColors: twilioDarkBorderColors,
239+
borderWidths: twilioDarkBorderWidths,
240+
radii: twilioDarkRadii,
241+
dataVisualization: twilioDarkDataVisualization,
242+
fonts: twilioDarkFonts,
243+
fontSizes: twilioDarkFontSizes,
244+
fontWeights: twilioDarkFontWeights,
245+
lineHeights: twilioDarkLineHeights,
246+
boxShadows: twilioDarkBoxShadows,
247+
sizings: twilioDarkSizings,
248+
spacings: twilioDarkSpacings,
249+
textColors: twilioDarkTextColors,
250+
zIndices: twilioDarkZIndices,
251+
});
252+
const twilioDarkThemeDataVisualizationColorContrastRatings =
253+
getContrastRatingsOfTokensWithDataVisualizationContrastRequirements({
254+
backgroundColors: twilioDarkBackgroundColors,
255+
borderColors: twilioDarkBorderColors,
256+
borderWidths: twilioDarkBorderWidths,
257+
radii: twilioDarkRadii,
258+
dataVisualization: twilioDarkDataVisualization,
259+
fonts: twilioDarkFonts,
260+
fontSizes: twilioDarkFontSizes,
261+
fontWeights: twilioDarkFontWeights,
262+
lineHeights: twilioDarkLineHeights,
263+
boxShadows: twilioDarkBoxShadows,
264+
sizings: twilioDarkSizings,
265+
spacings: twilioDarkSpacings,
266+
textColors: twilioDarkTextColors,
267+
zIndices: twilioDarkZIndices,
268+
});
139269

140270
describe('Default Theme', () => {
141271
describe('Text color contrast ratio for token pairs', () => {
@@ -172,3 +302,39 @@ describe('Dark Theme', () => {
172302
});
173303
});
174304
});
305+
306+
describe('Twilio Theme', () => {
307+
describe('Text color contrast ratio for token pairs', () => {
308+
test.each(twilioThemeTextColorContrastRatings)('ratio check for %p', (rating) => {
309+
expect(rating.contrast).toBeGreaterThanOrEqual(4.5);
310+
});
311+
});
312+
describe('UI Control color contrast ratio for token pairs', () => {
313+
test.each(twilioThemeUiControlColorContrastRatings)('ratio check for %p', (rating) => {
314+
expect(rating.contrast).toBeGreaterThanOrEqual(3);
315+
});
316+
});
317+
describe('Data visualization color contrast ratio for token pairs', () => {
318+
test.each(twilioThemeDataVisualizationColorContrastRatings)('ratio check for %p', (rating) => {
319+
expect(rating.contrast).toBeGreaterThanOrEqual(2);
320+
});
321+
});
322+
});
323+
324+
describe('Twilio Dark Theme', () => {
325+
describe('Text color contrast ratio for token pairs', () => {
326+
test.each(twilioDarkThemeTextColorContrastRatings)('ratio check for %p', (rating) => {
327+
expect(rating.contrast).toBeGreaterThanOrEqual(4.5);
328+
});
329+
});
330+
describe('UI Control color contrast ratio for token pairs', () => {
331+
test.each(twilioDarkThemeUiControlColorContrastRatings)('ratio check for %p', (rating) => {
332+
expect(rating.contrast).toBeGreaterThanOrEqual(3);
333+
});
334+
});
335+
describe('Data visualization color contrast ratio for token pairs', () => {
336+
test.each(twilioDarkThemeDataVisualizationColorContrastRatings)('ratio check for %p', (rating) => {
337+
expect(rating.contrast).toBeGreaterThanOrEqual(2);
338+
});
339+
});
340+
});

0 commit comments

Comments
 (0)