123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899 |
- <?php defined('SYSPATH') OR die('Kohana bootstrap needs to be included before tests run');
- /**
- * Tests Kohana Exception Class
- *
- * @group kohana
- * @group kohana.core
- * @group kohana.core.exception
- *
- * @package Kohana
- * @category Tests
- * @author Kohana Team
- * @copyright (c) 2008-2012 Kohana Team
- * @license http://kohanaframework.org/license
- */
- class Kohana_ExceptionTest extends Unittest_TestCase
- {
- /**
- * Provides test data for test_constructor()
- *
- * @return array
- */
- public function provider_constructor()
- {
- return array(
- array(array(''), '', 0),
- array(array(':a'), ':a', 0),
- array(array(':a', NULL), ':a', 0),
- array(array(':a', array()), ':a', 0),
- array(array(':a', array(':a' => 'b')), 'b', 0),
- array(array(':a :b', array(':a' => 'c', ':b' => 'd')), 'c d', 0),
- array(array(':a', NULL, 5), ':a', 5),
- // #3358
- array(array(':a', NULL, '3F000'), ':a', '3F000'),
- // #3404
- array(array(':a', NULL, '42S22'), ':a', '42S22'),
- // #3927
- array(array(':a', NULL, 'b'), ':a', 'b'),
- // #4039
- array(array(':a', NULL, '25P01'), ':a', '25P01'),
- );
- }
- /**
- * Tests Kohana_Kohana_Exception::__construct()
- *
- * @test
- * @dataProvider provider_constructor
- * @covers Kohana_Kohana_Exception::__construct
- * @param array $arguments Arguments
- * @param string $expected_message Value from getMessage()
- * @param integer|string $expected_code Value from getCode()
- */
- public function test_constructor($arguments, $expected_message, $expected_code)
- {
- switch (count($arguments))
- {
- case 1:
- $exception = new Kohana_Exception(reset($arguments));
- break;
- case 2:
- $exception = new Kohana_Exception(reset($arguments), next($arguments));
- break;
- default:
- $exception = new Kohana_Exception(reset($arguments), next($arguments), next($arguments));
- }
- $this->assertSame($expected_code, $exception->getCode());
- $this->assertSame($expected_message, $exception->getMessage());
- }
- /**
- * Provides test data for test_text()
- *
- * @return array
- */
- public function provider_text()
- {
- return array(
- array(new Kohana_Exception('foobar'), $this->dirSeparator('Kohana_Exception [ 0 ]: foobar ~ SYSPATH/tests/kohana/ExceptionTest.php [ '.__LINE__.' ]')),
- );
- }
- /**
- * Tests Kohana_Exception::text()
- *
- * @test
- * @dataProvider provider_text
- * @covers Kohana_Exception::text
- * @param object $exception exception to test
- * @param string $expected expected output
- */
- public function test_text($exception, $expected)
- {
- $this->assertEquals($expected, Kohana_Exception::text($exception));
- }
- }
|