Translation update done using Pootle.
[phpmyadmin/crack.git] / test / PMA_Message_test.php
blobdb6b25ecdc4cd022bdb1f048d67e8c25843f0b27
1 <?php
2 /* vim: set expandtab sw=4 ts=4 sts=4: */
3 /**
4 * Test for PMA_Message class
6 * @version $Id$
7 */
9 /**
10 * Tests core.
12 require_once 'PHPUnit/Framework.php';
13 require_once 'PHPUnit/Extensions/OutputTestCase.php';
15 /**
16 * Include to test.
18 require_once './libraries/Message.class.php';
20 /**
21 * Test class PMA_Message.
23 * @package phpMyAdmin-test
25 class PMA_Message_test extends PHPUnit_Extensions_OutputTestCase
27 /**
28 * @var PMA_Message
29 * @access protected
31 protected $object;
33 /**
34 * Sets up the fixture, for example, opens a network connection.
35 * This method is called before a test is executed.
37 * @access protected
39 protected function setUp()
41 $this->object = new PMA_Message;
44 /**
45 * Tears down the fixture, for example, closes a network connection.
46 * This method is called after a test is executed.
48 * @access protected
50 protected function tearDown()
54 /**
55 * to String casting test
57 public function test__toString()
59 $this->object->setMessage('test<&>', true);
60 $this->assertEquals('test&lt;&amp;&gt;', (string)$this->object);
63 /**
64 * test success method
66 public function testSuccess()
68 $this->object = new PMA_Message('test<&>', PMA_Message::SUCCESS);
69 $this->assertEquals($this->object, PMA_Message::success('test<&>'));
70 $this->assertEquals('strSuccess', PMA_Message::success()->getString());
73 /**
74 * test error method
76 public function testError()
78 $this->object = new PMA_Message('test<&>', PMA_Message::ERROR);
79 $this->assertEquals($this->object, PMA_Message::error('test<&>'));
80 $this->assertEquals('strError', PMA_Message::error()->getString());
83 /**
84 * test warning method
86 public function testWarning()
88 $this->object = new PMA_Message('test<&>', PMA_Message::WARNING);
89 $this->assertEquals($this->object, PMA_Message::warning('test<&>'));
92 /**
93 * test notice method
95 public function testNotice()
97 $this->object = new PMA_Message('test<&>', PMA_Message::NOTICE);
98 $this->assertEquals($this->object, PMA_Message::notice('test<&>'));
102 * test rawError method
104 public function testRawError()
106 $this->object = new PMA_Message('', PMA_Message::ERROR);
107 $this->object->setMessage('test<&>');
109 $this->assertEquals($this->object, PMA_Message::rawError('test<&>'));
113 * test rawWarning method
115 public function testRawWarning()
117 $this->object = new PMA_Message('', PMA_Message::WARNING);
118 $this->object->setMessage('test<&>');
120 $this->assertEquals($this->object, PMA_Message::rawWarning('test<&>'));
124 * test rawNotice method
126 public function testRawNotice()
128 $this->object = new PMA_Message('', PMA_Message::NOTICE);
129 $this->object->setMessage('test<&>');
131 $this->assertEquals($this->object, PMA_Message::rawNotice('test<&>'));
135 * test rawSuccess method
137 public function testRawSuccess()
139 $this->object = new PMA_Message('', PMA_Message::SUCCESS);
140 $this->object->setMessage('test<&>');
142 $this->assertEquals($this->object, PMA_Message::rawSuccess('test<&>'));
146 * testing isSuccess method
148 public function testIsSuccess()
150 $this->assertFalse($this->object->isSuccess());
151 $this->assertTrue($this->object->isSuccess(true));
155 * testing isNotice method
157 public function testIsNotice()
159 $this->assertTrue($this->object->isNotice());
160 $this->object->isWarning(true);
161 $this->assertFalse($this->object->isNotice());
162 $this->assertTrue($this->object->isNotice(true));
166 * testing isWarning method
168 public function testIsWarning()
170 $this->assertFalse($this->object->isWarning());
171 $this->assertTrue($this->object->isWarning(true));
175 * testing isError method
177 public function testIsError()
179 $this->assertFalse($this->object->isError());
180 $this->assertTrue($this->object->isError(true));
184 * testign setter of message
186 public function testSetMessage()
188 $this->object->setMessage('test&<>', false);
189 $this->assertEquals('test&<>', $this->object->getMessage());
190 $this->object->setMessage('test&<>', true);
191 $this->assertEquals('test&amp;&lt;&gt;', $this->object->getMessage());
195 * testing setter of string
197 public function testSetString()
199 $this->object->setString('test&<>', false);
200 $this->assertEquals('test&<>', $this->object->getString());
201 $this->object->setString('test&<>', true);
202 $this->assertEquals('test&amp;&lt;&gt;', $this->object->getString());
206 * testing add param method
208 public function testAddParam()
210 $this->object->addParam(PMA_Message::notice('test'));
211 $this->assertEquals(array(PMA_Message::notice('test')), $this->object->getParams());
212 $this->object->addParam('test', true);
213 $this->assertEquals(array(PMA_Message::notice('test'), 'test'), $this->object->getParams());
214 $this->object->addParam('test', false);
215 $this->assertEquals(array(PMA_Message::notice('test'), 'test', PMA_Message::notice('test')), $this->object->getParams());
219 * testing add string method
221 public function testAddString()
223 $this->object->addString('test', '*');
224 $this->assertEquals(array('*', PMA_Message::notice('test')), $this->object->getAddedMessages());
225 $this->object->addString('test', '');
226 $this->assertEquals(array('*', PMA_Message::notice('test'), '', PMA_Message::notice('test')), $this->object->getAddedMessages());
230 * testing add messages method
232 public function testAddMessages()
234 $this->object->addMessages(array('test', PMA_Message::rawWarning('test')), '&');
235 $this->assertEquals(array('&', PMA_Message::rawNotice('test'), '&', PMA_Message::rawWarning('test')), $this->object->getAddedMessages());
239 * testing add message method
241 public function testAddMessage()
243 $this->object->addMessage('test', '');
244 $this->assertEquals(array(PMA_Message::rawNotice('test')), $this->object->getAddedMessages());
245 $this->object->addMessage('test');
246 $this->assertEquals(array(PMA_Message::rawNotice('test'), ' ', PMA_Message::rawNotice('test')), $this->object->getAddedMessages());
247 $this->object->addMessage(PMA_Message::rawWarning('test'), '&');
248 $this->assertEquals(array(PMA_Message::rawNotice('test'), ' ', PMA_Message::rawNotice('test'), '&', PMA_Message::rawWarning('test')), $this->object->getAddedMessages());
252 * testing setter of params
254 public function testSetParams()
256 $this->object->setParams('test&<>');
257 $this->assertEquals('test&<>', $this->object->getParams());
258 $this->object->setParams('test&<>', true);
259 $this->assertEquals('test&amp;&lt;&gt;', $this->object->getParams());
263 * testing sanitize method
265 public function testSanitize()
267 $this->object->setString('test&string<>', false);
268 $this->assertEquals('test&amp;string&lt;&gt;', PMA_Message::sanitize($this->object));
269 $this->assertEquals(array('test&amp;string&lt;&gt;', 'test&amp;string&lt;&gt;'), PMA_Message::sanitize(array($this->object, $this->object)));
272 public function decodeBBDataProvider()
274 return array(
275 array('[i]test[/i][i]aa[i/][em]test[/em]', '<em>test</em><em>aa[i/]<em>test</em>'),
276 array('[b]test[/b][strong]test[/strong]', '<strong>test</strong><strong>test</strong>'),
277 array('[tt]test[/tt][code]test[/code]', '<code>test</code><code>test</code>'),
278 array('[kbd]test[/kbd][br][sup]test[/sup]', '<kbd>test</kbd><br /><sup>test</sup>')
283 * testing decodeBB method
284 * @dataProvider decodeBBDataProvider
287 public function testDecodeBB($actual, $expected)
289 $this->assertEquals($expected, PMA_Message::decodeBB($actual));
293 * testing format method
295 public function testFormat()
297 $this->assertEquals('test string', PMA_Message::format('test string'));
298 $this->assertEquals('test string', PMA_Message::format('test string', 'a'));
299 $this->assertEquals('test string', PMA_Message::format('test string', array()));
300 $this->assertEquals('test string', PMA_Message::format('%s string', array('test')));
305 * testing getHash method
307 public function testGetHash()
309 $this->object->setString('<&>test', false);
310 $this->object->setMessage('<&>test', false);
311 $this->assertEquals(md5(PMA_Message::NOTICE . '<&>test<&>test'), $this->object->getHash());
315 * getMessage test - with empty message and with non-empty string - not key in globals
316 * additional params are defined
318 public function testGetMessageWithoutMessageWithStringWithParams()
320 $this->object->setMessage('');
321 $this->object->setString('test string %s %s');
322 $this->object->addParam('test param 1');
323 $this->object->addParam('test param 2');
324 $this->assertEquals('test string test param 1 test param 2', $this->object->getMessage());
328 * getMessage test - with empty message and with empty string
330 public function testGetMessageWithoutMessageWithEmptyString()
332 $this->object->setMessage('');
333 $this->object->setString('');
334 $this->assertEquals('', $this->object->getMessage());
338 * getMessage test - with empty message and with string, which is key to GLOBALS
339 * additional messages are defined
341 public function testGetMessageWithoutMessageWithGlobalStringWithAddMessages()
343 $GLOBALS['key'] = 'test message';
344 $this->object->setMessage('');
345 $this->object->setString('key');
346 $this->object->addMessage('test message 2', ' - ');
347 $this->object->addMessage('test message 3', '&');
348 $this->assertEquals('test message - test message 2&test message 3', $this->object->getMessage());
349 unset($GLOBALS['key']);
353 * getMessage test - message is defined
354 * message with BBCode defined
356 public function testGetMessageWithMessageWithBBCode()
358 $this->object->setMessage('[kbd]test[/kbd] [a@./Documentation.html#cfg_Example@_blank]test[/a]');
359 $this->assertEquals('<kbd>test</kbd> <a href="./Documentation.html#cfg_Example" target="_blank">test</a>', $this->object->getMessage());
363 * getLevel test
365 public function testGetLevel()
367 $this->assertEquals('notice', $this->object->getLevel());
368 $this->object->setNumber(PMA_Message::SUCCESS);
369 $this->assertEquals('success', $this->object->getLevel());
370 $this->object->setNumber(PMA_Message::ERROR);
371 $this->assertEquals('error', $this->object->getLevel());
372 $this->object->setNumber(PMA_Message::WARNING);
373 $this->assertEquals('warning', $this->object->getLevel());
377 * testing display method (output string and _is_displayed varible)
379 public function testDisplay()
381 $this->assertFalse($this->object->isDisplayed());
382 $this->object->setMessage('Test Message');
384 $this->expectOutputString('<div class="notice">Test Message</div>');
385 $this->object->display();
387 $this->assertTrue($this->object->isDisplayed());
391 * getDisplay test
393 public function testGetDisplay()
395 $this->object->setMessage('Test Message');
396 $this->assertEquals('<div class="notice">Test Message</div>', $this->object->getDisplay());
400 * isDisplayed test
402 public function testIsDisplayed()
404 $this->assertFalse($this->object->isDisplayed(false));
405 $this->assertTrue($this->object->isDisplayed(true));
406 $this->assertTrue($this->object->isDisplayed(false));