test: fix ts api guardian and public guard tests on windows (#30105)
This change addresses several issues with ts-api-guardian and public api guards related tests in Windows The fixes contain 3 main changes: 1) In `stripExportPattern` - replace `^` with `^^^^` in RegExp due to a double escaping requirment under Windows. Note that under Linux this the extra character has no effect because it's still a valid RegExp in Js. 2. Force `*.patch` files to always be with a LF line sequence instead of CRLF in windows 3. When adding JSDoc comments consider the presence of a carriage return in a line new feed Partially addresses #29785 PR Close #30105
This commit is contained in:
parent
f2709ac3f9
commit
5f95796b61
|
@ -5,5 +5,8 @@
|
|||
*.js eol=lf
|
||||
*.ts eol=lf
|
||||
|
||||
# API guardian patch must always use LF for tests to work
|
||||
*.patch eol=lf
|
||||
|
||||
# Must keep Windows line ending to be parsed correctly
|
||||
scripts/windows/packages.txt eol=crlf
|
||||
|
|
|
@ -51,7 +51,8 @@ def ts_api_guardian_test(
|
|||
]
|
||||
|
||||
for i in strip_export_pattern:
|
||||
args += ["--stripExportPattern", i]
|
||||
# The below replacement is needed because under Windows '^' needs to be escaped twice
|
||||
args += ["--stripExportPattern", i.replace("^", "^^^^")]
|
||||
|
||||
for i in allow_module_identifiers:
|
||||
args += ["--allowModuleIdentifiers", i]
|
||||
|
|
|
@ -298,7 +298,7 @@ class ResolvedDeclarationEmitter {
|
|||
const jsdocComment = this.processJsDocTags(node, tagOptions);
|
||||
if (jsdocComment) {
|
||||
// Add the annotation after the leading whitespace
|
||||
output = output.replace(/^(\n\s*)/, `$1${jsdocComment} `);
|
||||
output = output.replace(/^(\r?\n\s*)/, `$1${jsdocComment} `);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue