/// public void PossibleInterwikis() { RegexAssert.Matches(WikiRegexes.PossibleInterwikis, "foo[[en:bar]]", "[[en:bar]]"); RegexAssert.Matches(WikiRegexes.PossibleInterwikis, "[[en:bar]][[ru:", "[[en:bar]]"); RegexAssert.Matches(WikiRegexes.PossibleInterwikis, "foo[[en:bar:quux]][[ru:boz test]]", "[[en:bar:quux]]", "[[ru:boz test]]"); RegexAssert.NoMatch(WikiRegexes.PossibleInterwikis, "[[:en:foo]]"); RegexAssert.NoMatch(WikiRegexes.PossibleInterwikis, "[[:foo]]"); }
public void ImageTestsInfoboxes() { RegexAssert.IsMatch(WikiRegexes.Images, @"{{Infobox foo| bar = a| image = [[File:Test.JPG]] | there=here}}"); RegexAssert.IsMatch(WikiRegexes.Images, @"{{Infobox foo| bar = a| image2 = [[File:Test.JPG]] | there=here}}"); RegexAssert.IsMatch(WikiRegexes.Images, @"{{Infobox foo| bar = a| img = [[File:Test.JPG]] | there=here}}"); RegexAssert.IsMatch(WikiRegexes.Images, @"{{Infobox foo| bar = a| img = Test.JPEG | there=here}}"); RegexAssert.IsMatch(WikiRegexes.Images, @"{{Infobox foo| bar = a| cover = [[Image:Test.JPG]] | there=here}}"); RegexAssert.IsMatch(WikiRegexes.Images, @"{{Infobox foo| bar = a| cover art = Test2.png | there=here}}"); RegexAssert.IsMatch(WikiRegexes.Images, @"{{Infobox foo| bar = a| cover_ar = Test.JPG | there=here}}"); RegexAssert.IsMatch(WikiRegexes.Images, @"{{Infobox foo| bar = a|map=[[File:Test.JPG]] | there=here}}"); RegexAssert.IsMatch(WikiRegexes.Images, @"{{Infobox foo| bar = a| map = [[File:Test.JPG]] | there=here}}"); RegexAssert.IsMatch(WikiRegexes.Images, @"{{Infobox foo| bar = a| strangename = Test.JPEG | there=here}}"); RegexAssert.IsMatch(WikiRegexes.Images, @"{{Infobox foo| bar = a| picture = Test.JPG | there=here}}"); RegexAssert.NoMatch(WikiRegexes.Images, @"{{Infobox foo| bar = a| map = Image without exension | there=here}}"); RegexAssert.Matches(WikiRegexes.Images, @"{{Infobox foo| bar = a| picture = Test.JPG | there=here}}", @" Test.JPG"); }
public void BulletedText() { RegexAssert.NoMatch(WikiRegexes.BulletedText, ""); RegexAssert.Matches(WikiRegexes.BulletedText, ":foo", ":foo"); RegexAssert.Matches(WikiRegexes.BulletedText, ":foo\r\n", ":foo\r"); RegexAssert.Matches(WikiRegexes.BulletedText, "#foo\r\n*:bar", "#foo\r", "*:bar"); RegexAssert.Matches(WikiRegexes.BulletedText, "#foo\r\ntest\r\n*:bar", "#foo\r", "*:bar"); RegexAssert.Matches(WikiRegexes.BulletedText, " foo\r\nfoo bar", " foo\r"); }
public void Template() { RegexAssert.Matches("{{foo}}", WikiRegexes.TemplateMultiLine, "{{foo}}"); RegexAssert.Matches("{{foo}}", WikiRegexes.TemplateMultiLine, "123{{foo}}test"); RegexAssert.Matches("{{foo|bar}}", WikiRegexes.TemplateMultiLine, "{{foo|bar}}"); RegexAssert.Matches("{{foo\r\n|bar=test}}", WikiRegexes.TemplateMultiLine, "{{foo\r\n|bar=test}}"); RegexAssert.Matches("Should match distinct templates", WikiRegexes.TemplateMultiLine, "{{foo}}{{bar}}", "{{foo}}", "{{bar}}"); RegexAssert.Matches("{{foo| {bar} }}", WikiRegexes.TemplateMultiLine, "{{foo| {bar} }}"); }
public void Template() { RegexAssert.Matches("{{foo}}", WikiRegexes.TemplateMultiLine, "{{foo}}"); RegexAssert.Matches("{{foo}}", WikiRegexes.TemplateMultiLine, "123{{foo}}test"); RegexAssert.Matches("{{foo|bar}}", WikiRegexes.TemplateMultiLine, "{{foo|bar}}"); RegexAssert.Matches("{{foo\r\n|bar=test}}", WikiRegexes.TemplateMultiLine, "{{foo\r\n|bar=test}}"); RegexAssert.Matches("Should match distinct templates", WikiRegexes.TemplateMultiLine, "{{foo}}{{bar}}", "{{foo}}", "{{bar}}"); // regex won't match if nested template or curly-bracketed stuff RegexAssert.NoMatch(WikiRegexes.TemplateMultiLine, "{{foo| {bar} }}"); }
public void Refs() { RegexAssert.Matches(WikiRegexes.Refs, "<ref>foo</ref>", "<ref>foo</ref>"); // http://en.wikipedia.org/wiki/Wikipedia_talk:AutoWikiBrowser/Bugs/Archive_6#Typo_fixes_being_applied_to_a_reference_name RegexAssert.Matches(WikiRegexes.Refs, "<REF NAME=\"foo\" >bar</ref >", "<REF NAME=\"foo\" >bar</ref >"); RegexAssert.Matches(WikiRegexes.Refs, "<REF NAME=foo>bar< /ref>", "<REF NAME=foo>bar< /ref>"); //RegexAssert.Matches(WikiRegexes.Refs, "<ref/>", "<ref/>"); RegexAssert.Matches(WikiRegexes.Refs, "<ReF Name=foo/>", "<ReF Name=foo/>"); RegexAssert.Matches(WikiRegexes.Refs, "<ReF Name = 'foo'/>", "<ReF Name = 'foo'/>"); RegexAssert.Matches(WikiRegexes.Refs, "<ReF Name = \"foo\"/>", "<ReF Name = \"foo\"/>"); RegexAssert.NoMatch(WikiRegexes.Refs, "<refname=foo>bar</ref>"); RegexAssert.NoMatch(WikiRegexes.Refs, "<refname=foo/>"); }
public void ImageTestsStandard() { RegexAssert.IsMatch(WikiRegexes.Images, "[[File:Test.JPG]]"); RegexAssert.IsMatch(WikiRegexes.Images, "[[File:Test.jpg]]"); RegexAssert.IsMatch(WikiRegexes.Images, "[[File:Test of the.ogg]]"); RegexAssert.Matches(WikiRegexes.Images, "[[File:Test of the.ogg]]", "[[File:Test of the.ogg]]"); RegexAssert.IsMatch(WikiRegexes.Images, "[[File:Test_of_the.ogg]]"); RegexAssert.IsMatch(WikiRegexes.Images, "[[Image:Test.JPG]]"); RegexAssert.IsMatch(WikiRegexes.Images, "[[Image:Test here.png|right|200px|Some description [[here]] or there]]"); RegexAssert.IsMatch(WikiRegexes.Images, @"[[Image:Test here.png|right|200px|Some description [[here]] or there over lines]]"); RegexAssert.IsMatch(WikiRegexes.Images, "[[File:Test.JPG"); RegexAssert.NoMatch(WikiRegexes.Images, "[[File Test.JPG]]"); }
public void Refs() { RegexAssert.Matches(WikiRegexes.Refs, "<ref>foo</ref>", "<ref>foo</ref>"); // http://en.wikipedia.org/wiki/Wikipedia_talk:AutoWikiBrowser/Bugs/Archive_6#Typo_fixes_being_applied_to_a_reference_name RegexAssert.Matches(WikiRegexes.Refs, "<REF NAME=\"foo\" >bar</ref >", "<REF NAME=\"foo\" >bar</ref >"); RegexAssert.Matches(WikiRegexes.Refs, "<REF NAME=foo>bar< /ref>", "<REF NAME=foo>bar< /ref>"); //RegexAssert.Matches(WikiRegexes.Refs, "<ref/>", "<ref/>"); RegexAssert.Matches(WikiRegexes.Refs, "<ReF Name=foo/>", "<ReF Name=foo/>"); RegexAssert.Matches(WikiRegexes.Refs, "<ReF Name = 'foo'/>", "<ReF Name = 'foo'/>"); RegexAssert.Matches(WikiRegexes.Refs, "<ReF Name = \"foo\"/>", "<ReF Name = \"foo\"/>"); RegexAssert.NoMatch(WikiRegexes.Refs, "<refname=foo>bar</ref>"); RegexAssert.NoMatch(WikiRegexes.Refs, "<refname=foo/>"); // http://en.wikipedia.org/wiki/Wikipedia_talk:AutoWikiBrowser/Bugs#.3Cp.3E_deletion_in_references_and_notes RegexAssert.Matches(WikiRegexes.Refs, "<ref>foo<!-- bar --></ref>", "<ref>foo<!-- bar --></ref>"); // shouldn't eat too much RegexAssert.Matches(WikiRegexes.Refs, "<ref>foo<!-- bar --></ref> <ref>foo</ref>", "<ref>foo<!-- bar --></ref>", "<ref>foo</ref>"); }
public void ImageTestsGalleryTag() { RegexAssert.Matches(WikiRegexes.Images, @"<gallery> File:Foo.png </gallery>", "File:Foo.png"); RegexAssert.Matches(WikiRegexes.Images, @"<gallery> File:Foo.png|description </gallery>", "File:Foo.png|"); RegexAssert.Matches(WikiRegexes.Images, @"<gallery> Image:Foo.png|description </gallery>", "Image:Foo.png|"); RegexAssert.Matches(WikiRegexes.Images, @"<gallery> Image : Foo.png |description </gallery>", "Image : Foo.png |"); RegexAssert.Matches(WikiRegexes.Images, @"<GALLERY> Image:Foo.png|description </GALLERY>", "Image:Foo.png|"); RegexAssert.Matches(WikiRegexes.Images, @"<gallery name=bar style=silver> File:Foo.png|description<br>text </gallery>", "File:Foo.png|"); RegexAssert.Matches(WikiRegexes.Images, @"< gallery > File:Foo.png < /gallery >", "File:Foo.png"); MatchCollection mc = WikiRegexes.Images.Matches(@"<gallery> Image:Foo.png|description Image:Foo2.png|description2 </gallery>"); Assert.AreEqual(mc[0].Value, "Image:Foo.png|"); Assert.AreEqual(mc[1].Value, "Image:Foo2.png|"); RegexAssert.IsMatch(WikiRegexes.Images, @"File:Foo.png|description"); RegexAssert.NoMatch(WikiRegexes.Images, @"<gallery> </gallery> Image here"); }