FlashComponentTest.php 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384
  1. <?php
  2. App::uses('FlashComponent', 'Tools.Controller/Component');
  3. App::uses('Component', 'Controller');
  4. App::uses('CakeSession', 'Model/Datasource');
  5. App::uses('Controller', 'Controller');
  6. App::uses('AppModel', 'Model');
  7. /**
  8. */
  9. class FlashComponentTest extends CakeTestCase {
  10. public $fixtures = array('core.cake_session');
  11. public function setUp() {
  12. parent::setUp();
  13. // BUGFIX for CakePHP2.5 - One has to write to the session before deleting actually works
  14. CakeSession::write('Auth', '');
  15. CakeSession::delete('Auth');
  16. $this->Controller = new FlashComponentTestController(new CakeRequest, new CakeResponse);
  17. $this->Controller->constructClasses();
  18. $this->Controller->startupProcess();
  19. }
  20. public function tearDown() {
  21. parent::tearDown();
  22. unset($this->Controller);
  23. }
  24. /**
  25. * FlashComponentTest::testTransientFlashMessage()
  26. *
  27. * @return void
  28. */
  29. public function testTransientMessage() {
  30. $is = $this->Controller->Flash->transientMessage('xyz', 'success');
  31. //$this->assertTrue($is);
  32. $res = Configure::read('messages');
  33. //debug($res);
  34. $this->assertTrue(!empty($res));
  35. $this->assertTrue(isset($res['success'][0]) && $res['success'][0] === 'xyz');
  36. }
  37. /**
  38. * FlashComponentTest::testFlashMessage()
  39. *
  40. * @return void
  41. */
  42. public function testFlashMessage() {
  43. $this->Controller->Session->delete('messages');
  44. $is = $this->Controller->Flash->message('efg');
  45. $res = $this->Controller->Session->read('messages');
  46. $this->assertTrue(!empty($res));
  47. $this->assertTrue(isset($res['info'][0]) && $res['info'][0] === 'efg');
  48. }
  49. }
  50. // Use Controller instead of AppController to avoid conflicts
  51. class FlashComponentTestController extends Controller {
  52. public $components = array('Session', 'Tools.Flash');
  53. public $failed = false;
  54. public $testHeaders = array();
  55. public function fail() {
  56. $this->failed = true;
  57. }
  58. public function redirect($url, $status = null, $exit = true) {
  59. return $status;
  60. }
  61. public function header($status) {
  62. $this->testHeaders[] = $status;
  63. }
  64. }