a575963da9
Former-commit-id: da6be194a6b1221998fc28233f2503bd61dd9d14
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++;
|
|
}
|
|
}
|
|
}
|
|
}
|