@@ -1548,6 +1548,203 @@ public function testCurlCallbackOverride()
1548
1548
$ this ->assertTrue ($ put_complete_called );
1549
1549
}
1550
1550
1551
+ public function testCurlCallbackAddedAfter ()
1552
+ {
1553
+ $ delete_before_send_called = false ;
1554
+ $ delete_success_called = false ;
1555
+ $ delete_error_called = false ;
1556
+ $ delete_complete_called = false ;
1557
+ $ multi_curl = new MultiCurl ();
1558
+ $ multi_curl ->addDelete (Test::TEST_URL );
1559
+ $ multi_curl ->beforeSend (function ($ instance ) use (&$ delete_before_send_called ) {
1560
+ $ delete_before_send_called = true ;
1561
+ });
1562
+ $ multi_curl ->success (function ($ instance ) use (&$ delete_success_called ) {
1563
+ $ delete_success_called = true ;
1564
+ });
1565
+ $ multi_curl ->error (function ($ instance ) use (&$ delete_error_called ) {
1566
+ $ delete_error_called = true ;
1567
+ });
1568
+ $ multi_curl ->complete (function ($ instance ) use (&$ delete_complete_called ) {
1569
+ $ delete_complete_called = true ;
1570
+ });
1571
+ $ multi_curl ->start ();
1572
+ $ this ->assertTrue ($ delete_before_send_called );
1573
+ $ this ->assertTrue ($ delete_success_called );
1574
+ $ this ->assertFalse ($ delete_error_called );
1575
+ $ this ->assertTrue ($ delete_complete_called );
1576
+
1577
+ $ download_before_send_called = false ;
1578
+ $ download_success_called = false ;
1579
+ $ download_error_called = false ;
1580
+ $ download_complete_called = false ;
1581
+ $ download_file_path = tempnam ('/tmp ' , 'php-curl-class. ' );
1582
+ $ multi_curl = new MultiCurl ();
1583
+ $ multi_curl ->addDownload (Test::TEST_URL , $ download_file_path );
1584
+ $ multi_curl ->beforeSend (function ($ instance ) use (&$ download_before_send_called ) {
1585
+ $ download_before_send_called = true ;
1586
+ });
1587
+ $ multi_curl ->success (function ($ instance ) use (&$ download_success_called ) {
1588
+ $ download_success_called = true ;
1589
+ });
1590
+ $ multi_curl ->error (function ($ instance ) use (&$ download_error_called ) {
1591
+ $ download_error_called = true ;
1592
+ });
1593
+ $ multi_curl ->complete (function ($ instance ) use (&$ download_complete_called ) {
1594
+ $ download_complete_called = true ;
1595
+ });
1596
+ $ multi_curl ->start ();
1597
+ $ this ->assertTrue ($ download_before_send_called );
1598
+ $ this ->assertTrue ($ download_success_called );
1599
+ $ this ->assertFalse ($ download_error_called );
1600
+ $ this ->assertTrue ($ download_complete_called );
1601
+ $ this ->assertTrue (unlink ($ download_file_path ));
1602
+
1603
+ $ get_before_send_called = false ;
1604
+ $ get_success_called = false ;
1605
+ $ get_error_called = false ;
1606
+ $ get_complete_called = false ;
1607
+ $ multi_curl = new MultiCurl ();
1608
+ $ multi_curl ->addGet (Test::TEST_URL );
1609
+ $ multi_curl ->beforeSend (function ($ instance ) use (&$ get_before_send_called ) {
1610
+ $ get_before_send_called = true ;
1611
+ });
1612
+ $ multi_curl ->success (function ($ instance ) use (&$ get_success_called ) {
1613
+ $ get_success_called = true ;
1614
+ });
1615
+ $ multi_curl ->error (function ($ instance ) use (&$ get_error_called ) {
1616
+ $ get_error_called = true ;
1617
+ });
1618
+ $ multi_curl ->complete (function ($ instance ) use (&$ get_complete_called ) {
1619
+ $ get_complete_called = true ;
1620
+ });
1621
+ $ multi_curl ->start ();
1622
+ $ this ->assertTrue ($ get_before_send_called );
1623
+ $ this ->assertTrue ($ get_success_called );
1624
+ $ this ->assertFalse ($ get_error_called );
1625
+ $ this ->assertTrue ($ get_complete_called );
1626
+
1627
+ $ head_before_send_called = false ;
1628
+ $ head_success_called = false ;
1629
+ $ head_error_called = false ;
1630
+ $ head_complete_called = false ;
1631
+ $ multi_curl = new MultiCurl ();
1632
+ $ multi_curl ->addHead (Test::TEST_URL );
1633
+ $ multi_curl ->beforeSend (function ($ instance ) use (&$ head_before_send_called ) {
1634
+ $ head_before_send_called = true ;
1635
+ });
1636
+ $ multi_curl ->success (function ($ instance ) use (&$ head_success_called ) {
1637
+ $ head_success_called = true ;
1638
+ });
1639
+ $ multi_curl ->error (function ($ instance ) use (&$ head_error_called ) {
1640
+ $ head_error_called = true ;
1641
+ });
1642
+ $ multi_curl ->complete (function ($ instance ) use (&$ head_complete_called ) {
1643
+ $ head_complete_called = true ;
1644
+ });
1645
+ $ multi_curl ->start ();
1646
+ $ this ->assertTrue ($ head_before_send_called );
1647
+ $ this ->assertTrue ($ head_success_called );
1648
+ $ this ->assertFalse ($ head_error_called );
1649
+ $ this ->assertTrue ($ head_complete_called );
1650
+
1651
+ $ options_before_send_called = false ;
1652
+ $ options_success_called = false ;
1653
+ $ options_error_called = false ;
1654
+ $ options_complete_called = false ;
1655
+ $ multi_curl = new MultiCurl ();
1656
+ $ multi_curl ->addOptions (Test::TEST_URL );
1657
+ $ multi_curl ->beforeSend (function ($ instance ) use (&$ options_before_send_called ) {
1658
+ $ options_before_send_called = true ;
1659
+ });
1660
+ $ multi_curl ->success (function ($ instance ) use (&$ options_success_called ) {
1661
+ $ options_success_called = true ;
1662
+ });
1663
+ $ multi_curl ->error (function ($ instance ) use (&$ options_error_called ) {
1664
+ $ options_error_called = true ;
1665
+ });
1666
+ $ multi_curl ->complete (function ($ instance ) use (&$ options_complete_called ) {
1667
+ $ options_complete_called = true ;
1668
+ });
1669
+ $ multi_curl ->start ();
1670
+ $ this ->assertTrue ($ options_before_send_called );
1671
+ $ this ->assertTrue ($ options_success_called );
1672
+ $ this ->assertFalse ($ options_error_called );
1673
+ $ this ->assertTrue ($ options_complete_called );
1674
+
1675
+ $ patch_before_send_called = false ;
1676
+ $ patch_success_called = false ;
1677
+ $ patch_error_called = false ;
1678
+ $ patch_complete_called = false ;
1679
+ $ multi_curl = new MultiCurl ();
1680
+ $ multi_curl ->addPatch (Test::TEST_URL );
1681
+ $ multi_curl ->beforeSend (function ($ instance ) use (&$ patch_before_send_called ) {
1682
+ $ patch_before_send_called = true ;
1683
+ });
1684
+ $ multi_curl ->success (function ($ instance ) use (&$ patch_success_called ) {
1685
+ $ patch_success_called = true ;
1686
+ });
1687
+ $ multi_curl ->error (function ($ instance ) use (&$ patch_error_called ) {
1688
+ $ patch_error_called = true ;
1689
+ });
1690
+ $ multi_curl ->complete (function ($ instance ) use (&$ patch_complete_called ) {
1691
+ $ patch_complete_called = true ;
1692
+ });
1693
+ $ multi_curl ->start ();
1694
+ $ this ->assertTrue ($ patch_before_send_called );
1695
+ $ this ->assertTrue ($ patch_success_called );
1696
+ $ this ->assertFalse ($ patch_error_called );
1697
+ $ this ->assertTrue ($ patch_complete_called );
1698
+
1699
+ $ post_before_send_called = false ;
1700
+ $ post_success_called = false ;
1701
+ $ post_error_called = false ;
1702
+ $ post_complete_called = false ;
1703
+ $ multi_curl = new MultiCurl ();
1704
+ $ multi_curl ->addPost (Test::TEST_URL );
1705
+ $ multi_curl ->beforeSend (function ($ instance ) use (&$ post_before_send_called ) {
1706
+ $ post_before_send_called = true ;
1707
+ });
1708
+ $ multi_curl ->success (function ($ instance ) use (&$ post_success_called ) {
1709
+ $ post_success_called = true ;
1710
+ });
1711
+ $ multi_curl ->error (function ($ instance ) use (&$ post_error_called ) {
1712
+ $ post_error_called = true ;
1713
+ });
1714
+ $ multi_curl ->complete (function ($ instance ) use (&$ post_complete_called ) {
1715
+ $ post_complete_called = true ;
1716
+ });
1717
+ $ multi_curl ->start ();
1718
+ $ this ->assertTrue ($ post_before_send_called );
1719
+ $ this ->assertTrue ($ post_success_called );
1720
+ $ this ->assertFalse ($ post_error_called );
1721
+ $ this ->assertTrue ($ post_complete_called );
1722
+
1723
+ $ put_before_send_called = false ;
1724
+ $ put_success_called = false ;
1725
+ $ put_error_called = false ;
1726
+ $ put_complete_called = false ;
1727
+ $ multi_curl = new MultiCurl ();
1728
+ $ multi_curl ->addPut (Test::TEST_URL );
1729
+ $ multi_curl ->beforeSend (function ($ instance ) use (&$ put_before_send_called ) {
1730
+ $ put_before_send_called = true ;
1731
+ });
1732
+ $ multi_curl ->success (function ($ instance ) use (&$ put_success_called ) {
1733
+ $ put_success_called = true ;
1734
+ });
1735
+ $ multi_curl ->error (function ($ instance ) use (&$ put_error_called ) {
1736
+ $ put_error_called = true ;
1737
+ });
1738
+ $ multi_curl ->complete (function ($ instance ) use (&$ put_complete_called ) {
1739
+ $ put_complete_called = true ;
1740
+ });
1741
+ $ multi_curl ->start ();
1742
+ $ this ->assertTrue ($ put_before_send_called );
1743
+ $ this ->assertTrue ($ put_success_called );
1744
+ $ this ->assertFalse ($ put_error_called );
1745
+ $ this ->assertTrue ($ put_complete_called );
1746
+ }
1747
+
1551
1748
public function testSetOptAndSetOptOverride ()
1552
1749
{
1553
1750
$ multi_curl_user_agent = 'multi curl user agent ' ;
0 commit comments