예제 #1
0
        public void LinkShare_GetSitesInOrderReturnsAllSitesWhenArgumentIsNull()
        {
            // Act and Assert
            var result = LinkShare.GetSitesInOrder(linkSites: null);

            Assert.Equal(_allLinkShareSites, result.ToArray());
        }
예제 #2
0
        public void RenderWithFacebookFirst_ReturnsHtmlWithFacebookAndThenOthersTest()
        {
            string pageTitle       = "page1";
            string pageLinkBack    = "page link back";
            string twitterUserName = String.Empty;
            string twitterTag      = String.Empty;
            string actual;

            actual = LinkShare
                     .GetHtml(
                pageTitle,
                pageLinkBack,
                twitterUserName,
                twitterTag,
                LinkShareSite.Facebook,
                LinkShareSite.All
                )
                     .ToString();
            Assert.Contains("twitter.com", actual);
            int pos = actual.IndexOf("facebook.com");

            Assert.True(pos > 0);
            int pos2 = actual.IndexOf("reddit.com");

            Assert.True(pos2 > pos);
            pos2 = actual.IndexOf("digg.com");
            Assert.True(pos2 > pos);
        }
예제 #3
0
        public void LinkShare_GetSitesInOrderReturnsAllSitesWhenArgumentIsNull()
        {
            // Act and Assert
            var result = LinkShare.GetSitesInOrder(linkSites: null);

            CollectionAssert.AreEqual(result.ToList(), _allLinkShareSites);
        }
예제 #4
0
 public void RenderWithNullPageTitle_ThrowsException()
 {
     Assert.ThrowsArgumentNullOrEmptyString(
         () => LinkShare.GetHtml(null).ToString(),
         "pageTitle"
         );
 }
예제 #5
0
        public void LinkShare_EncodesParameters()
        {
            // Arrange
            var expectedHtml =
                @"<a href=""http://reddit.com/submit?url=www.foo.com&amp;title=%26%26"" target=""_blank"" title=""Reddit!"">
                    <img alt=""Reddit!"" src=""http://www.Reddit.com/favicon.ico"" style=""border:0; height:16px; width:16px; margin:0 1px;"" title=""Reddit!"" />
                </a>
                <a href=""http://twitter.com/home/?status=%26%26%3a+www.foo.com%2c+(via+%40%40%3cTweeter+Bot%3e)+I+%3c3+Tweets"" target=""_blank"" title=""Share on Twitter"">
                    <img alt=""Share on Twitter"" src=""http://twitter.com/favicon.ico"" style=""border:0; height:16px; width:16px; margin:0 1px;"" title=""Share on Twitter"" />
                </a>";

            // Act
            var actualHtml = LinkShare
                             .GetHtml(
                "&&",
                "www.foo.com",
                "<Tweeter Bot>",
                "I <3 Tweets",
                LinkShareSite.Reddit,
                LinkShareSite.Twitter
                )
                             .ToString();

            // Assert
            UnitTestHelper.AssertEqualsIgnoreWhitespace(expectedHtml, actualHtml);
        }
예제 #6
0
        public void LinkShare_GetSitesInOrderReturnsAllSitesWhenArgumentIEmpty()
        {
            // Act
            var result = LinkShare.GetSitesInOrder(linkSites: new LinkShareSite[] { });

            // Assert
            Assert.Equal(_allLinkShareSites, result.ToArray());
        }
예제 #7
0
        public void Render_WithFacebookAndDigg_Works()
        {
            string actualHTML   = LinkShare.GetHtml("page-title", "www.foo.com", linkSites: new LinkShareSite[] { LinkShareSite.Facebook, LinkShareSite.Digg }).ToString();
            string expectedHTML =
                "<a href=\"http://www.facebook.com/sharer.php?u=www.foo.com&amp;t=page-title\" target=\"_blank\" title=\"Share on Facebook\"><img alt=\"Share on Facebook\" src=\"http://www.facebook.com/favicon.ico\" style=\"border:0; height:16px; width:16px; margin:0 1px;\" title=\"Share on Facebook\" /></a><a href=\"http://digg.com/submit?url=www.foo.com&amp;title=page-title\" target=\"_blank\" title=\"Digg!\"><img alt=\"Digg!\" src=\"http://digg.com/img/badges/16x16-digg-guy.gif\" style=\"border:0; height:16px; width:16px; margin:0 1px;\" title=\"Digg!\" /></a>";

            Assert.AreEqual(actualHTML, expectedHTML);
        }
예제 #8
0
        public void LinkShare_GetSitesInOrderReturnsAllSitesWhenAllIsFirstItem()
        {
            // Act
            var result = LinkShare.GetSitesInOrder(linkSites: new LinkShareSite[] { LinkShareSite.All, LinkShareSite.Reddit });

            // Assert
            CollectionAssert.AreEqual(result.ToList(), _allLinkShareSites);
        }
