assertEquals($expected, $actual); } function testGetRealURL_変換有() { $url = "http://www.example.jp/admin/../index.php"; $expected = "http://www.example.jp:/index.php"; $actual = SC_Utils::getRealURL($url); $this->assertEquals($expected, $actual); } function testGetRealURL_空のディレクトリ() { $url = "http://www.example.jp/admin/..///index.php"; $expected = "http://www.example.jp:/index.php"; $actual = SC_Utils::getRealURL($url); $this->assertEquals($expected, $actual); } function testGetRealURL_Dotのディレクトリ() { $url = "http://www.example.jp/admin/././../index.php"; $expected = "http://www.example.jp:/index.php"; $actual = SC_Utils::getRealURL($url); $this->assertEquals($expected, $actual); } function testIsBlank() { $val = ""; $this->assertTrue(SC_Utils::isBlank($val)); $valIsNotBlank = "\x00..\x1F a \n\t"; $this->assertTrue(SC_Utils::isBlank($val)); $wideSpace = " "; $this->assertTrue(SC_Utils::isBlank($wideSpace)); // greedy is false $this->assertFalse(SC_Utils::isBlank($wideSpace, false)); $array = array(); $this->assertTrue(SC_Utils::isBlank($array)); $nestsArray = array(array(array())); $this->assertTrue(SC_Utils::isBlank($nestsArray)); // greedy is false $this->assertFalse(SC_Utils::isBlank($nestsArray, false)); $nestsArrayIsNotBlank = array(array(array('1'))); $this->assertFalse(SC_Utils::isBlank($nestsArrayIsNotBlank)); // greedy is false $this->assertFalse(SC_Utils::isBlank($nestsArrayIsNotBlank, false)); $wideSpaceAndBlank = array(array(" \n ")); $this->assertTrue(SC_Utils::isBlank($wideSpaceAndBlank)); // greedy is false $this->assertFalse(SC_Utils::isBlank($wideSpaceAndBlank, false)); $wideSpaceIsNotBlank = array(array(" \na ")); $this->assertFalse(SC_Utils::isBlank($wideSpaceIsNotBlank)); // greedy is false $this->assertFalse(SC_Utils::isBlank($wideSpaceIsNotBlank, false)); $zero = 0; $this->assertFalse(SC_Utils::isBlank($zero)); $this->assertFalse(SC_Utils::isBlank($zero, false)); $emptyArray[0] = ""; $this->assertTrue(SC_Utils::isBlank($emptyArray)); } function testIsAbsoluteRealPath() { // for *NIX if (strpos(PHP_OS, 'WIN') === false) { $unix_absolute = '/usr/local'; $this->assertTrue(SC_Utils::isAbsoluteRealPath($unix_absolute)); $relative = '../foo/bar'; $this->assertFalse(SC_Utils::isAbsoluteRealPath($relative)); } // for Win else { $win_absolute = 'C:\Windows\system32'; $this->assertTrue(SC_Utils::isAbsoluteRealPath($win_absolute)); $win_absolute = 'C:/Windows/system32'; $this->assertTrue(SC_Utils::isAbsoluteRealPath($win_absolute)); $relative = '..\\foo\\bar'; $this->assertFalse(SC_Utils::isAbsoluteRealPath($relative)); } $empty = ''; $this->assertFalse(SC_Utils::isAbsoluteRealPath($empty)); } function testRecursiveMkdir() { $tmp_dir = sys_get_temp_dir(); $dir = '/foo/bar'; $results = false; if (is_dir($tmp_dir . $dir)) { rmdir($tmp_dir . '/foo/bar'); rmdir($tmp_dir . '/foo'); } $results = SC_Utils::recursiveMkdir($tmp_dir . $dir, 0777); $this->assertTrue($results); } } ?>