view src/docgen/tests/listing.d @ 806:bcb74c9b895c

Moved out files in the trunk folder to the root.
author Aziz K?ksal <aziz.koeksal@gmail.com>
date Sun, 09 Mar 2008 00:12:19 +0100
parents trunk/src/docgen/tests/listing.d@231c9a44ba8e
children
line wrap: on
line source

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

import docgen.misc.parser;
import docgen.tests.common;
import docgen.sourcelisting.writers;
import docgen.page.writers;
import tango.io.FileConduit;
import tango.text.Util;

// doc template
//@unittest
void listing1() {
  auto gen = new TestDocGenerator;
  gen.options.outputFormats = [ DocFormat.LaTeX ];
  auto fname = "files.tex";
  
  auto ddf = new DefaultPageWriterFactory(gen);
  auto dlwf = new DefaultListingWriterFactory(gen);
  auto file = new FileConduit("docgen/teststuff/" ~ fname, FileConduit.WriteCreate);
  

  Module[] modules;

  Parser.loadModules(
    [ "c" ], [ "docgen/teststuff/" ],
    null, true, -1,
    (char[] fqn, char[] path, Module m) {},
    (Module imported, Module importer, bool isPublic, bool isStatic) {},
    modules
  );
  
  foreach(mod; modules) {
    auto dstFname = replace(mod.moduleFQN.dup, '.', '_');
    
    auto srcFile = new FileConduit(mod.filePath);
    auto dstFile = new FileConduit("docgen/teststuff/_" ~ dstFname ~ ".d", FileConduit.WriteCreate);
    auto writer = dlwf.createListingWriter( ddf.createPageWriter( [ file ],
          DocFormat.LaTeX ), DocFormat.LaTeX );
    
    writer.generateListing(srcFile, dstFile, mod.moduleFQN);

    srcFile.close();
    dstFile.close();
  }
  
  file.close();
}