Convert Text_Flowed to using PHPUnit
authorMichael M Slusarz <slusarz@curecanti.org>
Thu, 30 Sep 2010 22:53:38 +0000 (16:53 -0600)
committerMichael M Slusarz <slusarz@curecanti.org>
Thu, 30 Sep 2010 22:57:46 +0000 (16:57 -0600)
framework/Text_Flowed/package.xml
framework/Text_Flowed/test/Horde/Text/Flowed.phpt [deleted file]
framework/Text_Flowed/test/Horde/Text/Flowed/AllTests.php [new file with mode: 0644]
framework/Text_Flowed/test/Horde/Text/Flowed/Autoload.php [new file with mode: 0644]
framework/Text_Flowed/test/Horde/Text/Flowed/FlowedTest.php [new file with mode: 0644]
framework/Text_Flowed/test/Horde/Text/Flowed/phpunit.xml [new file with mode: 0644]

index 183876b..48447b1 100644 (file)
@@ -33,7 +33,12 @@ http://pear.php.net/dtd/package-2.0.xsd">
    <dir name="test">
     <dir name="Horde">
      <dir name="Text">
-      <file name="Flowed.phpt" role="test" />
+      <dir name="Flowed">
+       <file name="AllTests.php" role="test" />
+       <file name="Autoload.php" role="test" />
+       <file name="FlowedTest.php" role="test" />
+       <file name="phpunit.xml" role="test" />
+      </dir> <!-- /test/Horde/Text/Flowed -->
      </dir> <!-- /test/Horde/Text -->
     </dir> <!-- /test/Horde -->
    </dir> <!-- /test -->
@@ -63,6 +68,10 @@ http://pear.php.net/dtd/package-2.0.xsd">
  <phprelease>
   <filelist>
    <install name="lib/Horde/Text/Flowed.php" as="Horde/Text/Flowed.php" />
+   <install name="test/Horde/Text/Flowed/AllTests.php" as="Horde/Text/Flowed/AllTests.php" />
+   <install name="test/Horde/Text/Flowed/Autoload.php" as="Horde/Text/Flowed/Autoload.php" />
+   <install name="test/Horde/Text/Flowed/FlowedTest.php" as="Horde/Text/Flowed/FlowedTest.php" />
+   <install name="test/Horde/Text/Flowed/phpunit.xml" as="Horde/Text/Flowed/phpunit.xml" />
   </filelist>
  </phprelease>
  <changelog>
