( react, renderer, serverRenderer, attribute, type )
| 239 | |
| 240 | const UNKNOWN_HTML_TAGS = new Set(['keygen', 'time', 'command']); |
| 241 | async function getRenderedAttributeValue( |
| 242 | react, |
| 243 | renderer, |
| 244 | serverRenderer, |
| 245 | attribute, |
| 246 | type |
| 247 | ) { |
| 248 | const originalConsoleError = console.error; |
| 249 | console.error = warn; |
| 250 | |
| 251 | const containerTagName = attribute.containerTagName || 'div'; |
| 252 | const tagName = attribute.tagName || 'div'; |
| 253 | |
| 254 | function createContainer() { |
| 255 | if (containerTagName === 'svg') { |
| 256 | return document.createElementNS('http://www.w3.org/2000/svg', 'svg'); |
| 257 | } else if (containerTagName === 'document') { |
| 258 | return document.implementation.createHTMLDocument(''); |
| 259 | } else if (containerTagName === 'head') { |
| 260 | return document.implementation.createHTMLDocument('').head; |
| 261 | } else { |
| 262 | return document.createElement(containerTagName); |
| 263 | } |
| 264 | } |
| 265 | |
| 266 | const read = attribute.read; |
| 267 | let testValue = type.testValue; |
| 268 | if (attribute.overrideStringValue !== undefined) { |
| 269 | switch (type.name) { |
| 270 | case 'string': |
| 271 | testValue = attribute.overrideStringValue; |
| 272 | break; |
| 273 | case 'array with string': |
| 274 | testValue = [attribute.overrideStringValue]; |
| 275 | break; |
| 276 | default: |
| 277 | break; |
| 278 | } |
| 279 | } |
| 280 | let baseProps = { |
| 281 | ...attribute.extraProps, |
| 282 | }; |
| 283 | if (attribute.type) { |
| 284 | baseProps.type = attribute.type; |
| 285 | } |
| 286 | const props = { |
| 287 | ...baseProps, |
| 288 | [attribute.name]: testValue, |
| 289 | }; |
| 290 | |
| 291 | let defaultValue; |
| 292 | let canonicalDefaultValue; |
| 293 | let result; |
| 294 | let canonicalResult; |
| 295 | let ssrResult; |
| 296 | let canonicalSsrResult; |
| 297 | let didWarn; |
| 298 | let didError; |
no test coverage detected