Преглед изворни кода

Zend_Serializer tests: Added configuration constants and implemented skipped tests

git-svn-id: http://framework.zend.com/svn/framework/standard/trunk@20568 44c647ce-9c0f-0410-b52a-842ac1e357ba
mabe пре 16 година
родитељ
комит
d7eb60c7b6

+ 14 - 0
tests/TestConfiguration.php.dist

@@ -543,6 +543,20 @@ define('TESTS_ZEND_QUEUE_PLATFORMJQ_HOST', false);
 define('TESTS_ZEND_QUEUE_PLATFORMJQ_PASS', false);
 
 /**
+ * Zend_Serializer adapter tests
+ * 
+ * TESTS_ZEND_SERIALIZER_ADAPTER_WDDX_ENABLED:
+ *   - enable wddx adapter tests
+ *   - needs wddx and SimpleXml php extension installed
+ *
+ * TESTS_ZEND_SERIALIZER_ADAPTER_IGBINARY_ENABLED:
+ *   - enable igbinary adapter tests
+ *   - needs igbinary php extension installed
+ */
+define('TESTS_ZEND_SERIALIZER_ADAPTER_WDDX_ENABLED', false);
+define('TESTS_ZEND_SERIALIZER_ADAPTER_IGBINARY_ENABLED', false);
+
+/**
  * Zend_Service_Amazon online tests
  */
 define('TESTS_ZEND_SERVICE_AMAZON_ONLINE_ENABLED', false);

+ 18 - 2
tests/Zend/Serializer/Adapter/AllTests.php

@@ -56,11 +56,27 @@ class Zend_Serializer_Adapter_AllTests
         $suite->addTestSuite('Zend_Serializer_Adapter_Amf0Test');
         $suite->addTestSuite('Zend_Serializer_Adapter_Amf3Test');
 
-        if (defined('TESTS_ZEND_SERIALIZER_ADAPTER_WDDX_ENABLED') && TESTS_ZEND_SERIALIZER_ADAPTER_WDDX_ENABLED) {
+        if (!defined('TESTS_ZEND_SERIALIZER_ADAPTER_WDDX_ENABLED') || !TESTS_ZEND_SERIALIZER_ADAPTER_WDDX_ENABLED) {
+            $skippedTest = new Zend_Serializer_Adapter_WddxSkipTest();
+            $skippedTest->message = 'this Adapter is not enabled in TestConfiguration.php';
+            $suite->addTest($skippedTest);
+        } elseif (!extension_loaded('wddx')) {
+            $skippedTest = new Zend_Serializer_Adapter_WddxSkipTest();
+            $skippedTest->message = 'extension "wddx" is not loaded';
+            $suite->addTest($skippedTest);
+        } else {
             $suite->addTestSuite('Zend_Serializer_Adapter_WddxTest');
         }
 
-        if (defined('TESTS_ZEND_SERIALIZER_ADAPTER_IGBINARY_ENABLED') && TESTS_ZEND_SERIALIZER_ADAPTER_IGBINARY_ENABLED) {
+        if (!defined('TESTS_ZEND_SERIALIZER_ADAPTER_IGBINARY_ENABLED') || !TESTS_ZEND_SERIALIZER_ADAPTER_IGBINARY_ENABLED) {
+            $skippedTest = new Zend_Serializer_Adapter_IgbinarySkipTest();
+            $skippedTest->message = 'this Adapter is not enabled in TestConfiguration.php';
+            $suite->addTest($skippedTest);
+        } elseif (!extension_loaded('igbinary')) {
+            $skippedTest = new Zend_Serializer_Adapter_IgbinarySkipTest();
+            $skippedTest->message = 'extension "igbinary" is not loaded';
+            $suite->addTest($skippedTest);
+        } else {
             $suite->addTestSuite('Zend_Serializer_Adapter_IgbinaryTest');
         }
 

+ 27 - 0
tests/Zend/Serializer/Adapter/IgbinaryTest.php

@@ -118,3 +118,30 @@ class Zend_Serializer_Adapter_IgbinaryTest extends PHPUnit_Framework_TestCase
     }
 
 }
+
+
+/**
+ * @category   Zend
+ * @package    Zend_Serializer
+ * @subpackage UnitTests
+ * @copyright  Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)
+ * @license    http://framework.zend.com/license/new-bsd     New BSD License
+ */
+class Zend_Serializer_Adapter_IgbinarySkipTest extends PHPUnit_Framework_TestCase
+{
+    public $message = null;
+
+    public function setUp()
+    {
+        $message = 'Skipped Zend_Serializer_Adapter_IgbinaryTest';
+        if ($this->message) {
+            $message.= ': ' . $this->message;
+        }
+        $this->markTestSkipped($message);
+    }
+
+    public function testEmpty()
+    {
+        // this is here only so we have at least one test
+    }
+}

+ 28 - 0
tests/Zend/Serializer/Adapter/WddxTest.php

@@ -177,3 +177,31 @@ class Zend_Serializer_Adapter_WddxTest extends PHPUnit_Framework_TestCase
     }
 
 }
+
+
+/**
+ * @category   Zend
+ * @package    Zend_Serializer
+ * @subpackage UnitTests
+ * @copyright  Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)
+ * @license    http://framework.zend.com/license/new-bsd     New BSD License
+ */
+class Zend_Serializer_Adapter_WddxSkipTest extends PHPUnit_Framework_TestCase
+{
+    public $message = null;
+
+    public function setUp()
+    {
+        $message = 'Skipped Zend_Serializer_Adapter_WddxTest';
+        if ($this->message) {
+            $message.= ': ' . $this->message;
+        }
+        $this->markTestSkipped($message);
+    }
+
+    public function testEmpty()
+    {
+        // this is here only so we have at least one test
+    }
+}
+