Cross Reference: clone.t
xref
: /
osnet-11
/
usr
/
src
/
cmd
/
perl
/
5.8.4
/
distrib
/
ext
/
Digest
/
MD5
/
t
/
clone.t
Home
History
Annotate
Line#
Navigate
Download
Search
only in
./
#!perl -w
print
"1..6\n"
;
use
strict
;
use
Digest
::
MD5
qw
(
md5_hex
)
;
my
$a =
Digest
::
MD5
->
new
;
$a->
add
(
"a"
)
;
my
$b = $a->
clone
;
print
"not "
unless
$b->
clone
->
hexdigest
eq
md5_hex
(
"a"
)
;
print
"ok 1\n"
;
$a->
add
(
"a"
)
;
print
"not "
unless
$a->
hexdigest
eq
md5_hex
(
"aa"
)
;
print
"ok 2\n"
;
print
"not "
unless
$a->
hexdigest
eq
md5_hex
(
""
)
;
print
"ok 3\n"
;
$b->
add
(
"b"
)
;
print
"not "
unless
$b->
clone
->
hexdigest
eq
md5_hex
(
"ab"
)
;
print
"ok 4\n"
;
$b->
add
(
"c"
)
;
print
"not "
unless
$b->
clone
->
hexdigest
eq
md5_hex
(
"abc"
)
;
print
"ok 5\n"
;
# Test that cloning picks up the correct class for subclasses.
{
package
MD5
;
@
MD5
::
ISA
=
qw
(
Digest
::
MD5
)
;
}
$a =
MD5
->
new
;
$a->
add
(
"a"
)
;
$b = $a->
clone
;
print
"not "
unless
ref
($b)
eq
"MD5"
&& $b->
add
(
"b"
)
->
hexdigest
eq
md5_hex
(
"ab"
)
;
print
"ok 6\n"
;