docs: function(oUnitTest) {
            var _,
                /**
                 * An array-like object representing the <abbr title=
                 * "abstract syntax tree">AST</abbr> obtained after consolidation.
                 * @type {!TSyntacticCodeUnit}
                 */
                oSyntacticCodeUnitActual =
                    exports.ast_consolidate(oParser.parse(oUnitTest.sInput)),
                /**
                 * An array-like object representing the expected <abbr title=
                 * "abstract syntax tree">AST</abbr>.
                 * @type {!TSyntacticCodeUnit}
                 */
                oSyntacticCodeUnitExpected = oParser.parse(
                    oUnitTest.hasOwnProperty('sOutput') ?
                    oUnitTest.sOutput : oUnitTest.sInput);
  
            delete oSyntacticCodeUnitActual.scope;
            oWalker = oProcessor.ast_walker();
            oWalker.with_walkers(
                oWalkersPurifiers,
                cContext(oWalker, oSyntacticCodeUnitActual));
            try {
              oAssert.deepEqual(
                  oSyntacticCodeUnitActual,
                  oSyntacticCodeUnitExpected);
            } catch (oException) {
              console.error(
                  '########## A unit test has failed.\n' +
                  oUnitTest.sTitle + '\n' +
                  '#####  actual code  (' +
                  oProcessor.gen_code(oSyntacticCodeUnitActual).length +
                  ' bytes)\n' +
                  oProcessor.gen_code(
                      oSyntacticCodeUnitActual,
                      oCodeGenerationOptions) + '\n' +
                  '##### expected code (' +
                  oProcessor.gen_code(oSyntacticCodeUnitExpected).length +
                  ' bytes)\n' +
                  oProcessor.gen_code(
                      oSyntacticCodeUnitExpected,
                      oCodeGenerationOptions));
            }
          }