File: 82_cycle.t

package info (click to toggle)
libgraph-perl 1%3A0.96-2
  • links: PTS, VCS
  • area: main
  • in suites: stretch
  • size: 1,316 kB
  • ctags: 938
  • sloc: perl: 6,094; sh: 8; makefile: 2
file content (29 lines) | stat: -rw-r--r-- 562 bytes parent folder | download | duplicates (6)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
use Graph;
use Test::More tests => 1;

eval 'require Devel::Cycle';
SKIP: {
    skip("no Devel::Cycle", 1) if $@;
    import Devel::Cycle;
    my $g = Graph->new;
    $g->add_edge(qw(a b));
    $g->add_edge(qw(b c));
    $g->add_edge(qw(c d));
    $g->add_edge(qw(c e));
    $g->add_cycle(qw(e f g)); # This is not a true cycle if weakrefs work.
    my $out = tie *STDOUT, 'FakeOut';
    find_cycle($g);
    is($$out, undef);
}

package FakeOut;

sub TIEHANDLE {
    bless(\(my $text), $_[0]);
}

sub PRINT {
    my $self = shift;
    $$self .= join('', @_);
}