Open msftrncs opened 5 years ago
Realized I missed a minor detail:
Originally:
$x = $_ -replace '^(\s*)(Expected)(.*)\s(to equal .*)','$1$2$3%%$1$4'
$x.Replace('%%',"`n ")
I replaced with:
$_ -replace '^(\s*)(Expected.*?)\s(instead found .*)', "`$1`$2`n`$1`$3"
I missed the two spaces following the `n
in the string .replace()
method invocation. Ideally these should be stuck between `$1
and `$3
incase $1
results in a pattern of `t
. They cause the instead found
message to be slightly indented compared to the Expected
message, but I am not sure this is too important.
Issue Description
build.ps1
[cmdletbinding()]
and[parameter()]
attributes are unnecessary. https://github.com/PowerShell/EditorSyntax/blob/cf27d6e54ff9fc593bfb46d22a671898fb31c0a9/build.ps1#L28-L33&
(call operator) to execute commands with an unquoted (and non-expanded) name are unnecessary. (3 occurrences total) https://github.com/PowerShell/EditorSyntax/blob/cf27d6e54ff9fc593bfb46d22a671898fb31c0a9/build.ps1#L41tools\build_helpers.ps1
function ExtractAtom
$PSScriptRoot
andResolve-Path
will format with thefilesystem::
provider, which notation is not acceptable to[System.IO.Compression.ZipFile]::ExtractToDirectory()
method. This is informational only, due to the fact that UNC paths do not work for NPM anyway.function ParseJasmine
https://github.com/PowerShell/EditorSyntax/blob/cf27d6e54ff9fc593bfb46d22a671898fb31c0a9/tools/build-helpers.ps1#L38-L56
$string
parameter, the rest use$_
. Surprisingly it works, but only because inRunSpecs
the call toParseJasmine
is part of aForEach-Object
which populates the$_
automatic variable.^\s+Expected
replacement doesn't seem to be working correctly. Maybe Atom/Atom-Grammar-Test has changed? I think 'to equal' now is to be 'instead found'.this function should really be a filter as it might provide a better fit. Note, also demonstrating the 'switch' statement with -regex parameter:
This requires changing
RunSpecs
: https://github.com/PowerShell/EditorSyntax/blob/cf27d6e54ff9fc593bfb46d22a671898fb31c0a9/tools/build-helpers.ps1#L73 to read more like:function RunSpecs
$script:ATOM_EXE_PATH
are unneeded, probably old habit from CMD or another shell? (seen below)$specpath
in a test previously. Only issue with using the variable is a chance to get the PowerShellfilesystem::
provider notation injected. https://github.com/PowerShell/EditorSyntax/blob/cf27d6e54ff9fc593bfb46d22a671898fb31c0a9/tools/build-helpers.ps1#L72-L73I'll post a PR shortly demonstrating these changes.