maliming
5 years ago
committed by
GitHub
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with
0 additions and
60 deletions
-
framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/Utils/ProjectNameValidator.cs
-
framework/test/Volo.Abp.Cli.Core.Tests/Volo/Abp/Cli/ProjectNameValidation_Tests.cs
|
|
|
@ -17,40 +17,11 @@ namespace Volo.Abp.Cli.Utils |
|
|
|
"LPT2" |
|
|
|
}; |
|
|
|
|
|
|
|
private static readonly char[] IllegalChars = new[] |
|
|
|
{ |
|
|
|
'/', |
|
|
|
'?', |
|
|
|
':', |
|
|
|
'&', |
|
|
|
'\\', |
|
|
|
'*', |
|
|
|
'\'', |
|
|
|
'<', |
|
|
|
'>', |
|
|
|
'|', |
|
|
|
'#', |
|
|
|
'%', |
|
|
|
}; |
|
|
|
|
|
|
|
private static bool HasParentDirectoryString(string projectName) |
|
|
|
{ |
|
|
|
return projectName.Contains(".."); |
|
|
|
} |
|
|
|
|
|
|
|
private static bool HasIllegalChar(string projectName) |
|
|
|
{ |
|
|
|
foreach (var illegalChar in IllegalChars) |
|
|
|
{ |
|
|
|
if (projectName.Contains(illegalChar)) |
|
|
|
{ |
|
|
|
return true; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
return false; |
|
|
|
} |
|
|
|
|
|
|
|
private static bool HasSurrogateOrControlChar(string projectName) |
|
|
|
{ |
|
|
|
return projectName.Any(chr => char.IsControl(chr) || char.IsSurrogate(chr)); |
|
|
|
@ -76,11 +47,6 @@ namespace Volo.Abp.Cli.Utils |
|
|
|
throw new CliUsageException("Project name cannot be empty!"); |
|
|
|
} |
|
|
|
|
|
|
|
if (HasIllegalChar(projectName)) |
|
|
|
{ |
|
|
|
return false; |
|
|
|
} |
|
|
|
|
|
|
|
if (HasSurrogateOrControlChar(projectName)) |
|
|
|
{ |
|
|
|
return false; |
|
|
|
|
|
|
|
@ -38,32 +38,6 @@ namespace Volo.Abp.Cli |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
[Fact] |
|
|
|
public async Task ContainsIllegalChar_Test() |
|
|
|
{ |
|
|
|
var illegalChars = new[] |
|
|
|
{ |
|
|
|
'/', |
|
|
|
'?', |
|
|
|
':', |
|
|
|
'&', |
|
|
|
'\\', |
|
|
|
'*', |
|
|
|
'\'', |
|
|
|
'<', |
|
|
|
'>', |
|
|
|
'|', |
|
|
|
'#', |
|
|
|
'%', |
|
|
|
}; |
|
|
|
|
|
|
|
foreach (var illegalChar in illegalChars) |
|
|
|
{ |
|
|
|
var args = new CommandLineArgs("new", "Test" + illegalChar); |
|
|
|
await _newCommand.ExecuteAsync(args).ShouldThrowAsync<CliUsageException>(); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
[Fact] |
|
|
|
public async Task ParentDirectoryContain_Test() |
|
|
|
{ |
|
|
|
|