From 55e4f3453174138dbb9ef640139f1cb4eedae5dc Mon Sep 17 00:00:00 2001
From: kenneth_suter <kenneth_suter@localhost>
Date: Thu, 12 Jul 2007 18:39:47 +0000
Subject: [PATCH] Utils test cases and edited method javadoc

---
 opendj-sdk/opends/src/quicksetup/org/opends/quicksetup/util/Utils.java                         |    8 +++-
 opendj-sdk/opends/tests/unit-tests-testng/src/server/org/opends/quicksetup/util/UtilsTest.java |   90 +++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 96 insertions(+), 2 deletions(-)

diff --git a/opendj-sdk/opends/src/quicksetup/org/opends/quicksetup/util/Utils.java b/opendj-sdk/opends/src/quicksetup/org/opends/quicksetup/util/Utils.java
index 913958f..d850a97 100644
--- a/opendj-sdk/opends/src/quicksetup/org/opends/quicksetup/util/Utils.java
+++ b/opendj-sdk/opends/src/quicksetup/org/opends/quicksetup/util/Utils.java
@@ -1194,14 +1194,18 @@
 
   /**
    * Inserts HTML break tags into <code>d</code> breaking it up
-   * so that no line is longer than <code>maxll</code>.
+   * so that ideally no line is longer than <code>maxll</code>
+   * assuming no single word is longer then <code>maxll</code>.
+   * If the string already contains HTML line breaks, they are
+   * respected by this method when calculating where to place
+   * new breaks to control the maximum line length.
+   *
    * @param d String to break
    * @param maxll int maximum line length
    * @return String representing <code>d</code> with HTML break
    *         tags inserted
    */
   static public String breakHtmlString(String d, int maxll) {
-    // Primitive line wrapping
     int len = d.length();
     if (len <= 0)
       return d;
diff --git a/opendj-sdk/opends/tests/unit-tests-testng/src/server/org/opends/quicksetup/util/UtilsTest.java b/opendj-sdk/opends/tests/unit-tests-testng/src/server/org/opends/quicksetup/util/UtilsTest.java
new file mode 100644
index 0000000..acec30f
--- /dev/null
+++ b/opendj-sdk/opends/tests/unit-tests-testng/src/server/org/opends/quicksetup/util/UtilsTest.java
@@ -0,0 +1,90 @@
+/*
+ * CDDL HEADER START
+ *
+ * The contents of this file are subject to the terms of the
+ * Common Development and Distribution License, Version 1.0 only
+ * (the "License").  You may not use this file except in compliance
+ * with the License.
+ *
+ * You can obtain a copy of the license at
+ * trunk/opends/resource/legal-notices/OpenDS.LICENSE
+ * or https://OpenDS.dev.java.net/OpenDS.LICENSE.
+ * See the License for the specific language governing permissions
+ * and limitations under the License.
+ *
+ * When distributing Covered Code, include this CDDL HEADER in each
+ * file and include the License file at
+ * trunk/opends/resource/legal-notices/OpenDS.LICENSE.  If applicable,
+ * add the following below this CDDL HEADER, with the fields enclosed
+ * by brackets "[]" replaced with your own identifying information:
+ *      Portions Copyright [yyyy] [name of copyright owner]
+ *
+ * CDDL HEADER END
+ *
+ *
+ *      Portions Copyright 2006-2007 Sun Microsystems, Inc.
+ */
+
+package org.opends.quicksetup.util;
+
+import static org.testng.Assert.*;
+import org.testng.annotations.*;
+import org.opends.quicksetup.Constants;
+
+/**
+ * Utils Tester.
+ */
+public class UtilsTest {
+
+  @DataProvider(name = "breakHtmlStringData")
+  public Object[][] breakHtmlStringData() {
+    // Test data should not contain words longer that
+    // the maximum line length value.
+    return new Object[][]{
+            {"Hi my name is Bingo", 5,
+                    "Hi my<br>name<br>is<br>Bingo"},
+            {"Hi<br>my name is Bingo", 5,
+                    "Hi<br>my<br>name<br>is<br>Bingo"},
+            {"Hi<br>my<br>name<br>is<br>Bingo", 5,
+                    "Hi<br>my<br>name<br>is<br>Bingo"},
+    };
+  }
+
+  @Test(dataProvider = "breakHtmlStringData")
+  public void testBreakHtmlString(String s, int maxll, String expectedValue) {
+    assertTrue(Utils.breakHtmlString(s, maxll).equals(expectedValue));
+  }
+
+  @DataProvider(name = "stripHtmlData")
+  public Object[][] stripHtmlData() {
+    return new Object[][]{
+            {"Hi <i>Ho</i>", "Hi Ho"},
+            {"Hi <b>Ho</b>", "Hi Ho"},
+            {"Hi<br> Ho", "Hi Ho"},
+            {"Hi<br/> Ho", "Hi Ho"},
+            {"Hi<input value=\"abc\"/> Ho", "Hi Ho"},
+            {"Hi<input value=\"abc\"></input> Ho", "Hi Ho"},
+            // {"Hi<tag attr=\"1 > 0\"> Ho", "Hi Ho"}, // broken case
+            // {"Hi <your name here>", "Hi <your name here>"} // broken case
+    };
+  }
+
+  @Test(enabled = false, dataProvider = "stripHtmlData")
+  public void testStripHtml(String html, String expectedResult) {
+    assertTrue(expectedResult.equals(Utils.stripHtml(html)));
+  }
+
+  @DataProvider(name = "containsHtmlData")
+  public Object[][] containsHtmlData() {
+    return new Object[][]{
+            {"Hi <i>Ho</i>", true},
+            // {"Hello <your name here>", false}, // broken case
+    };
+  }
+
+  @Test(enabled = false, dataProvider = "containsHtmlData")
+  public void testContainsHtml(String s, boolean expectedResult) {
+    assertTrue(expectedResult == Utils.containsHtml(s));
+  }
+
+}

--
Gitblit v1.10.0