diff --git a/src/Framework/Framework/Hosting/EmbeddedMarkupFileLoader.cs b/src/Framework/Framework/Hosting/EmbeddedMarkupFileLoader.cs index 2abaeb0017..c424c37c7a 100644 --- a/src/Framework/Framework/Hosting/EmbeddedMarkupFileLoader.cs +++ b/src/Framework/Framework/Hosting/EmbeddedMarkupFileLoader.cs @@ -50,7 +50,7 @@ public class EmbeddedMarkupFileLoader : IMarkupFileLoader //load the file using (Stream stream = assembly.GetManifestResourceStream(resourceName)!) using (StreamReader sr = new StreamReader(stream)) - return new MarkupFile(resourceName, resourceName, sr.ReadToEnd()); + return new MarkupFile(virtualPath, virtualPath, sr.ReadToEnd()); } /// diff --git a/src/Samples/Common/DotVVM.Samples.Common.csproj b/src/Samples/Common/DotVVM.Samples.Common.csproj index 1bad72d894..09852a5a42 100644 --- a/src/Samples/Common/DotVVM.Samples.Common.csproj +++ b/src/Samples/Common/DotVVM.Samples.Common.csproj @@ -20,6 +20,7 @@ + @@ -98,6 +99,8 @@ + + @@ -193,6 +196,7 @@ + diff --git a/src/Samples/Common/ViewModels/FeatureSamples/EmbeddedResourceControls/EmbeddedResourceMasterPageViewModel.cs b/src/Samples/Common/ViewModels/FeatureSamples/EmbeddedResourceControls/EmbeddedResourceMasterPageViewModel.cs new file mode 100644 index 0000000000..f1f72fa895 --- /dev/null +++ b/src/Samples/Common/ViewModels/FeatureSamples/EmbeddedResourceControls/EmbeddedResourceMasterPageViewModel.cs @@ -0,0 +1,16 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using DotVVM.Framework.ViewModel; +using DotVVM.Framework.Hosting; + +namespace DotVVM.Samples.Common.ViewModels.FeatureSamples.EmbeddedResourceControls +{ + public class EmbeddedResourceMasterPageViewModel : DotvvmViewModelBase + { + + } +} + diff --git a/src/Samples/Common/ViewModels/FeatureSamples/EmbeddedResourceControls/PageWithEmbeddedResourceMasterPageViewModel.cs b/src/Samples/Common/ViewModels/FeatureSamples/EmbeddedResourceControls/PageWithEmbeddedResourceMasterPageViewModel.cs new file mode 100644 index 0000000000..aa13b42bc3 --- /dev/null +++ b/src/Samples/Common/ViewModels/FeatureSamples/EmbeddedResourceControls/PageWithEmbeddedResourceMasterPageViewModel.cs @@ -0,0 +1,16 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using DotVVM.Framework.ViewModel; +using DotVVM.Framework.Hosting; + +namespace DotVVM.Samples.Common.ViewModels.FeatureSamples.EmbeddedResourceControls +{ + public class PageWithEmbeddedResourceMasterPageViewModel : EmbeddedResourceMasterPageViewModel + { + + } +} + diff --git a/src/Samples/Common/Views/FeatureSamples/EmbeddedResourceControls/EmbeddedResourceMasterPage.dotmaster b/src/Samples/Common/Views/FeatureSamples/EmbeddedResourceControls/EmbeddedResourceMasterPage.dotmaster new file mode 100644 index 0000000000..5479abf84f --- /dev/null +++ b/src/Samples/Common/Views/FeatureSamples/EmbeddedResourceControls/EmbeddedResourceMasterPage.dotmaster @@ -0,0 +1,18 @@ +@viewModel DotVVM.Samples.Common.ViewModels.FeatureSamples.EmbeddedResourceControls.EmbeddedResourceMasterPageViewModel, DotVVM.Samples.Common + + + + + + + + + +

Embedded resource master page

+ + + + + + + diff --git a/src/Samples/Common/Views/FeatureSamples/EmbeddedResourceControls/PageWithEmbeddedResourceMasterPage.dothtml b/src/Samples/Common/Views/FeatureSamples/EmbeddedResourceControls/PageWithEmbeddedResourceMasterPage.dothtml new file mode 100644 index 0000000000..b0d2c18b4c --- /dev/null +++ b/src/Samples/Common/Views/FeatureSamples/EmbeddedResourceControls/PageWithEmbeddedResourceMasterPage.dothtml @@ -0,0 +1,9 @@ +@viewModel DotVVM.Samples.Common.ViewModels.FeatureSamples.EmbeddedResourceControls.PageWithEmbeddedResourceMasterPageViewModel, DotVVM.Samples.Common +@masterPage embedded://DotVVM.Samples.Common/Views.FeatureSamples.EmbeddedResourceControls.EmbeddedResourceMasterPage.dotmaster + + + +

Success

+ +
+ diff --git a/src/Samples/Tests/Abstractions/SamplesRouteUrls.designer.cs b/src/Samples/Tests/Abstractions/SamplesRouteUrls.designer.cs index 013a4cb75e..fe2388d721 100644 --- a/src/Samples/Tests/Abstractions/SamplesRouteUrls.designer.cs +++ b/src/Samples/Tests/Abstractions/SamplesRouteUrls.designer.cs @@ -248,6 +248,7 @@ public partial class SamplesRouteUrls public const string FeatureSamples_Directives_ImportDirectiveInvalid = "FeatureSamples/Directives/ImportDirectiveInvalid"; public const string FeatureSamples_Directives_ViewModelMissingAssembly = "FeatureSamples/Directives/ViewModelMissingAssembly"; public const string FeatureSamples_EmbeddedResourceControls_EmbeddedResourceControls = "FeatureSamples/EmbeddedResourceControls/EmbeddedResourceControls"; + public const string FeatureSamples_EmbeddedResourceControls_PageWithEmbeddedResourceMasterPage = "FeatureSamples/EmbeddedResourceControls/PageWithEmbeddedResourceMasterPage"; public const string FeatureSamples_Formatting_AutoResourceInclusion = "FeatureSamples/Formatting/AutoResourceInclusion"; public const string FeatureSamples_Formatting_Formatting = "FeatureSamples/Formatting/Formatting"; public const string FeatureSamples_Formatting_ToStringGlobalFunctionBug = "FeatureSamples/Formatting/ToStringGlobalFunctionBug"; diff --git a/src/Samples/Tests/Tests/Feature/EmbeddedResourceControlsTests.cs b/src/Samples/Tests/Tests/Feature/EmbeddedResourceControlsTests.cs index 68957c23dc..a7c07f53da 100644 --- a/src/Samples/Tests/Tests/Feature/EmbeddedResourceControlsTests.cs +++ b/src/Samples/Tests/Tests/Feature/EmbeddedResourceControlsTests.cs @@ -25,5 +25,15 @@ public void Feature_EmbeddedResourceControls_EmbeddedResourceControls() AssertUI.Attribute(browser.First("input[type=button]"), "value", "This is text"); }); } + + [Fact] + public void Feature_EmbeddedResourceControls_PageWithEmbeddedResourceMasterPage() + { + RunInAllBrowsers(browser => { + browser.NavigateToUrl(SamplesRouteUrls.FeatureSamples_EmbeddedResourceControls_PageWithEmbeddedResourceMasterPage); + + AssertUI.TextEquals(browser.Single("p"), "Success"); + }); + } } }