assertFileExists($path); $source = $this->stripComments(file_get_contents($path)); $this->assertStringContainsString( 'resizeInPlace', $source, "{$relativePath}: 업로드 이미지 축소가 적용되지 않았습니다 — 이 경로로 올린 이미지는 환경설정 상한을 무시합니다." ); } /** * 주석을 제거한 소스를 반환합니다. * * 설명 주석에 등장하는 호출 표기가 검사를 통과시키는 것을 막습니다. * * @param string $source 원본 소스 * @return string 주석이 제거된 소스 */ private function stripComments(string $source): string { $stripped = ''; foreach (token_get_all($source) as $token) { if (is_array($token) && in_array($token[0], [T_COMMENT, T_DOC_COMMENT], true)) { continue; } $stripped .= is_array($token) ? $token[1] : $token; } return $stripped; } }