public void IsNonPrecompiledAppReturnsTrue_VPPRegistrationChanging() { // Arrange string fileContent = @"<precompiledApp version=""2"" updatable=""false""/>"; IVirtualPathUtility pathUtility = GetVirtualPathUtility(); Mock <VirtualPathProvider> mockProvider1 = new Mock <VirtualPathProvider>(); mockProvider1.Setup(c => c.FileExists(It.Is <string>(p => p.Equals(_precompileConfigFileName)))).Returns(true).Verifiable(); mockProvider1.Setup(c => c.GetFile(It.Is <string>(p => p.Equals(_precompileConfigFileName)))).Returns(GetFile(fileContent)).Verifiable(); Mock <VirtualPathProvider> mockProvider2 = new Mock <VirtualPathProvider>(); mockProvider2.Setup(c => c.FileExists(It.Is <string>(p => p.Equals(_precompileConfigFileName)))).Returns(true).Verifiable(); mockProvider2.Setup(c => c.GetFile(It.Is <string>(p => p.Equals(_precompileConfigFileName)))).Returns(GetFile(fileContent)).Verifiable(); VirtualPathProvider provider = mockProvider1.Object; // Act; uses one VirtualPathProvider in constructor and the other when IsNonUpdatablePrecompiledApp() is called directly BuildManagerWrapper buildManagerWrapper = new BuildManagerWrapper(() => provider, pathUtility); // The moral equivalent of HostingEnvironment.RegisterVirtualPathProvider(provider2.Object) provider = mockProvider2.Object; bool isPrecompiled = buildManagerWrapper.IsNonUpdatablePrecompiledApp(); // Assert Assert.True(isPrecompiled); mockProvider1.Verify(); mockProvider1.Verify(vpp => vpp.FileExists(It.IsAny <string>()), Times.Once()); mockProvider1.Verify(vpp => vpp.GetFile(It.IsAny <string>()), Times.Once()); mockProvider2.Verify(); mockProvider2.Verify(vpp => vpp.FileExists(It.IsAny <string>()), Times.Once()); mockProvider2.Verify(vpp => vpp.GetFile(It.IsAny <string>()), Times.Once()); }
public BuildManagerWrapper(VirtualPathProvider vpp, IVirtualPathUtility virtualPathUtility) { _vpp = vpp; _virtualPathUtility = virtualPathUtility; _isPrecompiled = IsNonUpdatablePrecompiledApp(); if (!_isPrecompiled) { _vppCache = new FileExistenceCache(vpp); } }
public KlondikeHtmlMicrodataFormatter(IVirtualPathUtility virtualPathUtility) { SupportedMediaTypes.Add(new MediaTypeWithQualityHeaderValue("application/xml")); SupportedMediaTypes.Add(new MediaTypeWithQualityHeaderValue("text/xml")); Settings.Indent = true; Title = "Klondike API"; cssLazy = new Lazy<IEnumerable<string>>(FindSylesheets); this.virtualPathUtility = virtualPathUtility; }
public KlondikeHtmlMicrodataFormatter(IVirtualPathUtility virtualPathUtility) { SupportedMediaTypes.Add(new MediaTypeWithQualityHeaderValue("application/xml")); SupportedMediaTypes.Add(new MediaTypeWithQualityHeaderValue("text/xml")); Settings.Indent = true; Title = "Klondike API"; cssLazy = new Lazy <IEnumerable <string> >(FindSylesheets); this.virtualPathUtility = virtualPathUtility; }
public BuildManagerWrapper(Func <VirtualPathProvider> vppFunc, IVirtualPathUtility virtualPathUtility) { Contract.Assert(vppFunc != null); Contract.Assert(virtualPathUtility != null); _vppFunc = vppFunc; _virtualPathUtility = virtualPathUtility; _isPrecompiled = IsNonUpdatablePrecompiledApp(); if (!_isPrecompiled) { _vppCache = new FileExistenceCache(vppFunc); } }
internal static bool IsNonUpdateablePrecompiledApp( VirtualPathProvider vpp, IVirtualPathUtility virtualPathUtility ) { var virtualPath = virtualPathUtility.ToAbsolute("~/PrecompiledApp.config"); if (!vpp.FileExists(virtualPath)) { return(false); } XDocument document; using (Stream stream = vpp.GetFile(virtualPath).Open()) { try { document = XDocument.Load(stream); } catch { // If we are unable to load the file, ignore it. The BuildManager behaves identically. return(false); } } if ( document.Root == null || !document.Root.Name.LocalName.Equals( "precompiledApp", StringComparison.OrdinalIgnoreCase ) ) { return(false); } var updatableAttribute = document.Root.Attribute("updatable"); if (updatableAttribute != null) { bool result; return(Boolean.TryParse(updatableAttribute.Value, out result) && (result == false)); } return(false); }
public BuildManagerWrapper(VirtualPathProvider vpp, IVirtualPathUtility virtualPathUtility) : this(() => vpp, virtualPathUtility) { Contract.Assert(vpp != null); }
/// <summary> /// Creates a new instance of <see cref="MvcUrlModule"/>, using the given dependencies. /// </summary> public MvcUrlModule(IVirtualPathUtility virtualPathUtility) { _virtualPathUtility = virtualPathUtility; }
/// <summary> /// Creates a new instance of <see cref="ServicesUrlModule"/>, using the given dependencies. /// </summary> public ServicesUrlModule(IVirtualPathUtility virtualPathUtility) { _virtualPathUtility = virtualPathUtility; }
/// <summary> /// Creates a new instance of <see cref="MasterPageVirtualPathProvider"/>, using the given dependencies. /// </summary> public MasterPageVirtualPathProvider(IVirtualPathUtility virtualPathUtility) { _virtualPathUtility = virtualPathUtility; }
public SelfHostSettings(CommandLineSettings commandLineSettings) : base(prefix: "") { this.commandLineSettings = commandLineSettings; this.virtualPathUtility = new SelfHostVirtualPathUtility(BaseDirectory, VirtualPathRoot); }
public ApiFrontPageController(IVirtualPathUtility virtualPathUtilityWrapper, IApplicationSettings appSettings) { _VirtualPathUtilityWrapper = virtualPathUtilityWrapper; _AppSettings = appSettings; }
/// <summary> /// Creates a new instance of <see cref="WebHelper"/>, using the given dependencies. /// </summary> public WebHelper(IVirtualPathUtility virtualPathUtility, IHttpContext httpContext) { _virtualPathUtility = virtualPathUtility; _httpContext = httpContext; }
static PageHelper() { _virtualPathUtility = new VirtualPathUtilityWrapper(); _httpContext = new SystemHttpContextWrapper(); _webHelper = new WebHelper(_virtualPathUtility, _httpContext); }
public SelfHostSettings(CommandLineSettings commandLineSettings) :base(prefix:"") { this.commandLineSettings = commandLineSettings; this.virtualPathUtility = new SelfHostVirtualPathUtility(BaseDirectory, VirtualPathRoot); }
/// <summary> /// Initializes a new instance of the <see cref="MasterPageVirtualFile"/> class. /// </summary> /// /// <param name="virtualPath">The virtual path to the resource represented by this instance.</param> /// <param name="virtualPathUtility">The object used to resolve virtual paths.</param> public MasterPageVirtualFile(string virtualPath, IVirtualPathUtility virtualPathUtility) : base(virtualPath) { _virtualPath = virtualPath; _virtualPathUtility = virtualPathUtility; }