From 5f8097b9eba09302be561d67ce035275494043e3 Mon Sep 17 00:00:00 2001
From: Aleksander Machniak <alec@alec.pl>
Date: Mon, 27 Aug 2012 06:55:58 -0400
Subject: [PATCH] Added tests for specialchars quoting

---
 tests/Framework/Html.php  |   26 ++++++++++++++++++++++++++
 tests/Framework/Utils.php |   30 ++++++++++++++++++++++++++++++
 2 files changed, 56 insertions(+), 0 deletions(-)

diff --git a/tests/Framework/Html.php b/tests/Framework/Html.php
index 107f828..8a27bac 100644
--- a/tests/Framework/Html.php
+++ b/tests/Framework/Html.php
@@ -17,4 +17,30 @@
 
         $this->assertInstanceOf('html', $object, "Class constructor");
     }
+
+    /**
+     * Data for test_quote()
+     */
+    function data_quote()
+    {
+        return array(
+            array('abc', 'abc'),
+            array('?', '?'),
+            array('"', '&quot;'),
+            array('<', '&lt;'),
+            array('>', '&gt;'),
+            array('&', '&amp;'),
+            array('&amp;', '&amp;amp;'),
+            array('&amp;', '&amp;', true),
+        );
+    }
+
+    /**
+     * Test for quote()
+     * @dataProvider data_quote
+     */
+    function test_quote($str, $result, $validate = false)
+    {
+        $this->assertEquals(html::quote($str, $validate), $result);
+    }
 }
diff --git a/tests/Framework/Utils.php b/tests/Framework/Utils.php
index 503b69a..e588359 100644
--- a/tests/Framework/Utils.php
+++ b/tests/Framework/Utils.php
@@ -130,6 +130,36 @@
     }
 
     /**
+     * Data for test_rep_specialchars_output()
+     */
+    function data_rep_specialchars_output()
+    {
+        return array(
+            array('', '', 'abc', 'abc'),
+            array('', '', '?', '?'),
+            array('', '', '"', '&quot;'),
+            array('', '', '<', '&lt;'),
+            array('', '', '>', '&gt;'),
+            array('', '', '&', '&amp;'),
+            array('', '', '&amp;', '&amp;amp;'),
+            array('', '', '<a>', '&lt;a&gt;'),
+            array('', 'remove', '<a>', ''),
+        );
+    }
+
+    /**
+     * Test for rep_specialchars_output
+     * @dataProvider data_rep_specialchars_output
+     */
+    function test_rep_specialchars_output($type, $mode, $str, $res)
+    {
+        $result = rcube_utils::rep_specialchars_output(
+            $str, $type ? $type : 'html', $mode ? $mode : 'strict');
+
+        $this->assertEquals($result, $res);
+    }
+
+    /**
      * rcube_utils::mod_css_styles()
      */
     function test_mod_css_styles()

--
Gitblit v1.9.1