docdown: read simple fence tag (type)
[nit.git] / src / testing / testing_doc.nit
index 566e014..86466bf 100644 (file)
 module testing_doc
 
 import testing_base
-intrude import markdown
+intrude import docdown
 
 # Extractor, Executor and Reporter for the tests in a module
 class NitUnitExecutor
        super Doc2Mdwn
 
-       # The module to import
-       var mmodule: MModule
-
        # The prefix of the generated Nit source-file
        var prefix: String
 
+       # The module to import
+       var mmodule: MModule
+
        # The XML node associated to the module
        var testsuite: HTMLTag
 
-       # Initialize a new e
-       init(toolcontext: ToolContext, prefix: String, mmodule: MModule, testsuite: HTMLTag)
-       do
-               super(toolcontext)
-               self.prefix = prefix
-               self.mmodule = mmodule
-               self.testsuite = testsuite
-       end
-
        # All blocks of code from a same `ADoc`
        var blocks = new Array[Array[String]]
 
-       redef fun process_code(n: HTMLTag, text: String)
+       redef fun process_code(n: HTMLTag, text: String, tag: nullable String)
        do
+               # Skip non-blocks
+               if n.tag != "pre" then return
+
                # Try to parse it
                var ast = toolcontext.parse_something(text)
 
@@ -80,7 +74,7 @@ class NitUnitExecutor
        end
 
        # The associated node to localize warnings
-       var ndoc: nullable ADoc
+       var ndoc: nullable ADoc = null
 
        # used to generate distinct names
        var cpt = 0
@@ -107,7 +101,7 @@ class NitUnitExecutor
                toolcontext.modelbuilder.unit_entities += 1
 
                cpt += 1
-               var file = "{prefix}{cpt}.nit"
+               var file = "{prefix}-{cpt}.nit"
 
                toolcontext.info("Execute doc-unit {tc.attrs["name"]} in {file}", 1)
 
@@ -127,8 +121,8 @@ class NitUnitExecutor
                if toolcontext.opt_noact.value then return
 
                var nit_dir = toolcontext.nit_dir
-               var nitg = "{nit_dir or else ""}/bin/nitg"
-               if nit_dir == null or not nitg.file_exists then
+               var nitg = nit_dir/"bin/nitg"
+               if not nitg.file_exists then
                        toolcontext.error(null, "Cannot find nitg. Set envvar NIT_DIR.")
                        toolcontext.check_errors
                end