File: 82_cycle.t

package info (click to toggle)
libgraph-perl 1%3A0.9726-1
  • links: PTS, VCS
  • area: main
  • in suites: bookworm
  • size: 996 kB
  • sloc: perl: 4,083; sh: 8; makefile: 2
file content (30 lines) | stat: -rw-r--r-- 590 bytes parent folder | download | duplicates (3)
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
30
use strict; use warnings;
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('', @_);
}