Blame | Letzte Änderung | Log anzeigen | RSS feed
--TEST--Unit test for call graph with labeled clusters--FILE--<?php/*** Test 17: "Call graph with labeled clusters"** Graph definition taken from GraphViz documentation** @category Image* @package Image_GraphViz* @author Philippe Jausions <jausions@php.net>*/require_once 'Image/GraphViz.php';$graph = new Image_GraphViz(true, array('size' => 8.6, 'ratio' => 'fill'),'G', false);$graph->addCluster('cluster_error.h', 'error.h');$graph->addNode('interp_err', null, 'cluster_error.h');$graph->addCluster('cluster_sfio.h', 'sfio.h');$graph->addNode('sfprintf', null, 'cluster_sfio.h');$graph->addCluster('cluster_ciafan.c', 'ciafan.c');$graph->addNode('ciafan', null, 'cluster_ciafan.c');$graph->addNode('computefan', null, 'cluster_ciafan.c');$graph->addNode('increment', null, 'cluster_ciafan.c');$graph->addCluster('cluster_util.c', 'util.c');$graph->addNode('stringdup', null, 'cluster_util.c');$graph->addNode('fatal', null, 'cluster_util.c');$graph->addNode('debug', null, 'cluster_util.c');$graph->addCluster('cluster_query.h', 'query.h');$graph->addNode('ref', null, 'cluster_query.h');$graph->addNode('def', null, 'cluster_query.h');$graph->addCluster('cluster_field.h', '');$graph->addNode('get_sym_fields', null, 'cluster_field.h');$graph->addCluster('cluster_stdio.h', 'stdio.h');$graph->addNode('stdprintf', null, 'cluster_stdio.h');$graph->addNode('stdsprintf', null, 'cluster_stdio.h');$graph->addCluster('cluster_<libc.a>', '');$graph->addNode('getopt', null, 'cluster_<libc.a>');$graph->addCluster('cluster_stdlib.h', 'stdlib.h');$graph->addNode('exit', null, 'cluster_stdlib.h');$graph->addNode('malloc', null, 'cluster_stdlib.h');$graph->addNode('free', null, 'cluster_stdlib.h');$graph->addNode('realloc', null, 'cluster_stdlib.h');$graph->addCluster('cluster_main.c', '');$graph->addNode('main', null, 'cluster_main.c');$graph->addCluster('cluster_index.h', '');$graph->addNode('init_index', null, 'cluster_index.h');$graph->addCluster('cluster_string.h', 'string.h');$graph->addNode('strcpy', null, 'cluster_string.h');$graph->addNode('strlen', null, 'cluster_string.h');$graph->addNode('strcmp', null, 'cluster_string.h');$graph->addNode('strcat', null, 'cluster_string.h');$graph->addEdge(array('ciafan' => 'computefan'));$graph->addEdge(array('fan' => 'increment'));$graph->addEdge(array('computefan' => 'fan'));$graph->addEdge(array('stringdup' => 'fatal'));$graph->addEdge(array('main' => 'exit'));$graph->addEdge(array('main' => 'interp_err'));$graph->addEdge(array('main' => 'ciafan'));$graph->addEdge(array('main' => 'fatal'));$graph->addEdge(array('main' => 'malloc'));$graph->addEdge(array('main' => 'strcpy'));$graph->addEdge(array('main' => 'getopt'));$graph->addEdge(array('main' => 'init_index'));$graph->addEdge(array('main' => 'strlen'));$graph->addEdge(array('fan' => 'fatal'));$graph->addEdge(array('fan' => 'ref'));$graph->addEdge(array('fan' => 'interp_err'));$graph->addEdge(array('ciafan' => 'def'));$graph->addEdge(array('fan' => 'free'));$graph->addEdge(array('computefan' => 'stdprintf'));$graph->addEdge(array('computefan' => 'get_sym_fields'));$graph->addEdge(array('fan' => 'exit'));$graph->addEdge(array('fan' => 'malloc'));$graph->addEdge(array('increment' => 'strcmp'));$graph->addEdge(array('computefan' => 'malloc'));$graph->addEdge(array('fan' => 'stdsprintf'));$graph->addEdge(array('fan' => 'strlen'));$graph->addEdge(array('computefan' => 'strcmp'));$graph->addEdge(array('computefan' => 'realloc'));$graph->addEdge(array('computefan' => 'strlen'));$graph->addEdge(array('debug' => 'sfprintf'));$graph->addEdge(array('debug' => 'strcat'));$graph->addEdge(array('stringdup' => 'malloc'));$graph->addEdge(array('fatal' => 'sfprintf'));$graph->addEdge(array('stringdup' => 'strcpy'));$graph->addEdge(array('stringdup' => 'strlen'));$graph->addEdge(array('fatal' => 'exit'));echo $graph->parse();?>--EXPECT--digraph G {size=8.6;ratio=fill;subgraph "cluster_error.h" {graph [ label="error.h" ];interp_err;}subgraph "cluster_sfio.h" {graph [ label="sfio.h" ];sfprintf;}subgraph "cluster_ciafan.c" {graph [ label="ciafan.c" ];ciafan;computefan;increment;}subgraph "cluster_util.c" {graph [ label="util.c" ];stringdup;fatal;debug;}subgraph "cluster_query.h" {graph [ label="query.h" ];ref;def;}subgraph "cluster_field.h" {get_sym_fields;}subgraph "cluster_stdio.h" {graph [ label="stdio.h" ];stdprintf;stdsprintf;}subgraph "cluster_<libc.a>" {getopt;}subgraph "cluster_stdlib.h" {graph [ label="stdlib.h" ];exit;malloc;free;realloc;}subgraph "cluster_main.c" {main;}subgraph "cluster_index.h" {init_index;}subgraph "cluster_string.h" {graph [ label="string.h" ];strcpy;strlen;strcmp;strcat;}ciafan -> computefan;ciafan -> def;fan -> increment;fan -> fatal;fan -> ref;fan -> interp_err;fan -> free;fan -> exit;fan -> malloc;fan -> stdsprintf;fan -> strlen;computefan -> fan;computefan -> stdprintf;computefan -> get_sym_fields;computefan -> malloc;computefan -> strcmp;computefan -> realloc;computefan -> strlen;stringdup -> fatal;stringdup -> malloc;stringdup -> strcpy;stringdup -> strlen;main -> exit;main -> interp_err;main -> ciafan;main -> fatal;main -> malloc;main -> strcpy;main -> getopt;main -> init_index;main -> strlen;increment -> strcmp;debug -> sfprintf;debug -> strcat;fatal -> sfprintf;fatal -> exit;}