messages.test.php 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115
  1. <?php
  2. class MessagesTest extends PHPUnit_Framework_TestCase {
  3. /**
  4. * The Messages instance.
  5. *
  6. * @var Messages
  7. */
  8. public $messages;
  9. /**
  10. * Setup the test environment.
  11. */
  12. public function setUp()
  13. {
  14. $this->messages = new Laravel\Messages;
  15. }
  16. /**
  17. * Test the Messages::add method.
  18. *
  19. * @group laravel
  20. */
  21. public function testAddingMessagesDoesNotCreateDuplicateMessages()
  22. {
  23. $this->messages->add('email', 'test');
  24. $this->messages->add('email', 'test');
  25. $this->assertCount(1, $this->messages->messages);
  26. }
  27. /**
  28. * Test the Messages::add method.
  29. *
  30. * @group laravel
  31. */
  32. public function testAddMethodPutsMessageInMessagesArray()
  33. {
  34. $this->messages->add('email', 'test');
  35. $this->assertArrayHasKey('email', $this->messages->messages);
  36. $this->assertEquals('test', $this->messages->messages['email'][0]);
  37. }
  38. /**
  39. * Test the Messages::has method.
  40. *
  41. * @group laravel
  42. */
  43. public function testHasMethodReturnsTrue()
  44. {
  45. $this->messages->add('email', 'test');
  46. $this->assertTrue($this->messages->has('email'));
  47. }
  48. /**
  49. * Test the Messages::has method.
  50. *
  51. * @group laravel
  52. */
  53. public function testHasMethodReturnsFalse()
  54. {
  55. $this->assertFalse($this->messages->has('something'));
  56. }
  57. /**
  58. * Test the Messages::first method.
  59. *
  60. * @group laravel
  61. */
  62. public function testFirstMethodReturnsSingleString()
  63. {
  64. $this->messages->add('email', 'test');
  65. $this->assertEquals('test', $this->messages->first('email'));
  66. $this->assertEquals('', $this->messages->first('something'));
  67. }
  68. /**
  69. * Test the Messages::get method.
  70. *
  71. * @group laravel
  72. */
  73. public function testGetMethodReturnsAllMessagesForAttribute()
  74. {
  75. $messages = array('email' => array('something', 'else'));
  76. $this->messages->messages = $messages;
  77. $this->assertEquals(array('something', 'else'), $this->messages->get('email'));
  78. }
  79. /**
  80. * Test the Messages::all method.
  81. *
  82. * @group laravel
  83. */
  84. public function testAllMethodReturnsAllErrorMessages()
  85. {
  86. $messages = array('email' => array('something', 'else'), 'name' => array('foo'));
  87. $this->messages->messages = $messages;
  88. $this->assertEquals(array('something', 'else', 'foo'), $this->messages->all());
  89. }
  90. /**
  91. * Test the Messages::get method.
  92. *
  93. * @group laravel
  94. */
  95. public function testMessagesRespectFormat()
  96. {
  97. $this->messages->add('email', 'test');
  98. $this->assertEquals('<p>test</p>', $this->messages->first('email', '<p>:message</p>'));
  99. $this->assertEquals(array('<p>test</p>'), $this->messages->get('email', '<p>:message</p>'));
  100. $this->assertEquals(array('<p>test</p>'), $this->messages->all('<p>:message</p>'));
  101. }
  102. }