예제 #1
0
        public void TestContext()
        {
            var test = new RollingContextTest()
                       .Update(@"
1. Test
	1. Foo
	2. Bar
	2. Test
2. Something
3. Foo
5. Bar
3. Foo
")
                       .Assert(
                (WarningIDs.InvalidListNumberOrder, 26, 32, "3-2"),
                (WarningIDs.InvalidListNumberOrder, 54, 59, "4-5"))
                       .Update(@"
1. Test
	1. Foo
	2. Test
2. Something
3. Foo
4. Bar
18. Foo
")
                       .Assert(WarningIDs.InvalidListNumberOrder, 53, 59, "5-18")
                       .Clear()
                       .AssertNotPresent(WarningIDs.InvalidListNumberOrder)
                       .Update("2. Foo")
                       .Assert(WarningIDs.InvalidListNumberOrder, 0, 5, "1-2")
                       .Update("1. Bar")
                       .AssertNoWarnings();
        }
예제 #2
0
 public void TestContext()
 {
     var test = new RollingContextTest()
                .Update("Foo bar")
                .AssertNoWarnings()
                .Update("[]")
                .Assert(WarningIDs.EmptyReference, 0, 1, string.Empty)
                .Update("[Foo](.)")
                .AssertNoWarnings()
                .Update("[Foo]()")
                .AssertContains(WarningIDs.EmptyReference)
                .AssertNotPresent(WarningIDs.UnresolvedReference)
                .Update("# Test", "Foo.md")
                .Update("[Bar](foo.md#test)")
                .AssertNoWarnings()
                .Update("\n[Bar](foo.md#tes)")
                .Assert(WarningIDs.UnresolvedReference, 7, 16, "foo.md#tes")
                .Update("[Bar]: foo.md#test")
                .Assert(WarningIDs.UnusedDefinedReference, 0, 17, "Bar")
                .RemoveEntity("fOo.mD")
                .AssertContains(WarningIDs.UnresolvedReference, 0, 17, "foo.md#test")
                .Clear()
                .AssertNoWarnings()
                .Update("\n[]()\n\n# Foo \n")
                .Assert(
         // Need a change in Markdig to get accurate LinkInline source spans for Label and Url
         (WarningIDs.EmptyLinkContent, 1, 4, string.Empty),
         (WarningIDs.EmptyReference, 1, 4, string.Empty),
         (WarningIDs.HeadingEndsWithWhitespace, 7, 12, "# Foo "))
                .Clear()
                .Update("[Test]", "Bar.md")
                .Assert(WarningIDs.UnresolvedReference, 0, 5, "Test", "Bar.md")
                .AssertContains(w => w.IsError)
                .AssertSingle(w => w.Message.Length > 5);
 }
 public void DuplicateMarkdownFile()
 {
     var test = new RollingContextTest()
                .Update("[Some error]")
                .AssertContains(WarningIDs.UnresolvedReference)
                .AddMarkdownFile("[Not an error anymore](.)", assertReturn: false)
                .AssertContains(WarningIDs.UnresolvedReference);
 }
예제 #4
0
 public void RemoveHeaderReference()
 {
     var test = new RollingContextTest()
                .Update("# Foo\n# Bar", "test.md")
                .Update("[Bar](test.md#bar) [Foo](test.md#foo)")
                .AssertNoWarnings()
                .Update("# Bar", "test.md")
                .Assert(WarningIDs.UnresolvedReference, 25, 35, "test.md#foo");
 }
예제 #5
0
 public void RemoveNonMarkdownFile()
 {
     var test = new RollingContextTest()
                .AddEntity("foo.bar")
                .Update("[Foo](foo.bar)")
                .AssertNoWarnings()
                .RemoveEntity("foo.bar", true)
                .AssertHasWarnings();
 }
 public void DuplicateEntity()
 {
     var test = new RollingContextTest()
                .AddEntity("foo.bar")
                .Update("[Foo](foo.bar)")
                .AssertNoWarnings()
                .Update("[Foo](Foo.bar)")
                .AssertContains(WarningIDs.FileReferenceCaseMismatch)
                .AddEntity("Foo.bar", assertReturn: false)
                .AssertContains(WarningIDs.FileReferenceCaseMismatch);
 }
 public void Test()
 {
     var test = new RollingContextTest()
                .AddEntity("Foo.bar")
                .Update("[Stuff](foo.bar)")
                .AssertContains(WarningIDs.FileReferenceCaseMismatch, 8, 14, "foo.bar")
                .AssertContains(WarningIDs.UnresolvedReference)
                .Clear()
                .AssertNoWarnings()
                .Update("[Test](bar.Foo)")
                .AddEntity("bar.foo")
                .AssertContains(WarningIDs.FileReferenceCaseMismatch, 7, 13, "bar.Foo")
                .AssertWarningCount(2);
 }
예제 #8
0
 public void RemoveFileWithHeaderReference()
 {
     var test = new RollingContextTest()
                .Update("# Foo", "bar.md")
                .Update("[Foo](bar.md#foo)", "foo.md")
                .AssertNoWarnings()
                .RemoveEntity("foo.md")
                .Update("[Foo](bar.md#foo)", "foo.md")
                .Update("[Foo](bar.md#foo)", "foo2.md")
                .RemoveEntity("foo.md")
                .RemoveEntity("bar.md")
                .AssertWarningCount(1)
                .Assert(WarningIDs.UnresolvedReference, 6, 15, "bar.md#foo", "foo2.md");
 }
예제 #9
0
        public void IsRecognised()
        {
            var test = new RollingContextTest()
                       .AddEntity("test-dir")
                       .AddEntity("slash-dir/")
                       .AddEntity("backslash-dir\\")
                       .Update(@"
[bare](test-dir)
[slash](test-dir/)
")
                       .AssertNoWarnings()
                       .Update(@"
[bare](slash-dir)
[slash](slash-dir/)
")
                       .AssertNoWarnings()
                       .Update(@"
[bare](backslash-dir)
[slash](backslash-dir/)
")
                       .AssertNoWarnings()
                       .Update("[foo](test-dir\\)")
                       .AssertHasWarnings();
        }
예제 #10
0
 public void RemoveNonExistantEntity()
 {
     var test = new RollingContextTest()
                .RemoveEntity("foo.bar", false);
 }