(endPos)
| 433 | * @param {number} endPos offset just past the reference |
| 434 | */ |
| 435 | const validateNumericReference = (endPos) => { |
| 436 | if (charRefCode === 0) { |
| 437 | reportError("null-character-reference", charRefStart, endPos, "warning"); |
| 438 | } else if (charRefCode > 0x10ffff) { |
| 439 | reportError( |
| 440 | "character-reference-outside-unicode-range", |
| 441 | charRefStart, |
| 442 | endPos, |
| 443 | "warning" |
| 444 | ); |
| 445 | } else if (charRefCode >= 0xd800 && charRefCode <= 0xdfff) { |
| 446 | reportError( |
| 447 | "surrogate-character-reference", |
| 448 | charRefStart, |
| 449 | endPos, |
| 450 | "warning" |
| 451 | ); |
| 452 | } else if (isNoncharacter(charRefCode)) { |
| 453 | reportError( |
| 454 | "noncharacter-character-reference", |
| 455 | charRefStart, |
| 456 | endPos, |
| 457 | "warning" |
| 458 | ); |
| 459 | } else if (isControlReference(charRefCode)) { |
| 460 | reportError( |
| 461 | "control-character-reference", |
| 462 | charRefStart, |
| 463 | endPos, |
| 464 | "warning" |
| 465 | ); |
| 466 | } |
| 467 | }; |
| 468 | |
| 469 | // Content mode for the tag just opened (name at `lastOpenTagStart..End`). In |
| 470 | // foreign content (SVG/MathML) the tree builder vetoes RAWTEXT/RCDATA/script |
no test coverage detected