FuelPHP 本体のユニットテストを追加した
FuelPHP の Core クラスには、ユニットテストが書かれていない部分があります。ということで、手許で書いたテストコードを本家に寄贈しました。
今回書いたのは、Validation クラスです。
<?php ...略... /** * Validation: valid_string numeric * Expecting: success */ public function test_validation_valid_string_numeric_success() { $post = array( 'f1' => '123456', ); $val = Validation::forge(__FUNCTION__); $val->add('f1', 'F1')->add_rule('valid_string', 'numeric'); $test = $val->run($post); $expected = true; $this->assertEquals($expected, $test); } /** * Validation: valid_string numeric * Expecting: failure */ public function test_validation_valid_string_numeric_failure() { $post = array( 'f1' => 'a123456', ); $val = Validation::forge(__FUNCTION__); $val->add('f1', 'F1')->add_rule('valid_string', 'numeric'); $test = $val->run($post); $expected = false; $this->assertEquals($expected, $test); } /** * Validation: valid_string alpha,numeric * Expecting: failure */ public function test_validation_valid_string_multiple_flags_error_message_add_rule() { $post = array( 'f1' => '123 abc', ); $val = Validation::forge(__FUNCTION__); $val->add('f1', 'F1')->add_rule('valid_string', array('alpha', 'numeric')); $val->run($post); $test = $val->error('f1')->get_message(); $expected = 'The valid string rule valid_string(alpha, numeric) failed for field F1'; $this->assertEquals($expected, $test); } /** * Validation: valid_string alpha,numeric * Expecting: failure */ public function test_validation_valid_string_multiple_flags_error_message_add_field() { $post = array( 'f1' => '123 abc', ); $val = Validation::forge(__FUNCTION__); $val->add_field('f1', 'F1', 'valid_string[alpha,numeric]'); $val->run($post); $test = $val->error('f1')->get_message(); $expected = 'The valid string rule valid_string(alpha, numeric) failed for field F1'; $this->assertEquals($expected, $test); }
(20:54 追記) assertEquals() の引数の順序が逆になっていました。修正しました。
GitHub で Pull Request したところ、Core にマージされました。FuelPHP 1.3 以降に同梱される予定です。
なお、Pull Request のやり方については、『FuelPHP に貢献する方法』 に記載しています。無料でダウンロードできますので、興味のある方はご覧ください。