기여 목록 / 8402060
[test_runner] Skip comment nodes in deep HTML dumps
DevToolstestdevtools/devtools-frontendMerged
기존 웹 테스트의 기대 결과에 Lit 마커가 포함되지 않도록,
TestRunner.dumpDeepInnerHTML()에서 주석 노드를 제외했습니다.
문제 설명
certificate section 전환의 기대 결과를 갱신하는 CL 8398688에서 Lit 주석 노드가
DOM 출력에 포함되었습니다. 리뷰에서 이 주석을 기대 결과에 추가하는 대신,
출력 함수에서 제외하자는 제안을 받았습니다.
해결 내용
TestRunner.dumpDeepInnerHTML()의 내부 순회 함수에서 현재 노드가
Node.COMMENT_NODE이면 즉시 반환하도록 했습니다. Lit 마커를 포함한 주석 노드를
출력하지 않으며, 이 CL의 코드 변경은 해당 조건문 추가입니다.
전체 코드 diff는 다음과 같습니다.
diff --git a/front_end/legacy_test_runner/test_runner/TestRunner.ts b/front_end/legacy_test_runner/test_runner/TestRunner.ts
index a623cd2..54abc91 100644
--- a/front_end/legacy_test_runner/test_runner/TestRunner.ts
+++ b/front_end/legacy_test_runner/test_runner/TestRunner.ts
@@ -868,6 +868,9 @@
* @param node
*/
function innerHTML(prefix, node) {
+ if (node.nodeType === Node.COMMENT_NODE) {
+ return;
+ }
const openTag = [];
if (node.nodeType === Node.TEXT_NODE) {
if (!node.parentElement || node.parentElement.nodeName !== 'STYLE') {테스트 방법
주석 노드 제외로 기존 보안 웹 테스트 7개의 기대 결과가 달라져, CL 8406865에서 해당 테스트의 기대값을 임시 조정했습니다. 이후 CQ 실행이 통과했으며, 2026년 9월 16일(한국 시간) DevTools main에 병합되었습니다. 기대 결과 갱신은 CL 8398688에서 진행했습니다.
배운 점
DOM 출력 기반 테스트에서는 렌더링 프레임워크의 내부 주석까지 검증할 필요가 있는지 확인해야 합니다. 이 작업에서는 출력 함수에서 주석 노드를 제외했습니다.