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('', @_);
}