我用 PHP 编写了两个函数,str_to_utf8()
并且seems_utf8()
(它们由我从其他代码中借用的部分组成)。现在我正在为他们编写单元测试,我想确保我有正确的单元测试。我目前从 Facebook 拿走了我的那些:
public function test_str_to_utf8()
{
// Make sure ASCII characters are ignored
$this->assertEquals( "this\x01 is a \x7f test string", str_to_utf8( "this\x01 is a \x7f test string" ) );
// Make sure UTF8 characters are ignored
$this->assertEquals( "\xc3\x9c \xc3\xbc \xe6\x9d\xb1!", str_to_utf8( "\xc3\x9c \xc3\xbc \xe6\x9d\xb1!" ) );
// Test long strings
#str_to_utf8( str_repeat( 'x', 1024 * 1024 ) );
$this->assertEquals( TRUE, TRUE );
// Test some invalid UTF8 to see if it is properly fixed
$input = "\xc3 this has \xe6\x9d some invalid utf8 \xe6";
$expect = "\xEF\xBF\xBD this has \xEF\xBF\xBD\xEF\xBF\xBD some invalid utf8 \xEF\xBF\xBD";
$this->assertEquals( $expect, str_to_utf8( $input ) );
}
这些是有效的测试用例吗?