Index: branches/version-2_4/test/TestSuite.php
===================================================================
--- branches/version-2_4/test/TestSuite.php	(revision 18736)
+++ branches/version-2_4/test/TestSuite.php	(revision 18738)
@@ -27,4 +27,5 @@
 require_once("class/db/DB_AllTests.php");
 require_once("class/helper/Helper_AllTests.php");
+require_once("class/util/Util_AllTests.php");
 require_once("PHPUnit/Framework.php");
 
@@ -42,4 +43,5 @@
         $suite->addTest(DB_AllTests::suite());
         $suite->addTest(Helper_AllTests::suite());
+        $suite->addTest(Util_AllTests::suite());
         return $suite;
     }
Index: branches/version-2_4/test/class/helper/SC_Helper_DB_Test.php
===================================================================
--- branches/version-2_4/test/class/helper/SC_Helper_DB_Test.php	(revision 18736)
+++ branches/version-2_4/test/class/helper/SC_Helper_DB_Test.php	(revision 18738)
@@ -52,9 +52,16 @@
     }
 
+    /**
+     * sfIndexExists() のテストケース.
+     *
+     * XXX MySQL では動作しない
+     */
     function testSfIndexExists() {
         $objDb = new SC_Helper_DB_Ex();
-        $this->assertEquals(true, $objDb->sfIndexExists("dtb_products",
-                                                        "product_id",
-                                                        "dtb_products_product_id_key"));
+        if (DB_TYPE == "pgsql") {
+            $this->assertEquals(true, $objDb->sfIndexExists("dtb_products",
+                                                            "product_id",
+                                                            "dtb_products_product_id_key"));
+        }
     }
 }
Index: branches/version-2_4/test/class/util/SC_Utils_Test.php
===================================================================
--- branches/version-2_4/test/class/util/SC_Utils_Test.php	(revision 18738)
+++ branches/version-2_4/test/class/util/SC_Utils_Test.php	(revision 18738)
@@ -0,0 +1,82 @@
+<?php
+/*
+ * This file is part of EC-CUBE
+ *
+ * Copyright(c) 2000-2010 LOCKON CO.,LTD. All Rights Reserved.
+ *
+ * http://www.lockon.co.jp/
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
+ */
+
+// {{{ requires
+require_once("../html/require.php");
+require_once("../data/class/pages/LC_Page.php");
+require_once("PHPUnit/Framework.php");
+
+/**
+ * SC_Utils のテストケース.
+ *
+ * @package Page
+ * @author LOCKON CO.,LTD.
+ * @version $Id:LC_Page_Test.php 15116 2007-07-23 11:32:53Z nanasess $
+ */
+class SC_Utils_Test extends PHPUnit_Framework_TestCase {
+
+    // }}}
+    // {{{ functions
+
+    /**
+     * SC_Utils::getRealURL() のテストケース.
+     *
+     * 変換無し
+     */
+    function testGetRealURL_変換無し() {
+        $url = "http://www.example.jp/admin/index.php";
+
+        $expected = "http://www.example.jp/admin/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_空のディレクトリ() {
+        $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);
+    }
+}
+?>
Index: branches/version-2_4/test/class/util/Util_AllTests.php
===================================================================
--- branches/version-2_4/test/class/util/Util_AllTests.php	(revision 18738)
+++ branches/version-2_4/test/class/util/Util_AllTests.php	(revision 18738)
@@ -0,0 +1,44 @@
+<?php
+/*
+ * This file is part of EC-CUBE
+ *
+ * Copyright(c) 2000-2010 LOCKON CO.,LTD. All Rights Reserved.
+ *
+ * http://www.lockon.co.jp/
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
+ */
+
+// {{{ requires
+require_once 'PHPUnit/Framework.php';
+
+require_once 'SC_Utils_Test.php';
+
+/**
+ * Util パッケージのテストケース.
+ *
+ * @package Util
+ * @author Kentaro Ohkouchi
+ * @version $Id:LC_Page_Test.php 15116 2007-07-23 11:32:53Z nanasess $
+ */
+class Util_AllTests extends PHPUnit_Framework_TestCase {
+
+    public static function suite() {
+        $suite = new PHPUnit_Framework_TestSuite('Util');
+        $suite->addTestSuite('SC_Utils_Test');
+        return $suite;
+    }
+}
+?>
