public void WhenBuildingUriForTemplateInProject_ThenUsesVsixIdentifierAndRelativePathToFile() { var uri = TextTemplateUriEditor.BuildUri(this.solution.Traverse().First(i => i.Name == "VsixTemplate.tt")); Assert.Equal("t4", uri.Scheme); Assert.Equal(TextTemplateUri.ExtensionRelativeHost, uri.Host); Assert.Equal("/ef4561f7-a3ea-4666-a080-bc2f195451e3/Templates/Text/VsixTemplate.tt", uri.PathAndQuery); }
public void WhenBuildingUriForTemplateWithIncludeInVSIXAs_ThenUsesFilenameFromIncludeInVSIXAs() { var item = this.solution.Traverse().First(i => i.Name == "VsixTemplateAs.foo.tt") as IItem; item.Data.IncludeInVSIXAs = "NewTemplate.t4"; var uri = TextTemplateUriEditor.BuildUri(item); Assert.Equal("t4", uri.Scheme); Assert.Equal(TextTemplateUri.ExtensionRelativeHost, uri.Host); Assert.Equal("/ef4561f7-a3ea-4666-a080-bc2f195451e3/Templates/Text/NewTemplate.t4", uri.PathAndQuery); }
public void WhenBuildingUriForTemplateFromNonVsixProject_ThenThrowsArgumentException() { Assert.Throws <ArgumentException>(() => TextTemplateUriEditor.BuildUri(solution.Traverse().First(i => i.Name == "NormalProject.tt"))); }
public void WhenBuildingUriForTemplateOutsideAProject_ThenThrowsArgumentException() { Assert.Throws <ArgumentException>(() => TextTemplateUriEditor.BuildUri(solution.Traverse().First(i => i.Name == "SolutionItem.tt"))); }