Kohana v3.3.0
This commit is contained in:
99
system/tests/kohana/ExceptionTest.php
Normal file
99
system/tests/kohana/ExceptionTest.php
Normal file
@@ -0,0 +1,99 @@
|
||||
<?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));
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user