Skip to content

Commit 4dfa6c1

Browse files
Merge pull request #391 from svenkle/support-global-namespaces-in-model
Updated RegexViewTypeResolver resolution to support global::
2 parents 3a8a97c + beeac5b commit 4dfa6c1

File tree

2 files changed

+14
-1
lines changed

2 files changed

+14
-1
lines changed

Source/Glass.Mapper.Sc.Mvc/Pipelines/Response/RegexViewTypeResolver.cs

+1-1
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ public class RegexViewTypeResolver : IViewTypeResolver
1818

1919

2020
public static readonly Regex UsingRegex = new Regex(@"@using\s+(?<namespace>[^\n\s;()]+)");
21-
public static readonly Regex ModelRegex = new Regex(@"@model\s+(?<type>[^\n\s;]+)");
21+
public static readonly Regex ModelRegex = new Regex(@"@model\s+(global::)?(?<type>[^\n\s;]+)");
2222
public static readonly Regex InheritsRegex = new Regex("@inherits.*<(?<type>[^>]*)>");
2323
private static IEnumerable<Assembly> _assemblies;
2424

Tests/Unit Tests/Glass.Mapper.Sc.Mvc.Tests/RegexTypeFinderFixture.cs

+13
Original file line numberDiff line numberDiff line change
@@ -78,6 +78,19 @@ public void GetType_ReturnsType()
7878
//Assert
7979
Assert.AreEqual(typeof(RegexTypeFinderFixture), result);
8080
}
81+
82+
[Test]
83+
public void GetType_GlobalNamespace_ReturnsType()
84+
{
85+
//Arrange
86+
string contents = "@model global::Glass.Mapper.Sc.Mvc.Tests.RegexTypeFinderFixture";
87+
var finder = new StubFinder();
88+
//Act
89+
var result = finder.GetType(contents);
90+
91+
//Assert
92+
Assert.AreEqual(typeof(RegexTypeFinderFixture), result);
93+
}
8194

8295
[Test]
8396
public void GetType_MultiLine_ReturnsType()

0 commit comments

Comments
 (0)