86 lines
2.7 KiB
C#
86 lines
2.7 KiB
C#
|
// Copyright (c) Microsoft Corporation. All rights reserved. See License.txt in the project root for license information.
|
|||
|
|
|||
|
using System.Web.WebPages.TestUtils;
|
|||
|
using Xunit;
|
|||
|
|
|||
|
namespace System.Web.WebPages.Test
|
|||
|
{
|
|||
|
public class WebPageHttpModuleTest
|
|||
|
{
|
|||
|
[Fact]
|
|||
|
public void InitializeApplicationTest()
|
|||
|
{
|
|||
|
AppDomainUtils.RunInSeparateAppDomain(() =>
|
|||
|
{
|
|||
|
var moduleEvents = new ModuleEvents();
|
|||
|
var app = new MyHttpApplication();
|
|||
|
WebPageHttpModule.InitializeApplication(app,
|
|||
|
moduleEvents.OnApplicationPostResolveRequestCache,
|
|||
|
moduleEvents.Initialize);
|
|||
|
Assert.True(moduleEvents.CalledInitialize);
|
|||
|
});
|
|||
|
}
|
|||
|
|
|||
|
[Fact]
|
|||
|
public void StartApplicationTest()
|
|||
|
{
|
|||
|
AppDomainUtils.RunInSeparateAppDomain(() =>
|
|||
|
{
|
|||
|
var moduleEvents = new ModuleEvents();
|
|||
|
var app = new MyHttpApplication();
|
|||
|
WebPageHttpModule.StartApplication(app, moduleEvents.ExecuteStartPage, moduleEvents.ApplicationStart);
|
|||
|
Assert.Equal(1, moduleEvents.CalledExecuteStartPage);
|
|||
|
Assert.Equal(1, moduleEvents.CalledApplicationStart);
|
|||
|
|
|||
|
// Call a second time to make sure the methods are only called once
|
|||
|
WebPageHttpModule.StartApplication(app, moduleEvents.ExecuteStartPage, moduleEvents.ApplicationStart);
|
|||
|
Assert.Equal(1, moduleEvents.CalledExecuteStartPage);
|
|||
|
Assert.Equal(1, moduleEvents.CalledApplicationStart);
|
|||
|
});
|
|||
|
}
|
|||
|
|
|||
|
public class MyHttpApplication : HttpApplication
|
|||
|
{
|
|||
|
public MyHttpApplication()
|
|||
|
{
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
public class ModuleEvents
|
|||
|
{
|
|||
|
public void OnApplicationPostResolveRequestCache(object sender, EventArgs e)
|
|||
|
{
|
|||
|
}
|
|||
|
|
|||
|
public void OnBeginRequest(object sender, EventArgs e)
|
|||
|
{
|
|||
|
}
|
|||
|
|
|||
|
public void OnEndRequest(object sender, EventArgs e)
|
|||
|
{
|
|||
|
}
|
|||
|
|
|||
|
public bool CalledInitialize;
|
|||
|
|
|||
|
public void Initialize(object sender, EventArgs e)
|
|||
|
{
|
|||
|
CalledInitialize = true;
|
|||
|
}
|
|||
|
|
|||
|
public int CalledExecuteStartPage;
|
|||
|
|
|||
|
public void ExecuteStartPage(HttpApplication application)
|
|||
|
{
|
|||
|
CalledExecuteStartPage++;
|
|||
|
}
|
|||
|
|
|||
|
public int CalledApplicationStart;
|
|||
|
|
|||
|
public void ApplicationStart(object sender, EventArgs e)
|
|||
|
{
|
|||
|
CalledApplicationStart++;
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
}
|