Merge: Do not display test suite modules in Nitdoc
authorJean Privat <jean@pryen.org>
Wed, 14 Jan 2015 06:07:44 +0000 (01:07 -0500)
committerJean Privat <jean@pryen.org>
Wed, 14 Jan 2015 06:07:44 +0000 (01:07 -0500)
Do not display test suite modules in Nitdoc

Fixes #779

Pull-Request: #1097
Reviewed-by: Jean Privat <jean@pryen.org>

src/doc/doc_pages.nit
src/loader.nit
src/model/mmodule.nit

index f8a1250..38e6cdf 100644 (file)
@@ -166,7 +166,7 @@ class Nitdoc
 
        private fun modules do
                for mmodule in model.mmodules do
-                       if mmodule.is_fictive then continue
+                       if mmodule.is_fictive or mmodule.is_test_suite then continue
                        var page = new NitdocModule(ctx, model, mainmodule, mmodule)
                        page.render.write_to_file("{ctx.output_dir.to_s}/{page.page_url}")
                end
@@ -211,7 +211,7 @@ class QuickSearch
 
        init do
                for mmodule in model.mmodules do
-                       if mmodule.is_fictive then continue
+                       if mmodule.is_fictive or mmodule.is_test_suite then continue
                        add_result_for(mmodule.name, mmodule.full_name, mmodule.nitdoc_url)
                end
                for mclass in model.mclasses do
@@ -667,7 +667,7 @@ class NitdocSearch
        private fun modules_list: Array[MModule] do
                var sorted = new Array[MModule]
                for mmodule in model.mmodule_importation_hierarchy do
-                       if mmodule.is_fictive then continue
+                       if mmodule.is_fictive or mmodule.is_test_suite then continue
                        sorted.add mmodule
                end
                name_sorter.sort(sorted)
@@ -933,7 +933,7 @@ class NitdocModule
                # Imports
                var lst = new Array[MModule]
                for dep in imports do
-                       if dep.is_fictive then continue
+                       if dep.is_fictive or dep.is_test_suite then continue
                        if dep == mmodule then continue
                        lst.add(dep)
                end
@@ -945,7 +945,7 @@ class NitdocModule
                # Clients
                lst = new Array[MModule]
                for dep in clients do
-                       if dep.is_fictive then continue
+                       if dep.is_fictive or dep.is_test_suite then continue
                        if dep == mmodule then continue
                        lst.add(dep)
                end
@@ -1024,10 +1024,10 @@ class NitdocModule
        fun tpl_dot(mmodules: Collection[MModule]): nullable TplArticle do
                var poset = new POSet[MModule]
                for mmodule in mmodules do
-                       if mmodule.is_fictive then continue
+                       if mmodule.is_fictive or mmodule.is_test_suite then continue
                        poset.add_node mmodule
                        for omodule in mmodules do
-                               if mmodule.is_fictive then continue
+                               if omodule.is_fictive or omodule.is_test_suite then continue
                                poset.add_node mmodule
                                if mmodule.in_importation < omodule then
                                        poset.add_edge(mmodule, omodule)
index 58d3506..a046815 100644 (file)
@@ -528,6 +528,7 @@ redef class ModelBuilder
                self.mmodule2nmodule[mmodule] = nmodule
 
                if decl != null then
+                       # Extract documentation
                        var ndoc = decl.n_doc
                        if ndoc != null then
                                var mdoc = ndoc.to_mdoc
@@ -536,6 +537,8 @@ redef class ModelBuilder
                        else
                                advice(decl, "missing-doc", "Documentation warning: Undocumented module `{mmodule}`")
                        end
+                       # Is the module a test suite?
+                       mmodule.is_test_suite = not decl.get_annotations("test_suite").is_empty
                end
 
                return mmodule
index b11a594..d88a0ba 100644 (file)
@@ -240,5 +240,8 @@ class MModule
        # exposed to the final user.
        var is_fictive: Bool = false is writable
 
+       # Is `self` a unit test module used by `nitunit`?
+       var is_test_suite: Bool = false is writable
+
        redef fun parent_concern do return mgroup
 end