Devel-PerlySense

 view release on metacpan or  search on metacpan

t/PerlySense-call-tree-visualize.t  view on Meta::CPAN

#!/usr/bin/perl -w
use strict;

use Test::More;
use Test::Differences;
use Test::Exception;
use Data::Dumper;

use lib "../lib";

use_ok("Devel::PerlySense::CallTree");
use_ok("Devel::PerlySense::CallTree::Graph");



my $source = "
#     Devel::PerlySense->oLocationSmartGoTo
#     Devel::PerlySense->oLocationSmartDoc
#     Devel::PerlySense->classByName
#         * Devel::PerlySense->oLocationSmartGoTo
#         * Devel::PerlySense->oLocationSmartDoc
#     Devel::PerlySense->aDocumentFindModuleWithInterface
#             Devel::PerlySense::Class->new
#         Devel::PerlySense::Class->findBaseClasses
#     Devel::PerlySense::Class->newFromName
#         * Devel::PerlySense->oLocationSmartGoTo
#             Devel::PerlySense::Class->oLocationMethodGoTo
#         Devel::PerlySense->oLocationMethodDefinitionFromDocument
#         * Devel::PerlySense::Document->oLocationSubDefinition
#     Devel::PerlySense::Document->oLocationSubDefinition
#             * Devel::PerlySense->oLocationSmartDoc
#             Devel::PerlySense::Class->oLocationMethodDoc
#             Devel::PerlySense::Document::Api::Method->new
#         Devel::PerlySense->oLocationMethodDocFromDocument
#         * Devel::PerlySense::Document->oLocationSubDefinition
#         * Devel::PerlySense::Document->oLocationPod
#     Devel::PerlySense::Document->oLocationPod
#             * Devel::PerlySense->aDocumentFindModuleWithInterface
#             Devel::PerlySense->aApiOfClass
#             * Devel::PerlySense::Document->determineLikelyApi0
#             Devel::PerlySense::Editor->textClassApi
#         Devel::PerlySense::Document->determineLikelyApi
#     Devel::PerlySense::Document->determineLikelyApi0
# Devel::PerlySense->oDocumentFindModule
";

ok(my $call_tree = Devel::PerlySense::CallTree->new(source => $source), "new ok");

eq_or_diff(
    [ map { $_->id } @{$call_tree->callers} ],
    [
        "devel_perlysense__odocumentfindmodule",
        "devel_perlysense_document__determinelikelyapi0",
        "devel_perlysense_document__determinelikelyapi",
        "devel_perlysense_editor__textclassapi",
        "devel_perlysense_document__determinelikelyapi0",
        "devel_perlysense__aapiofclass",
        "devel_perlysense__adocumentfindmodulewithinterface",
        "devel_perlysense_document__olocationpod",
        "devel_perlysense_document__olocationpod",
        "devel_perlysense_document__olocationsubdefinition",
        "devel_perlysense__olocationmethoddocfromdocument",
        "devel_perlysense_document_api_method__new",
        "devel_perlysense_class__olocationmethoddoc",
        "devel_perlysense__olocationsmartdoc",



( run in 1.979 second using v1.01-cache-2.11-cpan-75ffa21a3d4 )