| 
<?php/*
 * test_markdown_parser.php
 *
 * @(#) $Id: test_markdown_parser.php,v 1.4 2012/11/18 05:18:41 mlemos Exp $
 *
 */
 
 require_once('markdown_parser.php');
 
 $message_file = ((IsSet($_SERVER['argv']) && count($_SERVER['argv'])>1) ? $_SERVER['argv'][1] : 'test/sample/sample.md');
 $markdown=new markdown_parser_class;
 
 /*  Set to 1 if the you need to track line numbers of errors or element
 *  positions
 */
 $markdown->track_lines = 1;
 
 $parameters=array(
 'File'=>$message_file,
 
 /* Read a markdown from a string instead of a file */
 /* 'Data'=>'Markdown data here',                   */
 );
 
 /*
 * The following lines are for testing purposes.
 * Remove these lines when adapting this example to real applications.
 */
 if(defined('__TEST'))
 {
 if(IsSet($__test_options['parameters']))
 $parameters = $__test_options['parameters'];
 $markdown->buffer_length = (IsSet($__test_options['buffer_length']) ? $__test_options['buffer_length'] : 8000);
 $markdown->track_lines = (IsSet($__test_options['track_lines']) ? $__test_options['track_lines'] : 0);
 }
 
 if(($success = $markdown->StartParsing($parameters)))
 {
 do
 {
 if(!($success = $markdown->Parse($end, $elements)))
 break;
 $te = count($elements);
 for($e = 0; $e < $te; ++$e)
 var_dump($elements[$e]);
 }
 while(!$end);
 if($success)
 $success = $markdown->FinishParsing();
 }
 if(!$success)
 {
 echo 'Markdown parsing error: '.$markdown->error.' at position '.$markdown->error_position;
 if($markdown->track_lines
 && $markdown->GetPositionLine($markdown->error_position, $line, $column))
 echo ' line '.$line.' column '.$column;
 echo "\n";
 }
 for($warning = 0, Reset($markdown->warnings); $warning < count($markdown->warnings); Next($markdown->warnings), $warning++)
 {
 $w = Key($markdown->warnings);
 echo 'Warning: ', $markdown->warnings[$w], ' at position ', $w;
 if($markdown->track_lines
 && $markdown->GetPositionLine($w, $line, $column))
 echo ' line '.$line.' column '.$column;
 echo "\n";
 }
 ?>
 |