assertEquals(OssUtil::chkChinese("hello,world"), 0); $str = '你好,这里是卖咖啡!'; $strGBK = OssUtil::encodePath($str); $this->assertEquals(OssUtil::chkChinese($str), 1); $this->assertEquals(OssUtil::chkChinese($strGBK), 1); } public function testIsGB2312() { $str = '你好,这里是卖咖啡!'; $this->assertFalse(OssUtil::isGb2312($str)); } public function testCheckChar() { $str = '你好,这里是卖咖啡!'; $this->assertFalse(OssUtil::checkChar($str)); $this->assertTrue(OssUtil::checkChar(iconv("UTF-8", "GB2312//IGNORE", $str))); } public function testIsIpFormat() { $this->assertTrue(OssUtil::isIPFormat("10.101.160.147")); $this->assertTrue(OssUtil::isIPFormat("12.12.12.34")); $this->assertTrue(OssUtil::isIPFormat("12.12.12.12")); $this->assertTrue(OssUtil::isIPFormat("255.255.255.255")); $this->assertTrue(OssUtil::isIPFormat("0.1.1.1")); $this->assertFalse(OssUtil::isIPFormat("0.1.1.x")); $this->assertFalse(OssUtil::isIPFormat("0.1.1.256")); $this->assertFalse(OssUtil::isIPFormat("256.1.1.1")); $this->assertFalse(OssUtil::isIPFormat("0.1.1.0.1")); $this->assertTrue(OssUtil::isIPFormat("10.10.10.10:123")); } public function testToQueryString() { $option = array("a" => "b"); $this->assertEquals('a=b', OssUtil::toQueryString($option)); } public function testSReplace() { $str = "<>&'\""; $this->assertEquals("&lt;&gt;&'"", OssUtil::sReplace($str)); } public function testCheckChinese() { $str = '你好,这里是卖咖啡!'; $this->assertEquals(OssUtil::chkChinese($str), 1); if (OssUtil::isWin()) { $strGB = OssUtil::encodePath($str); $this->assertEquals($str, iconv("GB2312", "UTF-8", $strGB)); } } public function testValidateOption() { $option = 'string'; try { OssUtil::validateOptions($option); $this->assertFalse(true); } catch (OssException $e) { $this->assertEquals("string:option must be array", $e->getMessage()); } $option = null; try { OssUtil::validateOptions($option); $this->assertTrue(true); } catch (OssException $e) { $this->assertFalse(true); } } public function testCreateDeleteObjectsXmlBody() { $xml = <<trueobj1 BBBB; $a = array('obj1'); $this->assertEquals($xml, $this->cleanXml(OssUtil::createDeleteObjectsXmlBody($a, 'true'))); } public function testCreateCompleteMultipartUploadXmlBody() { $xml = <<2xx BBBB; $a = array(array("PartNumber" => 2, "ETag" => "xx")); $this->assertEquals($this->cleanXml(OssUtil::createCompleteMultipartUploadXmlBody($a)), $xml); } public function testCreateBucketXmlBody() { $xml = <<Standard BBBB; $storageClass ="Standard"; $this->assertEquals($this->cleanXml(OssUtil::createBucketXmlBody($storageClass)), $xml); } public function testValidateBucket() { $this->assertTrue(OssUtil::validateBucket("xxx")); $this->assertFalse(OssUtil::validateBucket("XXXqwe123")); $this->assertFalse(OssUtil::validateBucket("XX")); $this->assertFalse(OssUtil::validateBucket("/X")); $this->assertFalse(OssUtil::validateBucket("")); } public function testValidateObject() { $this->assertTrue(OssUtil::validateObject("xxx")); $this->assertTrue(OssUtil::validateObject("xxx23")); $this->assertTrue(OssUtil::validateObject("12321-xxx")); $this->assertTrue(OssUtil::validateObject("x")); $this->assertFalse(OssUtil::validateObject("/aa")); $this->assertFalse(OssUtil::validateObject("\\aa")); $this->assertFalse(OssUtil::validateObject("")); } public function testStartWith() { $this->assertTrue(OssUtil::startsWith("xxab", "xx"), true); } public function testReadDir() { $list = OssUtil::readDir("./src", ".|..|.svn|.git", true); $this->assertNotNull($list); } public function testIsWin() { //$this->assertTrue(OssUtil::isWin()); } public function testGetMd5SumForFile() { $this->assertEquals(OssUtil::getMd5SumForFile(__FILE__, 0, filesize(__FILE__) - 1), base64_encode(md5(file_get_contents(__FILE__), true))); } public function testGenerateFile() { $path = __DIR__ . DIRECTORY_SEPARATOR . "generatedFile.txt"; OssUtil::generateFile($path, 1024 * 1024); $this->assertEquals(filesize($path), 1024 * 1024); unlink($path); } public function testThrowOssExceptionWithMessageIfEmpty() { $null = null; try { OssUtil::throwOssExceptionWithMessageIfEmpty($null, "xx"); $this->assertTrue(false); } catch (OssException $e) { $this->assertEquals('xx', $e->getMessage()); } } public function testThrowOssExceptionWithMessageIfEmpty2() { $null = ""; try { OssUtil::throwOssExceptionWithMessageIfEmpty($null, "xx"); $this->assertTrue(false); } catch (OssException $e) { $this->assertEquals('xx', $e->getMessage()); } } public function testValidContent() { $null = ""; try { OssUtil::validateContent($null); $this->assertTrue(false); } catch (OssException $e) { $this->assertEquals('http body content is invalid', $e->getMessage()); } $notnull = "x"; try { OssUtil::validateContent($notnull); $this->assertTrue(true); } catch (OssException $e) { $this->assertEquals('http body content is invalid', $e->getMessage()); } } public function testThrowOssExceptionWithMessageIfEmpty3() { $null = "xx"; try { OssUtil::throwOssExceptionWithMessageIfEmpty($null, "xx"); $this->assertTrue(True); } catch (OssException $e) { $this->assertTrue(false); } } private function cleanXml($xml) { return str_replace("\n", "", str_replace("\r", "", $xml)); } public function testGetHostPortFromEndpoint() { $str = OssUtil::getHostPortFromEndpoint('http://username:password@hostname:80/path?arg=value#anchor'); $this->assertEquals('hostname:80', $str); $str = OssUtil::getHostPortFromEndpoint('hostname:80'); $this->assertEquals('hostname:80', $str); $str = OssUtil::getHostPortFromEndpoint('www.hostname.com'); $this->assertEquals('www.hostname.com', $str); $str = OssUtil::getHostPortFromEndpoint('http://www.hostname.com'); $this->assertEquals('www.hostname.com', $str); $str = OssUtil::getHostPortFromEndpoint('https://www.hostname.com'); $this->assertEquals('www.hostname.com', $str); $str = OssUtil::getHostPortFromEndpoint('192.168.1.10:8080'); $this->assertEquals('192.168.1.10:8080', $str); $str = OssUtil::getHostPortFromEndpoint('http:///path?arg=value#anchor'); $this->assertEquals('', $str); $str = OssUtil::getHostPortFromEndpoint('file://username:password@hostname:80/path?arg=value#anchor'); $this->assertEquals('hostname:80', $str); } }