// Copyright (c) Microsoft Corporation. All rights reserved. See License.txt in the project root for license information.
using System.Web.TestUtil;
using Xunit;
namespace Microsoft.Web.Helpers.Test
{
///
///This is a test class for AnalyticsTest and is intended
///to contain all AnalyticsTest Unit Tests
///
public class AnalyticsTest
{
///
///A test for GetYahooAnalyticsHtml
///
[Fact]
public void GetYahooAnalyticsHtmlTest()
{
string account = "My_yahoo_account";
string actual = Analytics.GetYahooHtml(account).ToString();
Assert.True(actual.Contains(".yahoo.com") && actual.Contains("My_yahoo_account"));
}
///
///A test for GetStatCounterAnalyticsHtml
///
[Fact]
public void GetStatCounterAnalyticsHtmlTest()
{
int project = 31553;
string security = "stat_security";
string actual = Analytics.GetStatCounterHtml(project, security).ToString();
Assert.True(actual.Contains("statcounter.com/counter/counter_xhtml.js") &&
actual.Contains(project.ToString()) && actual.Contains(security));
}
///
///A test for GetGoogleAnalyticsHtml
///
[Fact]
public void GetGoogleAnalyticsHtmlTest()
{
string account = "My_google_account";
string actual = Analytics.GetGoogleHtml(account).ToString();
Assert.True(actual.Contains("google-analytics.com/ga.js") && actual.Contains("My_google_account"));
}
[Fact]
public void GetGoogleAnalyticsEscapesJavascript()
{
string account = "My_\"google_account";
string actual = Analytics.GetGoogleHtml(account).ToString();
string expected = "\n" +
"\n";
UnitTestHelper.AssertEqualsIgnoreWhitespace(expected, actual);
}
[Fact]
public void GetGoogleAnalyticsAsyncHtmlTest()
{
string account = "My_google_account";
string actual = Analytics.GetGoogleAsyncHtml(account).ToString();
Assert.True(actual.Contains("google-analytics.com/ga.js") && actual.Contains("My_google_account"));
}
[Fact]
public void GetGoogleAnalyticsAsyncHtmlEscapesJavaScript()
{
string account = "My_\"google_account";
string actual = Analytics.GetGoogleAsyncHtml(account).ToString();
string expected = "\n";
UnitTestHelper.AssertEqualsIgnoreWhitespace(expected, actual);
}
[Fact]
public void GetYahooAnalyticsEscapesJavascript()
{
string account = "My_\"yahoo_account";
string actual = Analytics.GetYahooHtml(account).ToString();
string expected = "\n";
UnitTestHelper.AssertEqualsIgnoreWhitespace(expected, actual);
}
[Fact]
public void GetStatCounterAnalyticsEscapesCorrectly()
{
string account = "My_\"stat_account";
string actual = Analytics.GetStatCounterHtml(2, account).ToString();
string expected = "\n\n" +
"";
UnitTestHelper.AssertEqualsIgnoreWhitespace(expected, actual);
}
}
}