doc/commands: remove ModelView dependency
authorAlexandre Terrasa <alexandre@moz-code.org>
Tue, 15 May 2018 01:48:03 +0000 (21:48 -0400)
committerAlexandre Terrasa <alexandre@moz-code.org>
Thu, 17 May 2018 21:16:29 +0000 (17:16 -0400)
Signed-off-by: Alexandre Terrasa <alexandre@moz-code.org>

21 files changed:
src/doc/commands/commands_base.nit
src/doc/commands/commands_catalog.nit
src/doc/commands/commands_docdown.nit
src/doc/commands/commands_graph.nit
src/doc/commands/commands_main.nit
src/doc/commands/commands_model.nit
src/doc/commands/commands_parser.nit
src/doc/commands/commands_usage.nit
src/doc/commands/tests/test_commands.nit
src/doc/commands/tests/test_commands_catalog.nit
src/doc/commands/tests/test_commands_graph.nit
src/doc/commands/tests/test_commands_html.nit
src/doc/commands/tests/test_commands_http.nit
src/doc/commands/tests/test_commands_ini.nit
src/doc/commands/tests/test_commands_json.nit
src/doc/commands/tests/test_commands_json.sav/test_cmd_mentities.res
src/doc/commands/tests/test_commands_main.nit
src/doc/commands/tests/test_commands_md.nit
src/doc/commands/tests/test_commands_model.nit
src/doc/commands/tests/test_commands_parser.nit
src/doc/commands/tests/test_commands_usage.nit

index 4a94208..b1af0e1 100644 (file)
@@ -28,7 +28,7 @@ import catalog
 
 # Documentation command
 #
-# An abstract command that works on a ModelView.
+# An abstract command that works on a Model.
 #
 # Since they are used by a wide variety of clients, initialization of DocCommands
 # works in two steps.
@@ -53,10 +53,11 @@ import catalog
 # See `init_command` for more details about the returned statuses.
 abstract class DocCommand
 
-       # ModelView
-       #
-       # Set of entities and filters used to retrieve data from the model.
-       var view: ModelView
+       # Model to retrieve data for
+       var model: Model
+
+       # ModelFilter to apply if any
+       var filter: nullable ModelFilter
 
        # Initialize the command
        #
@@ -140,11 +141,11 @@ class CmdEntity
                var mentity_name = self.mentity_name
                if mentity_name == null or mentity_name.is_empty then return new ErrorMEntityNoName
 
-               mentity = view.mentity_by_full_name(mentity_name)
+               mentity = model.mentity_by_full_name(mentity_name)
                if mentity == null then
-                       var mentities = view.mentities_by_name(mentity_name)
+                       var mentities = model.mentities_by_name(mentity_name)
                        if mentities.is_empty then
-                               var suggest = view.find(mentity_name, 3)
+                               var suggest = model.find(mentity_name, 3)
                                return new ErrorMEntityNotFound(mentity_name, suggest)
                        else if mentities.length > 1 then
                                return new ErrorMEntityConflict(mentity_name, mentities)
@@ -312,7 +313,7 @@ abstract class CmdEntityList
        super CmdEntity
        super CmdEntities
 
-       autoinit(view, mentity, mentity_name, limit, page, count, max)
+       autoinit(model, filter, mentity, mentity_name, limit, page, count, max)
 
        redef fun init_command do
                var res = init_mentity
index be823d0..0bfe6ab 100644 (file)
@@ -21,6 +21,8 @@ import commands_model
 abstract class CmdCatalog
        super DocCommand
 
+       autoinit(model, catalog, filter)
+
        # Catalog to query at
        var catalog: Catalog
 end
@@ -30,7 +32,7 @@ class CmdCatalogSearch
        super CmdCatalog
        super CmdSearch
 
-       autoinit(view, catalog, query, limit, page, count, max)
+       autoinit(model, catalog, filter, query, limit, page, count, max)
 
        redef fun init_results do
                if results != null then return new CmdSuccess
@@ -42,7 +44,7 @@ class CmdCatalogSearch
                if query == null then return new ErrorNoQuery
                sorter = null
 
-               var index = view.index
+               var index = model.index
 
                # lookup by name prefix
                var matches = index.find_by_name_prefix(query).uniq.
@@ -130,7 +132,7 @@ class CmdCatalogPackages
        super CmdCatalog
        super CmdEntities
 
-       autoinit(view, catalog, limit, page, count, max)
+       autoinit(model, catalog, filter, limit, page, count, max)
 
        redef var sorter = new CatalogScoreSorter(catalog) is lazy
 
@@ -187,7 +189,7 @@ end
 class CmdCatalogTag
        super CmdCatalogPackages
 
-       autoinit(view, catalog, tag, limit, page, count, max)
+       autoinit(model, catalog, filter, tag, limit, page, count, max)
 
        # The tag to retrieve
        var tag: nullable String = null is optional, writable
@@ -285,7 +287,7 @@ class CmdCatalogMaintaining
        super CmdCatalogPerson
        super CmdCatalogPackages
 
-       autoinit(view, catalog, person, person_name, limit, page, count, max)
+       autoinit(model, catalog, filter, person, person_name, limit, page, count, max)
 
        redef fun init_command do return super
 
@@ -306,7 +308,7 @@ class CmdCatalogContributing
        super CmdCatalogPerson
        super CmdCatalogPackages
 
-       autoinit(view, catalog, person, person_name, limit, page, count, max)
+       autoinit(model, catalog, filter, person, person_name, limit, page, count, max)
 
        # Include maintained packages?
        #
index 280985f..fe7345e 100644 (file)
@@ -68,15 +68,18 @@ class CmdDecorator
 
        redef type PROCESSOR: CmdMarkdownProcessor
 
-       # View used by wikilink commands to find model entities
-       var view: ModelView
+       # Model used by wikilink commands to find entities
+       var model: Model
+
+       # Filter to apply if any
+       var filter: nullable ModelFilter
 
        redef fun add_span_code(v, buffer, from, to) do
                var text = new FlatBuffer
                buffer.read(text, from, to)
                var name = text.write_to_string
                name = name.replace("nullable ", "")
-               var mentity = try_find_mentity(view, name)
+               var mentity = try_find_mentity(name)
                if mentity == null then
                        super
                else
@@ -86,11 +89,11 @@ class CmdDecorator
                end
        end
 
-       private fun try_find_mentity(view: ModelView, text: String): nullable MEntity do
-               var mentity = view.mentity_by_full_name(text)
+       private fun try_find_mentity(text: String): nullable MEntity do
+               var mentity = model.mentity_by_full_name(text, filter)
                if mentity != null then return mentity
 
-               var mentities = view.mentities_by_name(text)
+               var mentities = model.mentities_by_name(text, filter)
                if mentities.is_empty then
                        return null
                else if mentities.length > 1 then
@@ -100,7 +103,7 @@ class CmdDecorator
        end
 
        redef fun add_wikilink(v, token) do
-               v.render_wikilink(token, view)
+               v.render_wikilink(token, model)
        end
 end
 
@@ -110,11 +113,11 @@ class CmdInlineDecorator
 
        redef type PROCESSOR: CmdMarkdownProcessor
 
-       # View used by wikilink commands to find model entities
-       var view: ModelView
+       # Model used by wikilink commands to find entities
+       var model: Model
 
        redef fun add_wikilink(v, token) do
-               v.render_wikilink(token, view)
+               v.render_wikilink(token, model)
        end
 end
 
@@ -126,7 +129,7 @@ class CmdMarkdownProcessor
        var parser: CommandParser
 
        # Render a wikilink
-       fun render_wikilink(token: TokenWikiLink, model: ModelView) do
+       fun render_wikilink(token: TokenWikiLink, model: Model) do
                var link = token.link
                if link == null then return
                var name = token.name
index 7cb0f97..bffd6a1 100644 (file)
@@ -26,6 +26,9 @@ import dot
 abstract class CmdGraph
        super DocCommand
 
+       # Mainmodule for linearization
+       var mainmodule: MModule
+
        # Rendering format
        #
        # Default is `dot`.
@@ -91,7 +94,7 @@ class CmdUML
        super CmdEntity
        super CmdGraph
 
-       autoinit(view, mentity, mentity_name, format, uml)
+       autoinit(model, mainmodule, filter, mentity, mentity_name, format, uml)
 
        # UML model to return
        var uml: nullable UMLModel = null is optional, writable
@@ -104,10 +107,8 @@ class CmdUML
                var mentity = self.mentity.as(not null)
 
                if mentity isa MClassDef then mentity = mentity.mclass
-               if mentity isa MClass then
-                       uml = new UMLModel(view, view.mainmodule)
-               else if mentity isa MModule then
-                       uml = new UMLModel(view, view.mainmodule)
+               if mentity isa MClass or mentity isa MModule then
+                       uml = new UMLModel(model, mainmodule, filter)
                else
                        return new WarningNoUML(mentity)
                end
@@ -141,7 +142,7 @@ class CmdInheritanceGraph
        super CmdEntity
        super CmdGraph
 
-       autoinit(view, mentity, mentity_name, pdepth, cdepth, format, graph)
+       autoinit(model, mainmodule, filter, mentity, mentity_name, pdepth, cdepth, format, graph)
 
        # Parents depth to display
        var pdepth: nullable Int = null is optional, writable
@@ -159,7 +160,7 @@ class CmdInheritanceGraph
                if not res isa CmdSuccess then return res
                var mentity = self.mentity.as(not null)
 
-               graph = new InheritanceGraph(mentity, view)
+               graph = new InheritanceGraph(mentity, model, mainmodule, filter)
                return res
        end
 
@@ -179,8 +180,14 @@ class InheritanceGraph
        # MEntity at the center of this graph
        var center: MEntity
 
-       # ModelView used to filter graph
-       var view: ModelView
+       # Model used to build graph from
+       var model: Model
+
+       # Mainmodule for class linearization
+       var mainmodule: MModule
+
+       # Filter to apply on model if any
+       var filter: nullable ModelFilter
 
        # Graph generated
        var graph: DotGraph is lazy do
@@ -224,7 +231,7 @@ class InheritanceGraph
                        from_dotdotdot(mentity)
                        return
                end
-               var parents = mentity.collect_parents(view)
+               var parents = mentity.collect_parents(mainmodule, filter)
                if parents.length > 10 then
                        from_dotdotdot(mentity)
                        return
@@ -260,7 +267,7 @@ class InheritanceGraph
                        to_dotdotdot(mentity)
                        return
                end
-               var children = mentity.collect_children(view)
+               var children = mentity.collect_children(mainmodule, filter)
                if children.length > 10 then
                        to_dotdotdot(mentity)
                        return
index 851b79e..9533722 100644 (file)
@@ -29,11 +29,11 @@ class CmdMains
                var mentities = new Array[MEntity]
 
                if mentity isa MPackage then
-                       for mmodule in mentity.collect_all_mmodules(view) do
+                       for mmodule in mentity.collect_all_mmodules(filter) do
                                if mmodule_has_main(mmodule) then mentities.add mmodule
                        end
                else if mentity isa MGroup then
-                       for mmodule in mentity.collect_all_mmodules(view) do
+                       for mmodule in mentity.collect_all_mmodules(filter) do
                                if mmodule_has_main(mmodule) then mentities.add mmodule
                        end
                else if mentity isa MModule then
@@ -50,9 +50,9 @@ class CmdMains
 
        # Does `mmodule` has a `main` method?
        private fun mmodule_has_main(mmodule: MModule): Bool do
-               for mclassdef in mmodule.collect_redef_mclassdefs(view) do
+               for mclassdef in mmodule.collect_redef_mclassdefs(filter) do
                        if mclassdef.name != "Sys" then continue
-                       for mpropdef in mclassdef.collect_redef_mpropdefs(view) do
+                       for mpropdef in mclassdef.collect_redef_mpropdefs(filter) do
                                if mpropdef.name == "main" then return true
                        end
                end
@@ -156,12 +156,12 @@ class CmdTesting
                var mentities = new Array[MEntity]
                if not mentity isa MPackage then return new WarningNoTest(mentity)
 
-               for mgroup in mentity.collect_all_mgroups(view) do
+               for mgroup in mentity.collect_all_mgroups(filter) do
                        if mgroup.is_test then
                                mentities.add mgroup
                                continue
                        end
-                       for mmodule in mgroup.collect_mmodules(view) do
+                       for mmodule in mgroup.collect_mmodules(filter) do
                                if mmodule.is_test then mentities.add mmodule
                        end
                end
index a119d45..71f23ed 100644 (file)
@@ -121,11 +121,23 @@ class CmdEntityLink
        end
 end
 
+# An abstract inheritance command
+#
+# For things like ancestors, parents, children and descendants.
+abstract class CmdInheritance
+       super CmdEntityList
+
+       autoinit(model, mainmodule, filter, mentity, mentity_name, limit, page, count, max)
+
+       # Mainmodule for class linearization
+       var mainmodule: MModule
+end
+
 # MEntity ancestors command
 #
 # Retrieve all the ancestors (direct and indirect) of a MEntity.
 class CmdAncestors
-       super CmdEntityList
+       super CmdInheritance
 
        # Include direct parents in the ancestors list
        #
@@ -139,13 +151,13 @@ class CmdAncestors
                if not res isa CmdSuccess then return res
                var mentity = self.mentity.as(not null)
 
-               var ancestors = mentity.collect_ancestors(view).to_a
+               var ancestors = mentity.collect_ancestors(mainmodule, filter).to_a
                if parents then
                        results = ancestors
                        return res
                end
 
-               var parents = mentity.collect_parents(view)
+               var parents = mentity.collect_parents(mainmodule, filter)
                var mentities = new HashSet[MEntity]
                for ancestor in ancestors do
                        if not parents.has(ancestor) then mentities.add ancestor
@@ -157,7 +169,7 @@ end
 
 # MEntity parents command
 class CmdParents
-       super CmdEntityList
+       super CmdInheritance
 
        redef fun init_results do
                if results != null then return new CmdSuccess
@@ -166,14 +178,14 @@ class CmdParents
                if not res isa CmdSuccess then return res
                var mentity = self.mentity.as(not null)
 
-               results = mentity.collect_parents(view).to_a
+               results = mentity.collect_parents(mainmodule, filter).to_a
                return res
        end
 end
 
 # MEntity children command
 class CmdChildren
-       super CmdEntityList
+       super CmdInheritance
 
        redef fun init_results do
                if results != null then return new CmdSuccess
@@ -182,14 +194,14 @@ class CmdChildren
                if not res isa CmdSuccess then return res
                var mentity = self.mentity.as(not null)
 
-               results = mentity.collect_children(view).to_a
+               results = mentity.collect_children(mainmodule, filter).to_a
                return res
        end
 end
 
 # MEntity descendants command
 class CmdDescendants
-       super CmdEntityList
+       super CmdInheritance
 
        # Include direct children in the descendants list
        #
@@ -203,13 +215,13 @@ class CmdDescendants
                if not res isa CmdSuccess then return res
                var mentity = self.mentity.as(not null)
 
-               var descendants = mentity.collect_descendants(view).to_a
+               var descendants = mentity.collect_descendants(mainmodule, filter).to_a
                if children then
                        results = descendants
                        return res
                end
 
-               var children = mentity.collect_children(view)
+               var children = mentity.collect_children(mainmodule, filter)
                var mentities = new HashSet[MEntity]
                for descendant in descendants do
                        if not children.has(descendant) then mentities.add descendant
