From 263d085885df024dca9250cc03c807912b0a7662 Mon Sep 17 00:00:00 2001
From: Matthew Swift <matthew.swift@forgerock.com>
Date: Tue, 24 Apr 2012 22:33:21 +0000
Subject: [PATCH] Reformat to comply with new Checkstyle rules.

---
 opendj3/opendj-ldap-sdk/src/test/java/org/forgerock/opendj/ldap/schema/SchemaCompatTest.java |  594 +++++++++++++++++++++++++++-------------------------------
 1 files changed, 279 insertions(+), 315 deletions(-)

diff --git a/opendj3/opendj-ldap-sdk/src/test/java/org/forgerock/opendj/ldap/schema/SchemaCompatTest.java b/opendj3/opendj-ldap-sdk/src/test/java/org/forgerock/opendj/ldap/schema/SchemaCompatTest.java
index 17297c0..040ab84 100644
--- a/opendj3/opendj-ldap-sdk/src/test/java/org/forgerock/opendj/ldap/schema/SchemaCompatTest.java
+++ b/opendj3/opendj-ldap-sdk/src/test/java/org/forgerock/opendj/ldap/schema/SchemaCompatTest.java
@@ -6,17 +6,16 @@
  * (the "License").  You may not use this file except in compliance
  * with the License.
  *
- * You can obtain a copy of the license at
- * trunk/opendj3/legal-notices/CDDLv1_0.txt
+ * You can obtain a copy of the license at legal-notices/CDDLv1_0.txt
  * or http://forgerock.org/license/CDDLv1.0.html.
  * 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/opendj3/legal-notices/CDDLv1_0.txt.  If applicable,
- * add the following below this CDDL HEADER, with the fields enclosed
- * by brackets "[]" replaced with your own identifying information:
+ * file and include the License file at legal-notices/CDDLv1_0.txt.
+ * 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
@@ -26,326 +25,291 @@
  */
 package org.forgerock.opendj.ldap.schema;
 
-
-
 import org.forgerock.i18n.LocalizedIllegalArgumentException;
 import org.forgerock.opendj.ldap.AttributeDescription;
 import org.testng.annotations.DataProvider;
 import org.testng.annotations.Test;
 
-
-
 /**
  * Tests schema compatibility options.
  */
