summaryrefslogtreecommitdiff
path: root/lang/perl/BerkeleyDB/t/queue.t
diff options
context:
space:
mode:
authorLorry Tar Creator <lorry-tar-importer@baserock.org>2015-02-17 17:25:57 +0000
committer <>2015-03-17 16:26:24 +0000
commit780b92ada9afcf1d58085a83a0b9e6bc982203d1 (patch)
tree598f8b9fa431b228d29897e798de4ac0c1d3d970 /lang/perl/BerkeleyDB/t/queue.t
parent7a2660ba9cc2dc03a69ddfcfd95369395cc87444 (diff)
downloadberkeleydb-master.tar.gz
Imported from /home/lorry/working-area/delta_berkeleydb/db-6.1.23.tar.gz.HEADdb-6.1.23master
Diffstat (limited to 'lang/perl/BerkeleyDB/t/queue.t')
-rw-r--r--lang/perl/BerkeleyDB/t/queue.t24
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__