diff --git a/framework/Text_Flowed/test/Horde/Text/Flowed.phpt b/framework/Text_Flowed/test/Horde/Text/Flowed.phpt
deleted file mode 100644 (file)
index 9d35022..0000000
+++ /dev/null
@@ -1,68 +0,0 @@
---TEST--
-Horde_Text_Flowed:: tests
---FILE--
-<?php
-
-require_once 'Horde/Util.php';
-require_once 'Horde/String.php';
-require_once 'Horde/Text/Flowed.php';
-
-echo "[FIXED -> FLOWED]\n";
-
-$flowed = new Horde_Text_Flowed("Hello, world!");
-echo $flowed->toFlowed() . "\n";
-
-$flowed = new Horde_Text_Flowed("Hello, \nworld!");
-echo $flowed->toFlowed() . "\n";
-
-$flowed = new Horde_Text_Flowed("Hello, \n world!");
-echo $flowed->toFlowed() . "\n";
-
-$flowed = new Horde_Text_Flowed("From");
-echo $flowed->toFlowed() . "\n";
-
-// See Bug #2969
-$flowed = new Horde_Text_Flowed("   >--------------------------------------------------------------------------------------------------------------------------------");
-echo $flowed->toFlowed() . "\n";
-
-echo "[FLOWED -> FIXED]\n";
-
-$flowed = new Horde_Text_Flowed(">line 1 \n>line 2 \n>line 3");
-echo $flowed->toFixed() . "\n\n";
-$flowed = new Horde_Text_Flowed(">line 1 \n>line 2 \n>line 3");
-echo $flowed->toFixed() . "\n\n";
-
-// See Bug #4832
-$flowed = new Horde_Text_Flowed("line 1\n>from line 2\nline 3");
-echo $flowed->toFixed() . "\n\n";
-$flowed = new Horde_Text_Flowed("line 1\n From line 2\nline 3");
-echo $flowed->toFixed() . "\n";
-
-?>
---EXPECT--
-[FIXED -> FLOWED]
-Hello, world!
-
-Hello,
-world!
-
-Hello,
-  world!
-
- From
-
-    
->-------------------------------------------------------------------------------------------------------------------------------- 
-
-[FLOWED -> FIXED]
->line 1 line 2 line 3
-
->line 1 line 2 line 3
-
-line 1
->from line 2
-line 3
-
-line 1
-From line 2
-line 3
diff --git a/framework/Text_Flowed/test/Horde/Text/Flowed/AllTests.php b/framework/Text_Flowed/test/Horde/Text/Flowed/AllTests.php
new file mode 100644 (file)
index 0000000..96ab067
--- /dev/null
@@ -0,0 +1,38 @@
+<?php
+/**
+ * All tests for the horde/Text_Flowed package.
+ *
+ * PHP version 5
+ *
+ * @category Horde
+ * @package  Text_Flowed
+ * @author   Michael Slusarz <slusarz@horde.org>
+ * @license  http://www.fsf.org/copyleft/lgpl.html LGPL
+ * @link     http://pear.horde.org/index.php?package=Text_Flowed
+ */
+
+/**
+ * Define the main method
+ */
+if (!defined('PHPUnit_MAIN_METHOD')) {
+    define('PHPUnit_MAIN_METHOD', 'Horde_Text_Flowed_AllTests::main');
+}
+
+/**
+ * Prepare the test setup.
+ */
+require_once 'Horde/Test/AllTests.php';
+
+/**
+ * @package    Text_Flowed
+ * @subpackage UnitTests
+ */
+class Horde_Text_Flowed_AllTests extends Horde_Test_AllTests
+{
+}
+
+Horde_Text_Flowed_AllTests::init('Horde_Text_Flowed', __FILE__);
+
+if (PHPUnit_MAIN_METHOD == 'Horde_Text_Flowed_AllTests::main') {
+    Horde_Text_Flowed_AllTests::main();
+}
diff --git a/framework/Text_Flowed/test/Horde/Text/Flowed/Autoload.php b/framework/Text_Flowed/test/Horde/Text/Flowed/Autoload.php
new file mode 100644 (file)
index 0000000..e2f60bb
--- /dev/null
@@ -0,0 +1,28 @@
+<?php
+/**
+ * Setup autoloading for the tests.
+ *
+ * PHP version 5
+ *
+ * @category Horde
+ * @package  Text_Flowed
+ * @author   Gunnar Wrobel <wrobel@pardus.de>
+ * @license  http://www.fsf.org/copyleft/lgpl.html LGPL
+ * @link     http://pear.horde.org/index.php?package=Text_Flowed
+ */
+
+if (!spl_autoload_functions()) {
+    spl_autoload_register(
+        create_function(
+            '$class',
+            '$filename = str_replace(array(\'::\', \'_\'), \'/\', $class);'
+            . '$err_mask = E_ALL ^ E_WARNING;'
+            . '$oldErrorReporting = error_reporting($err_mask);'
+            . 'include "$filename.php";'
+            . 'error_reporting($oldErrorReporting);'
+        )
+    );
+}
+
+/** Catch strict standards */
+error_reporting(E_ALL | E_STRICT);
diff --git a/framework/Text_Flowed/test/Horde/Text/Flowed/FlowedTest.php b/framework/Text_Flowed/test/Horde/Text/Flowed/FlowedTest.php
new file mode 100644 (file)
index 0000000..d4e3e41
--- /dev/null
@@ -0,0 +1,69 @@
+<?php
+/**
+ * Horde_Text_Flowed tests.
+ *
+ * @author     Michael Slusarz <slusarz@horde.org>
+ * @category   Horde
+ * @license    http://www.fsf.org/copyleft/lgpl.html LGPL
+ * @package    Text_Flowed
+ * @subpackage UnitTests
+ */
+
+class Horde_Text_Flowed_FlowedTest extends PHPUnit_Framework_TestCase
+{
+    public function testFixedToFlowed()
+    {
+        $flowed = new Horde_Text_Flowed("Hello, world!");
+        $this->assertEquals(
+            "Hello, world!\n",
+            $flowed->toFlowed()
+        );
+
+        $flowed = new Horde_Text_Flowed("Hello, \nworld!");
+        $this->assertEquals(
+            "Hello,\nworld!\n",
+            $flowed->toFlowed()
+        );
+
+        $flowed = new Horde_Text_Flowed("Hello, \n world!");
+        $this->assertEquals(
+            "Hello,\n  world!\n",
+            $flowed->toFlowed()
+        );
+
+        $flowed = new Horde_Text_Flowed("From");
+        $this->assertEquals(
+            " From\n",
+            $flowed->toFlowed()
+        );
+
+        // See Bug #2969
+        $flowed = new Horde_Text_Flowed("   >--------------------------------------------------------------------------------------------------------------------------------");
+        $this->assertEquals(
+            "    \n>-------------------------------------------------------------------------------------------------------------------------------- \n",
+            $flowed->toFlowed()
+        );
+    }
+
+    public function testFlowedToFixed()
+    {
+        $flowed = new Horde_Text_Flowed(">line 1 \n>line 2 \n>line 3");
+        $this->assertEquals(
+            ">line 1 line 2 line 3",
+            $flowed->toFixed()
+        );
+
+        // See Bug #4832
+        $flowed = new Horde_Text_Flowed("line 1\n>from line 2\nline 3");
+        $this->assertEquals(
+            "line 1\n>from line 2\nline 3",
+            $flowed->toFixed()
+        );
+
+        $flowed = new Horde_Text_Flowed("line 1\n From line 2\nline 3");
+        $this->assertEquals(
+            "line 1\nFrom line 2\nline 3",
+            $flowed->toFixed()
+        );
+    }
+}
diff --git a/framework/Text_Flowed/test/Horde/Text/Flowed/phpunit.xml b/framework/Text_Flowed/test/Horde/Text/Flowed/phpunit.xml
new file mode 100644 (file)
index 0000000..0148736
--- /dev/null
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<phpunit>
+  <filter>
+    <whitelist>
+      <directory suffix=".php">../../../../lib</directory>
+    </whitelist>
+  </filter>
+</phpunit>