public void Fetcher_MultipleIconsInFile_UseBest() { var uri = new Uri("http://www.example.com"); var source = new MockSource(); source.AddTextResource(uri, "Fake content."); source.AddImageResource(new Uri(uri, "/favicon.ico"), new Size(16, 16)); source.AddImageResource(new Uri(uri, "/favicon.ico"), new Size(32, 32)); source.AddImageResource(new Uri(uri, "/favicon.ico"), new Size(48, 48)); var fetcher = new Fetcher(source); var image = fetcher.FetchClosest(uri, new Size(32, 32)); Assert.AreEqual(2, source.RequestCount); Assert.AreEqual(new Size(32, 32), image.Size); }
public void Fetcher_PerfectIsLastLink_MakeTwoRequests() { var uri = new Uri("http://www.example.com"); var source = new MockSource(); source.AddTextResource(uri, @" <html><head> <link rel='shortcut icon' href='favicon_32.png' sizes='32x32'> <link rel='shortcut icon' href='favicon_16.png' sizes='16x16'> </head></html>"); source.AddImageResource(new Uri(uri, "/favicon_32.png"), new Size(32, 32)); source.AddImageResource(new Uri(uri, "/favicon_16.png"), new Size(16, 16)); var fetcher = new Fetcher(source); fetcher.FetchClosest(uri, new Size(16, 16)); Assert.AreEqual(2, source.RequestCount); }