Xamarin Public Jenkins (auto-signing) 536cd135cc Imported Upstream version 5.4.0.167
Former-commit-id: 5624ac747d633e885131e8349322922b6a59baaa
2017-08-21 15:34:15 +00:00

60 lines
1.7 KiB
C#

using System;
using System.IO;
using System.Linq;
using System.Collections.Generic;
using System.Runtime.CompilerServices;
using NUnit.Framework;
using Monodoc;
using Monodoc.Generators;
namespace MonoTests.Monodoc
{
[TestFixture]
public class RootTreeTest
{
RootTree root;
HtmlGenerator generator;
[SetUp]
public void Setup ()
{
root = RootTree.LoadTree (GetBaseDir (), includeExternal: false);
generator = new HtmlGenerator (defaultCache: null);
}
static string GetBaseDir ([CallerFilePath] string baseDir = "")
{
return Path.Combine (Path.GetDirectoryName (baseDir), "..", "monodoc_test");
}
[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);
}
}
}
}
}