예제 #9
0
        public void Render_WithFacebook_Works()
        {
            string actualHTML   = LinkShare.GetHtml("page-title", "www.foo.com", linkSites: LinkShareSite.Facebook).ToString();
            string expectedHTML =
                "<a href=\"http://www.facebook.com/sharer.php?u=www.foo.com&amp;t=page-title\" target=\"_blank\" title=\"Share on Facebook\"><img alt=\"Share on Facebook\" src=\"http://www.facebook.com/favicon.ico\" style=\"border:0; height:16px; width:16px; margin:0 1px;\" title=\"Share on Facebook\" /></a>";

            Assert.AreEqual(actualHTML, expectedHTML);
        }
예제 #10
0
        public void LinkShare_GetSitesInOrderReturnsAllSitesWhenAllIsFirstItem()
        {
            // Act
            var result = LinkShare.GetSitesInOrder(linkSites: new[] { LinkShareSite.All, LinkShareSite.Reddit });

            // Assert
            Assert.Equal(_allLinkShareSites, result.ToArray());
        }
예제 #11
0
        public void LinkShare_GetSitesInOrderReturnsAllSitesWhenArgumentIEmpty()
        {
            // Act
            var result = LinkShare.GetSitesInOrder(linkSites: new LinkShareSite[] { });

            // Assert
            CollectionAssert.AreEqual(result.ToList(), _allLinkShareSites);
        }
예제 #12
0
        public void LinkShare_GetSitesInOrderReturnsSitesInOrderWhenAllIsNotFirstItem()
        {
            // Act
            var result = LinkShare.GetSitesInOrder(linkSites: new LinkShareSite[] { LinkShareSite.Reddit, LinkShareSite.Facebook, LinkShareSite.All });

            // Assert
            CollectionAssert.AreEqual(result.ToList(), new [] { LinkShareSite.Reddit, LinkShareSite.Facebook, LinkShareSite.Delicious, LinkShareSite.Digg,
                                                                LinkShareSite.GoogleBuzz, LinkShareSite.StumbleUpon, LinkShareSite.Twitter });
        }
예제 #13
0
        public void LinkshareRendersValidXhtml()
        {
            string result = "<html> <head> \n <title> </title> \n </head> \n <body> <div> \n" +
                            LinkShare.GetHtml("any<>title", "my test page <>") +
                            "\n </div> </body> \n </html>";
            HtmlString htmlResult = new HtmlString(result);

            XhtmlAssert.Validate1_0(htmlResult);
        }
예제 #14
0
        public void Render_WithFacebook_RendersAnchorTitle()
        {
            string actualHTML   = LinkShare.GetHtml("page-title", "www.foo.com", linkSites: LinkShareSite.Facebook).ToString();
            string expectedHtml = @"<a href=""http://www.facebook.com/sharer.php?u=www.foo.com&amp;t=page-title"" target=""_blank"" title=""Share on Facebook"">
                <img alt=""Share on Facebook"" src=""http://facebook.com/favicon.ico"" style=""border:0; height:16px; width:16px; margin:0 1px;"" title=""Share on Facebook"" />
                </a>";

            UnitTestHelper.AssertEqualsIgnoreWhitespace(expectedHtml, actualHTML);
        }
예제 #15
0
        public void LinkShare_GetSitesInOrderDoesNotReturnsGoogleBuzzForAll()
        {
            // Act
            var result = LinkShare.GetSitesInOrder(linkSites: new LinkShareSite[] { LinkShareSite.All });

            // Assert
            // 2 is the deprecated value for GoogleBuzz
            Assert.DoesNotContain(((LinkShareSite)2), result.ToArray());
        }
예제 #16
0
        public void LinkShare_GetSitesInOrderDoesNotReturnsGoogleBuzzForAll()
        {
            // Act
            var result = LinkShare.GetSitesInOrder(linkSites: new LinkShareSite[] { LinkShareSite.All });

            // Assert
#pragma warning disable 0618
            Assert.DoesNotContain(LinkShareSite.GoogleBuzz, result.ToArray());
#pragma warning restore 0618
        }
예제 #17
0
        public void LinkShare_GetSitesInOrderReturnsSitesInOrderWhenAllIsNotFirstItem()
        {
            // Act
            var result = LinkShare.GetSitesInOrder(linkSites: new[] { LinkShareSite.Reddit, LinkShareSite.Facebook, LinkShareSite.All });

            // Assert
            Assert.Equal(new[]
            {
                LinkShareSite.Reddit, LinkShareSite.Facebook, LinkShareSite.Delicious, LinkShareSite.Digg, LinkShareSite.StumbleUpon, LinkShareSite.Twitter
            }, result.ToArray());
        }
예제 #18
0
        public void Render_WithFacebook_RendersAnchorTitle()
        {
            string actualHTML = LinkShare.GetHtml("page-title", "www.foo.com", linkSites: LinkShareSite.Facebook).ToString();

            Regex regex = new Regex("^<a.*title=\"(?'title'[^\"]+)\".*><img.*$");
            Match match = regex.Match(actualHTML);

            Assert.IsTrue(match.Groups.Count == 2);
            Assert.IsNotNull(match.Groups["title"]);
            Assert.AreEqual(match.Groups["title"].Value, "Share on Facebook");
        }
예제 #19
0
 public void RenderWithNullPageTitle_ThrowsException()
 {
     ExceptionAssert.ThrowsArgNullOrEmpty(
         () => LinkShare.GetHtml(null),
         "pageTitle");
 }