@@ -223,7 +235,7 @@ end
 #
 # Collects and linearizes definitions about an MEntity.
 class CmdLinearization
-       super CmdEntityList
+       super CmdInheritance
 
        # Same states than `CmdEntity::init_mentity`
        #
@@ -237,7 +249,7 @@ class CmdLinearization
                var mentity = self.mentity.as(not null)
 
                sorter = null
-               results = mentity.collect_linearization(view.mainmodule)
+               results = mentity.collect_linearization(mainmodule)
                if results == null then return new WarningNoLinearization(mentity)
                return res
        end
@@ -272,7 +284,7 @@ class CmdSearch
                var query = self.query
                if query == null then return new ErrorNoQuery
                sorter = null
-               results = view.find(query)
+               results = model.find(query)
                return res
        end
 end
@@ -302,21 +314,21 @@ class CmdFeatures
 
                var mentities = new Array[MEntity]
                if mentity isa MPackage then
-                       mentities.add_all mentity.collect_mgroups(view)
-                       mentities.add_all mentity.collect_mmodules(view)
+                       mentities.add_all mentity.collect_mgroups(filter)
+                       mentities.add_all mentity.collect_mmodules(filter)
                else if mentity isa MGroup then
-                       mentities.add_all mentity.collect_mgroups(view)
-                       mentities.add_all mentity.collect_mmodules(view)
+                       mentities.add_all mentity.collect_mgroups(filter)
+                       mentities.add_all mentity.collect_mmodules(filter)
                else if mentity isa MModule then
-                       mentities.add_all mentity.collect_local_mclassdefs(view)
+                       mentities.add_all mentity.collect_local_mclassdefs(filter)
                else if mentity isa MClass then
-                       mentities.add_all mentity.collect_intro_mproperties(view)
-                       mentities.add_all mentity.collect_redef_mpropdefs(view)
+                       mentities.add_all mentity.collect_intro_mproperties(filter)
+                       mentities.add_all mentity.collect_redef_mpropdefs(filter)
                else if mentity isa MClassDef then
-                       mentities.add_all mentity.collect_intro_mpropdefs(view)
-                       mentities.add_all mentity.collect_redef_mpropdefs(view)
+                       mentities.add_all mentity.collect_intro_mpropdefs(filter)
+                       mentities.add_all mentity.collect_redef_mpropdefs(filter)
                else if mentity isa MProperty then
-                       mentities.add_all mentity.collect_mpropdefs(view)
+                       mentities.add_all mentity.collect_mpropdefs(filter)
                else
                        return new WarningNoFeatures(mentity)
                end
@@ -327,7 +339,7 @@ end
 
 # TODO remove once the filters/sorters are merged
 class CmdIntros
-       super CmdEntityList
+       super CmdInheritance
 
        redef fun init_results do
                if results != null then return new CmdSuccess
@@ -337,14 +349,14 @@ class CmdIntros
                var mentity = self.mentity.as(not null)
 
                if mentity isa MModule then
-                       var mentities = mentity.collect_intro_mclasses(view).to_a
+                       var mentities = mentity.collect_intro_mclasses(filter).to_a
                        self.results = mentities
                else if mentity isa MClass then
-                       var mentities = mentity.collect_intro_mproperties(view).to_a
+                       var mentities = mentity.collect_intro_mproperties(filter).to_a
                        self.results = mentities
                else if mentity isa MClassDef then
-                       var mentities = mentity.collect_intro_mpropdefs(view).to_a
-                       view.mainmodule.linearize_mpropdefs(mentities)
+                       var mentities = mentity.collect_intro_mpropdefs(filter).to_a
+                       mainmodule.linearize_mpropdefs(mentities)
                        self.results = mentities
                else
                        return new WarningNoFeatures(mentity)
@@ -355,7 +367,7 @@ end
 
 # TODO remove once the filters/sorters are merged
 class CmdRedefs
-       super CmdEntityList
+       super CmdInheritance
 
        redef fun init_command do
                if results != null then return new CmdSuccess
@@ -365,14 +377,14 @@ class CmdRedefs
                var mentity = self.mentity.as(not null)
 
                if mentity isa MModule then
-                       var mentities = mentity.collect_redef_mclasses(view).to_a
+                       var mentities = mentity.collect_redef_mclasses(filter).to_a
                        self.results = mentities
                else if mentity isa MClass then
-                       var mentities = mentity.collect_redef_mproperties(view).to_a
+                       var mentities = mentity.collect_redef_mproperties(filter).to_a
                        self.results = mentities
                else if mentity isa MClassDef then
-                       var mentities = mentity.collect_redef_mpropdefs(view).to_a
-                       view.mainmodule.linearize_mpropdefs(mentities)
+                       var mentities = mentity.collect_redef_mpropdefs(filter).to_a
+                       mainmodule.linearize_mpropdefs(mentities)
                        self.results = mentities
                else
                        return new WarningNoFeatures(mentity)
@@ -383,7 +395,7 @@ end
 
 # TODO remove once the filters/sorters are merged
 class CmdAllProps
-       super CmdEntityList
+       super CmdInheritance
 
        redef fun init_results do
                if results != null then return new CmdSuccess
@@ -393,7 +405,7 @@ class CmdAllProps
                var mentity = self.mentity.as(not null)
 
                if mentity isa MClass then
-                       results = mentity.collect_accessible_mproperties(view).to_a
+                       results = mentity.collect_accessible_mproperties(mainmodule, filter).to_a
                else
                        return new WarningNoFeatures(mentity)
                end
@@ -415,7 +427,7 @@ end
 abstract class CmdCode
        super DocCommand
 
-       autoinit(view, modelbuilder, format)
+       autoinit(model, modelbuilder, filter, format)
 
        # ModelBuilder used to get AST nodes
        var modelbuilder: ModelBuilder
@@ -452,7 +464,7 @@ class CmdEntityCode
        super CmdEntity
        super CmdCode
 
-       autoinit(view, modelbuilder, mentity, mentity_name, format)
+       autoinit(model, modelbuilder, filter, mentity, mentity_name, format)
 
        # AST node to return
        var node: nullable ANode = null is optional, writable
@@ -510,21 +522,21 @@ class CmdModelEntities
 
                var mentities = new Array[MEntity]
                if kind == "packages" then
-                       mentities = view.mpackages.to_a
+                       mentities = model.collect_mpackages(filter).to_a
                else if kind == "groups" then
-                       mentities = view.mgroups.to_a
+                       mentities = model.collect_mgroups(filter).to_a
                else if kind == "modules" then
-                       mentities = view.mmodules.to_a
+                       mentities = model.collect_mmodules(filter).to_a
                else if kind == "classes" then
-                       mentities = view.mclasses.to_a
+                       mentities = model.collect_mclasses(filter).to_a
                else if kind == "classdefs" then
-                       mentities = view.mclassdefs.to_a
+                       mentities = model.collect_mclassdefs(filter).to_a
                else if kind == "properties" then
-                       mentities = view.mproperties.to_a
+                       mentities = model.collect_mproperties(filter).to_a
                else if kind == "propdefs" then
-                       mentities = view.mpropdefs.to_a
+                       mentities = model.collect_mpropdefs(filter).to_a
                else
-                       mentities = view.mentities.to_a
+                       mentities = model.collect_mentities(filter).to_a
                end
                results = mentities
                return res
index 77fdd25..920b2fa 100644 (file)
@@ -27,8 +27,11 @@ import commands::commands_main
 # Parse string commands to create DocQueries
 class CommandParser
 
-       # ModelView used to retrieve mentities
-       var view: ModelView
+       # Model used to retrieve mentities
+       var model: Model
+
+       # Main module for linearization
+       var mainmodule: MModule
 
        # ModelBuilder used to retrieve AST nodes
        var modelbuilder: ModelBuilder
@@ -36,6 +39,9 @@ class CommandParser
        # Catalog used for catalog commands
        var catalog: nullable Catalog
 
