2 use PayPal\IPN\PPIPNMessage;
4 * Test class for PPIPNMessage.
7 class PPIPNMessageTest extends \PHPUnit_Framework_TestCase {
12 public function passGoodIPN() {
21 public function failOnBadIPN() {
22 $ipn = new PPIPNMessage();
23 $this->assertEquals(false, $ipn->validate());
31 public function processIPNWithArrayElements() {
32 $ipnData = 'transaction[0].id=6WM123443434&transaction[0].status=Completed&transaction[1].id=2F12129812A1&transaction[1].status=Pending';
33 $ipn = new PPIPNMessage($ipnData);
35 $rawData = $ipn->getRawData();
36 $this->assertEquals(4, count($rawData));
37 $this->assertEquals('6WM123443434', $rawData['transaction[0].id']);
43 public function processIPNWithSpecialCharacters() {
44 $ipnData = "description=Jake's store";
46 ini_set('get_magic_quotes_gpc', true);
47 $ipn = new PPIPNMessage($ipnData);
48 $rawData = $ipn->getRawData();
49 $this->assertEquals($rawData['description'], "Jake's store");
51 ini_set('get_magic_quotes_gpc', false);
52 $ipn = new PPIPNMessage($ipnData);
53 $rawData = $ipn->getRawData();
54 $this->assertEquals($rawData['description'], "Jake's store");
55 $this->assertEquals($rawData['description'], "Jake's store");