Skip to content

Commit efd8b5c

Browse files
huchenleigithub-actions
andauthored
Add playwright test for custom color palette (#812)
* Add playwright test for custom color palette * nit * Fix leaked side effect * nit * Update test expectations [skip ci] --------- Co-authored-by: github-actions <github-actions@github.com>
1 parent 0a188aa commit efd8b5c

5 files changed

+149
-0
lines changed

browser_tests/colorPalette.spec.ts

Lines changed: 149 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,149 @@
1+
import { expect } from '@playwright/test'
2+
import { comfyPageFixture as test } from './ComfyPage'
3+
4+
const customColorPalettes = {
5+
obsidian: {
6+
version: 102,
7+
id: 'obsidian',
8+
name: 'Obsidian',
9+
colors: {
10+
node_slot: {
11+
CLIP: '#FFD500',
12+
CLIP_VISION: '#A8DADC',
13+
CLIP_VISION_OUTPUT: '#ad7452',
14+
CONDITIONING: '#FFA931',
15+
CONTROL_NET: '#6EE7B7',
16+
IMAGE: '#64B5F6',
17+
LATENT: '#FF9CF9',
18+
MASK: '#81C784',
19+
MODEL: '#B39DDB',
20+
STYLE_MODEL: '#C2FFAE',
21+
VAE: '#FF6E6E',
22+
TAESD: '#DCC274',
23+
PIPE_LINE: '#7737AA',
24+
PIPE_LINE_SDXL: '#7737AA',
25+
INT: '#29699C',
26+
XYPLOT: '#74DA5D',
27+
X_Y: '#38291f'
28+
},
29+
litegraph_base: {
30+
BACKGROUND_IMAGE:
31+
'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGQAAABkCAIAAAD/gAIDAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAQBJREFUeNrs1rEKwjAUhlETUkj3vP9rdmr1Ysammk2w5wdxuLgcMHyptfawuZX4pJSWZTnfnu/lnIe/jNNxHHGNn//HNbbv+4dr6V+11uF527arU7+u63qfa/bnmh8sWLBgwYJlqRf8MEptXPBXJXa37BSl3ixYsGDBMliwFLyCV/DeLIMFCxYsWLBMwSt4Be/NggXLYMGCBUvBK3iNruC9WbBgwYJlsGApeAWv4L1ZBgsWLFiwYJmCV/AK3psFC5bBggULloJX8BpdwXuzYMGCBctgwVLwCl7Be7MMFixYsGDBsu8FH1FaSmExVfAxBa/gvVmwYMGCZbBg/W4vAQYA5tRF9QYlv/QAAAAASUVORK5CYII=',
32+
CLEAR_BACKGROUND_COLOR: '#222222',
33+
NODE_TITLE_COLOR: 'rgba(255,255,255,.75)',
34+
NODE_SELECTED_TITLE_COLOR: '#FFF',
35+
NODE_TEXT_SIZE: 14,
36+
NODE_TEXT_COLOR: '#b8b8b8',
37+
NODE_SUBTEXT_SIZE: 12,
38+
NODE_DEFAULT_COLOR: 'rgba(0,0,0,.8)',
39+
NODE_DEFAULT_BGCOLOR: 'rgba(22,22,22,.8)',
40+
NODE_DEFAULT_BOXCOLOR: 'rgba(255,255,255,.75)',
41+
NODE_DEFAULT_SHAPE: 'box',
42+
NODE_BOX_OUTLINE_COLOR: '#236692',
43+
DEFAULT_SHADOW_COLOR: 'rgba(0,0,0,0)',
44+
DEFAULT_GROUP_FONT: 24,
45+
WIDGET_BGCOLOR: '#242424',
46+
WIDGET_OUTLINE_COLOR: '#333',
47+
WIDGET_TEXT_COLOR: '#a3a3a8',
48+
WIDGET_SECONDARY_TEXT_COLOR: '#97979c',
49+
LINK_COLOR: '#9A9',
50+
EVENT_LINK_COLOR: '#A86',
51+
CONNECTING_LINK_COLOR: '#AFA'
52+
},
53+
comfy_base: {
54+
'fg-color': '#fff',
55+
'bg-color': '#242424',
56+
'comfy-menu-bg': 'rgba(24,24,24,.9)',
57+
'comfy-input-bg': '#262626',
58+
'input-text': '#ddd',
59+
'descrip-text': '#999',
60+
'drag-text': '#ccc',
61+
'error-text': '#ff4444',
62+
'border-color': '#29292c',
63+
'tr-even-bg-color': 'rgba(28,28,28,.9)',
64+
'tr-odd-bg-color': 'rgba(19,19,19,.9)'
65+
}
66+
}
67+
},
68+
obsidian_dark: {
69+
version: 102,
70+
id: 'obsidian_dark',
71+
name: 'Obsidian Dark',
72+
colors: {
73+
node_slot: {
74+
CLIP: '#FFD500',
75+
CLIP_VISION: '#A8DADC',
76+
CLIP_VISION_OUTPUT: '#ad7452',
77+
CONDITIONING: '#FFA931',
78+
CONTROL_NET: '#6EE7B7',
79+
IMAGE: '#64B5F6',
80+
LATENT: '#FF9CF9',
81+
MASK: '#81C784',
82+
MODEL: '#B39DDB',
83+
STYLE_MODEL: '#C2FFAE',
84+
VAE: '#FF6E6E',
85+
TAESD: '#DCC274',
86+
PIPE_LINE: '#7737AA',
87+
PIPE_LINE_SDXL: '#7737AA',
88+
INT: '#29699C',
89+
XYPLOT: '#74DA5D',
90+
X_Y: '#38291f'
91+
},
92+
litegraph_base: {
93+
BACKGROUND_IMAGE:
94+
'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGQAAABkCAIAAAD/gAIDAAAACXBIWXMAAAsTAAALEwEAmpwYAAAGlmlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgOS4xLWMwMDEgNzkuMTQ2Mjg5OSwgMjAyMy8wNi8yNS0yMDowMTo1NSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczpkYz0iaHR0cDovL3B1cmwub3JnL2RjL2VsZW1lbnRzLzEuMS8iIHhtbG5zOnBob3Rvc2hvcD0iaHR0cDovL25zLmFkb2JlLmNvbS9waG90b3Nob3AvMS4wLyIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0RXZ0PSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VFdmVudCMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIDI1LjEgKFdpbmRvd3MpIiB4bXA6Q3JlYXRlRGF0ZT0iMjAyMy0xMS0xM1QwMDoxODowMiswMTowMCIgeG1wOk1vZGlmeURhdGU9IjIwMjMtMTEtMTVUMDI6MDQ6NTkrMDE6MDAiIHhtcDpNZXRhZGF0YURhdGU9IjIwMjMtMTEtMTVUMDI6MDQ6NTkrMDE6MDAiIGRjOmZvcm1hdD0iaW1hZ2UvcG5nIiBwaG90b3Nob3A6Q29sb3JNb2RlPSIzIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOmIyYzRhNjA5LWJmYTctYTg0MC1iOGFlLTk3MzE2ZjM1ZGIyNyIgeG1wTU06RG9jdW1lbnRJRD0iYWRvYmU6ZG9jaWQ6cGhvdG9zaG9wOjk0ZmNlZGU4LTE1MTctZmQ0MC04ZGU3LWYzOTgxM2E3ODk5ZiIgeG1wTU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjIzMWIxMGIwLWI0ZmItMDI0ZS1iMTJlLTMwNTMwM2NkMDdjOCI+IDx4bXBNTTpIaXN0b3J5PiA8cmRmOlNlcT4gPHJkZjpsaSBzdEV2dDphY3Rpb249ImNyZWF0ZWQiIHN0RXZ0Omluc3RhbmNlSUQ9InhtcC5paWQ6MjMxYjEwYjAtYjRmYi0wMjRlLWIxMmUtMzA1MzAzY2QwN2M4IiBzdEV2dDp3aGVuPSIyMDIzLTExLTEzVDAwOjE4OjAyKzAxOjAwIiBzdEV2dDpzb2Z0d2FyZUFnZW50PSJBZG9iZSBQaG90b3Nob3AgMjUuMSAoV2luZG93cykiLz4gPHJkZjpsaSBzdEV2dDphY3Rpb249InNhdmVkIiBzdEV2dDppbnN0YW5jZUlEPSJ4bXAuaWlkOjQ4OWY1NzlmLTJkNjUtZWQ0Zi04OTg0LTA4NGE2MGE1ZTMzNSIgc3RFdnQ6d2hlbj0iMjAyMy0xMS0xNVQwMjowNDo1OSswMTowMCIgc3RFdnQ6c29mdHdhcmVBZ2VudD0iQWRvYmUgUGhvdG9zaG9wIDI1LjEgKFdpbmRvd3MpIiBzdEV2dDpjaGFuZ2VkPSIvIi8+IDxyZGY6bGkgc3RFdnQ6YWN0aW9uPSJzYXZlZCIgc3RFdnQ6aW5zdGFuY2VJRD0ieG1wLmlpZDpiMmM0YTYwOS1iZmE3LWE4NDAtYjhhZS05NzMxNmYzNWRiMjciIHN0RXZ0OndoZW49IjIwMjMtMTEtMTVUMDI6MDQ6NTkrMDE6MDAiIHN0RXZ0OnNvZnR3YXJlQWdlbnQ9IkFkb2JlIFBob3Rvc2hvcCAyNS4xIChXaW5kb3dzKSIgc3RFdnQ6Y2hhbmdlZD0iLyIvPiA8L3JkZjpTZXE+IDwveG1wTU06SGlzdG9yeT4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz4OTe6GAAAAx0lEQVR42u3WMQoAIQxFwRzJys77X8vSLiRgITif7bYbgrwYc/mKXyBoY4VVBgsWLFiwYFmOlTv+9jfDOjHmr8u6eVkGCxYsWLBgmc5S8ApewXvgYRksWLBgKXidpeBdloL3wMOCBctgwVLwCl7BuyyDBQsWLFiwTGcpeAWv4D3wsAwWLFiwFLzOUvAuS8F74GHBgmWwYCl4Ba/gXZbBggULFixYprMUvIJX8B54WAYLFixYCl5nKXiXpeA98LBgwTJYsGC9tg1o8f4TTtqzNQAAAABJRU5ErkJggg==',
95+
CLEAR_BACKGROUND_COLOR: '#000',
96+
NODE_TITLE_COLOR: 'rgba(255,255,255,.75)',
97+
NODE_SELECTED_TITLE_COLOR: '#FFF',
98+
NODE_TEXT_SIZE: 14,
99+
NODE_TEXT_COLOR: '#b8b8b8',
100+
NODE_SUBTEXT_SIZE: 12,
101+
NODE_DEFAULT_COLOR: 'rgba(0,0,0,.8)',
102+
NODE_DEFAULT_BGCOLOR: 'rgba(22,22,22,.8)',
103+
NODE_DEFAULT_BOXCOLOR: 'rgba(255,255,255,.75)',
104+
NODE_DEFAULT_SHAPE: 'box',
105+
NODE_BOX_OUTLINE_COLOR: '#236692',
106+
DEFAULT_SHADOW_COLOR: 'rgba(0,0,0,0)',
107+
DEFAULT_GROUP_FONT: 24,
108+
WIDGET_BGCOLOR: '#242424',
109+
WIDGET_OUTLINE_COLOR: '#333',
110+
WIDGET_TEXT_COLOR: '#a3a3a8',
111+
WIDGET_SECONDARY_TEXT_COLOR: '#97979c',
112+
LINK_COLOR: '#9A9',
113+
EVENT_LINK_COLOR: '#A86',
114+
CONNECTING_LINK_COLOR: '#AFA'
115+
},
116+
comfy_base: {
117+
'fg-color': '#fff',
118+
'bg-color': '#242424',
119+
'comfy-menu-bg': 'rgba(24,24,24,.9)',
120+
'comfy-input-bg': '#262626',
121+
'input-text': '#ddd',
122+
'descrip-text': '#999',
123+
'drag-text': '#ccc',
124+
'error-text': '#ff4444',
125+
'border-color': '#29292c',
126+
'tr-even-bg-color': 'rgba(28,28,28,.9)',
127+
'tr-odd-bg-color': 'rgba(19,19,19,.9)'
128+
}
129+
}
130+
}
131+
}
132+
133+
test.describe('Color Palette', () => {
134+
test.beforeEach(async ({ comfyPage }) => {
135+
await comfyPage.setSetting('Comfy.CustomColorPalettes', customColorPalettes)
136+
})
137+
138+
test('Can show custom color palette', async ({ comfyPage }) => {
139+
await comfyPage.setSetting('Comfy.ColorPalette', 'custom_obsidian_dark')
140+
await comfyPage.nextFrame()
141+
await expect(comfyPage.canvas).toHaveScreenshot(
142+
'custom-color-palette-obsidian-dark.png'
143+
)
144+
// Reset to default color palette for other tests
145+
await comfyPage.setSetting('Comfy.ColorPalette', 'dark')
146+
await comfyPage.nextFrame()
147+
await expect(comfyPage.canvas).toHaveScreenshot('default-color-palette.png')
148+
})
149+
})
Loading
Loading

0 commit comments

Comments
 (0)