Jo Shields a575963da9 Imported Upstream version 3.6.0
Former-commit-id: da6be194a6b1221998fc28233f2503bd61dd9d14
2014-08-13 10:39:27 +01:00

56 lines
1.5 KiB
C#

using System;
using System.IO;
using System.Linq;
using System.Collections.Generic;
using NUnit.Framework;
using Monodoc;
using Monodoc.Generators;
namespace MonoTests.Monodoc
{
[TestFixture]
public class RootTreeTest
{
const string BaseDir = "../../class/monodoc/Test/monodoc_test/";
RootTree root;
HtmlGenerator generator;
[SetUp]
public void Setup ()
{
root = RootTree.LoadTree (BaseDir, includeExternal: false);
generator = new HtmlGenerator (defaultCache: null);
}
[Test]
public void RootTreePageTest ()
{
var content = root.RenderUrl ("root:", generator);
Assert.IsNotNull (content);
StringAssert.Contains ("The following documentation collections are available:", content);
}
IEnumerable<Node> GetNodesWithSummaries (Node baseNode)
{
return baseNode.ChildNodes.Where (n => n.Element.StartsWith ("root:/")).SelectMany (n => new[] { n }.Concat (GetNodesWithSummaries (n)));
}
[Test]
public void HelpSourceSummariesTest ()
{
foreach (var node in GetNodesWithSummaries (root.RootNode)) {
var content = root.RenderUrl (node.Element, generator);
Assert.IsNotNull (content, "#1 - " + node.Element);
if (node.ChildNodes.All (n => n.Element.StartsWith ("root:/")))
StringAssert.Contains ("This node doesn't have a summary available", content, "#2a - " + node.Element);
else {
Assert.IsFalse (content.Contains ("<em>Error:</em>"), "#2b - " + node.Element);
Assert.IsFalse (content.Contains ("This node doesn't have a summary available"), "#3b - " + node.Element);
}
}
}
}
}