Explorar el Código

[ZF-10015] UnitTests:

- added tests in missing testbeds

git-svn-id: http://framework.zend.com/svn/framework/standard/trunk@22530 44c647ce-9c0f-0410-b52a-842ac1e357ba
ramon hace 15 años
padre
commit
90b563e3e6

+ 1 - 1
library/Zend/Log/Writer/Syslog.php

@@ -191,7 +191,7 @@ class Zend_Log_Writer_Syslog extends Zend_Log_Writer_Abstract
             throw new Zend_Log_Exception('Invalid log facility provided; please see http://php.net/openlog for a list of valid facility values');
         }
 
-        if (strstr(strtolower(PHP_OS), 'windows')
+        if ('WIN' == strtoupper(substr(PHP_OS, 0, 3))
             && ($facility !== LOG_USER)
         ) {
             require_once 'Zend/Log/Exception.php';

+ 4 - 0
tests/Zend/Log/AllTests.php

@@ -42,6 +42,8 @@ require_once 'Zend/Log/Writer/MailTest.php';
 require_once 'Zend/Log/Writer/MockTest.php';
 require_once 'Zend/Log/Writer/NullTest.php';
 require_once 'Zend/Log/Writer/StreamTest.php';
+require_once 'Zend/Log/Writer/SyslogTest.php';
+require_once 'Zend/Log/Writer/ZendMonitorTest.php';
 
 /**
  * @category   Zend
@@ -81,6 +83,8 @@ class Zend_Log_AllTests
         $suite->addTestSuite('Zend_Log_Writer_MockTest');
         $suite->addTestSuite('Zend_Log_Writer_NullTest');
         $suite->addTestSuite('Zend_Log_Writer_StreamTest');
+        $suite->addTestSuite('Zend_Log_Writer_SyslogTest');
+        $suite->addTestSuite('Zend_Log_Writer_ZendMonitorTest');
 
         return $suite;
     }

+ 87 - 0
tests/Zend/Log/Writer/SyslogTest.php

@@ -0,0 +1,87 @@
+<?php
+/**
+ * Zend Framework
+ *
+ * LICENSE
+ *
+ * This source file is subject to the new BSD license that is bundled
+ * with this package in the file LICENSE.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://framework.zend.com/license/new-bsd
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@zend.com so we can send you a copy immediately.
+ *
+ * @category   Zend
+ * @package    Zend_Log
+ * @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
+ * @version    $Id$
+ */
+
+/** PHPUnit_Framework_TestCase */
+require_once 'PHPUnit/Framework/TestCase.php';
+
+/** Zend_Log_Writer_Syslog */
+require_once 'Zend/Log/Writer/Syslog.php';
+
+/**
+ * @category   Zend
+ * @package    Zend_Log
+ * @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
+ * @group      Zend_Log
+ */
+class Zend_Log_Writer_SyslogTest extends PHPUnit_Framework_TestCase
+{
+    public function testWrite()
+    {
+        $fields = array('message' => 'foo', 'priority' => LOG_NOTICE);
+        $writer = new Zend_Log_Writer_Syslog();
+        $writer->write($fields);
+    }
+
+    public function testFactory()
+    {
+        $cfg = array(
+            'application' => 'my app',
+            'facility'    => LOG_USER
+        );
+
+        $writer = Zend_Log_Writer_Syslog::factory($cfg);
+        $this->assertTrue($writer instanceof Zend_Log_Writer_Syslog);
+    }
+
+    /**
+     * @group ZF-7603
+     */
+    public function testThrowExceptionValueNotPresentInFacilities()
+    {
+        try {
+            $writer = new Zend_Log_Writer_Syslog();
+            $writer->setFacility(LOG_USER * 1000);
+        } catch (Exception $e) {
+            $this->assertType('Zend_Log_Exception', $e);
+            $this->assertContains('Invalid log facility provided', $e->getMessage());
+        }
+    }
+
+    /**
+     * @group ZF-7603
+     */
+    public function testThrowExceptionIfFacilityInvalidInWindows()
+    {
+        if ('WIN' != strtoupper(substr(PHP_OS, 0, 3))) {
+            $this->markTestSkipped('Run only in windows');
+        }
+        try {
+            $writer = new Zend_Log_Writer_Syslog();
+            $writer->setFacility(LOG_AUTH);
+        } catch (Exception $e) {
+            $this->assertType('Zend_Log_Exception', $e);
+            $this->assertContains('Only LOG_USER is a valid', $e->getMessage());
+        }
+    }
+}

+ 61 - 0
tests/Zend/Log/Writer/ZendMonitorTest.php

@@ -0,0 +1,61 @@
+<?php
+/**
+ * Zend Framework
+ *
+ * LICENSE
+ *
+ * This source file is subject to the new BSD license that is bundled
+ * with this package in the file LICENSE.txt.
+ * It is also available through the world-wide-web at this URL:
+ * http://framework.zend.com/license/new-bsd
+ * If you did not receive a copy of the license and are unable to
+ * obtain it through the world-wide-web, please send an email
+ * to license@zend.com so we can send you a copy immediately.
+ *
+ * @category   Zend
+ * @package    Zend_Log
+ * @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
+ * @version    $Id$
+ */
+
+/** PHPUnit_Framework_TestCase */
+require_once 'PHPUnit/Framework/TestCase.php';
+
+/** Zend_Log_Writer_ZendMonitor */
+require_once 'Zend/Log/Writer/ZendMonitor.php';
+
+/**
+ * @category   Zend
+ * @package    Zend_Log
+ * @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
+ * @group      Zend_Log
+ */
+class Zend_Log_Writer_ZendMonitorTest extends PHPUnit_Framework_TestCase
+{
+    /**
+     * @group ZF-10081
+     */
+    public function testWrite()
+    {
+        $writer = new Zend_Log_Writer_ZendMonitor();
+        $writer->write(array('message' => 'my mess', 'priority' => 1));
+    }
+
+    public function testFactory()
+    {
+        $cfg = array();
+
+        $writer = Zend_Log_Writer_ZendMonitor::factory($cfg);
+        $this->assertTrue($writer instanceof Zend_Log_Writer_ZendMonitor);
+    }
+
+    public function testIsEnabled()
+    {
+        $writer = new Zend_Log_Writer_ZendMonitor();
+        $this->assertType('boolean', $writer->isEnabled());
+    }
+}