public void NoMetaTest()
        {
            var service = new TestMetaThumbnailService(@"http://example.com/.+");

            service.FakeHtml = @"
<!DOCTYPE HTML PUBLIC '-//W3C//DTD HTML 4.01//EN' 'http://www.w3.org/TR/html4/strict.dtd'>

<meta http-equiv='Content-Type' content='text/html; charset=UTF-8'>
<title>hogehoge</title>

<p>hogehoge
";
            var thumbinfo = service.GetThumbnailInfo("http://example.com/abcd", null);

            Assert.That(thumbinfo, Is.Null);
        }
        public void NoMetaTest()
        {
            var service = new TestMetaThumbnailService(@"http://example.com/.+");

            service.FakeHtml = @"
            <!DOCTYPE HTML PUBLIC '-//W3C//DTD HTML 4.01//EN' 'http://www.w3.org/TR/html4/strict.dtd'>

            <meta http-equiv='Content-Type' content='text/html; charset=UTF-8'>
            <title>hogehoge</title>

            <p>hogehoge
            ";
            var thumbinfo = service.GetThumbnailInfo("http://example.com/abcd", null);

            Assert.Null(thumbinfo);
        }
        public void TwitterMetaTest()
        {
            var service = new TestMetaThumbnailService(@"http://example.com/.+");

            service.FakeHtml = @"
<!DOCTYPE HTML PUBLIC '-//W3C//DTD HTML 4.01//EN' 'http://www.w3.org/TR/html4/strict.dtd'>

<meta http-equiv='Content-Type' content='text/html; charset=UTF-8'>
<meta name='twitter:image' content='http://img.example.com/abcd'>
<title>hogehoge</title>

<p>hogehoge
";
            var thumbinfo = service.GetThumbnailInfo("http://example.com/abcd", null);

            Assert.That(thumbinfo, Is.Not.Null);
            Assert.That(thumbinfo.ImageUrl, Is.EqualTo("http://example.com/abcd"));
            Assert.That(thumbinfo.ThumbnailUrl, Is.EqualTo("http://img.example.com/abcd"));
            Assert.That(thumbinfo.TooltipText, Is.Null);
        }
        public void InvalidMetaTest()
        {
            var service = new TestMetaThumbnailService(@"http://example.com/.+");

            service.FakeHtml = @"
            <!DOCTYPE HTML PUBLIC '-//W3C//DTD HTML 4.01//EN' 'http://www.w3.org/TR/html4/strict.dtd'>

            <meta http-equiv='Content-Type' content='text/html; charset=UTF-8'>
            <meta name='twitter:image' value='http://img.example.com/abcd'>
            <title>hogehoge</title>

            <p>hogehoge
            ";
            var thumbinfo = service.GetThumbnailInfo("http://example.com/abcd", null);

            Assert.NotNull(thumbinfo);
            Assert.Equal("http://example.com/abcd", thumbinfo.ImageUrl);
            Assert.Equal("http://img.example.com/abcd", thumbinfo.ThumbnailUrl);
            Assert.Null(thumbinfo.TooltipText);
        }
        public void OGPMetaTest()
        {
            var service = new TestMetaThumbnailService(@"http://example.com/.+");

            service.FakeHtml = @"
<!DOCTYPE html PUBLIC '-//W3C//DTD XHTML+RDFa 1.0//EN' 'http://www.w3.org/MarkUp/DTD/xhtml-rdfa-1.dtd'>
<html xmlns='http://www.w3.org/1999/xhtml'>
<head>
  <meta http-equiv='Content-Type' content='text/html; charset=UTF-8'/>
  <meta property='og:image' content='http://img.example.com/abcd'/>
  <title>hogehoge</title>
</head>
<body>
  <p>hogehoge</p>
</body>
</html>
";
            var thumbinfo = service.GetThumbnailInfo("http://example.com/abcd", null);

            Assert.That(thumbinfo, Is.Not.Null);
            Assert.That(thumbinfo.ImageUrl, Is.EqualTo("http://example.com/abcd"));
            Assert.That(thumbinfo.ThumbnailUrl, Is.EqualTo("http://img.example.com/abcd"));
            Assert.That(thumbinfo.TooltipText, Is.Null);
        }
        public void OGPMetaTest()
        {
            var service = new TestMetaThumbnailService(@"http://example.com/.+");

            service.FakeHtml = @"
            <!DOCTYPE html PUBLIC '-//W3C//DTD XHTML+RDFa 1.0//EN' 'http://www.w3.org/MarkUp/DTD/xhtml-rdfa-1.dtd'>
            <html xmlns='http://www.w3.org/1999/xhtml'>
            <head>
              <meta http-equiv='Content-Type' content='text/html; charset=UTF-8'/>
              <meta property='og:image' content='http://img.example.com/abcd'/>
              <title>hogehoge</title>
            </head>
            <body>
              <p>hogehoge</p>
            </body>
            </html>
            ";
            var thumbinfo = service.GetThumbnailInfo("http://example.com/abcd", null);

            Assert.NotNull(thumbinfo);
            Assert.Equal("http://example.com/abcd", thumbinfo.ImageUrl);
            Assert.Equal("http://img.example.com/abcd", thumbinfo.ThumbnailUrl);
            Assert.Null(thumbinfo.TooltipText);
        }