// 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); } } }