public void Results_LinkHasSizes_UseSizes() { var uri = new Uri("http://www.example.com"); var source = new MockSource(); source.AddTextResource(uri, @" <html><head> <link rel='icon' href='favicons.ico' sizes='16x16 32x32'> </head><body>Fake content.</body></html>"); var scanner = new DefaultScanner(source, uri); scanner.Start(); Assert.AreEqual(new ScanResult { Location = new Uri("http://www.example.com/favicons.ico"), ExpectedSize = new Size(16, 16) }, scanner.Results[0]); Assert.AreEqual(new ScanResult { Location = new Uri("http://www.example.com/favicons.ico"), ExpectedSize = new Size(32, 32) }, scanner.Results[1]); }
public void ScanningAScenarioWithoutArgsFromAStoryClass() { var testObject = new DummyScenario(); var scanner = new DefaultScanner(TestContext.GetContext(testObject), new ReflectiveScenarioScanner(new DefaultMethodNameStepScanner())); var story = scanner.Scan(); story.Metadata.Type.ShouldBe(typeof(StoryDouble)); story.Scenarios.Count().ShouldBe(1); story.Scenarios.Single().TestObject.ShouldBeAssignableTo<DummyScenario>(); }
public void ScanningAScenarioWithoutArgsFromAStoryClass() { var testObject = new DummyScenario(); var scanner = new DefaultScanner(TestContext.GetContext(testObject), new ReflectiveScenarioScanner(new DefaultMethodNameStepScanner()), typeof(StoryDouble)); var story = scanner.Scan(); story.Metadata.Type.ShouldBe(typeof(StoryDouble)); story.Scenarios.Count().ShouldBe(1); story.Scenarios.Single().TestObject.ShouldBeAssignableTo <DummyScenario>(); }
public void ScanningAScenarioWithoutArgsFromAStoryClass() { var testObject = new DummyScenario(); var scanner = new DefaultScanner(testObject, new ReflectiveScenarioScanner(new[] { new DefaultMethodNameStepScanner() })); var story = scanner.Scan(); Assert.That(story.Metadata, Is.Not.Null); Assert.That(story.Metadata.Type, Is.EqualTo(typeof(StoryDouble))); Assert.That(story.Scenarios.Count(), Is.EqualTo(1)); Assert.True(story.Scenarios.Single().TestObject.GetType() == typeof(DummyScenario)); }
public void SuggestedScanners_NotFound_SuggestFaviconIco() { var uri = new Uri("http://www.example.com"); var source = new MockSource(); var scanner = new DefaultScanner(source, uri); scanner.Start(); Assert.AreEqual(0, scanner.Results.Count); Assert.AreEqual(1, scanner.SuggestedScanners.Count); Assert.IsInstanceOfType(scanner.SuggestedScanners[0], typeof(FaviconIcoScanner)); }
public void SuggestedScanners_HtmlEndsAtTag_SuggestFaviconIco() { var uri = new Uri("http://www.example.com"); var source = new MockSource(); source.AddTextResource(uri, "<html><head><link"); var scanner = new DefaultScanner(source, uri); scanner.Start(); Assert.AreEqual(0, scanner.Results.Count); Assert.AreEqual(1, scanner.SuggestedScanners.Count); Assert.IsInstanceOfType(scanner.SuggestedScanners[0], typeof(FaviconIcoScanner)); }
public void Results_HtmlInCaps_ParseIt() { var uri = new Uri("http://www.example.com"); var source = new MockSource(); source.AddTextResource(uri, @" <HTML><HEAD> <link rel='SHORTCUT ICON' href='favicon.png'> </HEAD><BODY>Fake content.</BODY></HTML>"); var scanner = new DefaultScanner(source, uri); scanner.Start(); Assert.AreEqual(1, scanner.Results.Count); }
public void Results_LinkInBody_Ignored() { var uri = new Uri("http://www.example.com"); var source = new MockSource(); source.AddTextResource(uri, @" <html><body> <link rel=icon href='favicon.png'> </body></html>"); var scanner = new DefaultScanner(source, uri); scanner.Start(); Assert.AreEqual(0, scanner.Results.Count); }
public void Results_MultipleLinks_FindAll() { var uri = new Uri("http://www.example.com"); var source = new MockSource(); source.AddTextResource(uri, @" <html><head> <link rel='icon' href='favicon1.png'> <link rel='icon' href='favicon2.png'> </head><body>Fake content.</body></html>"); var scanner = new DefaultScanner(source, uri); scanner.Start(); Assert.AreEqual(2, scanner.Results.Count); }
public void SuggestedScanners_InvalidManifestJsonUri_Skip() { var uri = new Uri("http://www.example.com"); var source = new MockSource(); source.AddTextResource(uri, @" <html><head> <meta rel='manifest' href='///manifest.json'> <link rel=icon href='favicon.ico'> </head></html>"); var scanner = new DefaultScanner(source, uri); scanner.Start(); Assert.AreEqual(1, scanner.Results.Count); Assert.AreEqual(1, scanner.SuggestedScanners.Count); // just FaviconIcoScanner }
public void SuggestedScanners_ManifestJsonLinked_SuggestIt() { var uri = new Uri("http://www.example.com"); var source = new MockSource(); source.AddTextResource(uri, @" <html><head> <meta rel='manifest' href='/manifest.json'> </head></html>"); var scanner = new DefaultScanner(source, uri); scanner.Start(); Assert.AreEqual(0, scanner.Results.Count); Assert.AreEqual(2, scanner.SuggestedScanners.Count); // plus FaviconIcoScanner Assert.IsInstanceOfType(scanner.SuggestedScanners[0], typeof(ManifestJsonScanner)); }
public void SuggestedScanners_InvalidBrowserconfigXmlUri_Skip() { var uri = new Uri("http://www.example.com"); var source = new MockSource(); source.AddTextResource(uri, @" <html><head> <meta name='msapplication-config' content='///browserconfig.xml'> <link rel=icon href='favicon.ico'> </head></html>"); var scanner = new DefaultScanner(source, uri); scanner.Start(); Assert.AreEqual(1, scanner.Results.Count); Assert.AreEqual(1, scanner.SuggestedScanners.Count); // just FaviconIcoScanner }
public void SuggestedScanners_BrowserconfigXmlLinked_SuggestIt() { var uri = new Uri("http://www.example.com"); var source = new MockSource(); source.AddTextResource(uri, @" <html><head> <meta name='msapplication-config' content='browserconfig.xml'> </head></html>"); var scanner = new DefaultScanner(source, uri); scanner.Start(); Assert.AreEqual(0, scanner.Results.Count); Assert.AreEqual(2, scanner.SuggestedScanners.Count); // plus FaviconIcoScanner Assert.IsInstanceOfType(scanner.SuggestedScanners[0], typeof(BrowserconfigXmlScanner)); }
public void SuggestedScanners_InvalidLinks_SuggestFaviconIco() { var uri = new Uri("http://www.example.com"); var source = new MockSource(); source.AddTextResource(uri, @" <html><head> <link rel='icon' src='favicon1.png'> <link href='favicon1.png'> </head><body>Fake content.</body></html>"); var scanner = new DefaultScanner(source, uri); scanner.Start(); Assert.AreEqual(0, scanner.Results.Count); Assert.AreEqual(1, scanner.SuggestedScanners.Count); Assert.IsInstanceOfType(scanner.SuggestedScanners[0], typeof(FaviconIcoScanner)); }
public void Results_SizeInNameAndAttribute_UseAttributeSize() { var uri = new Uri("http://www.example.com"); var source = new MockSource(); source.AddTextResource(uri, @" <html><head> <link rel=icon href='favicon_48x48.png' sizes='16x16'> </head><body>Fake content.</body></html>"); var scanner = new DefaultScanner(source, uri); scanner.Start(); Assert.AreEqual(new ScanResult { Location = new Uri("http://www.example.com/favicon_48x48.png"), ExpectedSize = new Size(16, 16) }, scanner.Results[0]); }
public void Results_QuoteInUri_Accepted() { var uri = new Uri("http://www.example.com"); var source = new MockSource(); source.AddTextResource(uri, @" <html><head> <link rel=icon href=""favicon's.png""> </head></html>"); var scanner = new DefaultScanner(source, uri); scanner.Start(); Assert.AreEqual(new ScanResult { Location = new Uri("http://www.example.com/favicon's.png"), ExpectedSize = new Size(16, 16) }, scanner.Results[0]); }
public void Results_SizedAppleLink_UseSpecifiedSize() { var uri = new Uri("http://www.example.com"); var source = new MockSource(); source.AddTextResource(uri, @" <html><head> <link rel=apple-touch-icon-precomposed href='apple_icon.png' sizes='48x48'> </head><body>Fake content.</body></html>"); var scanner = new DefaultScanner(source, uri); scanner.Start(); Assert.AreEqual(new ScanResult { Location = new Uri("http://www.example.com/apple_icon.png"), ExpectedSize = new Size(48, 48) }, scanner.Results[0]); }
public void Results_LinkRelInCaps_FindIt() { var uri = new Uri("http://www.example.com"); var source = new MockSource(); source.AddTextResource(uri, @" <html><head> <link rel='SHORTCUT ICON' href='favicon.png'> </head><body>Fake content.</body></html>"); var scanner = new DefaultScanner(source, uri); scanner.Start(); Assert.AreEqual(new ScanResult { Location = new Uri("http://www.example.com/favicon.png"), ExpectedSize = new Size(16, 16) }, scanner.Results[0]); }
public void Results_BigNumberInUri_Accepted() { var uri = new Uri("http://www.example.com"); var source = new MockSource(); source.AddTextResource(uri, @" <html><head> <link rel=icon href='icon_21474836470_48.png'> </head></html>"); var scanner = new DefaultScanner(source, uri); scanner.Start(); Assert.AreEqual(new ScanResult { Location = new Uri("http://www.example.com/icon_21474836470_48.png"), ExpectedSize = new Size(48, 48) }, scanner.Results[0]); }
public void Results_InvalidUri_Skip() { var uri = new Uri("http://www.example.com"); var source = new MockSource(); source.AddTextResource(uri, @" <html><head> <link rel=icon href='///invalid'> <link rel=icon href='favicon.ico'> </head></html>"); var scanner = new DefaultScanner(source, uri); scanner.Start(); Assert.AreEqual(new ScanResult { Location = new Uri("http://www.example.com/favicon.ico"), ExpectedSize = new Size(16, 16) }, scanner.Results[0]); }