Skip to content

Commit 600eb95

Browse files
authored
Merge branch 'master' into nocache-script-packages
2 parents a9cc46a + 4aaadc2 commit 600eb95

File tree

2 files changed

+21
-2
lines changed

2 files changed

+21
-2
lines changed

src/Dotnet.Script.DependencyModel/ProjectSystem/ScriptParser.cs

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -71,8 +71,7 @@ public ParseResult ParseFromFiles(IEnumerable<string> csxFiles)
7171
const string DirectivePatternSuffix = Hws + @"""nuget:"
7272
// https://github.com/NuGet/docs.microsoft.com-nuget/issues/543#issue-270039223
7373
+ Hws + @"(\w+(?:[_.-]\w+)*)"
74-
+ Hws + @","
75-
+ Hws + @"(.+?)""";
74+
+ @"(?:" + Hws + "," + Hws + @"(.+?))?""";
7675

7776
private static IEnumerable<PackageReference> ReadPackageReferencesFromReferenceDirective(string fileContent)
7877
{

src/Dotnet.Script.Tests/ScriptParserTests.cs

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,20 @@ public void ShouldResolveSinglePackage()
3030
Assert.Equal("1.2.3", result.PackageReferences.Single().Version.Value);
3131
}
3232

33+
[Theory]
34+
[InlineData("#r \"nuget:Package\"")]
35+
[InlineData("#load \"nuget:Package\"")]
36+
public void ShouldResolveSingleVersionlessPackage(string code)
37+
{
38+
var parser = CreateParser();
39+
40+
var result = parser.ParseFromCode(code);
41+
42+
Assert.Equal(1, result.PackageReferences.Count);
43+
Assert.Equal("Package", result.PackageReferences.Single().Id.Value);
44+
Assert.Equal(string.Empty, result.PackageReferences.Single().Version.Value);
45+
}
46+
3347
[Fact]
3448
public void ShouldResolveSinglePackageFromLoadDirective()
3549
{
@@ -86,6 +100,9 @@ public void ShouldResolveMultiplePackages()
86100
[InlineData("#load \"nuget:P a c k a g e, 1.2.3\"")]
87101
[InlineData("#load \"nuget:Pack/age, 1.2.3\"")]
88102
[InlineData("#load \"nuget:Package,\"")]
103+
[InlineData("#load \"nuget:Package \"")]
104+
[InlineData("#load \"nuget:Package\t\"")]
105+
[InlineData("#load \"nuget:Package\n\"")]
89106
[InlineData("\r #r\"nuget:Package, 1.2.3\"")]
90107
[InlineData("#r\n\"nuget:Package, 1.2.3\"")]
91108
[InlineData("#r \"nuget:\nPackage, 1.2.3\"")]
@@ -94,6 +111,9 @@ public void ShouldResolveMultiplePackages()
94111
[InlineData("#r \"nuget:P a c k a g e, 1.2.3\"")]
95112
[InlineData("#r \"nuget:Pack/age, 1.2.3\"")]
96113
[InlineData("#r \"nuget:Package,\"")]
114+
[InlineData("#r \"nuget:Package \"")]
115+
[InlineData("#r \"nuget:Package\t\"")]
116+
[InlineData("#r \"nuget:Package\n\"")]
97117
public void ShouldNotMatchBadDirectives(string code)
98118
{
99119
var parser = CreateParser();

0 commit comments

Comments
 (0)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy