@@ -298,6 +298,29 @@ public function testDequeueItemWithArg()
298
298
$ this ->assertEquals (Resque::dequeue ($ queue , $ test ), 1 );
299
299
#$this->assertEquals(Resque::size($queue), 1);
300
300
}
301
+
302
+ public function testDequeueSeveralItemsWithArgs ()
303
+ {
304
+ // GIVEN
305
+ $ queue = 'jobs ' ;
306
+ $ args = array ('foo ' => 1 , 'bar ' => 10 );
307
+ $ removeArgs = array ('foo ' => 1 , 'bar ' => 2 );
308
+ Resque::enqueue ($ queue , 'Test_Job_Dequeue9 ' , $ args );
309
+ Resque::enqueue ($ queue , 'Test_Job_Dequeue9 ' , $ removeArgs );
310
+ Resque::enqueue ($ queue , 'Test_Job_Dequeue9 ' , $ removeArgs );
311
+ $ this ->assertEquals (Resque::size ($ queue ), 3 );
312
+
313
+ // WHEN
314
+ $ test = array ('Test_Job_Dequeue9 ' => $ removeArgs );
315
+ $ removedItems = Resque::dequeue ($ queue , $ test );
316
+
317
+ // THEN
318
+ $ this ->assertEquals ($ removedItems , 2 );
319
+ $ this ->assertEquals (Resque::size ($ queue ), 1 );
320
+ $ item = Resque::pop ($ queue );
321
+ $ this ->assertInternalType ('array ' , $ item ['args ' ]);
322
+ $ this ->assertEquals (10 , $ item ['args ' ][0 ]['bar ' ], 'Wrong items were dequeued from queue! ' );
323
+ }
301
324
302
325
public function testDequeueItemWithUnorderedArg ()
303
326
{
0 commit comments