diff options
| author | Lorry Tar Creator <lorry-tar-importer@baserock.org> | 2015-02-17 17:25:57 +0000 |
|---|---|---|
| committer | <> | 2015-03-17 16:26:24 +0000 |
| commit | 780b92ada9afcf1d58085a83a0b9e6bc982203d1 (patch) | |
| tree | 598f8b9fa431b228d29897e798de4ac0c1d3d970 /lang/perl/BerkeleyDB/t/queue.t | |
| parent | 7a2660ba9cc2dc03a69ddfcfd95369395cc87444 (diff) | |
| download | berkeleydb-master.tar.gz | |
Diffstat (limited to 'lang/perl/BerkeleyDB/t/queue.t')
| -rw-r--r-- | lang/perl/BerkeleyDB/t/queue.t | 24 |
1 files changed, 23 insertions, 1 deletions
diff --git a/lang/perl/BerkeleyDB/t/queue.t b/lang/perl/BerkeleyDB/t/queue.t index fd372ae7..a2ffa76f 100644 --- a/lang/perl/BerkeleyDB/t/queue.t +++ b/lang/perl/BerkeleyDB/t/queue.t @@ -12,7 +12,7 @@ use util; plan(skip_all => "Queue needs Berkeley DB 3.3.x or better\n" ) if $BerkeleyDB::db_version < 3.3; -plan tests => 257; +plan tests => 260; my $Dfile = "dbhash.tmp"; @@ -867,6 +867,28 @@ EOM undef $db ; untie @array ; } + +{ + # RT #75691: scalar(@array) returns incorrect value after shift() on tied array + my $lex = new LexFile $Dfile ; + my @array ; + my $db ; + $db = tie @array, 'BerkeleyDB::Queue', + -Flags => DB_CREATE , + -Len => 2, + -Filename => $Dfile ; + isa_ok $db, 'BerkeleyDB::Queue'; + $FA ? push @array, "ab", "cd", "ef", "gh" + : $db->push("ab", "cd", "ef", "gh") ; + is scalar(@array), 4; + + $FA ? shift @array : $db->shift() ; + is scalar(@array), 3; + + undef $db; + untie @array ; + +} __END__ |
