File: RootTreeTest.cs

package info (click to toggle)
mono 6.12.0.199%2Bds-4
  • links: PTS, VCS
  • area: main
  • in suites: sid
  • size: 1,273,192 kB
  • sloc: cs: 11,181,844; xml: 2,850,076; ansic: 689,413; cpp: 123,344; perl: 59,361; javascript: 30,841; asm: 21,845; makefile: 19,951; sh: 15,030; python: 4,771; pascal: 925; sql: 859; sed: 16; php: 1
file content (60 lines) | stat: -rw-r--r-- 1,709 bytes parent folder | download | duplicates (8)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
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);
				}
			}
		}
	}
}