make this a working phpunit test
authorChuck Hagenbuch <chuck@horde.org>
Fri, 25 Sep 2009 17:50:32 +0000 (13:50 -0400)
committerChuck Hagenbuch <chuck@horde.org>
Fri, 25 Sep 2009 17:50:38 +0000 (13:50 -0400)
framework/Stream_Filter/test/Horde/Stream/Filter/EolTest.php

index d8acfe4..9aa64b3 100644 (file)
@@ -1,66 +1,43 @@
+<?php
 /**
+ * @category   Horde
  * @package    Horde_Stream_Filter
  * @subpackage UnitTests
  */
---TEST--
-Horde_Stream_Filter_Eol:: tests
---FILE--
-<?php
-
-require_once dirname(__FILE__) . '/../../../lib/Horde/Stream/Filter/Eol.php';
-
-stream_filter_register('horde_eol', 'Horde_Stream_Filter_Eol');
-
-$test = fopen('php://temp', 'r+');
-fwrite($test, "A\r\nB\rC\nD\r\n\r\nE\r\rF\n\nG\r\n\n\r\nH\r\n\r\r\nI");
 
-foreach (array("\r", "\n", "\r\n", "") as $val) {
-    $filter = stream_filter_prepend($test, 'horde_eol', STREAM_FILTER_READ, array('eol' => $val));
-    rewind($test);
-    fpassthru($test);
-    stream_filter_remove($filter);
-
-    echo "\n---\n";
+/**
+ * @category   Horde
+ * @package    Horde_Stream_Filter
+ * @subpackage UnitTests
+ */
+class Horde_Stream_Filter_EolTest extends Horde_Test_Case
+{
+    public function setup()
+    {
+        stream_filter_register('horde_eol', 'Horde_Stream_Filter_Eol');
+        $this->fp = fopen('php://temp', 'r+');
+        fwrite($this->fp, "A\r\nB\rC\nD\r\n\r\nE\r\rF\n\nG\r\n\n\r\nH\r\n\r\r\nI");
+    }
+
+    public static function lineEndingProvider()
+    {
+        return array(
+            array("\r", "A\rB\rC\rD\r\rE\r\rF\r\rG\r\r\rH\r\r\rI"),
+            array("\n", "A\nB\nC\nD\n\nE\n\nF\n\nG\n\n\nH\n\n\nI"),
+            array("\r\n", "A\r\nB\r\nC\r\nD\r\n\r\nE\r\n\r\nF\r\n\r\nG\r\n\r\n\r\nH\r\n\r\n\r\nI"),
+            array("", "ABCDEFGHI"),
+        );
+    }
+
+    /**
+     * @dataProvider lineEndingProvider
+     */
+    public function testFilterLineEndings($eol, $expected)
+    {
+        $filter = stream_filter_prepend($this->fp, 'horde_eol', STREAM_FILTER_READ, array('eol' => $eol));
+        rewind($this->fp);
+        $this->assertEquals($expected, stream_get_contents($this->fp));
+        stream_filter_remove($filter);
+        fclose($this->fp);
+    }
 }
-
-fclose($test);
-?>
---EXPECT--
-A\rB\rC\rD\r\rE\r\rF\r\rG\r\r\rH\r\r\rI
----
-A
-B
-C
-D
-
-E
-
-F
-
-G
-
-
-H
-
-
-I
----
-A\r
-B\r
-C\r
-D\r
-\r
-E\r
-\r
-F\r
-\r
-G\r
-\r
-\r
-H\r
-\r
-\r
-I
----
-ABCDEFGHI
----