+       # Filter to apply on model if any
+       var filter: nullable ModelFilter
+
        # List of allowed command names for this parser
        var allowed_commands: Array[String] = [
        "link", "doc", "code", "lin", "uml", "graph", "search",
@@ -157,7 +163,7 @@ class CommandParser
                # Build the command
                var command
                if is_short_link then
-                       command = new CmdEntityLink(view)
+                       command = new CmdEntityLink(model, filter)
                else
                        command = new_command(name)
                end
@@ -178,56 +184,56 @@ class CommandParser
        # You must redefine this method to add new custom commands.
        fun new_command(name: String): nullable DocCommand do
                # CmdEntity
-               if name == "link" then return new CmdEntityLink(view)
-               if name == "doc" then return new CmdComment(view)
-               if name == "code" then return new CmdEntityCode(view, modelbuilder)
-               if name == "lin" then return new CmdLinearization(view)
-               if name == "defs" then return new CmdFeatures(view)
-               if name == "parents" then return new CmdParents(view)
-               if name == "ancestors" then return new CmdAncestors(view)
-               if name == "children" then return new CmdChildren(view)
-               if name == "descendants" then return new CmdDescendants(view)
-               if name == "param" then return new CmdParam(view)
-               if name == "return" then return new CmdReturn(view)
-               if name == "new" then return new CmdNew(view, modelbuilder)
-               if name == "call" then return new CmdCall(view, modelbuilder)
+               if name == "link" then return new CmdEntityLink(model, filter)
+               if name == "doc" then return new CmdComment(model, filter)
+               if name == "code" then return new CmdEntityCode(model, modelbuilder, filter)
+               if name == "lin" then return new CmdLinearization(model, mainmodule, filter)
+               if name == "defs" then return new CmdFeatures(model, filter)
+               if name == "parents" then return new CmdParents(model, mainmodule, filter)
+               if name == "ancestors" then return new CmdAncestors(model, mainmodule, filter)
+               if name == "children" then return new CmdChildren(model, mainmodule, filter)
+               if name == "descendants" then return new CmdDescendants(model, mainmodule, filter)
+               if name == "param" then return new CmdParam(model, filter)
+               if name == "return" then return new CmdReturn(model, filter)
+               if name == "new" then return new CmdNew(model, modelbuilder, filter)
+               if name == "call" then return new CmdCall(model, modelbuilder, filter)
                # CmdGraph
-               if name == "uml" then return new CmdUML(view)
-               if name == "graph" then return new CmdInheritanceGraph(view)
+               if name == "uml" then return new CmdUML(model, mainmodule, filter)
+               if name == "graph" then return new CmdInheritanceGraph(model, mainmodule, filter)
                # CmdModel
-               if name == "list" then return new CmdModelEntities(view)
-               if name == "random" then return new CmdRandomEntities(view)
+               if name == "list" then return new CmdModelEntities(model, filter)
+               if name == "random" then return new CmdRandomEntities(model, filter)
                # Ini
-               if name == "ini-desc" then return new CmdIniDescription(view)
-               if name == "ini-git" then return new CmdIniGitUrl(view)
-               if name == "ini-issues" then return new CmdIniIssuesUrl(view)
-               if name == "ini-license" then return new CmdIniLicense(view)
-               if name == "ini-maintainer" then return new CmdIniMaintainer(view)
-               if name == "ini-contributors" then return new CmdIniContributors(view)
-               if name == "license-file" then return new CmdLicenseFile(view)
-               if name == "license-content" then return new CmdLicenseFileContent(view)
-               if name == "contrib-file" then return new CmdContribFile(view)
-               if name == "contrib-content" then return new CmdContribFileContent(view)
-               if name == "git-clone" then return new CmdIniCloneCommand(view)
+               if name == "ini-desc" then return new CmdIniDescription(model, filter)
+               if name == "ini-git" then return new CmdIniGitUrl(model, filter)
+               if name == "ini-issues" then return new CmdIniIssuesUrl(model, filter)
+               if name == "ini-license" then return new CmdIniLicense(model, filter)
+               if name == "ini-maintainer" then return new CmdIniMaintainer(model, filter)
+               if name == "ini-contributors" then return new CmdIniContributors(model, filter)
+               if name == "license-file" then return new CmdLicenseFile(model, filter)
+               if name == "license-content" then return new CmdLicenseFileContent(model, filter)
+               if name == "contrib-file" then return new CmdContribFile(model, filter)
+               if name == "contrib-content" then return new CmdContribFileContent(model, filter)
+               if name == "git-clone" then return new CmdIniCloneCommand(model, filter)
                # CmdMain
-               if name == "mains" then return new CmdMains(view)
-               if name == "main-compile" then return new CmdMainCompile(view)
-               if name == "main-run" then return new CmdManSynopsis(view)
-               if name == "main-opts" then return new CmdManOptions(view)
-               if name == "testing" then return new CmdTesting(view)
+               if name == "mains" then return new CmdMains(model, filter)
+               if name == "main-compile" then return new CmdMainCompile(model, filter)
+               if name == "main-run" then return new CmdManSynopsis(model, filter)
+               if name == "main-opts" then return new CmdManOptions(model, filter)
+               if name == "testing" then return new CmdTesting(model, filter)
                # CmdCatalog
                var catalog = self.catalog
                if catalog != null then
-                       if name == "catalog" then return new CmdCatalogPackages(view, catalog)
-                       if name == "stats" then return new CmdCatalogStats(view, catalog)
-                       if name == "tags" then return new CmdCatalogTags(view, catalog)
-                       if name == "tag" then return new CmdCatalogTag(view, catalog)
-                       if name == "person" then return new CmdCatalogPerson(view, catalog)
-                       if name == "contrib" then return new CmdCatalogContributing(view, catalog)
-                       if name == "maintain" then return new CmdCatalogMaintaining(view, catalog)
-                       if name == "search" then return new CmdCatalogSearch(view, catalog)
+                       if name == "catalog" then return new CmdCatalogPackages(model, catalog, filter)
+                       if name == "stats" then return new CmdCatalogStats(model, catalog, filter)
+                       if name == "tags" then return new CmdCatalogTags(model, catalog, filter)
+                       if name == "tag" then return new CmdCatalogTag(model, catalog, filter)
+                       if name == "person" then return new CmdCatalogPerson(model, catalog, filter)
+                       if name == "contrib" then return new CmdCatalogContributing(model, catalog, filter)
+                       if name == "maintain" then return new CmdCatalogMaintaining(model, catalog, filter)
+                       if name == "search" then return new CmdCatalogSearch(model, catalog, filter)
                else
-                       if name == "search" then return new CmdSearch(view)
+                       if name == "search" then return new CmdSearch(model, filter)
                end
                return null
        end
index 3b4efab..82e26ee 100644 (file)
@@ -35,7 +35,7 @@ class CmdParam
                if not mentity isa MClass then return new ErrorNotClass(mentity)
 
                var mentities = new HashSet[MEntity]
-               for mproperty in view.mproperties do
+               for mproperty in model.collect_mproperties(filter) do
                        if not mproperty isa MMethod then continue
                        var msignature = mproperty.intro.msignature
                        if msignature != null then
@@ -70,7 +70,7 @@ class CmdReturn
                if not mentity isa MClass then return new ErrorNotClass(mentity)
 
                var mentities = new HashSet[MEntity]
-               for mproperty in view.mproperties do
+               for mproperty in model.collect_mproperties(filter) do
                        if not mproperty isa MMethod then continue
                        var msignature = mproperty.intro.msignature
                        if msignature != null then
@@ -93,7 +93,7 @@ end
 class CmdNew
        super CmdEntityList
 
-       autoinit(view, modelbuilder, mentity, mentity_name, limit, page, count, max)
+       autoinit(model, modelbuilder, filter, mentity, mentity_name, limit, page, count, max)
 
        # ModelBuilder used to retrieve AST nodes
        var modelbuilder: ModelBuilder
@@ -109,7 +109,7 @@ class CmdNew
                if not mentity isa MClass then return new ErrorNotClass(mentity)
 
                var mentities = new HashSet[MEntity]
-               for mpropdef in view.mpropdefs do
+               for mpropdef in model.collect_mpropdefs(filter) do
                        var visitor = new TypeInitVisitor(mentity)
                        var npropdef = modelbuilder.mpropdef2node(mpropdef)
                        if npropdef == null then continue
@@ -129,7 +129,7 @@ end
 class CmdCall
        super CmdEntityList
 
-       autoinit(view, modelbuilder, mentity, mentity_name, limit, page, count, max)
+       autoinit(model, modelbuilder, filter, mentity, mentity_name, limit, page, count, max)
 
        # ModelBuilder used to retrieve AST nodes
        var modelbuilder: ModelBuilder
@@ -145,7 +145,7 @@ class CmdCall
                if not mentity isa MProperty then return new ErrorNotProperty(mentity)
 
                var mentities = new HashSet[MEntity]
-               for mpropdef in view.mpropdefs do
+               for mpropdef in model.collect_mpropdefs(filter) do
                        if mpropdef.mproperty == mentity then continue
                        var visitor = new MPropertyCallVisitor
                        var npropdef = modelbuilder.mpropdef2node(mpropdef)
index c5d03a3..b5828f1 100644 (file)
@@ -31,12 +31,21 @@ class TestCommands
        # Default is `$NIT_DIR/tests/test_prog`.
        var test_src: String = test_path / "../../../../tests/test_prog" is lazy
 
-       # ModelView used for tests
-       var test_view: ModelView is noinit
+       # Model used for tests
+       var test_model: Model is noinit
 
        # ModelBuilder used for tests
        var test_builder: ModelBuilder is noinit
 
+       # Mainmodule used for tests
+       var test_main: MModule is noinit
+
+       # Filters used for tests
+       var test_filter = new ModelFilter(
+               private_visibility,
+               accept_fictive = false,
+               accept_test = false)
+
        # Initialize test variables
        #
        # Must be called before test execution.
@@ -54,13 +63,8 @@ class TestCommands
                toolcontext.run_global_phases(mmodules)
                var mainmodule = toolcontext.make_main_module(mmodules)
 
-               # Build index
-               var filters = new ModelFilter(
-                       private_visibility,
-                       accept_fictive = false,
-                       accept_test = true)
-
+               test_main = mainmodule
+               test_model = model
                test_builder = modelbuilder
-               test_view = new ModelView(model, mainmodule, filters)
        end
 end
index 07e82d8..5b4d4cd 100644 (file)
@@ -26,7 +26,7 @@ class TestCommandsCatalog
                var catalog = new Catalog(test_builder)
 
                # Compute the poset
-               for p in test_view.mpackages do
+               for p in test_model.mpackages do
                        var g = p.root
                        assert g != null
                        test_builder.scan_group(g)
@@ -41,7 +41,7 @@ class TestCommandsCatalog
                        end
                end
                # Build the catalog
-               for mpackage in test_view.mpackages do
+               for mpackage in test_model.mpackages do
                        catalog.package_page(mpackage)
                        catalog.git_info(mpackage)
                        catalog.mpackage_stats(mpackage)
@@ -50,14 +50,14 @@ class TestCommandsCatalog
        end
 
        fun test_cmd_catalog is test do
-               var cmd = new CmdCatalogPackages(test_view, test_catalog)
+               var cmd = new CmdCatalogPackages(test_model, test_catalog, test_filter)
                var res = cmd.init_command
                assert res isa CmdSuccess
                assert cmd.results.as(not null).first.full_name == "test_prog"
        end
 
        fun test_cmd_catalog_search is test do
-               var cmd = new CmdCatalogSearch(test_view, test_catalog, "testprog")
+               var cmd = new CmdCatalogSearch(test_model, test_catalog, test_filter, "testprog")
                var res = cmd.init_command
                assert res isa CmdSuccess
                assert cmd.results.as(not null).first.full_name == "test_prog"
@@ -65,21 +65,21 @@ class TestCommandsCatalog
        end
 
        fun test_cmd_catalog_stats is test do
-               var cmd = new CmdCatalogStats(test_view, test_catalog)
+               var cmd = new CmdCatalogStats(test_model, test_catalog, test_filter)
                var res = cmd.init_command
                assert res isa CmdSuccess
                assert cmd.stats != null
        end
 
        fun test_cmd_catalog_tags is test do
-               var cmd = new CmdCatalogTags(test_view, test_catalog)
+               var cmd = new CmdCatalogTags(test_model, test_catalog, test_filter)
                var res = cmd.init_command
                assert res isa CmdSuccess
                assert cmd.packages_count_by_tags.as(not null).length == 2
        end
 
        fun test_cmd_catalog_tag is test do
-               var cmd = new CmdCatalogTag(test_view, test_catalog, "test")
+               var cmd = new CmdCatalogTag(test_model, test_catalog, test_filter, "test")
                var res = cmd.init_command
                assert res isa CmdSuccess
                assert cmd.tag == "test"
@@ -87,14 +87,15 @@ class TestCommandsCatalog
        end
 
        fun test_cmd_catalog_person is test do
-               var cmd = new CmdCatalogPerson(test_view, test_catalog, person_name = "Alexandre Terrasa")
+               var cmd = new CmdCatalogPerson(test_model, test_catalog, test_filter,
+                       person_name = "Alexandre Terrasa")
                var res = cmd.init_command
                assert res isa CmdSuccess
                assert cmd.person.as(not null).name == "Alexandre Terrasa"
        end
 
        fun test_cmd_catalog_contributing is test do
-               var cmd = new CmdCatalogContributing(test_view, test_catalog,
+               var cmd = new CmdCatalogContributing(test_model, test_catalog, test_filter,
                        person_name = "Alexandre Terrasa")
                var res = cmd.init_command
                assert res isa CmdSuccess
@@ -103,7 +104,7 @@ class TestCommandsCatalog
        end
 
        fun test_cmd_catalog_maintaining is test do
-               var cmd = new CmdCatalogMaintaining(test_view, test_catalog,
+               var cmd = new CmdCatalogMaintaining(test_model, test_catalog, test_filter,
                        person_name = "Alexandre Terrasa")
                var res = cmd.init_command
                assert res isa CmdSuccess
index 04f5966..f8e8b18 100644 (file)
@@ -22,28 +22,28 @@ class TestCommandsGraph
        test
 
        fun test_cmd_uml is test do
-               var cmd = new CmdUML(test_view, mentity_name = "test_prog::Character")
+               var cmd = new CmdUML(test_model, test_main, test_filter, mentity_name = "test_prog::Character")
                var res = cmd.init_command
                assert res isa CmdSuccess
                assert cmd.uml != null
        end
 
        fun test_cmd_uml_bad_format is test do
-               var cmd = new CmdUML(test_view, mentity_name = "test_prog::Character", format = "foo")
+               var cmd = new CmdUML(test_model, test_main, test_filter, mentity_name = "test_prog::Character", format = "foo")
                var res = cmd.init_command
                assert res isa ErrorBadGraphFormat
                assert cmd.uml == null
        end
 
        fun test_cmd_uml_not_found is test do
-               var cmd = new CmdUML(test_view, mentity_name = "strength_bonus")
+               var cmd = new CmdUML(test_model, test_main, test_filter, mentity_name = "strength_bonus")
                var res = cmd.init_command
                assert res isa WarningNoUML
                assert cmd.uml == null
        end
 
        fun test_cmd_inh_graph is test do
-               var cmd = new CmdInheritanceGraph(test_view, mentity_name = "test_prog::Character")
+               var cmd = new CmdInheritanceGraph(test_model, test_main, test_filter, mentity_name = "test_prog::Character")
                var res = cmd.init_command
                assert res isa CmdSuccess
                assert cmd.graph != null
index 4b2373b..bd28d91 100644 (file)
@@ -30,19 +30,19 @@ class TestCommandsHtml
        # CmdEntity
 
        fun test_cmd_entity is test do
-               var cmd = new CmdEntity(test_view, mentity_name = "test_prog::Character")
+               var cmd = new CmdEntity(test_model, mentity_name = "test_prog::Character")
                cmd.init_command
                print_html cmd.to_html
        end
 
        fun test_cmd_comment is test do
-               var cmd = new CmdComment(test_view, mentity_name = "test_prog::Character")
+               var cmd = new CmdComment(test_model, mentity_name = "test_prog::Character")
                cmd.init_command
                print_html cmd.to_html
        end
 
        fun test_cmd_link is test do
-               var cmd = new CmdEntityLink(test_view, mentity_name = "test_prog::Character")
+               var cmd = new CmdEntityLink(test_model, mentity_name = "test_prog::Character")
                cmd.init_command
                print_html cmd.to_html
        end
@@ -50,25 +50,25 @@ class TestCommandsHtml
        # CmdInheritance
 
        fun test_cmd_parents is test do
-               var cmd = new CmdParents(test_view, mentity_name = "test_prog::Warrior")
+               var cmd = new CmdParents(test_model, test_main, mentity_name = "test_prog::Warrior")
                cmd.init_command
                print_html cmd.to_html
        end
 
        fun test_cmd_ancestors is test do
-               var cmd = new CmdAncestors(test_view, mentity_name = "test_prog::Warrior", parents = false)
+               var cmd = new CmdAncestors(test_model, test_main, mentity_name = "test_prog::Warrior", parents = false)
                cmd.init_command
                print_html cmd.to_html
        end
 
        fun test_cmd_children is test do
-               var cmd = new CmdChildren(test_view, mentity_name = "test_prog::Career")
+               var cmd = new CmdChildren(test_model, test_main, mentity_name = "test_prog::Career")
                cmd.init_command
                print_html cmd.to_html
        end
 
        fun test_cmd_descendants is test do
-               var cmd = new CmdDescendants(test_view, mentity_name = "test_prog::Career")
+               var cmd = new CmdDescendants(test_model, test_main, mentity_name = "test_prog::Career")
                cmd.init_command
                print_html cmd.to_html
        end
@@ -76,7 +76,7 @@ class TestCommandsHtml
        # CmdSearch
 
        fun test_cmd_search is test do
-               var cmd = new CmdSearch(test_view, query = "Carer", limit = 10)
+               var cmd = new CmdSearch(test_model, query = "Carer", limit = 10)
                cmd.init_command
                print_html cmd.to_html
        end
@@ -84,7 +84,7 @@ class TestCommandsHtml
        # CmdFeatures
 
        fun test_cmd_features is test do
-               var cmd = new CmdFeatures(test_view, mentity_name = "test_prog::Career")
+               var cmd = new CmdFeatures(test_model, mentity_name = "test_prog::Career")
                cmd.init_command
                print_html cmd.to_html
        end
@@ -92,7 +92,7 @@ class TestCommandsHtml
        # CmdLinearization
 
        fun test_cmd_lin is test do
-               var cmd = new CmdLinearization(test_view, mentity_name = "init")
+               var cmd = new CmdLinearization(test_model, test_main, mentity_name = "init")
                cmd.init_command
                print_html cmd.to_html
        end
@@ -100,7 +100,7 @@ class TestCommandsHtml
        # CmdModel
 
        fun test_cmd_mentities is test do
-               var cmd = new CmdModelEntities(test_view, kind = "modules")
+               var cmd = new CmdModelEntities(test_model, kind = "modules")
                cmd.init_command
                print_html cmd.to_html
        end
@@ -108,25 +108,25 @@ class TestCommandsHtml
        # CmdUsage
 
        fun test_cmd_new is test do
-               var cmd = new CmdNew(test_view, test_builder, mentity_name = "test_prog::Character")
+               var cmd = new CmdNew(test_model, test_builder, mentity_name = "test_prog::Character")
                cmd.init_command
                print_html cmd.to_html
        end
 
        fun test_cmd_call is test do
-               var cmd = new CmdCall(test_view, test_builder, mentity_name = "strength_bonus")
+               var cmd = new CmdCall(test_model, test_builder, mentity_name = "strength_bonus")
                cmd.init_command
                print_html cmd.to_html
        end
 
        fun test_cmd_return is test do
-               var cmd = new CmdReturn(test_view, mentity_name = "test_prog::Character")
+               var cmd = new CmdReturn(test_model, mentity_name = "test_prog::Character")
                cmd.init_command
                print_html cmd.to_html
        end
 
        fun test_cmd_param is test do
-               var cmd = new CmdParam(test_view, mentity_name = "test_prog::Character")
+               var cmd = new CmdParam(test_model, mentity_name = "test_prog::Character")
                cmd.init_command
                print_html cmd.to_html
        end
@@ -134,70 +134,70 @@ class TestCommandsHtml
        # CmdIni
 
        fun test_cmd_ini_desc is test do
-               var cmd = new CmdIniDescription(test_view, mentity_name = "test_prog")
+               var cmd = new CmdIniDescription(test_model, mentity_name = "test_prog")
                cmd.init_command
                print_html cmd.to_html
        end
 
        fun test_cmd_ini_git is test do
-               var cmd = new CmdIniGitUrl(test_view, mentity_name = "test_prog")
+               var cmd = new CmdIniGitUrl(test_model, mentity_name = "test_prog")
                cmd.init_command
                print_html cmd.to_html
        end
 
        fun test_cmd_ini_clone is test do
-               var cmd = new CmdIniCloneCommand(test_view, mentity_name = "test_prog")
+               var cmd = new CmdIniCloneCommand(test_model, mentity_name = "test_prog")
                cmd.init_command
                print_html cmd.to_html
        end
 
        fun test_cmd_ini_issues is test do
-               var cmd = new CmdIniIssuesUrl(test_view, mentity_name = "test_prog")
+               var cmd = new CmdIniIssuesUrl(test_model, mentity_name = "test_prog")
                cmd.init_command
                print_html cmd.to_html
        end
 
        fun test_cmd_ini_maintainer is test do
-               var cmd = new CmdIniMaintainer(test_view, mentity_name = "test_prog")
+               var cmd = new CmdIniMaintainer(test_model, mentity_name = "test_prog")
                cmd.init_command
                print_html cmd.to_html
        end
 
        fun test_cmd_ini_contributors is test do
-               var cmd = new CmdIniContributors(test_view, mentity_name = "test_prog")
+               var cmd = new CmdIniContributors(test_model, mentity_name = "test_prog")
                cmd.init_command
                print_html cmd.to_html
        end
 
        fun test_cmd_ini_license is test do
-               var cmd = new CmdIniLicense(test_view, mentity_name = "test_prog")
+               var cmd = new CmdIniLicense(test_model, mentity_name = "test_prog")
                cmd.init_command
                print_html cmd.to_html
        end
 
        fun test_cmd_ini_license_file is test do
-               var cmd = new CmdLicenseFile(test_view, mentity_name = "test_prog")
+               var cmd = new CmdLicenseFile(test_model, mentity_name = "test_prog")
                cmd.init_command
                cmd.file = cmd.file.as(not null).basename # for testing path
                print_html cmd.to_html
        end
 
        fun test_cmd_ini_license_file_content is test do
-               var cmd = new CmdLicenseFileContent(test_view, mentity_name = "test_prog")
+               var cmd = new CmdLicenseFileContent(test_model, mentity_name = "test_prog")
                cmd.init_command
                cmd.file = cmd.file.as(not null).basename # for testing path
                print_html cmd.to_html
        end
 
        fun test_cmd_ini_contrib_file is test do
-               var cmd = new CmdContribFile(test_view, mentity_name = "test_prog")
+               var cmd = new CmdContribFile(test_model, mentity_name = "test_prog")
                cmd.init_command
                cmd.file = cmd.file.as(not null).basename # for testing path
                print_html cmd.to_html
        end
 
        fun test_cmd_ini_contrib_file_content is test do
-               var cmd = new CmdContribFileContent(test_view, mentity_name = "test_prog")
+               var cmd = new CmdContribFileContent(test_model, mentity_name = "test_prog")
                cmd.init_command
                cmd.file = cmd.file.as(not null).basename # for testing path
                print_html cmd.to_html
@@ -206,31 +206,31 @@ class TestCommandsHtml
        # CmdMain
 
        fun test_cmd_mains is test do
-               var cmd = new CmdMains(test_view, mentity_name = "test_prog")
+               var cmd = new CmdMains(test_model, mentity_name = "test_prog")
                cmd.init_command
                print_html cmd.to_html
        end
 
        fun test_cmd_main_compile is test do
-               var cmd = new CmdMainCompile(test_view, mentity_name = "test_prog::test_prog")
+               var cmd = new CmdMainCompile(test_model, mentity_name = "test_prog::test_prog")
                cmd.init_command
                print_html cmd.to_html
        end
 
        fun test_cmd_testing is test do
-               var cmd = new CmdTesting(test_view, mentity_name = "test_prog")
+               var cmd = new CmdTesting(test_model, mentity_name = "test_prog")
                cmd.init_command
                print_html cmd.to_html
        end
 
        fun test_cmd_man_synopsis is test do
-               var cmd = new CmdManSynopsis(test_view, mentity_name = "test_prog")
+               var cmd = new CmdManSynopsis(test_model, mentity_name = "test_prog")
                cmd.init_command
                print_html cmd.to_html
        end
 
        fun test_cmd_man_options is test do
-               var cmd = new CmdManOptions(test_view, mentity_name = "test_prog")
+               var cmd = new CmdManOptions(test_model, mentity_name = "test_prog")
                cmd.init_command
                print_html cmd.to_html
        end
index f2d5e18..e435de2 100644 (file)
@@ -38,7 +38,7 @@ class TestCommandsHttp
 
        fun test_cmd_http_entity is test do
                var req = new_request("/test_prog::Character")
-               var cmd = new CmdEntity(test_view)
+               var cmd = new CmdEntity(test_model, test_filter)
                var res = cmd.http_init(req)
                assert res isa CmdSuccess
                assert cmd.mentity.as(not null).full_name == "test_prog::Character"
@@ -46,7 +46,7 @@ class TestCommandsHttp
 
        fun test_cmd_http_entity_not_found is test do
                var req = new_request("/Characterzzz")
-               var cmd = new CmdEntity(test_view)
+               var cmd = new CmdEntity(test_model, test_filter)
                var res = cmd.http_init(req)
                assert res isa ErrorMEntityNotFound
                assert res.suggestions.first.full_name == "test_prog::Character"
@@ -54,7 +54,7 @@ class TestCommandsHttp
 
        fun test_cmd_http_entity_conflict is test do
                var req = new_request("/+")
-               var cmd = new CmdEntity(test_view)
+               var cmd = new CmdEntity(test_model, test_filter)
                var res = cmd.http_init(req)
                assert res isa ErrorMEntityConflict
                assert res.conflicts.length == 2
@@ -64,7 +64,7 @@ class TestCommandsHttp
 
        fun test_cmd_http_comment is test do
                var req = new_request("/test_prog::Character")
-               var cmd = new CmdComment(test_view)
+               var cmd = new CmdComment(test_model, test_filter)
                var res = cmd.http_init(req)
                assert res isa CmdSuccess
                assert cmd.mdoc != null
@@ -72,7 +72,7 @@ class TestCommandsHttp
 
        fun test_cmd_http_comment_no_mdoc is test do
                var req = new_request("/test_prog::Character?fallback=false")
-               var cmd = new CmdComment(test_view)
+               var cmd = new CmdComment(test_model, test_filter)
                var res = cmd.http_init(req)
                assert res isa WarningNoMDoc
        end
@@ -81,7 +81,7 @@ class TestCommandsHttp
 
        fun test_cmd_http_link is test do
                var req = new_request("/test_prog::Character")
-               var cmd = new CmdEntityLink(test_view)
+               var cmd = new CmdEntityLink(test_model)
                var res = cmd.http_init(req)
                assert res isa CmdSuccess
                assert cmd.text == "Character"
@@ -90,7 +90,7 @@ class TestCommandsHttp
 
        fun test_cmd_http_link_with_text is test do
                var req = new_request("/test_prog::Character?text=foo")
-               var cmd = new CmdEntityLink(test_view)
+               var cmd = new CmdEntityLink(test_model)
                var res = cmd.http_init(req)
                assert res isa CmdSuccess
                assert cmd.text == "foo"
@@ -99,7 +99,7 @@ class TestCommandsHttp
 
        fun test_cmd_http_link_with_title is test do
                var req = new_request("/test_prog::Character?title=bar")
-               var cmd = new CmdEntityLink(test_view)
+               var cmd = new CmdEntityLink(test_model)
                var res = cmd.http_init(req)
                assert res isa CmdSuccess
                assert cmd.text == "Character"
@@ -108,7 +108,7 @@ class TestCommandsHttp
 
        fun test_cmd_http_link_with_text_and_title is test do
                var req = new_request("/test_prog::Character?text=foo&title=bar")
-               var cmd = new CmdEntityLink(test_view)
+               var cmd = new CmdEntityLink(test_model)
                var res = cmd.http_init(req)
                assert res isa CmdSuccess
                assert cmd.text == "foo"
@@ -119,7 +119,7 @@ class TestCommandsHttp
 
        fun test_cmd_http_parents is test do
                var req = new_request("/test_prog::Warrior")
-               var cmd = new CmdParents(test_view)
+               var cmd = new CmdParents(test_model, test_main, test_filter)
                var res = cmd.http_init(req)
                assert res isa CmdSuccess
                assert cmd.results.as(not null).length == 1
@@ -127,7 +127,7 @@ class TestCommandsHttp
 
        fun test_cmd_http_ancestors is test do
                var req = new_request("/test_prog::Warrior")
-               var cmd = new CmdAncestors(test_view)
+               var cmd = new CmdAncestors(test_model, test_main, test_filter)
                var res = cmd.http_init(req)
                assert res isa CmdSuccess
                assert cmd.results.as(not null).length == 2
@@ -135,7 +135,7 @@ class TestCommandsHttp
 
        fun test_cmd_http_ancestorsi_without_parents is test do
                var req = new_request("/test_prog::Warrior?parents=false")
-               var cmd = new CmdAncestors(test_view)
+               var cmd = new CmdAncestors(test_model, test_main, test_filter)
                var res = cmd.http_init(req)
                assert res isa CmdSuccess
                assert cmd.results.as(not null).length == 1
@@ -143,7 +143,7 @@ class TestCommandsHttp
 
        fun test_cmd_http_children is test do
                var req = new_request("/test_prog::Career")
-               var cmd = new CmdChildren(test_view)
+               var cmd = new CmdChildren(test_model, test_main, test_filter)
                var res = cmd.http_init(req)
                assert res isa CmdSuccess
                assert cmd.results.as(not null).length == 3
@@ -151,7 +151,7 @@ class TestCommandsHttp
 
        fun test_cmd_http_descendants is test do
                var req = new_request("/test_prog::Career?children=false")
-               var cmd = new CmdDescendants(test_view)
+               var cmd = new CmdDescendants(test_model, test_main, test_filter)
                var res = cmd.http_init(req)
                assert res isa CmdSuccess
                assert cmd.results.as(not null).length == 0
@@ -161,7 +161,7 @@ class TestCommandsHttp
 
        fun test_cmd_http_search is test do
                var req = new_request("/?q=Carer&l=1")
-               var cmd = new CmdSearch(test_view)
+               var cmd = new CmdSearch(test_model, test_filter)
                var res = cmd.http_init(req)
                assert res isa CmdSuccess
                assert cmd.results.as(not null).first.full_name == "test_prog::Career"
@@ -170,7 +170,7 @@ class TestCommandsHttp
 
        fun test_cmd_http_search_no_query is test do
                var req = new_request("/")
-               var cmd = new CmdSearch(test_view)
+               var cmd = new CmdSearch(test_model, test_filter)
                var res = cmd.http_init(req)
                assert res isa ErrorNoQuery
        end
@@ -179,7 +179,7 @@ class TestCommandsHttp
 
        fun test_cmd_http_features is test do
                var req = new_request("/test_prog::Character?l=10")
-               var cmd = new CmdFeatures(test_view)
+               var cmd = new CmdFeatures(test_model, test_filter)
                var res = cmd.http_init(req)
                assert res isa CmdSuccess
                assert cmd.results.as(not null).length == 10
@@ -187,7 +187,7 @@ class TestCommandsHttp
 
        fun test_cmd_http_features_no_features is test do
                var req = new_request("/test_prog$Career$strength_bonus?l=10")
-               var cmd = new CmdFeatures(test_view)
+               var cmd = new CmdFeatures(test_model, test_filter)
                var res = cmd.http_init(req)
                assert res isa WarningNoFeatures
        end
@@ -196,7 +196,7 @@ class TestCommandsHttp
 
        fun test_cmd_http_lin is test do
                var req = new_request("/init?l=10")
-               var cmd = new CmdLinearization(test_view)
+               var cmd = new CmdLinearization(test_model, test_main, test_filter)
                var res = cmd.http_init(req)
                assert res isa CmdSuccess
                assert cmd.results.as(not null).length == 10
@@ -204,7 +204,7 @@ class TestCommandsHttp
 
        fun test_cmd_http_lin_no_lin is test do
                var req = new_request("/test_prog?l=10")
-               var cmd = new CmdLinearization(test_view)
+               var cmd = new CmdLinearization(test_model, test_main, test_filter)
                var res = cmd.http_init(req)
                assert res isa WarningNoLinearization
        end
@@ -213,7 +213,7 @@ class TestCommandsHttp
 
        fun test_cmd_http_code is test do
                var req = new_request("/test_prog::Career")
-               var cmd = new CmdEntityCode(test_view, test_builder)
+               var cmd = new CmdEntityCode(test_model, test_builder, test_filter)
                var res = cmd.http_init(req)
                assert res isa CmdSuccess
                assert cmd.node isa AStdClassdef
@@ -222,7 +222,7 @@ class TestCommandsHttp
 
        fun test_cmd_http_code_format is test do
                var req = new_request("/test_prog::Career?format=html")
-               var cmd = new CmdEntityCode(test_view, test_builder)
+               var cmd = new CmdEntityCode(test_model, test_builder, test_filter)
                var res = cmd.http_init(req)
                assert res isa CmdSuccess
                assert cmd.node isa AStdClassdef
@@ -231,7 +231,7 @@ class TestCommandsHttp
 
        fun test_cmd_http_code_no_code is test do
                var req = new_request("/test_prog")
-               var cmd = new CmdEntityCode(test_view, test_builder)
+               var cmd = new CmdEntityCode(test_model, test_builder, test_filter)
                var res = cmd.http_init(req)
                assert res isa WarningNoCode
        end
@@ -240,7 +240,7 @@ class TestCommandsHttp
 
        fun test_cmd_http_results is test do
                var req = new_request("/?kind=modules&l=2")
-               var cmd = new CmdModelEntities(test_view, kind = "modules")
+               var cmd = new CmdModelEntities(test_model, test_filter, kind = "modules")
                var res = cmd.http_init(req)
                assert res isa CmdSuccess
                assert cmd.results.as(not null).length == 2
@@ -248,7 +248,7 @@ class TestCommandsHttp
 
        fun test_cmd_http_results_random is test do
                var req = new_request("/?kind=packages&l=1")
-               var cmd = new CmdRandomEntities(test_view, kind = "packages")
+               var cmd = new CmdRandomEntities(test_model, test_filter, kind = "packages")
                var res = cmd.http_init(req)
                assert res isa CmdSuccess
                assert cmd.results.as(not null).length == 1
@@ -258,7 +258,7 @@ class TestCommandsHttp
 
        fun test_cmd_http_uml is test do
                var req = new_request("/test_prog::Character?format=svg")
-               var cmd = new CmdUML(test_view)
+               var cmd = new CmdUML(test_model, test_main, test_filter)
                var res = cmd.http_init(req)
                assert res isa CmdSuccess
                assert cmd.uml != null
@@ -267,7 +267,7 @@ class TestCommandsHttp
 
        fun test_cmd_http_uml_not_found is test do
                var req = new_request("/strength_bonus")
-               var cmd = new CmdUML(test_view)
+               var cmd = new CmdUML(test_model, test_main, test_filter)
                var res = cmd.http_init(req)
                assert res isa WarningNoUML
                assert cmd.format == "dot"
@@ -276,7 +276,7 @@ class TestCommandsHttp
 
        fun test_cmd_http_inh_graph is test do
                var req = new_request("/test_prog::Character?pdepth=1&cdepth=1")
-               var cmd = new CmdInheritanceGraph(test_view)
+               var cmd = new CmdInheritanceGraph(test_model, test_main, test_filter)
                var res = cmd.http_init(req)
                assert res isa CmdSuccess
                assert cmd.graph != null
@@ -288,7 +288,7 @@ class TestCommandsHttp
 
        fun test_cmd_http_catalog_search is test do
                var req = new_request("/?q=testprog&l=1")
-               var cmd = new CmdCatalogSearch(test_view, test_catalog)
+               var cmd = new CmdCatalogSearch(test_model, test_catalog, test_filter)
                var res = cmd.http_init(req)
                assert res isa CmdSuccess
                assert cmd.results.as(not null).first.full_name == "test_prog"
@@ -298,7 +298,7 @@ class TestCommandsHttp
 
        fun test_cmd_http_catalog_tag is test do
                var req = new_request("/test", "/:tid")
-               var cmd = new CmdCatalogTag(test_view, test_catalog)
+               var cmd = new CmdCatalogTag(test_model, test_catalog, test_filter)
                var res = cmd.http_init(req)
                assert res isa CmdSuccess
                assert cmd.tag == "test"
@@ -307,7 +307,7 @@ class TestCommandsHttp
 
        fun test_cmd_http_catalog_person is test do
                var req = new_request("/Alexandre%20Terrasa", "/:pid")
-               var cmd = new CmdCatalogPerson(test_view, test_catalog)
+               var cmd = new CmdCatalogPerson(test_model, test_catalog, test_filter)
                var res = cmd.http_init(req)
                assert res isa CmdSuccess
                assert cmd.person.as(not null).name == "Alexandre Terrasa"
index e2c02b7..15b4fa1 100644 (file)
@@ -24,21 +24,21 @@ class TestCommandsIni
        # CmdIni
 
        fun test_cmd_ini_desc is test do
-               var cmd = new CmdIniDescription(test_view, mentity_name = "test_prog")
+               var cmd = new CmdIniDescription(test_model, mentity_name = "test_prog")
                var res = cmd.init_command
                assert res isa CmdSuccess
                assert cmd.desc == "Dummy program used for testing Nit tools"
        end
 
        fun test_cmd_ini_git is test do
-               var cmd = new CmdIniGitUrl(test_view, mentity_name = "test_prog")
+               var cmd = new CmdIniGitUrl(test_model, mentity_name = "test_prog")
                var res = cmd.init_command
                assert res isa CmdSuccess
                assert cmd.url == "https://github.com/nitlang/nit.git"
        end
 
        fun test_cmd_ini_clone is test do
-               var cmd = new CmdIniCloneCommand(test_view, mentity_name = "test_prog")
+               var cmd = new CmdIniCloneCommand(test_model, mentity_name = "test_prog")
                var res = cmd.init_command
                assert res isa CmdSuccess
                assert cmd.url == "https://github.com/nitlang/nit.git"
@@ -46,21 +46,21 @@ class TestCommandsIni
        end
 
        fun test_cmd_ini_issues is test do
-               var cmd = new CmdIniIssuesUrl(test_view, mentity_name = "test_prog")
+               var cmd = new CmdIniIssuesUrl(test_model, mentity_name = "test_prog")
                var res = cmd.init_command
                assert res isa CmdSuccess
                assert cmd.url == "https://github.com/nitlang/nit/issues"
        end
 
        fun test_cmd_ini_maintainer is test do
-               var cmd = new CmdIniMaintainer(test_view, mentity_name = "test_prog")
+               var cmd = new CmdIniMaintainer(test_model, mentity_name = "test_prog")
                var res = cmd.init_command
                assert res isa CmdSuccess
                assert cmd.maintainer == "John Doe <jdoe@example.com> (http://www.example.com/~jdoe), Spider-Man"
        end
 
        fun test_cmd_ini_contributors is test do
-               var cmd = new CmdIniContributors(test_view, mentity_name = "test_prog")
+               var cmd = new CmdIniContributors(test_model, mentity_name = "test_prog")
                var res = cmd.init_command
                assert res isa CmdSuccess
                assert cmd.contributors == [
@@ -70,14 +70,14 @@ class TestCommandsIni
        end
 
        fun test_cmd_ini_license is test do
-               var cmd = new CmdIniLicense(test_view, mentity_name = "test_prog")
+               var cmd = new CmdIniLicense(test_model, mentity_name = "test_prog")
                var res = cmd.init_command
                assert res isa CmdSuccess
                assert cmd.license == "Apache-2.0"
        end
 
        fun test_cmd_ini_license_file is test do
-               var cmd = new CmdLicenseFile(test_view, mentity_name = "test_prog")
+               var cmd = new CmdLicenseFile(test_model, mentity_name = "test_prog")
                var res = cmd.init_command
                assert res isa CmdSuccess
 
@@ -87,7 +87,7 @@ class TestCommandsIni
        end
 
        fun test_cmd_ini_license_file_content is test do
-               var cmd = new CmdLicenseFileContent(test_view, mentity_name = "test_prog")
+               var cmd = new CmdLicenseFileContent(test_model, mentity_name = "test_prog")
                var res = cmd.init_command
                assert res isa CmdSuccess
 
@@ -97,7 +97,7 @@ class TestCommandsIni
        end
 
        fun test_cmd_ini_contrib_file is test do
-               var cmd = new CmdContribFile(test_view, mentity_name = "test_prog")
+               var cmd = new CmdContribFile(test_model, mentity_name = "test_prog")
                var res = cmd.init_command
                assert res isa CmdSuccess
 
@@ -107,7 +107,7 @@ class TestCommandsIni
        end
 
        fun test_cmd_ini_contrib_file_content is test do
-               var cmd = new CmdContribFileContent(test_view, mentity_name = "test_prog")
+               var cmd = new CmdContribFileContent(test_model, mentity_name = "test_prog")
                var res = cmd.init_command
                assert res isa CmdSuccess
 
index 2d55a3d..0713979 100644 (file)
@@ -30,19 +30,19 @@ class TestCommandsJson
        # CmdEntity
 
        fun test_cmd_entity is test do
-               var cmd = new CmdEntity(test_view, mentity_name = "test_prog::Character")
+               var cmd = new CmdEntity(test_model, test_filter, mentity_name = "test_prog::Character")
                cmd.init_command
                print_json cmd.to_json
        end
 
        fun test_cmd_comment is test do
-               var cmd = new CmdComment(test_view, mentity_name = "test_prog::Character")
+               var cmd = new CmdComment(test_model, test_filter, mentity_name = "test_prog::Character")
                cmd.init_command
                print_json cmd.to_json
        end
 
        fun test_cmd_link is test do
-               var cmd = new CmdEntityLink(test_view, mentity_name = "test_prog::Character")
+               var cmd = new CmdEntityLink(test_model, mentity_name = "test_prog::Character")
                cmd.init_command
                print_json cmd.to_json
        end
@@ -50,25 +50,25 @@ class TestCommandsJson
        # CmdInheritance
 
        fun test_cmd_parents is test do
-               var cmd = new CmdParents(test_view, mentity_name = "test_prog::Warrior")
+               var cmd = new CmdParents(test_model, test_main, test_filter, mentity_name = "test_prog::Warrior")
                cmd.init_command
                print_json cmd.to_json
        end
 
        fun test_cmd_ancestors is test do
-               var cmd = new CmdAncestors(test_view, mentity_name = "test_prog::Warrior", parents = false)
+               var cmd = new CmdAncestors(test_model, test_main, test_filter, mentity_name = "test_prog::Warrior", parents = false)
                cmd.init_command
                print_json cmd.to_json
        end
 
        fun test_cmd_children is test do
-               var cmd = new CmdChildren(test_view, mentity_name = "test_prog::Career")
+               var cmd = new CmdChildren(test_model, test_main, test_filter, mentity_name = "test_prog::Career")
                cmd.init_command
                print_json cmd.to_json
        end
 
        fun test_cmd_descendants is test do
-               var cmd = new CmdDescendants(test_view, mentity_name = "test_prog::Career")
+               var cmd = new CmdDescendants(test_model, test_main, test_filter, mentity_name = "test_prog::Career")
                cmd.init_command
                print_json cmd.to_json
        end
@@ -76,7 +76,7 @@ class TestCommandsJson
        # CmdSearch
 
        fun test_cmd_search is test do
-               var cmd = new CmdSearch(test_view, query = "Carer", limit = 10)
+               var cmd = new CmdSearch(test_model, test_filter, query = "Carer", limit = 10)
                cmd.init_command
                print_json cmd.to_json
        end
@@ -84,7 +84,7 @@ class TestCommandsJson
        # CmdFeatures
 
        fun test_cmd_features is test do
-               var cmd = new CmdFeatures(test_view, mentity_name = "test_prog::Career")
+               var cmd = new CmdFeatures(test_model, test_filter, mentity_name = "test_prog::Career")
                cmd.init_command
                print_json cmd.to_json
        end
@@ -92,7 +92,7 @@ class TestCommandsJson
        # CmdLinearization
 
        fun test_cmd_lin is test do
-               var cmd = new CmdLinearization(test_view, mentity_name = "init")
+               var cmd = new CmdLinearization(test_model, test_main, test_filter, mentity_name = "init")
                cmd.init_command
                print_json cmd.to_json
        end
@@ -100,7 +100,7 @@ class TestCommandsJson
        # CmdModel
 
        fun test_cmd_mentities is test do
-               var cmd = new CmdModelEntities(test_view, kind = "modules")
+               var cmd = new CmdModelEntities(test_model, test_filter, kind = "modules")
                cmd.init_command
                print_json cmd.to_json
        end
@@ -108,25 +108,25 @@ class TestCommandsJson
        # CmdUsage
 
        fun test_cmd_new is test do
-               var cmd = new CmdNew(test_view, test_builder, mentity_name = "test_prog::Character")
+               var cmd = new CmdNew(test_model, test_builder, test_filter, mentity_name = "test_prog::Character")
                cmd.init_command
                print_json cmd.to_json
        end
 
        fun test_cmd_call is test do
-               var cmd = new CmdCall(test_view, test_builder, mentity_name = "strength_bonus")
+               var cmd = new CmdCall(test_model, test_builder, test_filter, mentity_name = "strength_bonus")
                cmd.init_command
                print_json cmd.to_json
        end
 
        fun test_cmd_return is test do
-               var cmd = new CmdReturn(test_view, mentity_name = "test_prog::Character")
+               var cmd = new CmdReturn(test_model, test_filter, mentity_name = "test_prog::Character")
                cmd.init_command
                print_json cmd.to_json
        end
 
        fun test_cmd_param is test do
-               var cmd = new CmdParam(test_view, mentity_name = "test_prog::Character")
+               var cmd = new CmdParam(test_model, test_filter, mentity_name = "test_prog::Character")
                cmd.init_command
                print_json cmd.to_json
        end
@@ -134,70 +134,70 @@ class TestCommandsJson
        # CmdIni
 
        fun test_cmd_ini_desc is test do
-               var cmd = new CmdIniDescription(test_view, mentity_name = "test_prog")
+               var cmd = new CmdIniDescription(test_model, mentity_name = "test_prog")
                cmd.init_command
                print_json cmd.to_json
        end
 
        fun test_cmd_ini_git is test do
-               var cmd = new CmdIniGitUrl(test_view, mentity_name = "test_prog")
+               var cmd = new CmdIniGitUrl(test_model, mentity_name = "test_prog")
                cmd.init_command
                print_json cmd.to_json
        end
 
        fun test_cmd_ini_clone is test do
-               var cmd = new CmdIniCloneCommand(test_view, mentity_name = "test_prog")
+               var cmd = new CmdIniCloneCommand(test_model, mentity_name = "test_prog")
                cmd.init_command
                print_json cmd.to_json
        end
 
        fun test_cmd_ini_issues is test do
-               var cmd = new CmdIniIssuesUrl(test_view, mentity_name = "test_prog")
+               var cmd = new CmdIniIssuesUrl(test_model, mentity_name = "test_prog")
                cmd.init_command
                print_json cmd.to_json
        end
 
        fun test_cmd_ini_maintainer is test do
-               var cmd = new CmdIniMaintainer(test_view, mentity_name = "test_prog")
+               var cmd = new CmdIniMaintainer(test_model, mentity_name = "test_prog")
                cmd.init_command
                print_json cmd.to_json
        end
 
        fun test_cmd_ini_contributors is test do
-               var cmd = new CmdIniContributors(test_view, mentity_name = "test_prog")
+               var cmd = new CmdIniContributors(test_model, mentity_name = "test_prog")
                cmd.init_command
                print_json cmd.to_json
        end
 
        fun test_cmd_ini_license is test do
-               var cmd = new CmdIniLicense(test_view, mentity_name = "test_prog")
+               var cmd = new CmdIniLicense(test_model, mentity_name = "test_prog")
                cmd.init_command
                print_json cmd.to_json
        end
 
        fun test_cmd_ini_license_file is test do
-               var cmd = new CmdLicenseFile(test_view, mentity_name = "test_prog")
+               var cmd = new CmdLicenseFile(test_model, mentity_name = "test_prog")
                cmd.init_command
                cmd.file = cmd.file.as(not null).basename # for testing path
                print_json cmd.to_json
        end
 
        fun test_cmd_ini_license_file_content is test do
-               var cmd = new CmdLicenseFileContent(test_view, mentity_name = "test_prog")
+               var cmd = new CmdLicenseFileContent(test_model, mentity_name = "test_prog")
                cmd.init_command
                cmd.file = cmd.file.as(not null).basename # for testing path
                print_json cmd.to_json
        end
 
        fun test_cmd_ini_contrib_file is test do
-               var cmd = new CmdContribFile(test_view, mentity_name = "test_prog")
+               var cmd = new CmdContribFile(test_model, mentity_name = "test_prog")
                cmd.init_command
                cmd.file = cmd.file.as(not null).basename # for testing path
                print_json cmd.to_json
        end
 
        fun test_cmd_ini_contrib_file_content is test do
-               var cmd = new CmdContribFileContent(test_view, mentity_name = "test_prog")
+               var cmd = new CmdContribFileContent(test_model, mentity_name = "test_prog")
                cmd.init_command
                cmd.file = cmd.file.as(not null).basename # for testing path
                print_json cmd.to_json
@@ -206,31 +206,31 @@ class TestCommandsJson
        # CmdMain
 
        fun test_cmd_mains is test do
-               var cmd = new CmdMains(test_view, mentity_name = "test_prog")
+               var cmd = new CmdMains(test_model, mentity_name = "test_prog")
                cmd.init_command
                print_json cmd.to_json
        end
 
        fun test_cmd_main_compile is test do
-               var cmd = new CmdMainCompile(test_view, mentity_name = "test_prog::test_prog")
+               var cmd = new CmdMainCompile(test_model, mentity_name = "test_prog::test_prog")
                cmd.init_command
                print_json cmd.to_json
        end
 
        fun test_cmd_testing is test do
-               var cmd = new CmdTesting(test_view, mentity_name = "test_prog")
+               var cmd = new CmdTesting(test_model, mentity_name = "test_prog")
                cmd.init_command
                print_json cmd.to_json
        end
 
        fun test_cmd_man_synopsis is test do
-               var cmd = new CmdManSynopsis(test_view, mentity_name = "test_prog")
+               var cmd = new CmdManSynopsis(test_model, mentity_name = "test_prog")
                cmd.init_command
                print_json cmd.to_json
        end
 
        fun test_cmd_man_options is test do
-               var cmd = new CmdManOptions(test_view, mentity_name = "test_prog")
+               var cmd = new CmdManOptions(test_model, mentity_name = "test_prog")
                cmd.init_command
                print_json cmd.to_json
        end
index 5d6c8d9..07d815d 100644 (file)
                "html_synopsis": "<span class=\"synopsys nitdoc\">A worlg RPG abstraction.</span>",
                "modifiers": ["module"]
        }, {
-               "name": "test_game",
-               "namespace": [{
-                       "name": "test_prog",
-                       "synopsis": "Test program for model tools."
-               }, "::", {
-                       "name": "test_game"
-               }],
-               "class_name": "MModule",
-               "full_name": "test_prog::test_game",
-               "visibility": "public",
-               "modifiers": ["module"]
-       }, {
                "name": "test_prog",
                "synopsis": "A test program with a fake model to check model tools.",
                "namespace": [{
index 5715cc2..241b2f6 100644 (file)
@@ -22,7 +22,7 @@ class TestCommandsMain
        test
 
        fun test_cmd_mains is test do
-               var cmd = new CmdMains(test_view, mentity_name = "test_prog")
+               var cmd = new CmdMains(test_model, mentity_name = "test_prog")
                var res = cmd.init_command
                assert res isa CmdSuccess
                var results = cmd.results
@@ -32,7 +32,7 @@ class TestCommandsMain
        end
 
        fun test_cmd_main_compile is test do
-               var cmd = new CmdMainCompile(test_view, mentity_name = "test_prog::test_prog")
+               var cmd = new CmdMainCompile(test_model, mentity_name = "test_prog::test_prog")
                var res = cmd.init_command
                assert res isa CmdSuccess
 
@@ -43,7 +43,7 @@ class TestCommandsMain
        end
 
        fun test_cmd_testing is test do
-               var cmd = new CmdTesting(test_view, mentity_name = "test_prog")
+               var cmd = new CmdTesting(test_model, mentity_name = "test_prog")
                var res = cmd.init_command
                assert res isa CmdSuccess
 
@@ -54,14 +54,14 @@ class TestCommandsMain
        end
 
        fun test_cmd_man_synopsis is test do
-               var cmd = new CmdManSynopsis(test_view, mentity_name = "test_prog")
+               var cmd = new CmdManSynopsis(test_model, mentity_name = "test_prog")
                var res = cmd.init_command
                assert res isa CmdSuccess
                assert cmd.synopsis == "test_prog [*options*] ARGS..."
        end
 
        fun test_cmd_man_options is test do
-               var cmd = new CmdManOptions(test_view, mentity_name = "test_prog")
+               var cmd = new CmdManOptions(test_model, mentity_name = "test_prog")
                var res = cmd.init_command
                assert res isa CmdSuccess
 
index 941c3b2..031e21e 100644 (file)
@@ -30,19 +30,19 @@ class TestCommandsMd
        # CmdEntity
 
        fun test_cmd_entity is test do
-               var cmd = new CmdEntity(test_view, mentity_name = "test_prog::Character")
+               var cmd = new CmdEntity(test_model, mentity_name = "test_prog::Character")
                cmd.init_command
                print_md cmd.to_md
        end
 
        fun test_cmd_comment is test do
-               var cmd = new CmdComment(test_view, mentity_name = "test_prog::Character")
+               var cmd = new CmdComment(test_model, mentity_name = "test_prog::Character")
                cmd.init_command
                print_md cmd.to_md
        end
 
        fun test_cmd_link is test do
-               var cmd = new CmdEntityLink(test_view, mentity_name = "test_prog::Character")
+               var cmd = new CmdEntityLink(test_model, mentity_name = "test_prog::Character")
                cmd.init_command
                print_md cmd.to_md
        end
@@ -50,25 +50,25 @@ class TestCommandsMd
        # CmdInheritance
 
        fun test_cmd_parents is test do
-               var cmd = new CmdParents(test_view, mentity_name = "test_prog::Warrior")
+               var cmd = new CmdParents(test_model, test_main, mentity_name = "test_prog::Warrior")
                cmd.init_command
                print_md cmd.to_md
        end
 
        fun test_cmd_ancestors is test do
-               var cmd = new CmdAncestors(test_view, mentity_name = "test_prog::Warrior", parents = false)
+               var cmd = new CmdAncestors(test_model, test_main, mentity_name = "test_prog::Warrior", parents = false)
                cmd.init_command
                print_md cmd.to_md
        end
 
        fun test_cmd_children is test do
-               var cmd = new CmdChildren(test_view, mentity_name = "test_prog::Career")
+               var cmd = new CmdChildren(test_model, test_main, mentity_name = "test_prog::Career")
                cmd.init_command
                print_md cmd.to_md
        end
 
        fun test_cmd_descendants is test do
-               var cmd = new CmdDescendants(test_view, mentity_name = "test_prog::Career")
+               var cmd = new CmdDescendants(test_model, test_main, mentity_name = "test_prog::Career")
                cmd.init_command
                print_md cmd.to_md
        end
@@ -76,7 +76,7 @@ class TestCommandsMd
        # CmdSearch
 
        fun test_cmd_search is test do
-               var cmd = new CmdSearch(test_view, query = "Carer", limit = 10)
+               var cmd = new CmdSearch(test_model, query = "Carer", limit = 10)
                cmd.init_command
                print_md cmd.to_md
        end
@@ -84,7 +84,7 @@ class TestCommandsMd
        # CmdFeatures
 
        fun test_cmd_features is test do
-               var cmd = new CmdFeatures(test_view, mentity_name = "test_prog::Career")
+               var cmd = new CmdFeatures(test_model, mentity_name = "test_prog::Career")
                cmd.init_command
                print_md cmd.to_md
        end
@@ -92,7 +92,7 @@ class TestCommandsMd
        # CmdLinearization
 
        fun test_cmd_lin is test do
-               var cmd = new CmdLinearization(test_view, mentity_name = "init")
+               var cmd = new CmdLinearization(test_model, test_main, mentity_name = "init")
                cmd.init_command
                print_md cmd.to_md
        end
@@ -100,7 +100,7 @@ class TestCommandsMd
        # CmdModel
 
        fun test_cmd_mentities is test do
-               var cmd = new CmdModelEntities(test_view, kind = "modules")
+               var cmd = new CmdModelEntities(test_model, kind = "modules")
                cmd.init_command
                print_md cmd.to_md
        end
@@ -108,25 +108,25 @@ class TestCommandsMd
        # CmdUsage
 
        fun test_cmd_new is test do
-               var cmd = new CmdNew(test_view, test_builder, mentity_name = "test_prog::Character")
+               var cmd = new CmdNew(test_model, test_builder, mentity_name = "test_prog::Character")
                cmd.init_command
                print_md cmd.to_md
        end
 
        fun test_cmd_call is test do
-               var cmd = new CmdCall(test_view, test_builder, mentity_name = "strength_bonus")
+               var cmd = new CmdCall(test_model, test_builder, mentity_name = "strength_bonus")
                cmd.init_command
                print_md cmd.to_md
        end
 
        fun test_cmd_return is test do
-               var cmd = new CmdReturn(test_view, mentity_name = "test_prog::Character")
+               var cmd = new CmdReturn(test_model, mentity_name = "test_prog::Character")
                cmd.init_command
                print_md cmd.to_md
        end
 
        fun test_cmd_param is test do
-               var cmd = new CmdParam(test_view, mentity_name = "test_prog::Character")
+               var cmd = new CmdParam(test_model, mentity_name = "test_prog::Character")
                cmd.init_command
                print_md cmd.to_md
        end
@@ -134,70 +134,70 @@ class TestCommandsMd
        # CmdIni
 
        fun test_cmd_ini_desc is test do
-               var cmd = new CmdIniDescription(test_view, mentity_name = "test_prog")
+               var cmd = new CmdIniDescription(test_model, mentity_name = "test_prog")
                cmd.init_command
                print_md cmd.to_md
        end
 
        fun test_cmd_ini_git is test do
-               var cmd = new CmdIniGitUrl(test_view, mentity_name = "test_prog")
+               var cmd = new CmdIniGitUrl(test_model, mentity_name = "test_prog")
                cmd.init_command
                print_md cmd.to_md
        end
 
        fun test_cmd_ini_clone is test do
-               var cmd = new CmdIniCloneCommand(test_view, mentity_name = "test_prog")
+               var cmd = new CmdIniCloneCommand(test_model, mentity_name = "test_prog")
                cmd.init_command
                print_md cmd.to_md
        end
 
        fun test_cmd_ini_issues is test do
-               var cmd = new CmdIniIssuesUrl(test_view, mentity_name = "test_prog")
+               var cmd = new CmdIniIssuesUrl(test_model, mentity_name = "test_prog")
                cmd.init_command
                print_md cmd.to_md
        end
 
        fun test_cmd_ini_maintainer is test do
-               var cmd = new CmdIniMaintainer(test_view, mentity_name = "test_prog")
+               var cmd = new CmdIniMaintainer(test_model, mentity_name = "test_prog")
                cmd.init_command
                print_md cmd.to_md
        end
 
        fun test_cmd_ini_contributors is test do
-               var cmd = new CmdIniContributors(test_view, mentity_name = "test_prog")
+               var cmd = new CmdIniContributors(test_model, mentity_name = "test_prog")
                cmd.init_command
                print_md cmd.to_md
        end
 
        fun test_cmd_ini_license is test do
-               var cmd = new CmdIniLicense(test_view, mentity_name = "test_prog")
+               var cmd = new CmdIniLicense(test_model, mentity_name = "test_prog")
                cmd.init_command
                print_md cmd.to_md
        end
 
        fun test_cmd_ini_license_file is test do
-               var cmd = new CmdLicenseFile(test_view, mentity_name = "test_prog")
+               var cmd = new CmdLicenseFile(test_model, mentity_name = "test_prog")
                cmd.init_command
                cmd.file = cmd.file.as(not null).basename # for testing path
                print_md cmd.to_md
        end
 
        fun test_cmd_ini_license_file_content is test do
-               var cmd = new CmdLicenseFileContent(test_view, mentity_name = "test_prog")
+               var cmd = new CmdLicenseFileContent(test_model, mentity_name = "test_prog")
                cmd.init_command
                cmd.file = cmd.file.as(not null).basename # for testing path
                print_md cmd.to_md
        end
 
        fun test_cmd_ini_contrib_file is test do
-               var cmd = new CmdContribFile(test_view, mentity_name = "test_prog")
+               var cmd = new CmdContribFile(test_model, mentity_name = "test_prog")
                cmd.init_command
                cmd.file = cmd.file.as(not null).basename # for testing path
                print_md cmd.to_md
        end
 
        fun test_cmd_ini_contrib_file_content is test do
-               var cmd = new CmdContribFileContent(test_view, mentity_name = "test_prog")
+               var cmd = new CmdContribFileContent(test_model, mentity_name = "test_prog")
                cmd.init_command
                cmd.file = cmd.file.as(not null).basename # for testing path
                print_md cmd.to_md
@@ -206,31 +206,31 @@ class TestCommandsMd
        # CmdMain
 
        fun test_cmd_mains is test do
-               var cmd = new CmdMains(test_view, mentity_name = "test_prog")
+               var cmd = new CmdMains(test_model, mentity_name = "test_prog")
                cmd.init_command
                print_md cmd.to_md
        end
 
        fun test_cmd_main_compile is test do
-               var cmd = new CmdMainCompile(test_view, mentity_name = "test_prog::test_prog")
+               var cmd = new CmdMainCompile(test_model, mentity_name = "test_prog::test_prog")
                cmd.init_command
                print_md cmd.to_md
        end
 
        fun test_cmd_testing is test do
-               var cmd = new CmdTesting(test_view, mentity_name = "test_prog")
+               var cmd = new CmdTesting(test_model, mentity_name = "test_prog")
                cmd.init_command
                print_md cmd.to_md
        end
 
        fun test_cmd_man_synopsis is test do
-               var cmd = new CmdManSynopsis(test_view, mentity_name = "test_prog")
+               var cmd = new CmdManSynopsis(test_model, mentity_name = "test_prog")
                cmd.init_command
                print_md cmd.to_md
        end
 
        fun test_cmd_man_options is test do
-               var cmd = new CmdManOptions(test_view, mentity_name = "test_prog")
+               var cmd = new CmdManOptions(test_model, mentity_name = "test_prog")
                cmd.init_command
                print_md cmd.to_md
        end
index 88d5e5e..41bcfe7 100644 (file)
@@ -24,28 +24,28 @@ class TestCommandsModel
        # CmdEntity
 
        fun test_cmd_entity is test do
-               var cmd = new CmdEntity(test_view, mentity_name = "test_prog::Character")
+               var cmd = new CmdEntity(test_model, test_filter, mentity_name = "test_prog::Character")
                var res = cmd.init_command
                assert res isa CmdSuccess
                assert cmd.mentity.as(not null).full_name == "test_prog::Character"
        end
 
        fun test_cmd_entity_not_found is test do
-               var cmd = new CmdEntity(test_view, mentity_name = "test_prog::Characterzz")
+               var cmd = new CmdEntity(test_model, test_filter, mentity_name = "test_prog::Characterzz")
                var res = cmd.init_command
                assert res isa ErrorMEntityNotFound
                assert res.suggestions.first.full_name == "test_prog::Character"
        end
 
        fun test_cmd_entity_conflict is test do
-               var cmd = new CmdEntity(test_view, mentity_name = "+")
+               var cmd = new CmdEntity(test_model, test_filter, mentity_name = "+")
                var res = cmd.init_command
                assert res isa ErrorMEntityConflict
                assert res.conflicts.length == 2
        end
 
        fun test_cmd_entity_no_name is test do
-               var cmd = new CmdEntity(test_view)
+               var cmd = new CmdEntity(test_model, test_filter)
                var res = cmd.init_command
                assert res isa ErrorMEntityNoName
        end
@@ -53,14 +53,14 @@ class TestCommandsModel
        # CmdComment
 
        fun test_cmd_comment is test do
-               var cmd = new CmdComment(test_view, mentity_name = "test_prog::Character")
+               var cmd = new CmdComment(test_model, test_filter, mentity_name = "test_prog::Character")
                var res = cmd.init_command
                assert res isa CmdSuccess
                assert cmd.mdoc != null
        end
 
        fun test_cmd_comment_no_mdoc is test do
-               var cmd = new CmdComment(test_view, mentity_name = "test_prog::Character", fallback = false)
+               var cmd = new CmdComment(test_model, test_filter, mentity_name = "test_prog::Character", fallback = false)
                var res = cmd.init_command
                assert res isa WarningNoMDoc
        end
@@ -68,7 +68,7 @@ class TestCommandsModel
        # CmdLink
 
        fun test_cmd_link is test do
-               var cmd = new CmdEntityLink(test_view, mentity_name = "test_prog::Character")
+               var cmd = new CmdEntityLink(test_model, test_filter, mentity_name = "test_prog::Character")
                var res = cmd.init_command
                assert res isa CmdSuccess
                assert cmd.text == "Character"
@@ -76,7 +76,7 @@ class TestCommandsModel
        end
 
        fun test_cmd_link_with_text is test do
-               var cmd = new CmdEntityLink(test_view, mentity_name = "test_prog::Character", text = "foo")
+               var cmd = new CmdEntityLink(test_model, test_filter, mentity_name = "test_prog::Character", text = "foo")
                var res = cmd.init_command
                assert res isa CmdSuccess
                assert cmd.text == "foo"
@@ -84,7 +84,7 @@ class TestCommandsModel
        end
 
        fun test_cmd_link_with_title is test do
-               var cmd = new CmdEntityLink(test_view, mentity_name = "test_prog::Character", title = "bar")
+               var cmd = new CmdEntityLink(test_model, test_filter, mentity_name = "test_prog::Character", title = "bar")
                var res = cmd.init_command
                assert res isa CmdSuccess
                assert cmd.text == "Character"
@@ -92,7 +92,7 @@ class TestCommandsModel
        end
 
        fun test_cmd_link_with_text_and_title is test do
-               var cmd = new CmdEntityLink(test_view, mentity_name = "test_prog::Character",
+               var cmd = new CmdEntityLink(test_model, test_filter, mentity_name = "test_prog::Character",
                        text = "foo", title = "bar")
                var res = cmd.init_command
                assert res isa CmdSuccess
@@ -103,35 +103,35 @@ class TestCommandsModel
        # CmdInheritance
 
        fun test_cmd_parents is test do
-               var cmd = new CmdParents(test_view, mentity_name = "test_prog::Warrior")
+               var cmd = new CmdParents(test_model, test_main, test_filter, mentity_name = "test_prog::Warrior")
                var res = cmd.init_command
                assert res isa CmdSuccess
                assert cmd.results.as(not null).length == 1
        end
 
        fun test_cmd_ancestors is test do
-               var cmd = new CmdAncestors(test_view, mentity_name = "test_prog::Warrior")
+               var cmd = new CmdAncestors(test_model, test_main, test_filter, mentity_name = "test_prog::Warrior")
                var res = cmd.init_command
                assert res isa CmdSuccess
                assert cmd.results.as(not null).length == 2
        end
 
-       fun test_cmd_ancestorsi_without_parents is test do
-               var cmd = new CmdAncestors(test_view, mentity_name = "test_prog::Warrior", parents = false)
+       fun test_cmd_ancestors_without_parents is test do
+               var cmd = new CmdAncestors(test_model, test_main, test_filter, mentity_name = "test_prog::Warrior", parents = false)
                var res = cmd.init_command
                assert res isa CmdSuccess
                assert cmd.results.as(not null).length == 1
        end
 
        fun test_cmd_children is test do
-               var cmd = new CmdChildren(test_view, mentity_name = "test_prog::Career")
+               var cmd = new CmdChildren(test_model, test_main, test_filter, mentity_name = "test_prog::Career")
                var res = cmd.init_command
                assert res isa CmdSuccess
                assert cmd.results.as(not null).length == 3
        end
 
        fun test_cmd_descendants is test do
-               var cmd = new CmdDescendants(test_view, mentity_name = "test_prog::Career", children = false)
+               var cmd = new CmdDescendants(test_model, test_main, test_filter, mentity_name = "test_prog::Career", children = false)
                var res = cmd.init_command
                assert res isa CmdSuccess
                assert cmd.results.as(not null).length == 0
@@ -140,14 +140,14 @@ class TestCommandsModel
        # CmdSearch
 
        fun test_cmd_search is test do
-               var cmd = new CmdSearch(test_view, query = "Carer")
+               var cmd = new CmdSearch(test_model, test_filter, query = "Carer")
                var res = cmd.init_command
                assert res isa CmdSuccess
                assert cmd.results.as(not null).first.full_name == "test_prog::Career"
        end
 
        fun test_cmd_search_no_query is test do
-               var cmd = new CmdSearch(test_view)
+               var cmd = new CmdSearch(test_model, test_filter)
                var res = cmd.init_command
                assert res isa ErrorNoQuery
        end
@@ -155,14 +155,14 @@ class TestCommandsModel
        # CmdFeatures
 
        fun test_cmd_features is test do
-               var cmd = new CmdFeatures(test_view, mentity_name = "test_prog::Career")
+               var cmd = new CmdFeatures(test_model, test_filter, mentity_name = "test_prog::Career")
                var res = cmd.init_command
                assert res isa CmdSuccess
                assert cmd.results.as(not null).length == 10
        end
 
        fun test_cmd_features_no_features is test do
-               var cmd = new CmdFeatures(test_view, mentity_name = "test_prog$Career$strength_bonus")
+               var cmd = new CmdFeatures(test_model, test_filter, mentity_name = "test_prog$Career$strength_bonus")
                var res = cmd.init_command
                assert res isa WarningNoFeatures
        end
@@ -170,15 +170,14 @@ class TestCommandsModel
        # CmdLinearization
 
        fun test_cmd_lin is test do
-               var cmd = new CmdLinearization(test_view, mentity_name = "init")
+               var cmd = new CmdLinearization(test_model, test_main, test_filter, mentity_name = "init")
                var res = cmd.init_command
                assert res isa CmdSuccess
-               print cmd.results.as(not null)
                assert cmd.results.as(not null).length == 10
        end
 
        fun test_cmd_lin_no_lin is test do
-               var cmd = new CmdLinearization(test_view, mentity_name = "test_prog")
+               var cmd = new CmdLinearization(test_model, test_main, test_filter, mentity_name = "test_prog")
                var res = cmd.init_command
                assert res isa WarningNoLinearization
        end
@@ -186,14 +185,14 @@ class TestCommandsModel
        # CmdCode
 
        fun test_cmd_code is test do
-               var cmd = new CmdEntityCode(test_view, test_builder, mentity_name = "test_prog::Career")
+               var cmd = new CmdEntityCode(test_model, test_builder, test_filter, mentity_name = "test_prog::Career")
                var res = cmd.init_command
                assert res isa CmdSuccess
                assert cmd.node isa AStdClassdef
        end
 
        fun test_cmd_code_no_code is test do
-               var cmd = new CmdEntityCode(test_view, test_builder, mentity_name = "test_prog")
+               var cmd = new CmdEntityCode(test_model, test_builder, test_filter, mentity_name = "test_prog")
                var res = cmd.init_command
                assert res isa WarningNoCode
        end
@@ -201,14 +200,14 @@ class TestCommandsModel
        # CmdModel
 
        fun test_cmd_results is test do
-               var cmd = new CmdModelEntities(test_view, kind = "modules")
+               var cmd = new CmdModelEntities(test_model, test_filter, kind = "modules")
                var res = cmd.init_command
                assert res isa CmdSuccess
-               assert cmd.results.as(not null).length == 11
+               assert cmd.results.as(not null).length == 10
        end
 
        fun test_cmd_results_random is test do
-               var cmd = new CmdRandomEntities(test_view, kind = "packages")
+               var cmd = new CmdRandomEntities(test_model, test_filter, kind = "packages")
                var res = cmd.init_command
                assert res isa CmdSuccess
                assert cmd.results.as(not null).length == 2
index e9f299c..9b34cc8 100644 (file)
@@ -25,7 +25,7 @@ class TestCommandsParser
        # CmdEntity
 
        fun test_cmd_parser_comment is test do
-               var parser = new CommandParser(test_view, test_builder)
+               var parser = new CommandParser(test_model, test_main, test_builder, test_catalog, test_filter)
                var cmd = parser.parse("doc: test_prog::Character")
                assert cmd isa CmdComment
                assert parser.error == null
@@ -33,7 +33,7 @@ class TestCommandsParser
        end
 
        fun test_cmd_parser_link is test do
-               var parser = new CommandParser(test_view, test_builder)
+               var parser = new CommandParser(test_model, test_main, test_builder)
                var cmd = parser.parse("link: test_prog::Character")
                assert cmd isa CmdEntityLink
                assert parser.error == null
@@ -42,7 +42,7 @@ class TestCommandsParser
        end
 
        fun test_cmd_parser_link_with_text is test do
-               var parser = new CommandParser(test_view, test_builder)
+               var parser = new CommandParser(test_model, test_main, test_builder)
                var cmd = parser.parse("link: test_prog::Character | text: foo")
                assert cmd isa CmdEntityLink
                assert parser.error == null
@@ -51,7 +51,7 @@ class TestCommandsParser
        end
 
        fun test_cmd_parser_link_with_title is test do
-               var parser = new CommandParser(test_view, test_builder)
+               var parser = new CommandParser(test_model, test_main, test_builder)
                var cmd = parser.parse("link: test_prog::Character | title: bar")
                assert cmd isa CmdEntityLink
                assert parser.error == null
@@ -60,7 +60,7 @@ class TestCommandsParser
        end
 
        fun test_cmd_parser_link_with_text_and_title is test do
-               var parser = new CommandParser(test_view, test_builder)
+               var parser = new CommandParser(test_model, test_main, test_builder)
                var cmd = parser.parse("link: test_prog::Character | text: foo, title: bar")
                assert cmd isa CmdEntityLink
                assert parser.error == null
@@ -69,7 +69,7 @@ class TestCommandsParser
        end
 
        fun test_cmd_parser_short_link is test do
-               var parser = new CommandParser(test_view, test_builder)
+               var parser = new CommandParser(test_model, test_main, test_builder)
                var cmd = parser.parse("test_prog::Character")
                assert cmd isa CmdEntityLink
                assert parser.error == null
@@ -78,7 +78,7 @@ class TestCommandsParser
        end
 
        fun test_cmd_parser_short_link_with_text is test do
-               var parser = new CommandParser(test_view, test_builder)
+               var parser = new CommandParser(test_model, test_main, test_builder)
                var cmd = parser.parse("test_prog::Character | text: foo")
                assert cmd isa CmdEntityLink
                assert parser.error == null
@@ -87,7 +87,7 @@ class TestCommandsParser
        end
 
        fun test_cmd_parser_short_link_with_title is test do
-               var parser = new CommandParser(test_view, test_builder)
+               var parser = new CommandParser(test_model, test_main, test_builder)
                var cmd = parser.parse("test_prog::Character | title: bar")
                assert cmd isa CmdEntityLink
                assert parser.error == null
@@ -96,7 +96,7 @@ class TestCommandsParser
        end
 
        fun test_cmd_parser_short_link_with_text_and_title is test do
-               var parser = new CommandParser(test_view, test_builder)
+               var parser = new CommandParser(test_model, test_main, test_builder)
                var cmd = parser.parse("test_prog::Character | text: foo, title: bar")
                assert cmd isa CmdEntityLink
                assert parser.error == null
@@ -105,7 +105,7 @@ class TestCommandsParser
        end
 
        fun test_cmd_parser_short_link_with_name is test do
-               var parser = new CommandParser(test_view, test_builder)
+               var parser = new CommandParser(test_model, test_main, test_builder)
                var cmd = parser.parse("Character")
                assert cmd isa CmdEntityLink
                assert parser.error == null
@@ -114,7 +114,7 @@ class TestCommandsParser
        end
 
        fun test_cmd_parser_short_link_with_name_and_text is test do
-               var parser = new CommandParser(test_view, test_builder)
+               var parser = new CommandParser(test_model, test_main, test_builder)
                var cmd = parser.parse("Character | text: foo")
                assert cmd isa CmdEntityLink
                assert parser.error == null
@@ -123,7 +123,7 @@ class TestCommandsParser
        end
 
        fun test_cmd_parser_short_link_with_name_and_title is test do
-               var parser = new CommandParser(test_view, test_builder)
+               var parser = new CommandParser(test_model, test_main, test_builder)
                var cmd = parser.parse("Character | title: bar")
                assert cmd isa CmdEntityLink
                assert parser.error == null
@@ -132,7 +132,7 @@ class TestCommandsParser
        end
 
        fun test_cmd_parser_short_link_with_name_and_text_and_title is test do
-               var parser = new CommandParser(test_view, test_builder)
+               var parser = new CommandParser(test_model, test_main, test_builder)
                var cmd = parser.parse("Character | text: foo, title: bar")
                assert cmd isa CmdEntityLink
                assert parser.error == null
@@ -143,7 +143,7 @@ class TestCommandsParser
        # CmdInheritance
 
        fun test_cmd_parser_parents is test do
-               var parser = new CommandParser(test_view, test_builder)
+               var parser = new CommandParser(test_model, test_main, test_builder, test_catalog)
                var cmd = parser.parse("parents: test_prog::Warrior")
                assert cmd isa CmdParents
                assert parser.error == null
@@ -151,7 +151,7 @@ class TestCommandsParser
        end
 
        fun test_cmd_parser_ancestors is test do
-               var parser = new CommandParser(test_view, test_builder)
+               var parser = new CommandParser(test_model, test_main, test_builder, test_catalog)
                var cmd = parser.parse("ancestors: test_prog::Warrior")
                assert cmd isa CmdAncestors
                assert parser.error == null
@@ -159,7 +159,7 @@ class TestCommandsParser
        end
 
        fun test_cmd_parser_ancestors_without_parents is test do
-               var parser = new CommandParser(test_view, test_builder)
+               var parser = new CommandParser(test_model, test_main, test_builder, test_catalog)
                var cmd = parser.parse("ancestors: test_prog::Warrior | parents: false")
                assert cmd isa CmdAncestors
                assert parser.error == null
@@ -167,7 +167,7 @@ class TestCommandsParser
        end
 
        fun test_cmd_parser_children is test do
-               var parser = new CommandParser(test_view, test_builder)
+               var parser = new CommandParser(test_model, test_main, test_builder, test_catalog)
                var cmd = parser.parse("children: test_prog::Career")
                assert cmd isa CmdChildren
                assert parser.error == null
@@ -175,7 +175,7 @@ class TestCommandsParser
        end
 
        fun test_cmd_parser_descendants is test do
-               var parser = new CommandParser(test_view, test_builder)
+               var parser = new CommandParser(test_model, test_main, test_builder, test_catalog)
                var cmd = parser.parse("descendants: Object")
                assert cmd isa CmdDescendants
                assert parser.error == null
@@ -183,7 +183,7 @@ class TestCommandsParser
        end
 
        fun test_cmd_parser_descendants_without_children is test do
-               var parser = new CommandParser(test_view, test_builder)
+               var parser = new CommandParser(test_model, test_main, test_builder, test_catalog)
                var cmd = parser.parse("descendants: Object | children: false")
                assert cmd isa CmdDescendants
                assert parser.error == null
@@ -193,7 +193,7 @@ class TestCommandsParser
        # CmdSearch
 
        fun test_cmd_parser_search is test do
-               var parser = new CommandParser(test_view, test_builder)
+               var parser = new CommandParser(test_model, test_main, test_builder, test_catalog, test_filter)
                var cmd = parser.parse("search: Caracter")
                assert cmd isa CmdSearch
                assert parser.error == null
@@ -201,7 +201,7 @@ class TestCommandsParser
        end
 
        fun test_cmd_parser_search_limit is test do
-               var parser = new CommandParser(test_view, test_builder)
+               var parser = new CommandParser(test_model, test_main, test_builder, test_catalog, test_filter)
                var cmd = parser.parse("search: Caracter | limit: 2")
                assert cmd isa CmdSearch
                assert parser.error == null
@@ -211,7 +211,7 @@ class TestCommandsParser
        # CmdFeatures
 
        fun test_cmd_parser_features is test do
-               var parser = new CommandParser(test_view, test_builder)
+               var parser = new CommandParser(test_model, test_main, test_builder, test_catalog, test_filter)
                var cmd = parser.parse("defs: test_prog::Character")
                assert cmd isa CmdFeatures
                assert parser.error == null
@@ -219,7 +219,7 @@ class TestCommandsParser
        end
 
        fun test_cmd_parser_features_limit is test do
-               var parser = new CommandParser(test_view, test_builder)
+               var parser = new CommandParser(test_model, test_main, test_builder, test_catalog, test_filter)
                var cmd = parser.parse("defs: test_prog::Character | limit: 2")
                assert cmd isa CmdFeatures
                assert parser.error == null
@@ -229,7 +229,7 @@ class TestCommandsParser
        # CmdLinearization
 
        fun test_cmd_parser_lin is test do
-               var parser = new CommandParser(test_view, test_builder)
+               var parser = new CommandParser(test_model, test_main, test_builder, test_catalog, test_filter)
                var cmd = parser.parse("lin: test_prog::Character")
                assert cmd isa CmdLinearization
                assert parser.error == null
@@ -237,7 +237,7 @@ class TestCommandsParser
        end
 
        fun test_cmd_parser_lin_limit is test do
-               var parser = new CommandParser(test_view, test_builder)
+               var parser = new CommandParser(test_model, test_main, test_builder, test_catalog, test_filter)
                var cmd = parser.parse("lin: test_prog::Character | limit: 2")
                assert cmd isa CmdLinearization
                assert parser.error == null
@@ -247,7 +247,7 @@ class TestCommandsParser
        # CmdCode
 
        fun test_cmd_parser_code is test do
-               var parser = new CommandParser(test_view, test_builder)
+               var parser = new CommandParser(test_model, test_main, test_builder, test_catalog, test_filter)
                var cmd = parser.parse("code: test_prog::Character")
                assert cmd isa CmdEntityCode
                assert parser.error == null
@@ -257,7 +257,7 @@ class TestCommandsParser
        # CmdModel
 
        fun test_cmd_parser_mentities is test do
-               var parser = new CommandParser(test_view, test_builder)
+               var parser = new CommandParser(test_model, test_main, test_builder, test_catalog, test_filter)
                var cmd = parser.parse("list: modules")
                assert cmd isa CmdModelEntities
                assert parser.error == null
@@ -265,7 +265,7 @@ class TestCommandsParser
        end
 
        fun test_cmd_parser_results_mentities is test do
-               var parser = new CommandParser(test_view, test_builder)
+               var parser = new CommandParser(test_model, test_main, test_builder, test_catalog, test_filter)
                var cmd = parser.parse("random: modules")
                assert cmd isa CmdRandomEntities
                assert parser.error == null
@@ -275,7 +275,7 @@ class TestCommandsParser
        # CmdGraph
 
        fun test_cmd_parser_uml is test do
-               var parser = new CommandParser(test_view, test_builder)
+               var parser = new CommandParser(test_model, test_main, test_builder, test_catalog, test_filter)
                var cmd = parser.parse("uml: test_prog::Career")
                assert cmd isa CmdUML
                assert parser.error == null
@@ -283,7 +283,7 @@ class TestCommandsParser
        end
 
        fun test_cmd_parser_inh_graph is test do
-               var parser = new CommandParser(test_view, test_builder)
+               var parser = new CommandParser(test_model, test_main, test_builder, test_catalog, test_filter)
                var cmd = parser.parse("graph: test_prog::Career")
                assert cmd isa CmdInheritanceGraph
                assert parser.error == null
@@ -291,7 +291,7 @@ class TestCommandsParser
        end
 
        fun test_cmd_parser_inh_graph_opts is test do
-               var parser = new CommandParser(test_view, test_builder)
+               var parser = new CommandParser(test_model, test_main, test_builder, test_catalog, test_filter)
                var cmd = parser.parse("graph: test_prog::Career | cdepth: 2, pdepth: 5")
                assert cmd isa CmdInheritanceGraph
                assert parser.error == null
@@ -303,7 +303,7 @@ class TestCommandsParser
        # CmdUsage
 
        fun test_cmd_parser_new is test do
-               var parser = new CommandParser(test_view, test_builder)
+               var parser = new CommandParser(test_model, test_main, test_builder, test_catalog, test_filter)
                var cmd = parser.parse("new: test_prog::Career")
                assert cmd isa CmdNew
                assert parser.error == null
@@ -311,7 +311,7 @@ class TestCommandsParser
        end
 
        fun test_cmd_parser_call is test do
-               var parser = new CommandParser(test_view, test_builder)
+               var parser = new CommandParser(test_model, test_main, test_builder, test_catalog, test_filter)
                var cmd = parser.parse("call: strength_bonus")
                assert cmd isa CmdCall
                assert parser.error == null
@@ -319,7 +319,7 @@ class TestCommandsParser
        end
 
        fun test_cmd_parser_return is test do
-               var parser = new CommandParser(test_view, test_builder)
+               var parser = new CommandParser(test_model, test_main, test_builder, test_catalog, test_filter)
                var cmd = parser.parse("return: test_prog::Career")
                assert cmd isa CmdReturn
                assert parser.error == null
@@ -327,7 +327,7 @@ class TestCommandsParser
        end
 
        fun test_cmd_parser_param is test do
-               var parser = new CommandParser(test_view, test_builder)
+               var parser = new CommandParser(test_model, test_main, test_builder, test_catalog, test_filter)
                var cmd = parser.parse("param: test_prog::Career")
                assert cmd isa CmdParam
                assert parser.error == null
@@ -337,7 +337,7 @@ class TestCommandsParser
        # CmdCatalog
 
        fun test_parser_catalog_search is test do
-               var parser = new CommandParser(test_view, test_builder)
+               var parser = new CommandParser(test_model, test_main, test_builder, test_catalog, test_filter)
                var cmd = parser.parse("search: Caracter")
                assert cmd isa CmdSearch
                assert parser.error == null
@@ -345,7 +345,7 @@ class TestCommandsParser
        end
 
        fun test_cmd_parser_catalog_packages is test do
-               var parser = new CommandParser(test_view, test_builder, test_catalog)
+               var parser = new CommandParser(test_model, test_main, test_builder, test_catalog, test_filter)
                var cmd = parser.parse("catalog:")
                assert cmd isa CmdCatalogPackages
                assert parser.error == null
@@ -353,7 +353,7 @@ class TestCommandsParser
        end
 
        fun test_cmd_parser_catalog_stats is test do
-               var parser = new CommandParser(test_view, test_builder, test_catalog)
+               var parser = new CommandParser(test_model, test_main, test_builder, test_catalog, test_filter)
                var cmd = parser.parse("stats:")
                assert cmd isa CmdCatalogStats
                assert parser.error == null
@@ -361,7 +361,7 @@ class TestCommandsParser
        end
 
        fun test_cmd_parser_catalog_tags is test do
-               var parser = new CommandParser(test_view, test_builder, test_catalog)
+               var parser = new CommandParser(test_model, test_main, test_builder, test_catalog, test_filter)
                var cmd = parser.parse("tags:")
                assert cmd isa CmdCatalogTags
                assert parser.error == null
@@ -369,7 +369,7 @@ class TestCommandsParser
        end
 
        fun test_cmd_parser_catalog_tag is test do
-               var parser = new CommandParser(test_view, test_builder, test_catalog)
+               var parser = new CommandParser(test_model, test_main, test_builder, test_catalog, test_filter)
                var cmd = parser.parse("tag: test")
                assert cmd isa CmdCatalogTag
                assert parser.error == null
@@ -378,7 +378,7 @@ class TestCommandsParser
        end
 
        fun test_cmd_parser_catalog_person is test do
-               var parser = new CommandParser(test_view, test_builder, test_catalog)
+               var parser = new CommandParser(test_model, test_main, test_builder, test_catalog, test_filter)
                var cmd = parser.parse("person: Alexandre Terrasa")
                assert cmd isa CmdCatalogPerson
                assert parser.error == null
@@ -386,7 +386,7 @@ class TestCommandsParser
        end
 
        fun test_cmd_parser_catalog_contributing is test do
-               var parser = new CommandParser(test_view, test_builder, test_catalog)
+               var parser = new CommandParser(test_model, test_main, test_builder, test_catalog, test_filter)
                var cmd = parser.parse("contrib: Alexandre Terrasa")
                assert cmd isa CmdCatalogContributing
                assert parser.error == null
@@ -395,7 +395,7 @@ class TestCommandsParser
        end
 
        fun test_cmd_parser_catalog_maintaining is test do
-               var parser = new CommandParser(test_view, test_builder, test_catalog)
+               var parser = new CommandParser(test_model, test_main, test_builder, test_catalog, test_filter)
                var cmd = parser.parse("maintain: Alexandre Terrasa")
                assert cmd isa CmdCatalogMaintaining
                assert parser.error == null
@@ -406,7 +406,7 @@ class TestCommandsParser
        # CmdInit
 
        fun test_cmd_parser_ini_desc is test do
-               var parser = new CommandParser(test_view, test_builder, test_catalog)
+               var parser = new CommandParser(test_model, test_main, test_builder, test_catalog)
                var cmd = parser.parse("ini-desc: test_prog")
                assert cmd isa CmdIniDescription
                assert parser.error == null
@@ -414,7 +414,7 @@ class TestCommandsParser
        end
 
        fun test_cmd_parser_ini_git is test do
-               var parser = new CommandParser(test_view, test_builder, test_catalog)
+               var parser = new CommandParser(test_model, test_main, test_builder, test_catalog)
                var cmd = parser.parse("ini-git: test_prog")
                assert cmd isa CmdIniGitUrl
                assert parser.error == null
@@ -422,7 +422,7 @@ class TestCommandsParser
        end
 
        fun test_cmd_parser_ini_clone is test do
-               var parser = new CommandParser(test_view, test_builder, test_catalog)
+               var parser = new CommandParser(test_model, test_main, test_builder, test_catalog)
                var cmd = parser.parse("git-clone: test_prog")
                assert cmd isa CmdIniCloneCommand
                assert parser.error == null
@@ -431,7 +431,7 @@ class TestCommandsParser
        end
 
        fun test_cmd_parser_ini_issues is test do
-               var parser = new CommandParser(test_view, test_builder, test_catalog)
+               var parser = new CommandParser(test_model, test_main, test_builder, test_catalog)
                var cmd = parser.parse("ini-issues: test_prog")
                assert cmd isa CmdIniIssuesUrl
                assert parser.error == null
@@ -439,7 +439,7 @@ class TestCommandsParser
        end
 
        fun test_cmd_parser_ini_maintainer is test do
-               var parser = new CommandParser(test_view, test_builder, test_catalog)
+               var parser = new CommandParser(test_model, test_main, test_builder, test_catalog)
                var cmd = parser.parse("ini-maintainer: test_prog")
                assert cmd isa CmdIniMaintainer
                assert parser.error == null
@@ -447,7 +447,7 @@ class TestCommandsParser
        end
 
        fun test_cmd_parser_ini_contributors is test do
-               var parser = new CommandParser(test_view, test_builder, test_catalog)
+               var parser = new CommandParser(test_model, test_main, test_builder, test_catalog)
                var cmd = parser.parse("ini-contributors: test_prog")
                assert cmd isa CmdIniContributors
                assert parser.error == null
@@ -458,7 +458,7 @@ class TestCommandsParser
        end
 
        fun test_cmd_parser_ini_license is test do
-               var parser = new CommandParser(test_view, test_builder, test_catalog)
+               var parser = new CommandParser(test_model, test_main, test_builder, test_catalog)
                var cmd = parser.parse("ini-license: test_prog")
                assert cmd isa CmdIniLicense
                assert parser.error == null
@@ -466,7 +466,7 @@ class TestCommandsParser
        end
 
        fun test_cmd_parser_ini_license_file is test do
-               var parser = new CommandParser(test_view, test_builder, test_catalog)
+               var parser = new CommandParser(test_model, test_main, test_builder, test_catalog)
                var cmd = parser.parse("license-file: test_prog")
                assert cmd isa CmdLicenseFile
                assert parser.error == null
@@ -476,7 +476,7 @@ class TestCommandsParser
        end
 
        fun test_cmd_parser_ini_license_content is test do
-               var parser = new CommandParser(test_view, test_builder, test_catalog)
+               var parser = new CommandParser(test_model, test_main, test_builder, test_catalog)
                var cmd = parser.parse("license-content: test_prog")
                assert cmd isa CmdLicenseFileContent
                assert parser.error == null
@@ -486,7 +486,7 @@ class TestCommandsParser
        end
 
        fun test_cmd_parser_ini_contrib_file is test do
-               var parser = new CommandParser(test_view, test_builder, test_catalog)
+               var parser = new CommandParser(test_model, test_main, test_builder, test_catalog)
                var cmd = parser.parse("contrib-file: test_prog")
                assert cmd isa CmdContribFile
                assert parser.error == null
@@ -496,7 +496,7 @@ class TestCommandsParser
        end
 
        fun test_cmd_parser_ini_contrib_content is test do
-               var parser = new CommandParser(test_view, test_builder, test_catalog)
+               var parser = new CommandParser(test_model, test_main, test_builder, test_catalog)
                var cmd = parser.parse("contrib-content: test_prog")
                assert cmd isa CmdContribFileContent
                assert parser.error == null
@@ -508,7 +508,7 @@ class TestCommandsParser
        # CmdMain
 
        fun test_cmd_parser_mains is test do
-               var parser = new CommandParser(test_view, test_builder, test_catalog)
+               var parser = new CommandParser(test_model, test_main, test_builder, test_catalog)
                var cmd = parser.parse("mains: test_prog")
                assert cmd isa CmdMains
                assert parser.error == null
@@ -520,7 +520,7 @@ class TestCommandsParser
        end
 
        fun test_cmd_parser_main_compile is test do
-               var parser = new CommandParser(test_view, test_builder, test_catalog)
+               var parser = new CommandParser(test_model, test_main, test_builder, test_catalog)
                var cmd = parser.parse("main-compile: test_prog::test_prog")
                assert cmd isa CmdMainCompile
                assert parser.error == null
@@ -532,7 +532,7 @@ class TestCommandsParser
        end
 
        fun test_cmd_parser_testing is test do
-               var parser = new CommandParser(test_view, test_builder, test_catalog)
+               var parser = new CommandParser(test_model, test_main, test_builder, test_catalog)
                var cmd = parser.parse("testing: test_prog")
                assert cmd isa CmdTesting
                assert parser.error == null
@@ -544,7 +544,7 @@ class TestCommandsParser
        end
 
        fun test_cmd_man_synopsis is test do
-               var parser = new CommandParser(test_view, test_builder, test_catalog)
+               var parser = new CommandParser(test_model, test_main, test_builder, test_catalog)
                var cmd = parser.parse("main-run: test_prog")
                assert cmd isa CmdManSynopsis
                assert parser.error == null
@@ -553,7 +553,7 @@ class TestCommandsParser
        end
 
        fun test_cmd_man_opions is test do
-               var parser = new CommandParser(test_view, test_builder, test_catalog)
+               var parser = new CommandParser(test_model, test_main, test_builder, test_catalog)
                var cmd = parser.parse("main-opts: test_prog")
                assert cmd isa CmdManOptions
                assert parser.error == null
index b07c336..13c9680 100644 (file)
@@ -22,40 +22,40 @@ class TestCommandsUsage
        test
 
        fun test_cmd_new is test do
-               var cmd = new CmdNew(test_view, test_builder, mentity_name = "test_prog::Character")
+               var cmd = new CmdNew(test_model, test_builder, test_filter, mentity_name = "test_prog::Character")
                var res = cmd.init_command
                assert res isa CmdSuccess
                assert cmd.results != null
        end
 
        fun test_cmd_new_not_class is test do
-               var cmd = new CmdNew(test_view, test_builder, mentity_name = "strength_bonus")
+               var cmd = new CmdNew(test_model, test_builder, test_filter, mentity_name = "strength_bonus")
                var res = cmd.init_command
                assert res isa ErrorNotClass
        end
 
        fun test_cmd_call is test do
-               var cmd = new CmdCall(test_view, test_builder, mentity_name = "strength_bonus")
+               var cmd = new CmdCall(test_model, test_builder, test_filter, mentity_name = "strength_bonus")
                var res = cmd.init_command
                assert res isa CmdSuccess
                assert cmd.results != null
        end
 
        fun test_cmd_call_not_prop is test do
-               var cmd = new CmdCall(test_view, test_builder, mentity_name = "test_prog::Character")
+               var cmd = new CmdCall(test_model, test_builder, test_filter, mentity_name = "test_prog::Character")
                var res = cmd.init_command
                assert res isa ErrorNotProperty
        end
 
        fun test_cmd_return is test do
-               var cmd = new CmdReturn(test_view, mentity_name = "test_prog::Character")
+               var cmd = new CmdReturn(test_model, test_filter, mentity_name = "test_prog::Character")
                var res = cmd.init_command
                assert res isa CmdSuccess
                assert cmd.results != null
        end
 
        fun test_cmd_param is test do
-               var cmd = new CmdParam(test_view, mentity_name = "test_prog::Character")
+               var cmd = new CmdParam(test_model, test_filter, mentity_name = "test_prog::Character")
                var res = cmd.init_command
                assert res isa CmdSuccess
                assert cmd.results != null