view trunk/src/docgen/tests/parse.d @ 441:13ecfb4278a4

Initial docgen test stuff.
author Jari-Matti M?kel? <jmjm@iki.fi>
date Tue, 16 Oct 2007 17:53:59 +0300
parents
children 49f3afd6a0e8
line wrap: on
line source

/**
 * Author: Jari-Matti Mäkelä
 * License: GPL3
 */
module docgen.tests.parse;

import docgen.misc.parser;
import tango.io.Stdout;
import tango.io.FileConduit;
import tango.io.Print: Print;
import tango.text.convert.Layout : Layout;
import dil.Module;

void saveToFile(char[] fname, void delegate(Print!(char) file) foo) {
  auto file = new FileConduit("docgen/teststuff/" ~ fname, FileConduit.WriteCreate);
  auto output = new Print!(char)(new Layout!(char), file);
  
  foo(output);
  
  file.close();
}

// load some test files
//@unittest
void parse1() {
  saveToFile("parse1.txt", (Print!(char) file){
  
  Module[] modules;

  Parser.loadModules(
    [ "c" ], ["docgen/teststuff/"[].dup],
    null, true, -1,
    (char[] fqn, char[] path, Module m) {
      file.format("{0} = {1}\n", fqn, path);
    },
    (Module imported, Module importer) {
      file.format("{0} <- {1}\n",
        imported ? imported.moduleFQN : "null"[],
        importer ? importer.moduleFQN : "null"[]
      );
    },
    modules
    );
  });
}

// load the imports of dil
//@unittest
void parse2() {
saveToFile("parse2.txt", (Print!(char) file){

Module[] modules;

Parser.loadModules(
  [ "docgen-tests" ], [".", "/home/jm/d/tango/"],
//  [ "c" ], ["docgen/teststuff/"[].dup],
  null, true, -1,
  (char[] fqn, char[] path, Module m) {
    file.format("{0} = {1}\n", fqn, path);
  },
  (Module imported, Module importer) {
    file.format("{0} <- {1}\n",
      imported ? imported.moduleFQN : "null"[],
      importer ? importer.moduleFQN : "null"[]
    );
  },
  modules
  );
});
}