@@ -6,8 +6,10 @@ import * as Common from '../../core/common/common.js';
66import * as Platform from '../../core/platform/platform.js' ;
77import * as SDK from '../../core/sdk/sdk.js' ;
88import type * as Protocol from '../../generated/protocol.js' ;
9+ import { renderElementIntoDOM } from '../../testing/DOMHelpers.js' ;
910import { describeWithEnvironment } from '../../testing/EnvironmentHelpers.js' ;
1011import * as Diff from '../../third_party/diff/diff.js' ;
12+ import { render } from '../../ui/lit/lit.js' ;
1113
1214import * as PanelUtils from './utils.js' ;
1315
@@ -75,12 +77,20 @@ describeWithEnvironment('panels/utils', () => {
7577 } ) ;
7678
7779 describe ( 'getIconForNetworkRequest' , ( ) => {
80+ function renderIcon ( request : SDK . NetworkRequest . NetworkRequest ) : HTMLElement {
81+ const container = document . createElement ( 'div' ) ;
82+ renderElementIntoDOM ( container ) ;
83+ render ( PanelUtils . PanelUtils . getIconForNetworkRequest ( request ) , container ) ;
84+ assert . instanceOf ( container . firstElementChild , HTMLElement ) ;
85+ return container . firstElementChild ;
86+ }
87+
7888 it ( 'creates an error red icon for request with status code 404' , async ( ) => {
7989 const request = SDK . NetworkRequest . NetworkRequest . create (
8090 'requestId' as Protocol . Network . RequestId , urlString `https://www.example.com` , urlString `` , null , null , null ) ;
8191 request . statusCode = 404 ;
8292
83- const iconElement = PanelUtils . PanelUtils . getIconForNetworkRequest ( request ) ;
93+ const iconElement = renderIcon ( request ) ;
8494 const iconImage = iconElement . getAttribute ( 'name' ) ;
8595 assert . strictEqual ( 'cross-circle-filled' , iconImage ) ;
8696
@@ -95,7 +105,7 @@ describeWithEnvironment('panels/utils', () => {
95105 request . setResourceType ( Common . ResourceType . resourceTypes . Document ) ;
96106 request . mimeType = 'text/html' ;
97107
98- const iconElement = PanelUtils . PanelUtils . getIconForNetworkRequest ( request ) ;
108+ const iconElement = renderIcon ( request ) ;
99109 const iconImage = iconElement . getAttribute ( 'name' ) ;
100110 assert . strictEqual ( 'file-document' , iconImage ) ;
101111
@@ -110,7 +120,7 @@ describeWithEnvironment('panels/utils', () => {
110120 request . setResourceType ( Common . ResourceType . resourceTypes . Media ) ;
111121 request . mimeType = 'audio/mpeg' ;
112122
113- const iconElement = PanelUtils . PanelUtils . getIconForNetworkRequest ( request ) ;
123+ const iconElement = renderIcon ( request ) ;
114124 const iconImage = iconElement . getAttribute ( 'name' ) ;
115125 assert . strictEqual ( 'file-media' , iconImage ) ;
116126 } ) ;
@@ -122,7 +132,7 @@ describeWithEnvironment('panels/utils', () => {
122132 request . setResourceType ( Common . ResourceType . resourceTypes . Wasm ) ;
123133 request . mimeType = 'application/wasm' ;
124134
125- const iconElement = PanelUtils . PanelUtils . getIconForNetworkRequest ( request ) ;
135+ const iconElement = renderIcon ( request ) ;
126136 const iconImage = iconElement . getAttribute ( 'name' ) ;
127137 assert . strictEqual ( 'file-wasm' , iconImage ) ;
128138 } ) ;
@@ -134,7 +144,7 @@ describeWithEnvironment('panels/utils', () => {
134144 request . setResourceType ( Common . ResourceType . resourceTypes . WebSocket ) ;
135145 request . mimeType = '' ;
136146
137- const iconElement = PanelUtils . PanelUtils . getIconForNetworkRequest ( request ) ;
147+ const iconElement = renderIcon ( request ) ;
138148 const iconImage = iconElement . getAttribute ( 'name' ) ;
139149 assert . strictEqual ( 'file-websocket' , iconImage ) ;
140150 } ) ;
@@ -146,7 +156,7 @@ describeWithEnvironment('panels/utils', () => {
146156 request . setResourceType ( Common . ResourceType . resourceTypes . Fetch ) ;
147157 request . mimeType = '' ;
148158
149- const iconElement = PanelUtils . PanelUtils . getIconForNetworkRequest ( request ) ;
159+ const iconElement = renderIcon ( request ) ;
150160 const iconImage = iconElement . getAttribute ( 'name' ) ;
151161 assert . strictEqual ( 'file-fetch-xhr' , iconImage ) ;
152162 } ) ;
@@ -158,7 +168,7 @@ describeWithEnvironment('panels/utils', () => {
158168 request . setResourceType ( Common . ResourceType . resourceTypes . XHR ) ;
159169 request . mimeType = 'application/octet-stream' ;
160170
161- const iconElement = PanelUtils . PanelUtils . getIconForNetworkRequest ( request ) ;
171+ const iconElement = renderIcon ( request ) ;
162172 const iconImage = iconElement . getAttribute ( 'name' ) ;
163173 assert . strictEqual ( 'file-fetch-xhr' , iconImage ) ;
164174 } ) ;
@@ -170,7 +180,7 @@ describeWithEnvironment('panels/utils', () => {
170180 request . setResourceType ( Common . ResourceType . resourceTypes . XHR ) ;
171181 request . mimeType = 'image/svg+xml' ;
172182
173- const iconElement = PanelUtils . PanelUtils . getIconForNetworkRequest ( request ) ;
183+ const iconElement = renderIcon ( request ) ;
174184 const imagePreview = iconElement . querySelector ( '.image-network-icon-preview' ) as HTMLImageElement ;
175185
176186 assert . instanceOf ( iconElement , HTMLDivElement ) ;
@@ -184,7 +194,7 @@ describeWithEnvironment('panels/utils', () => {
184194 request . setResourceType ( Common . ResourceType . resourceTypes . Fetch ) ;
185195 request . mimeType = 'text/html' ;
186196
187- const iconElement = PanelUtils . PanelUtils . getIconForNetworkRequest ( request ) ;
197+ const iconElement = renderIcon ( request ) ;
188198 const iconImage = iconElement . getAttribute ( 'name' ) ;
189199 assert . strictEqual ( 'file-document' , iconImage ) ;
190200 } ) ;
@@ -196,7 +206,7 @@ describeWithEnvironment('panels/utils', () => {
196206 request . setResourceType ( Common . ResourceType . resourceTypes . Preflight ) ;
197207 request . mimeType = 'text/plain' ;
198208
199- const iconElement = PanelUtils . PanelUtils . getIconForNetworkRequest ( request ) ;
209+ const iconElement = renderIcon ( request ) ;
200210 const iconImage = iconElement . getAttribute ( 'name' ) ;
201211 assert . strictEqual ( 'file-generic' , iconImage ) ;
202212 } ) ;
@@ -208,7 +218,7 @@ describeWithEnvironment('panels/utils', () => {
208218 request . setResourceType ( Common . ResourceType . resourceTypes . Other ) ;
209219 request . mimeType = 'application/javascript' ;
210220
211- const iconElement = PanelUtils . PanelUtils . getIconForNetworkRequest ( request ) ;
221+ const iconElement = renderIcon ( request ) ;
212222 const iconImage = iconElement . getAttribute ( 'name' ) ;
213223 assert . strictEqual ( 'file-script' , iconImage ) ;
214224 } ) ;
@@ -220,7 +230,7 @@ describeWithEnvironment('panels/utils', () => {
220230 request . setResourceType ( Common . ResourceType . resourceTypes . Fetch ) ;
221231 request . mimeType = 'application/json' ;
222232
223- const iconElement = PanelUtils . PanelUtils . getIconForNetworkRequest ( request ) ;
233+ const iconElement = renderIcon ( request ) ;
224234 const iconImage = iconElement . getAttribute ( 'name' ) ;
225235 assert . strictEqual ( 'file-json' , iconImage ) ;
226236 } ) ;
0 commit comments