126 lines
2.7 KiB
PHP
126 lines
2.7 KiB
PHP
|
<?php
|
|||
|
|
|||
|
/**
|
|||
|
* Split of some methods that don't require database from TodoLibTest
|
|||
|
* Not having to load fixtures should make these run a lot faster
|
|||
|
*/
|
|||
|
class TodoLibNoFixturesTest extends Todo_TestCase {
|
|||
|
|
|||
|
public function setUp()
|
|||
|
{
|
|||
|
parent::setUp();
|
|||
|
$this->CI->load->library('todo');
|
|||
|
}
|
|||
|
|
|||
|
public function testCryptPass()
|
|||
|
{
|
|||
|
$expected = '$2y$10$qW8HlbNDNEJx1GqmYW9APOYOqo5apV8stjNcV/xunsvnjTYJBTc0m';
|
|||
|
$actual = $this->CI->todo->crypt_pass('guest');
|
|||
|
|
|||
|
$this->assertNotEquals($expected, $actual,
|
|||
|
"Password has should be different every time it is used because of Bcrypt salt");
|
|||
|
}
|
|||
|
|
|||
|
public function dataKanjiNum()
|
|||
|
{
|
|||
|
return [
|
|||
|
'non-numeric' => [
|
|||
|
'input' => 'string',
|
|||
|
'expected' => '〇'
|
|||
|
],
|
|||
|
'zero' => [
|
|||
|
'input' => 0,
|
|||
|
'expected' => '〇'
|
|||
|
],
|
|||
|
'one' => [
|
|||
|
'input' => 1,
|
|||
|
'expected' => '一'
|
|||
|
],
|
|||
|
'tens' => [
|
|||
|
'input' => 34,
|
|||
|
'expected' => '三十四'
|
|||
|
],
|
|||
|
'hundreds' => [
|
|||
|
'input' => 968,
|
|||
|
'expected' => '九百六十八'
|
|||
|
],
|
|||
|
'thousands' => [
|
|||
|
'input' => 1024,
|
|||
|
'expected' => '千二十四'
|
|||
|
],
|
|||
|
'ten thousands' => [
|
|||
|
'input' => 11275,
|
|||
|
'expected' => '万千二百七十五'
|
|||
|
],
|
|||
|
'hundred thousands' => [
|
|||
|
'input' => 658753,
|
|||
|
'expected' => '六十五万八千七百五十三'
|
|||
|
],
|
|||
|
'millions' => [
|
|||
|
'input' => 9876543,
|
|||
|
'expected' => '九百八十七万六千五百四十三'
|
|||
|
],
|
|||
|
'ten_millions' => [
|
|||
|
'input' => 98765432,
|
|||
|
'expected' => '九千八百七十六万五千四百三十二'
|
|||
|
],
|
|||
|
'hundred_millions' => [
|
|||
|
'input' => 987654321,
|
|||
|
'expected' => '九億八千七百六十五万四千三百二十一'
|
|||
|
]
|
|||
|
];
|
|||
|
}
|
|||
|
|
|||
|
/**
|
|||
|
* @dataProvider dataKanjiNum
|
|||
|
*/
|
|||
|
public function testKanjiNum($input, $expected)
|
|||
|
{
|
|||
|
$actual = $this->CI->todo->kanji_num($input);
|
|||
|
$this->assertEquals($expected, $actual);
|
|||
|
}
|
|||
|
|
|||
|
public function dataRedirect303()
|
|||
|
{
|
|||
|
return [
|
|||
|
'full url redirect' => [
|
|||
|
'url' => 'http://www.example.com',
|
|||
|
'headers' => [
|
|||
|
array (
|
|||
|
'HTTP/1.1 303 See Other',
|
|||
|
true,
|
|||
|
),
|
|||
|
array (
|
|||
|
'Location:http://www.example.com',
|
|||
|
true,
|
|||
|
)
|
|||
|
]
|
|||
|
],
|
|||
|
'route redirect' => [
|
|||
|
'url' => 'task/list',
|
|||
|
'headers' => [
|
|||
|
array (
|
|||
|
'HTTP/1.1 303 See Other',
|
|||
|
true,
|
|||
|
),
|
|||
|
array (
|
|||
|
'Location:https://todo.timshomepage.net/task/list',
|
|||
|
true,
|
|||
|
)
|
|||
|
]
|
|||
|
]
|
|||
|
];
|
|||
|
}
|
|||
|
|
|||
|
/**
|
|||
|
* @dataProvider dataRedirect303
|
|||
|
*/
|
|||
|
public function testRedirect303($url, $headers)
|
|||
|
{
|
|||
|
$this->CI->todo->redirect_303($url);
|
|||
|
$actual = $this->CI->output->get_headers();
|
|||
|
|
|||
|
$this->assertEquals($headers, $actual);
|
|||
|
}
|
|||
|
}
|
|||
|
// End of TodoLibNoFixturesTest
|