-public class SchemaCompatTest extends SchemaTestCase
-{
-  /**
-   * Returns test data for valid attribute descriptions.
-   *
-   * @return The test data.
-   */
-  @DataProvider
-  public Object[][] validAttributeDescriptions()
-  {
-    // @formatter:off
-    return new Object[][] {
-        // No options.
-        { "cn", false },
-        { "cn-xxx", false },
-        { "cn", true },
-        { "cn-xxx", true },
-        { "cn_xxx", true },
-        { "cn.xxx", true },
-        // With options.
-        { "cn;xxx", false },
-        { "cn;xxx-yyy", false },
-        { "cn;xxx", true },
-        { "cn;xxx-yyy", true },
-        { "cn;xxx_yyy", true },
-        { "cn;xxx.yyy", true },
-    };
-    // @formatter:on
-  }
-
-
-
-  /**
-   * Tests valid attribute description parsing behavior depends on compat
-   * options.
-   *
-   * @param atd
-   *          The attribute description to be parsed.
-   * @param allowIllegalCharacters
-   *          {@code true} if the attribute description requires the
-   *          compatibility option to be set.
-   */
-  @Test(dataProvider = "validAttributeDescriptions")
-  public void testValidAttributeDescriptions(String atd,
-      boolean allowIllegalCharacters)
-  {
-    SchemaBuilder builder = new SchemaBuilder(Schema.getCoreSchema())
-        .allowMalformedNamesAndOptions(allowIllegalCharacters);
-    Schema schema = builder.toSchema().asNonStrictSchema();
-    AttributeDescription.valueOf(atd, schema);
-  }
-
-
-
-  /**
-   * Returns test data for invalid attribute descriptions.
-   *
-   * @return The test data.
-   */
-  @DataProvider
-  public Object[][] invalidAttributeDescriptions()
-  {
-    // @formatter:off
-    return new Object[][] {
-        // No options.
-        { "cn+xxx", false }, // always invalid
-        { "cn_xxx", false },
-        { "cn.xxx", false },
-        { "cn+xxx", true }, // always invalid
-        // With options.
-        { "cn;xxx+yyy", false }, // always invalid
-        { "cn;xxx_yyy", false },
-        { "cn;xxx.yyy", false },
-        { "cn;xxx+yyy", true }, // always invalid
-    };
-    // @formatter:on
-  }
-
-
-
-  /**
-   * Tests invalid attribute description parsing behavior depends on compat
-   * options.
-   *
-   * @param atd
-   *          The attribute description to be parsed.
-   * @param allowIllegalCharacters
-   *          {@code true} if the attribute description requires the
-   *          compatibility option to be set.
-   */
-  @Test(dataProvider = "invalidAttributeDescriptions", expectedExceptions = LocalizedIllegalArgumentException.class)
-  public void testInvalidAttributeDescriptions(String atd,
-      boolean allowIllegalCharacters)
-  {
-    SchemaBuilder builder = new SchemaBuilder(Schema.getCoreSchema())
-        .allowMalformedNamesAndOptions(allowIllegalCharacters);
-    Schema schema = builder.toSchema().asNonStrictSchema();
-    AttributeDescription.valueOf(atd, schema);
-  }
-
-
-
-  private static final Syntax ATD_SYNTAX = CoreSchema
-      .getAttributeTypeDescriptionSyntax();
-  private static final Syntax OCD_SYNTAX = CoreSchema
-      .getObjectClassDescriptionSyntax();
-
-
-
-  /**
-   * Returns test data for invalid schema elements.
-   *
-   * @return The test data.
-   */
-  @DataProvider
-  public Object[][] invalidSchemaElements()
-  {
-    // @formatter:off
-    return new Object[][] {
-        { "(testtype+oid NAME 'testtype' DESC 'full type' OBSOLETE SUP cn "
-                     + " EQUALITY caseIgnoreMatch ORDERING caseIgnoreOrderingMatch"
-                     + " SUBSTR caseIgnoreSubstringsMatch"
-                     + " SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 SINGLE-VALUE"
-                     + " USAGE userApplications )",
-          ATD_SYNTAX,
-          false
-        },
-        { "(testtype_oid NAME 'testtype' DESC 'full type' OBSOLETE SUP cn "
-                     + " EQUALITY caseIgnoreMatch ORDERING caseIgnoreOrderingMatch"
-                     + " SUBSTR caseIgnoreSubstringsMatch"
-                     + " SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 SINGLE-VALUE"
-                     + " USAGE userApplications )",
-          ATD_SYNTAX,
-          false
-        },
-        { "(testtype.oid NAME 'testtype' DESC 'full type' OBSOLETE SUP cn "
-                     + " EQUALITY caseIgnoreMatch ORDERING caseIgnoreOrderingMatch"
-                     + " SUBSTR caseIgnoreSubstringsMatch"
-                     + " SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 SINGLE-VALUE"
-                     + " USAGE userApplications )",
-          ATD_SYNTAX,
-          false
-        },
-        { "(1.2.8.5 NAME 'test+type' DESC 'full type' OBSOLETE SUP cn "
-                + " EQUALITY caseIgnoreMatch ORDERING caseIgnoreOrderingMatch"
-                + " SUBSTR caseIgnoreSubstringsMatch"
-                + " SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 SINGLE-VALUE"
-                + " USAGE userApplications )",
-          ATD_SYNTAX,
-          false
-        },
-        { "(1.2.8.5 NAME 'test.type' DESC 'full type' OBSOLETE SUP cn "
-                + " EQUALITY caseIgnoreMatch ORDERING caseIgnoreOrderingMatch"
-                + " SUBSTR caseIgnoreSubstringsMatch"
-                + " SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 SINGLE-VALUE"
-                + " USAGE userApplications )",
-          ATD_SYNTAX,
-          false
-        },
-        { "(1.2.8.5 NAME 'test_type' DESC 'full type' OBSOLETE SUP cn "
-                + " EQUALITY caseIgnoreMatch ORDERING caseIgnoreOrderingMatch"
-                + " SUBSTR caseIgnoreSubstringsMatch"
-                + " SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 SINGLE-VALUE"
-                + " USAGE userApplications )",
-          ATD_SYNTAX,
-          false
-        },
-        { "(1.2.8.5 NAME 'test+type' DESC 'full type' OBSOLETE SUP cn "
-                + " EQUALITY caseIgnoreMatch ORDERING caseIgnoreOrderingMatch"
-                + " SUBSTR caseIgnoreSubstringsMatch"
-                + " SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 SINGLE-VALUE"
-                + " USAGE userApplications )",
-          ATD_SYNTAX,
-          true
-        },
-    };
-    // @formatter:on
-  }
-
-
-
-  /**
-   * Test schema builder schema element parsing with compat chars.
-   *
-   * @param element
-   *          The schema element.
-   * @param syntax
-   *          The type of element.
-   * @param allowIllegalCharacters
-   *          {@code true} if the element requires the compatibility option to
-   *          be set.
-   */
-  @Test(dataProvider = "invalidSchemaElements", expectedExceptions = LocalizedIllegalArgumentException.class)
-  public void testInvalidSchemaBuilderElementParsers(String element,
-      Syntax syntax, boolean allowIllegalCharacters)
-  {
-    SchemaBuilder builder = new SchemaBuilder()
-        .allowMalformedNamesAndOptions(allowIllegalCharacters);
-
-    if (syntax == ATD_SYNTAX)
-    {
-      builder.addAttributeType(element, false);
+public class SchemaCompatTest extends SchemaTestCase {
+    /**
+     * Returns test data for valid attribute descriptions.
+     *
+     * @return The test data.
+     */
+    @DataProvider
+    public Object[][] validAttributeDescriptions() {
+        // @formatter:off
+        return new Object[][] {
+            // No options.
+            { "cn", false },
+            { "cn-xxx", false },
+            { "cn", true },
+            { "cn-xxx", true },
+            { "cn_xxx", true },
+            { "cn.xxx", true },
+            // With options.
+            { "cn;xxx", false },
+            { "cn;xxx-yyy", false },
+            { "cn;xxx", true },
+            { "cn;xxx-yyy", true },
+            { "cn;xxx_yyy", true },
+            { "cn;xxx.yyy", true },
+        };
+        // @formatter:on
     }
-    else if (syntax == OCD_SYNTAX)
-    {
-      builder.addObjectClass(element, false);
+
+    /**
+     * Tests valid attribute description parsing behavior depends on compat
+     * options.
+     *
+     * @param atd
+     *            The attribute description to be parsed.
+     * @param allowIllegalCharacters
+     *            {@code true} if the attribute description requires the
+     *            compatibility option to be set.
+     */
+    @Test(dataProvider = "validAttributeDescriptions")
+    public void testValidAttributeDescriptions(String atd, boolean allowIllegalCharacters) {
+        SchemaBuilder builder =
+                new SchemaBuilder(Schema.getCoreSchema())
+                        .allowMalformedNamesAndOptions(allowIllegalCharacters);
+        Schema schema = builder.toSchema().asNonStrictSchema();
+        AttributeDescription.valueOf(atd, schema);
     }
-  }
 
-
-
-  /**
-   * Returns test data for valid schema elements.
-   *
-   * @return The test data.
-   */
-  @DataProvider
-  public Object[][] validSchemaElements()
-  {
-    // @formatter:off
-    return new Object[][] {
-        { "(1.2.8.5 NAME 'testtype' DESC 'full type' OBSOLETE SUP cn "
-                + " EQUALITY caseIgnoreMatch ORDERING caseIgnoreOrderingMatch"
-                + " SUBSTR caseIgnoreSubstringsMatch"
-                + " SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 SINGLE-VALUE"
-                + " USAGE userApplications )",
-          ATD_SYNTAX,
-          false
-        },
-        { "(testtype-oid NAME 'testtype' DESC 'full type' OBSOLETE SUP cn "
-                     + " EQUALITY caseIgnoreMatch ORDERING caseIgnoreOrderingMatch"
-                     + " SUBSTR caseIgnoreSubstringsMatch"
-                     + " SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 SINGLE-VALUE"
-                     + " USAGE userApplications )",
-          ATD_SYNTAX,
-          false
-        },
-        { "(testtype_oid NAME 'testtype' DESC 'full type' OBSOLETE SUP cn "
-                     + " EQUALITY caseIgnoreMatch ORDERING caseIgnoreOrderingMatch"
-                     + " SUBSTR caseIgnoreSubstringsMatch"
-                     + " SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 SINGLE-VALUE"
-                     + " USAGE userApplications )",
-          ATD_SYNTAX,
-          true
-        },
-        { "(testtype.oid NAME 'testtype' DESC 'full type' OBSOLETE SUP cn "
-                     + " EQUALITY caseIgnoreMatch ORDERING caseIgnoreOrderingMatch"
-                     + " SUBSTR caseIgnoreSubstringsMatch"
-                     + " SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 SINGLE-VALUE"
-                     + " USAGE userApplications )",
-          ATD_SYNTAX,
-          true
-        },
-        { "(1.2.8.5 NAME 'test-type' DESC 'full type' OBSOLETE SUP cn "
-                + " EQUALITY caseIgnoreMatch ORDERING caseIgnoreOrderingMatch"
-                + " SUBSTR caseIgnoreSubstringsMatch"
-                + " SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 SINGLE-VALUE"
-                + " USAGE userApplications )",
-          ATD_SYNTAX,
-          false
-        },
-        { "(1.2.8.5 NAME 'test.type' DESC 'full type' OBSOLETE SUP cn "
-                + " EQUALITY caseIgnoreMatch ORDERING caseIgnoreOrderingMatch"
-                + " SUBSTR caseIgnoreSubstringsMatch"
-                + " SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 SINGLE-VALUE"
-                + " USAGE userApplications )",
-          ATD_SYNTAX,
-          true
-        },
-        { "(1.2.8.5 NAME 'test_type' DESC 'full type' OBSOLETE SUP cn "
-                + " EQUALITY caseIgnoreMatch ORDERING caseIgnoreOrderingMatch"
-                + " SUBSTR caseIgnoreSubstringsMatch"
-                + " SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 SINGLE-VALUE"
-                + " USAGE userApplications )",
-          ATD_SYNTAX,
-          true
-        },
-    };
-    // @formatter:on
-  }
-
-
-
-  /**
-   * Test schema builder schema element parsing with compat chars.
-   *
-   * @param element
-   *          The schema element.
-   * @param syntax
-   *          The type of element.
-   * @param allowIllegalCharacters
-   *          {@code true} if the element requires the compatibility option to
-   *          be set.
-   */
-  @Test(dataProvider = "validSchemaElements")
-  public void testValidSchemaBuilderElementParsers(String element,
-      Syntax syntax, boolean allowIllegalCharacters)
-  {
-    SchemaBuilder builder = new SchemaBuilder()
-        .allowMalformedNamesAndOptions(allowIllegalCharacters);
-
-    if (syntax == ATD_SYNTAX)
-    {
-      builder.addAttributeType(element, false);
+    /**
+     * Returns test data for invalid attribute descriptions.
+     *
+     * @return The test data.
+     */
+    @DataProvider
+    public Object[][] invalidAttributeDescriptions() {
+        // @formatter:off
+        return new Object[][] {
+            // No options.
+            { "cn+xxx", false }, // always invalid
+            { "cn_xxx", false },
+            { "cn.xxx", false },
+            { "cn+xxx", true }, // always invalid
+            // With options.
+            { "cn;xxx+yyy", false }, // always invalid
+            { "cn;xxx_yyy", false },
+            { "cn;xxx.yyy", false },
+            { "cn;xxx+yyy", true }, // always invalid
+        };
+        // @formatter:on
     }
-    else if (syntax == OCD_SYNTAX)
-    {
-      builder.addObjectClass(element, false);
+
+    /**
+     * Tests invalid attribute description parsing behavior depends on compat
+     * options.
+     *
+     * @param atd
+     *            The attribute description to be parsed.
+     * @param allowIllegalCharacters
+     *            {@code true} if the attribute description requires the
+     *            compatibility option to be set.
+     */
+    @Test(dataProvider = "invalidAttributeDescriptions",
+            expectedExceptions = LocalizedIllegalArgumentException.class)
+    public void testInvalidAttributeDescriptions(String atd, boolean allowIllegalCharacters) {
+        SchemaBuilder builder =
+                new SchemaBuilder(Schema.getCoreSchema())
+                        .allowMalformedNamesAndOptions(allowIllegalCharacters);
+        Schema schema = builder.toSchema().asNonStrictSchema();
+        AttributeDescription.valueOf(atd, schema);
     }
-  }
+
+    private static final Syntax ATD_SYNTAX = CoreSchema.getAttributeTypeDescriptionSyntax();
+    private static final Syntax OCD_SYNTAX = CoreSchema.getObjectClassDescriptionSyntax();
+
+    /**
+     * Returns test data for invalid schema elements.
+     *
+     * @return The test data.
+     */
+    @DataProvider
+    public Object[][] invalidSchemaElements() {
+        // @formatter:off
+        return new Object[][] {
+            { "(testtype+oid NAME 'testtype' DESC 'full type' OBSOLETE SUP cn "
+                         + " EQUALITY caseIgnoreMatch ORDERING caseIgnoreOrderingMatch"
+                         + " SUBSTR caseIgnoreSubstringsMatch"
+                         + " SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 SINGLE-VALUE"
+                         + " USAGE userApplications )",
+              ATD_SYNTAX,
+              false
+            },
+            { "(testtype_oid NAME 'testtype' DESC 'full type' OBSOLETE SUP cn "
+                         + " EQUALITY caseIgnoreMatch ORDERING caseIgnoreOrderingMatch"
+                         + " SUBSTR caseIgnoreSubstringsMatch"
+                         + " SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 SINGLE-VALUE"
+                         + " USAGE userApplications )",
+              ATD_SYNTAX,
+              false
+            },
+            { "(testtype.oid NAME 'testtype' DESC 'full type' OBSOLETE SUP cn "
+                         + " EQUALITY caseIgnoreMatch ORDERING caseIgnoreOrderingMatch"
+                         + " SUBSTR caseIgnoreSubstringsMatch"
+                         + " SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 SINGLE-VALUE"
+                         + " USAGE userApplications )",
+              ATD_SYNTAX,
+              false
+            },
+            { "(1.2.8.5 NAME 'test+type' DESC 'full type' OBSOLETE SUP cn "
+                    + " EQUALITY caseIgnoreMatch ORDERING caseIgnoreOrderingMatch"
+                    + " SUBSTR caseIgnoreSubstringsMatch"
+                    + " SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 SINGLE-VALUE"
+                    + " USAGE userApplications )",
+              ATD_SYNTAX,
+              false
+            },
+            { "(1.2.8.5 NAME 'test.type' DESC 'full type' OBSOLETE SUP cn "
+                    + " EQUALITY caseIgnoreMatch ORDERING caseIgnoreOrderingMatch"
+                    + " SUBSTR caseIgnoreSubstringsMatch"
+                    + " SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 SINGLE-VALUE"
+                    + " USAGE userApplications )",
+              ATD_SYNTAX,
+              false
+            },
+            { "(1.2.8.5 NAME 'test_type' DESC 'full type' OBSOLETE SUP cn "
+                    + " EQUALITY caseIgnoreMatch ORDERING caseIgnoreOrderingMatch"
+                    + " SUBSTR caseIgnoreSubstringsMatch"
+                    + " SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 SINGLE-VALUE"
+                    + " USAGE userApplications )",
+              ATD_SYNTAX,
+              false
+            },
+            { "(1.2.8.5 NAME 'test+type' DESC 'full type' OBSOLETE SUP cn "
+                    + " EQUALITY caseIgnoreMatch ORDERING caseIgnoreOrderingMatch"
+                    + " SUBSTR caseIgnoreSubstringsMatch"
+                    + " SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 SINGLE-VALUE"
+                    + " USAGE userApplications )",
+              ATD_SYNTAX,
+              true
+            },
+        };
+        // @formatter:on
+    }
+
+    /**
+     * Test schema builder schema element parsing with compat chars.
+     *
+     * @param element
+     *            The schema element.
+     * @param syntax
+     *            The type of element.
+     * @param allowIllegalCharacters
+     *            {@code true} if the element requires the compatibility option
+     *            to be set.
+     */
+    @Test(dataProvider = "invalidSchemaElements",
+            expectedExceptions = LocalizedIllegalArgumentException.class)
+    public void testInvalidSchemaBuilderElementParsers(String element, Syntax syntax,
+            boolean allowIllegalCharacters) {
+        SchemaBuilder builder =
+                new SchemaBuilder().allowMalformedNamesAndOptions(allowIllegalCharacters);
+
+        if (syntax == ATD_SYNTAX) {
+            builder.addAttributeType(element, false);
+        } else if (syntax == OCD_SYNTAX) {
+            builder.addObjectClass(element, false);
+        }
+    }
+
+    /**
+     * Returns test data for valid schema elements.
+     *
+     * @return The test data.
+     */
+    @DataProvider
+    public Object[][] validSchemaElements() {
+        // @formatter:off
+        return new Object[][] {
+            { "(1.2.8.5 NAME 'testtype' DESC 'full type' OBSOLETE SUP cn "
+                    + " EQUALITY caseIgnoreMatch ORDERING caseIgnoreOrderingMatch"
+                    + " SUBSTR caseIgnoreSubstringsMatch"
+                    + " SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 SINGLE-VALUE"
+                    + " USAGE userApplications )",
+              ATD_SYNTAX,
+              false
+            },
+            { "(testtype-oid NAME 'testtype' DESC 'full type' OBSOLETE SUP cn "
+                         + " EQUALITY caseIgnoreMatch ORDERING caseIgnoreOrderingMatch"
+                         + " SUBSTR caseIgnoreSubstringsMatch"
+                         + " SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 SINGLE-VALUE"
+                         + " USAGE userApplications )",
+              ATD_SYNTAX,
+              false
+            },
+            { "(testtype_oid NAME 'testtype' DESC 'full type' OBSOLETE SUP cn "
+                         + " EQUALITY caseIgnoreMatch ORDERING caseIgnoreOrderingMatch"
+                         + " SUBSTR caseIgnoreSubstringsMatch"
+                         + " SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 SINGLE-VALUE"
+                         + " USAGE userApplications )",
+              ATD_SYNTAX,
+              true
+            },
+            { "(testtype.oid NAME 'testtype' DESC 'full type' OBSOLETE SUP cn "
+                         + " EQUALITY caseIgnoreMatch ORDERING caseIgnoreOrderingMatch"
+                         + " SUBSTR caseIgnoreSubstringsMatch"
+                         + " SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 SINGLE-VALUE"
+                         + " USAGE userApplications )",
+              ATD_SYNTAX,
+              true
+            },
+            { "(1.2.8.5 NAME 'test-type' DESC 'full type' OBSOLETE SUP cn "
+                    + " EQUALITY caseIgnoreMatch ORDERING caseIgnoreOrderingMatch"
+                    + " SUBSTR caseIgnoreSubstringsMatch"
+                    + " SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 SINGLE-VALUE"
+                    + " USAGE userApplications )",
+              ATD_SYNTAX,
+              false
+            },
+            { "(1.2.8.5 NAME 'test.type' DESC 'full type' OBSOLETE SUP cn "
+                    + " EQUALITY caseIgnoreMatch ORDERING caseIgnoreOrderingMatch"
+                    + " SUBSTR caseIgnoreSubstringsMatch"
+                    + " SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 SINGLE-VALUE"
+                    + " USAGE userApplications )",
+              ATD_SYNTAX,
+              true
+            },
+            { "(1.2.8.5 NAME 'test_type' DESC 'full type' OBSOLETE SUP cn "
+                    + " EQUALITY caseIgnoreMatch ORDERING caseIgnoreOrderingMatch"
+                    + " SUBSTR caseIgnoreSubstringsMatch"
+                    + " SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 SINGLE-VALUE"
+                    + " USAGE userApplications )",
+              ATD_SYNTAX,
+              true
+            },
+        };
+        // @formatter:on
+    }
+
+    /**
+     * Test schema builder schema element parsing with compat chars.
+     *
+     * @param element
+     *            The schema element.
+     * @param syntax
+     *            The type of element.
+     * @param allowIllegalCharacters
+     *            {@code true} if the element requires the compatibility option
+     *            to be set.
+     */
+    @Test(dataProvider = "validSchemaElements")
+    public void testValidSchemaBuilderElementParsers(String element, Syntax syntax,
+            boolean allowIllegalCharacters) {
+        SchemaBuilder builder =
+                new SchemaBuilder().allowMalformedNamesAndOptions(allowIllegalCharacters);
+
+        if (syntax == ATD_SYNTAX) {
+            builder.addAttributeType(element, false);
+        } else if (syntax == OCD_SYNTAX) {
+            builder.addObjectClass(element, false);
+        }
+    }
 }

--
Gitblit v1.10.0