source: branches/version-2_13-dev/tests/class/util/SC_Utils/SC_Utils_recursiveMkDirTest.php @ 23590

Revision 23590, 3.2 KB checked in by kimoto, 10 years ago (diff)

recursiveMkDirのPHP4サポートは不要
Windows環境の場合はmkdirのmodeは効かないのでテストを変更する
isAbsoluteRealPathの修正

  • Property svn:keywords set to Id Rev Date
Line 
1<?php
2
3$HOME = realpath(dirname(__FILE__)) . "/../../../..";
4require_once($HOME . "/tests/class/Common_TestCase.php");
5/*
6 * This file is part of EC-CUBE
7 *
8 * Copyright(c) 2000-2014 LOCKON CO.,LTD. All Rights Reserved.
9 *
10 * http://www.lockon.co.jp/
11 *
12 * This program is free software; you can redistribute it and/or
13 * modify it under the terms of the GNU General Public License
14 * as published by the Free Software Foundation; either version 2
15 * of the License, or (at your option) any later version.
16 *
17 * This program is distributed in the hope that it will be useful,
18 * but WITHOUT ANY WARRANTY; without even the implied warranty of
19 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
20 * GNU General Public License for more details.
21 *
22 * You should have received a copy of the GNU General Public License
23 * along with this program; if not, write to the Free Software
24 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
25 */
26
27/**
28 * SC_Utils::recursiveMkDir()のテストクラス.
29 *
30 *
31 * @author Hiroko Tamagawa
32 * @version $Id$
33 */
34class SC_Utils_recursiveMkdirTest extends Common_TestCase
35{
36
37    static $TMP_DIR;
38
39    protected function setUp()
40    {
41        self::$TMP_DIR = realpath(dirname(__FILE__)) . "/../../../tmp";
42        SC_Helper_FileManager::deleteFile(self::$TMP_DIR);
43        mkdir(self::$TMP_DIR, 0777, true);
44        // parent::setUp();
45    }
46
47    protected function tearDown()
48    {
49        // parent::tearDown();
50    }
51
52    /////////////////////////////////////////
53    public function testRecursiveMkdir_パーミッションを指定した場合_指定のパーミッションでディレクトリが作られる()
54    {
55        $path = realpath(dirname(__FILE__)) . "/../../../tmp/dir1/dir2/dir3/";
56        $mode = 0755;
57
58        $result = SC_Utils::recursiveMkdir($path, $mode);
59        if (DIRECTORY_SEPARATOR == '\\') {
60            // Windows環境ではパーミッションを指定したディレクトリ作成が出来ない
61            $this->expected = true;
62            $this->actual = file_exists($path);
63            $this->verify('作成したディレクトリがあるかどうか');
64        } else {
65            $this->expected = '0755';
66            $this->actual = substr(sprintf('%o', fileperms($path)), -4);
67            $this->verify('作成したディレクトリのパーミッション');
68        }
69
70    }
71
72    public function testRecursiveMkdir_パーミッションを指定しない場合_0777でディレクトリが作られる()
73    {
74        $path = realpath(dirname(__FILE__)) . "/../../../tmp/dir1/dir2/dir3/";
75
76        $result = SC_Utils::recursiveMkdir($path);
77        if (DIRECTORY_SEPARATOR == '\\') {
78            // Windows環境ではパーミッションを指定したディレクトリ作成が出来ない
79            $this->expected = true;
80            $this->actual = file_exists($path);
81            $this->verify('作成したディレクトリがあるかどうか');
82        } else {
83            $this->expected = '0777';
84            $this->actual = substr(sprintf('%o', fileperms($path)), -4);
85            $this->verify('作成したディレクトリのパーミッション');
86        }
87
88    }
89
90    //////////////////////////////////////////
91}
92
Note: See TracBrowser for help on using the repository browser.