/usr/share/doc/perl-Test-Simple/t/Legacy
#!/usr/bin/perl -w # Test is_deeply and friends with circular data structures [rt.cpan.org 7289] BEGIN { if( $ENV{PERL_CORE} ) { chdir 't'; @INC = ('../lib', 'lib'); } else { unshift @INC, 't/lib'; } } use strict; use Test::More tests => 11; my $a1 = [ 1, 2, 3 ]; push @$a1, $a1; my $a2 = [ 1, 2, 3 ]; push @$a2, $a2; is_deeply $a1, $a2; ok( eq_array ($a1, $a2) ); ok( eq_set ($a1, $a2) ); my $h1 = { 1=>1, 2=>2, 3=>3 }; $h1->{4} = $h1; my $h2 = { 1=>1, 2=>2, 3=>3 }; $h2->{4} = $h2; is_deeply $h1, $h2; ok( eq_hash ($h1, $h2) ); my ($r, $s); $r = \$r; $s = \$s; ok( eq_array ([$s], [$r]) ); { # Classic set of circular scalar refs. my($a,$b,$c); $a = \$b; $b = \$c; $c = \$a; my($d,$e,$f); $d = \$e; $e = \$f; $f = \$d; is_deeply( $a, $a ); is_deeply( $a, $d ); } { # rt.cpan.org 11623 # Make sure the circular ref checks don't get confused by a reference # which is simply repeating. my $a = {}; my $b = {}; my $c = {}; is_deeply( [$a, $a], [$b, $c] ); is_deeply( { foo => $a, bar => $a }, { foo => $b, bar => $c } ); is_deeply( [\$a, \$a], [\$b, \$c] ); }
.
Edit
..
Edit
00test_harness_check.t
Edit
01-basic.t
Edit
478-cmp_ok_hash.t
Edit
BEGIN_require_ok.t
Edit
BEGIN_use_ok.t
Edit
Bugs
Edit
Builder
Edit
More.t
Edit
Regression
Edit
Simple
Edit
Test2
Edit
Tester
Edit
auto.t
Edit
bad_plan.t
Edit
bail_out.t
Edit
buffer.t
Edit
c_flag.t
Edit
capture.t
Edit
check_tests.t
Edit
circular_data.t
Edit
cmp_ok.t
Edit
depth.t
Edit
diag.t
Edit
died.t
Edit
dont_overwrite_die_handler.t
Edit
eq_set.t
Edit
exit.t
Edit
explain.t
Edit
explain_err_vars.t
Edit
extra.t
Edit
extra_one.t
Edit
fail-like.t
Edit
fail-more.t
Edit
fail.t
Edit
fail_one.t
Edit
filehandles.t
Edit
fork.t
Edit
harness_active.t
Edit
import.t
Edit
is_deeply_dne_bug.t
Edit
is_deeply_fail.t
Edit
is_deeply_with_threads.t
Edit
missing.t
Edit
new_ok.t
Edit
no_log_results.t
Edit
no_plan.t
Edit
no_tests.t
Edit
note.t
Edit
overload.t
Edit
overload_threads.t
Edit
plan.t
Edit
plan_bad.t
Edit
plan_is_noplan.t
Edit
plan_no_plan.t
Edit
plan_shouldnt_import.t
Edit
plan_skip_all.t
Edit
require_ok.t
Edit
run_test.t
Edit
simple.t
Edit
skip.t
Edit
skipall.t
Edit
strays.t
Edit
subtest
Edit
tbm_doesnt_set_exported_to.t
Edit
thread_taint.t
Edit
threads.t
Edit
todo.t
Edit
undef.t
Edit
use_ok.t
Edit
useing.t
Edit
utf8.t
Edit
versions.t
Edit