LoboEvolution/LoboEvolution

View on GitHub
LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java

Summary

Maintainability
F
2 wks
Test Coverage

File HTMLDocumentTest.java has 2023 lines of code (exceeds 250 allowed). Consider refactoring.
Open

/*
 * MIT License
 *
 * Copyright (c) 2014 - 2024 LoboEvolution
 *

    HTMLDocumentTest has 130 methods (exceeds 20 allowed). Consider refactoring.
    Open

    @ExtendWith(AlertsExtension.class)
    public class HTMLDocumentTest extends LoboUnitTest {
    
    
        static final String[] JQUERY_CUSTOM_SELECTORS = {"div.submenu-last:last",

      Method getElementsByNameElements has 61 lines of code (exceeds 25 allowed). Consider refactoring.
      Open

          @Test
          @Alerts({"1", "2", "1", "2", "1", "2", "1", "2", "1", "2", "1", "2"})
          public void getElementsByNameElements() {
              final String html = "<html><head>"
                      + "<script>\n"

        Method getElementsByNameChangedAfterGetNested has 52 lines of code (exceeds 25 allowed). Consider refactoring.
        Open

            @Test
            @Alerts({"1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "9"})
            public void getElementsByNameChangedAfterGetNested() {
                final String html = "<html><head>"
                        + "<script>\n"

          Method getElementsByNameChangedAfterGet has 50 lines of code (exceeds 25 allowed). Consider refactoring.
          Open

              @Test
              @Alerts({"1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "9"})
              public void getElementsByNameChangedAfterGet() {
                  final String html = "<html><head>"
                          + "<script>\n"

            Method querySelectorAll_quirks has 26 lines of code (exceeds 25 allowed). Consider refactoring.
            Open

                @Test
                @Alerts({"3", "div1"})
                public void querySelectorAll_quirks() {
                    final String html = "<html>\n"
                            + "<head>\n"

              Define a constant instead of duplicating this literal " <div id="myDiv"></div> " 4 times.
              Open

                              + "  <div id='myDiv'></div>\n"

              Duplicated string literals make the process of refactoring error-prone, since you must be sure to update all occurrences.

              On the other hand, constants can be referenced from many places, but only need to be updated in a single place.

              Noncompliant Code Example

              With the default threshold of 3:

              public void run() {
                prepare("action1");                              // Noncompliant - "action1" is duplicated 3 times
                execute("action1");
                release("action1");
              }
              
              @SuppressWarning("all")                            // Compliant - annotations are excluded
              private void method1() { /* ... */ }
              @SuppressWarning("all")
              private void method2() { /* ... */ }
              
              public String method3(String a) {
                System.out.println("'" + a + "'");               // Compliant - literal "'" has less than 5 characters and is excluded
                return "";                                       // Compliant - literal "" has less than 5 characters and is excluded
              }
              

              Compliant Solution

              private static final String ACTION_1 = "action1";  // Compliant
              
              public void run() {
                prepare(ACTION_1);                               // Compliant
                execute(ACTION_1);
                release(ACTION_1);
              }
              

              Exceptions

              To prevent generating some false-positives, literals having less than 5 characters are excluded.

              Define a constant instead of duplicating this literal " <div id="div3" class="green">Third</div> " 3 times.
              Open

                              + "  <div id='div3' class='green'>Third</div>\n"

              Duplicated string literals make the process of refactoring error-prone, since you must be sure to update all occurrences.

              On the other hand, constants can be referenced from many places, but only need to be updated in a single place.

              Noncompliant Code Example

              With the default threshold of 3:

              public void run() {
                prepare("action1");                              // Noncompliant - "action1" is duplicated 3 times
                execute("action1");
                release("action1");
              }
              
              @SuppressWarning("all")                            // Compliant - annotations are excluded
              private void method1() { /* ... */ }
              @SuppressWarning("all")
              private void method2() { /* ... */ }
              
              public String method3(String a) {
                System.out.println("'" + a + "'");               // Compliant - literal "'" has less than 5 characters and is excluded
                return "";                                       // Compliant - literal "" has less than 5 characters and is excluded
              }
              

              Compliant Solution

              private static final String ACTION_1 = "action1";  // Compliant
              
              public void run() {
                prepare(ACTION_1);                               // Compliant
                execute(ACTION_1);
                release(ACTION_1);
              }
              

              Exceptions

              To prevent generating some false-positives, literals having less than 5 characters are excluded.

              Define a constant instead of duplicating this literal " <div id="div4" class="blue">Fourth</div> " 3 times.
              Open

                              + "  <div id='div4' class='blue'>Fourth</div>\n"

              Duplicated string literals make the process of refactoring error-prone, since you must be sure to update all occurrences.

              On the other hand, constants can be referenced from many places, but only need to be updated in a single place.

              Noncompliant Code Example

              With the default threshold of 3:

              public void run() {
                prepare("action1");                              // Noncompliant - "action1" is duplicated 3 times
                execute("action1");
                release("action1");
              }
              
              @SuppressWarning("all")                            // Compliant - annotations are excluded
              private void method1() { /* ... */ }
              @SuppressWarning("all")
              private void method2() { /* ... */ }
              
              public String method3(String a) {
                System.out.println("'" + a + "'");               // Compliant - literal "'" has less than 5 characters and is excluded
                return "";                                       // Compliant - literal "" has less than 5 characters and is excluded
              }
              

              Compliant Solution

              private static final String ACTION_1 = "action1";  // Compliant
              
              public void run() {
                prepare(ACTION_1);                               // Compliant
                execute(ACTION_1);
                release(ACTION_1);
              }
              

              Exceptions

              To prevent generating some false-positives, literals having less than 5 characters are excluded.

              Define a constant instead of duplicating this literal " alert(elt); " 4 times.
              Open

                              + "  alert(elt);\n"

              Duplicated string literals make the process of refactoring error-prone, since you must be sure to update all occurrences.

              On the other hand, constants can be referenced from many places, but only need to be updated in a single place.

              Noncompliant Code Example

              With the default threshold of 3:

              public void run() {
                prepare("action1");                              // Noncompliant - "action1" is duplicated 3 times
                execute("action1");
                release("action1");
              }
              
              @SuppressWarning("all")                            // Compliant - annotations are excluded
              private void method1() { /* ... */ }
              @SuppressWarning("all")
              private void method2() { /* ... */ }
              
              public String method3(String a) {
                System.out.println("'" + a + "'");               // Compliant - literal "'" has less than 5 characters and is excluded
                return "";                                       // Compliant - literal "" has less than 5 characters and is excluded
              }
              

              Compliant Solution

              private static final String ACTION_1 = "action1";  // Compliant
              
              public void run() {
                prepare(ACTION_1);                               // Compliant
                execute(ACTION_1);
                release(ACTION_1);
              }
              

              Exceptions

              To prevent generating some false-positives, literals having less than 5 characters are excluded.

              Define a constant instead of duplicating this literal " <script> " 11 times.</script>
              Open

                              + "  <script>\n"

              Duplicated string literals make the process of refactoring error-prone, since you must be sure to update all occurrences.

              On the other hand, constants can be referenced from many places, but only need to be updated in a single place.

              Noncompliant Code Example

              With the default threshold of 3:

              public void run() {
                prepare("action1");                              // Noncompliant - "action1" is duplicated 3 times
                execute("action1");
                release("action1");
              }
              
              @SuppressWarning("all")                            // Compliant - annotations are excluded
              private void method1() { /* ... */ }
              @SuppressWarning("all")
              private void method2() { /* ... */ }
              
              public String method3(String a) {
                System.out.println("'" + a + "'");               // Compliant - literal "'" has less than 5 characters and is excluded
                return "";                                       // Compliant - literal "" has less than 5 characters and is excluded
              }
              

              Compliant Solution

              private static final String ACTION_1 = "action1";  // Compliant
              
              public void run() {
                prepare(ACTION_1);                               // Compliant
                execute(ACTION_1);
                release(ACTION_1);
              }
              

              Exceptions

              To prevent generating some false-positives, literals having less than 5 characters are excluded.

              Define a constant instead of duplicating this literal " alert(document.characterSet); " 6 times.
              Open

                              + "      alert(document.characterSet);\n"

              Duplicated string literals make the process of refactoring error-prone, since you must be sure to update all occurrences.

              On the other hand, constants can be referenced from many places, but only need to be updated in a single place.

              Noncompliant Code Example

              With the default threshold of 3:

              public void run() {
                prepare("action1");                              // Noncompliant - "action1" is duplicated 3 times
                execute("action1");
                release("action1");
              }
              
              @SuppressWarning("all")                            // Compliant - annotations are excluded
              private void method1() { /* ... */ }
              @SuppressWarning("all")
              private void method2() { /* ... */ }
              
              public String method3(String a) {
                System.out.println("'" + a + "'");               // Compliant - literal "'" has less than 5 characters and is excluded
                return "";                                       // Compliant - literal "" has less than 5 characters and is excluded
              }
              

              Compliant Solution

              private static final String ACTION_1 = "action1";  // Compliant
              
              public void run() {
                prepare(ACTION_1);                               // Compliant
                execute(ACTION_1);
                release(ACTION_1);
              }
              

              Exceptions

              To prevent generating some false-positives, literals having less than 5 characters are excluded.

              Define a constant instead of duplicating this literal " alert(document.inputEncoding); " 6 times.
              Open

                              + "      alert(document.inputEncoding);\n"

              Duplicated string literals make the process of refactoring error-prone, since you must be sure to update all occurrences.

              On the other hand, constants can be referenced from many places, but only need to be updated in a single place.

              Noncompliant Code Example

              With the default threshold of 3:

              public void run() {
                prepare("action1");                              // Noncompliant - "action1" is duplicated 3 times
                execute("action1");
                release("action1");
              }
              
              @SuppressWarning("all")                            // Compliant - annotations are excluded
              private void method1() { /* ... */ }
              @SuppressWarning("all")
              private void method2() { /* ... */ }
              
              public String method3(String a) {
                System.out.println("'" + a + "'");               // Compliant - literal "'" has less than 5 characters and is excluded
                return "";                                       // Compliant - literal "" has less than 5 characters and is excluded
              }
              

              Compliant Solution

              private static final String ACTION_1 = "action1";  // Compliant
              
              public void run() {
                prepare(ACTION_1);                               // Compliant
                execute(ACTION_1);
                release(ACTION_1);
              }
              

              Exceptions

              To prevent generating some false-positives, literals having less than 5 characters are excluded.

              Define a constant instead of duplicating this literal " alert(b.link); " 3 times.
              Open

                                      + "        alert(b.link);\n"

              Duplicated string literals make the process of refactoring error-prone, since you must be sure to update all occurrences.

              On the other hand, constants can be referenced from many places, but only need to be updated in a single place.

              Noncompliant Code Example

              With the default threshold of 3:

              public void run() {
                prepare("action1");                              // Noncompliant - "action1" is duplicated 3 times
                execute("action1");
                release("action1");
              }
              
              @SuppressWarning("all")                            // Compliant - annotations are excluded
              private void method1() { /* ... */ }
              @SuppressWarning("all")
              private void method2() { /* ... */ }
              
              public String method3(String a) {
                System.out.println("'" + a + "'");               // Compliant - literal "'" has less than 5 characters and is excluded
                return "";                                       // Compliant - literal "" has less than 5 characters and is excluded
              }
              

              Compliant Solution

              private static final String ACTION_1 = "action1";  // Compliant
              
              public void run() {
                prepare(ACTION_1);                               // Compliant
                execute(ACTION_1);
                release(ACTION_1);
              }
              

              Exceptions

              To prevent generating some false-positives, literals having less than 5 characters are excluded.

              Define a constant instead of duplicating this literal " " 3 times.
              Open

                              + "</style>\n"

              Duplicated string literals make the process of refactoring error-prone, since you must be sure to update all occurrences.

              On the other hand, constants can be referenced from many places, but only need to be updated in a single place.

              Noncompliant Code Example

              With the default threshold of 3:

              public void run() {
                prepare("action1");                              // Noncompliant - "action1" is duplicated 3 times
                execute("action1");
                release("action1");
              }
              
              @SuppressWarning("all")                            // Compliant - annotations are excluded
              private void method1() { /* ... */ }
              @SuppressWarning("all")
              private void method2() { /* ... */ }
              
              public String method3(String a) {
                System.out.println("'" + a + "'");               // Compliant - literal "'" has less than 5 characters and is excluded
                return "";                                       // Compliant - literal "" has less than 5 characters and is excluded
              }
              

              Compliant Solution

              private static final String ACTION_1 = "action1";  // Compliant
              
              public void run() {
                prepare(ACTION_1);                               // Compliant
                execute(ACTION_1);
                release(ACTION_1);
              }
              

              Exceptions

              To prevent generating some false-positives, literals having less than 5 characters are excluded.

              Define a constant instead of duplicating this literal " alert(document.cookie); " 3 times.
              Open

                                      + "  alert(document.cookie);\n"

              Duplicated string literals make the process of refactoring error-prone, since you must be sure to update all occurrences.

              On the other hand, constants can be referenced from many places, but only need to be updated in a single place.

              Noncompliant Code Example

              With the default threshold of 3:

              public void run() {
                prepare("action1");                              // Noncompliant - "action1" is duplicated 3 times
                execute("action1");
                release("action1");
              }
              
              @SuppressWarning("all")                            // Compliant - annotations are excluded
              private void method1() { /* ... */ }
              @SuppressWarning("all")
              private void method2() { /* ... */ }
              
              public String method3(String a) {
                System.out.println("'" + a + "'");               // Compliant - literal "'" has less than 5 characters and is excluded
                return "";                                       // Compliant - literal "" has less than 5 characters and is excluded
              }
              

              Compliant Solution

              private static final String ACTION_1 = "action1";  // Compliant
              
              public void run() {
                prepare(ACTION_1);                               // Compliant
                execute(ACTION_1);
                release(ACTION_1);
              }
              

              Exceptions

              To prevent generating some false-positives, literals having less than 5 characters are excluded.

              Define a constant instead of duplicating this literal "<style> " 3 times.</style>
              Open

                              + "<style>\n"

              Duplicated string literals make the process of refactoring error-prone, since you must be sure to update all occurrences.

              On the other hand, constants can be referenced from many places, but only need to be updated in a single place.

              Noncompliant Code Example

              With the default threshold of 3:

              public void run() {
                prepare("action1");                              // Noncompliant - "action1" is duplicated 3 times
                execute("action1");
                release("action1");
              }
              
              @SuppressWarning("all")                            // Compliant - annotations are excluded
              private void method1() { /* ... */ }
              @SuppressWarning("all")
              private void method2() { /* ... */ }
              
              public String method3(String a) {
                System.out.println("'" + a + "'");               // Compliant - literal "'" has less than 5 characters and is excluded
                return "";                                       // Compliant - literal "" has less than 5 characters and is excluded
              }
              

              Compliant Solution

              private static final String ACTION_1 = "action1";  // Compliant
              
              public void run() {
                prepare(ACTION_1);                               // Compliant
                execute(ACTION_1);
                release(ACTION_1);
              }
              

              Exceptions

              To prevent generating some false-positives, literals having less than 5 characters are excluded.

              Define a constant instead of duplicating this literal " alert(document.cookie); " 8 times.
              Open

                                      + "      alert(document.cookie);\n"

              Duplicated string literals make the process of refactoring error-prone, since you must be sure to update all occurrences.

              On the other hand, constants can be referenced from many places, but only need to be updated in a single place.

              Noncompliant Code Example

              With the default threshold of 3:

              public void run() {
                prepare("action1");                              // Noncompliant - "action1" is duplicated 3 times
                execute("action1");
                release("action1");
              }
              
              @SuppressWarning("all")                            // Compliant - annotations are excluded
              private void method1() { /* ... */ }
              @SuppressWarning("all")
              private void method2() { /* ... */ }
              
              public String method3(String a) {
                System.out.println("'" + a + "'");               // Compliant - literal "'" has less than 5 characters and is excluded
                return "";                                       // Compliant - literal "" has less than 5 characters and is excluded
              }
              

              Compliant Solution

              private static final String ACTION_1 = "action1";  // Compliant
              
              public void run() {
                prepare(ACTION_1);                               // Compliant
                execute(ACTION_1);
                release(ACTION_1);
              }
              

              Exceptions

              To prevent generating some false-positives, literals having less than 5 characters are excluded.

              Define a constant instead of duplicating this literal " alert(document.vlinkColor); " 3 times.
              Open

                                      + "        alert(document.vlinkColor);\n"

              Duplicated string literals make the process of refactoring error-prone, since you must be sure to update all occurrences.

              On the other hand, constants can be referenced from many places, but only need to be updated in a single place.

              Noncompliant Code Example

              With the default threshold of 3:

              public void run() {
                prepare("action1");                              // Noncompliant - "action1" is duplicated 3 times
                execute("action1");
                release("action1");
              }
              
              @SuppressWarning("all")                            // Compliant - annotations are excluded
              private void method1() { /* ... */ }
              @SuppressWarning("all")
              private void method2() { /* ... */ }
              
              public String method3(String a) {
                System.out.println("'" + a + "'");               // Compliant - literal "'" has less than 5 characters and is excluded
                return "";                                       // Compliant - literal "" has less than 5 characters and is excluded
              }
              

              Compliant Solution

              private static final String ACTION_1 = "action1";  // Compliant
              
              public void run() {
                prepare(ACTION_1);                               // Compliant
                execute(ACTION_1);
                release(ACTION_1);
              }
              

              Exceptions

              To prevent generating some false-positives, literals having less than 5 characters are excluded.

              Define a constant instead of duplicating this literal " .blue {color:#0000FF;} " 3 times.
              Open

                              + "  .blue  {color:#0000FF;}\n"

              Duplicated string literals make the process of refactoring error-prone, since you must be sure to update all occurrences.

              On the other hand, constants can be referenced from many places, but only need to be updated in a single place.

              Noncompliant Code Example

              With the default threshold of 3:

              public void run() {
                prepare("action1");                              // Noncompliant - "action1" is duplicated 3 times
                execute("action1");
                release("action1");
              }
              
              @SuppressWarning("all")                            // Compliant - annotations are excluded
              private void method1() { /* ... */ }
              @SuppressWarning("all")
              private void method2() { /* ... */ }
              
              public String method3(String a) {
                System.out.println("'" + a + "'");               // Compliant - literal "'" has less than 5 characters and is excluded
                return "";                                       // Compliant - literal "" has less than 5 characters and is excluded
              }
              

              Compliant Solution

              private static final String ACTION_1 = "action1";  // Compliant
              
              public void run() {
                prepare(ACTION_1);                               // Compliant
                execute(ACTION_1);
                release(ACTION_1);
              }
              

              Exceptions

              To prevent generating some false-positives, literals having less than 5 characters are excluded.

              Define a constant instead of duplicating this literal " .green {color:#00FF00;} " 3 times.
              Open

                              + "  .green {color:#00FF00;}\n"

              Duplicated string literals make the process of refactoring error-prone, since you must be sure to update all occurrences.

              On the other hand, constants can be referenced from many places, but only need to be updated in a single place.

              Noncompliant Code Example

              With the default threshold of 3:

              public void run() {
                prepare("action1");                              // Noncompliant - "action1" is duplicated 3 times
                execute("action1");
                release("action1");
              }
              
              @SuppressWarning("all")                            // Compliant - annotations are excluded
              private void method1() { /* ... */ }
              @SuppressWarning("all")
              private void method2() { /* ... */ }
              
              public String method3(String a) {
                System.out.println("'" + a + "'");               // Compliant - literal "'" has less than 5 characters and is excluded
                return "";                                       // Compliant - literal "" has less than 5 characters and is excluded
              }
              

              Compliant Solution

              private static final String ACTION_1 = "action1";  // Compliant
              
              public void run() {
                prepare(ACTION_1);                               // Compliant
                execute(ACTION_1);
                release(ACTION_1);
              }
              

              Exceptions

              To prevent generating some false-positives, literals having less than 5 characters are excluded.

              Define a constant instead of duplicating this literal " <frame src="%22%203%20times.">
              Open

                              + "  <frame src='" + URL_SECOND + "' name='frame1'>\n"

              Duplicated string literals make the process of refactoring error-prone, since you must be sure to update all occurrences.

              On the other hand, constants can be referenced from many places, but only need to be updated in a single place.

              Noncompliant Code Example

              With the default threshold of 3:

              public void run() {
                prepare("action1");                              // Noncompliant - "action1" is duplicated 3 times
                execute("action1");
                release("action1");
              }
              
              @SuppressWarning("all")                            // Compliant - annotations are excluded
              private void method1() { /* ... */ }
              @SuppressWarning("all")
              private void method2() { /* ... */ }
              
              public String method3(String a) {
                System.out.println("'" + a + "'");               // Compliant - literal "'" has less than 5 characters and is excluded
                return "";                                       // Compliant - literal "" has less than 5 characters and is excluded
              }
              

              Compliant Solution

              private static final String ACTION_1 = "action1";  // Compliant
              
              public void run() {
                prepare(ACTION_1);                               // Compliant
                execute(ACTION_1);
                release(ACTION_1);
              }
              

              Exceptions

              To prevent generating some false-positives, literals having less than 5 characters are excluded.

              Define a constant instead of duplicating this literal " " 11 times.
              Open

                              + "<body>\n"

              Duplicated string literals make the process of refactoring error-prone, since you must be sure to update all occurrences.

              On the other hand, constants can be referenced from many places, but only need to be updated in a single place.

              Noncompliant Code Example

              With the default threshold of 3:

              public void run() {
                prepare("action1");                              // Noncompliant - "action1" is duplicated 3 times
                execute("action1");
                release("action1");
              }
              
              @SuppressWarning("all")                            // Compliant - annotations are excluded
              private void method1() { /* ... */ }
              @SuppressWarning("all")
              private void method2() { /* ... */ }
              
              public String method3(String a) {
                System.out.println("'" + a + "'");               // Compliant - literal "'" has less than 5 characters and is excluded
                return "";                                       // Compliant - literal "" has less than 5 characters and is excluded
              }
              

              Compliant Solution

              private static final String ACTION_1 = "action1";  // Compliant
              
              public void run() {
                prepare(ACTION_1);                               // Compliant
                execute(ACTION_1);
                release(ACTION_1);
              }
              

              Exceptions

              To prevent generating some false-positives, literals having less than 5 characters are excluded.

              Define a constant instead of duplicating this literal "
              Open

                              + "</script></body></html>";

              Duplicated string literals make the process of refactoring error-prone, since you must be sure to update all occurrences.

              On the other hand, constants can be referenced from many places, but only need to be updated in a single place.

              Noncompliant Code Example

              With the default threshold of 3:

              public void run() {
                prepare("action1");                              // Noncompliant - "action1" is duplicated 3 times
                execute("action1");
                release("action1");
              }
              
              @SuppressWarning("all")                            // Compliant - annotations are excluded
              private void method1() { /* ... */ }
              @SuppressWarning("all")
              private void method2() { /* ... */ }
              
              public String method3(String a) {
                System.out.println("'" + a + "'");               // Compliant - literal "'" has less than 5 characters and is excluded
                return "";                                       // Compliant - literal "" has less than 5 characters and is excluded
              }
              

              Compliant Solution

              private static final String ACTION_1 = "action1";  // Compliant
              
              public void run() {
                prepare(ACTION_1);                               // Compliant
                execute(ACTION_1);
                release(ACTION_1);
              }
              

              Exceptions

              To prevent generating some false-positives, literals having less than 5 characters are excluded.

              Define a constant instead of duplicating this literal " alert(document.alinkColor); " 3 times.
              Open

                                      + "        alert(document.alinkColor);\n"

              Duplicated string literals make the process of refactoring error-prone, since you must be sure to update all occurrences.

              On the other hand, constants can be referenced from many places, but only need to be updated in a single place.

              Noncompliant Code Example

              With the default threshold of 3:

              public void run() {
                prepare("action1");                              // Noncompliant - "action1" is duplicated 3 times
                execute("action1");
                release("action1");
              }
              
              @SuppressWarning("all")                            // Compliant - annotations are excluded
              private void method1() { /* ... */ }
              @SuppressWarning("all")
              private void method2() { /* ... */ }
              
              public String method3(String a) {
                System.out.println("'" + a + "'");               // Compliant - literal "'" has less than 5 characters and is excluded
                return "";                                       // Compliant - literal "" has less than 5 characters and is excluded
              }
              

              Compliant Solution

              private static final String ACTION_1 = "action1";  // Compliant
              
              public void run() {
                prepare(ACTION_1);                               // Compliant
                execute(ACTION_1);
                release(ACTION_1);
              }
              

              Exceptions

              To prevent generating some false-positives, literals having less than 5 characters are excluded.

              Define a constant instead of duplicating this literal " try { " 26 times.
              Open

                              + "    try {\n"

              Duplicated string literals make the process of refactoring error-prone, since you must be sure to update all occurrences.

              On the other hand, constants can be referenced from many places, but only need to be updated in a single place.

              Noncompliant Code Example

              With the default threshold of 3:

              public void run() {
                prepare("action1");                              // Noncompliant - "action1" is duplicated 3 times
                execute("action1");
                release("action1");
              }
              
              @SuppressWarning("all")                            // Compliant - annotations are excluded
              private void method1() { /* ... */ }
              @SuppressWarning("all")
              private void method2() { /* ... */ }
              
              public String method3(String a) {
                System.out.println("'" + a + "'");               // Compliant - literal "'" has less than 5 characters and is excluded
                return "";                                       // Compliant - literal "" has less than 5 characters and is excluded
              }
              

              Compliant Solution

              private static final String ACTION_1 = "action1";  // Compliant
              
              public void run() {
                prepare(ACTION_1);                               // Compliant
                execute(ACTION_1);
                release(ACTION_1);
              }
              

              Exceptions

              To prevent generating some false-positives, literals having less than 5 characters are excluded.

              Define a constant instead of duplicating this literal " " 32 times.
              Open

                              + "</head>\n"

              Duplicated string literals make the process of refactoring error-prone, since you must be sure to update all occurrences.

              On the other hand, constants can be referenced from many places, but only need to be updated in a single place.

              Noncompliant Code Example

              With the default threshold of 3:

              public void run() {
                prepare("action1");                              // Noncompliant - "action1" is duplicated 3 times
                execute("action1");
                release("action1");
              }
              
              @SuppressWarning("all")                            // Compliant - annotations are excluded
              private void method1() { /* ... */ }
              @SuppressWarning("all")
              private void method2() { /* ... */ }
              
              public String method3(String a) {
                System.out.println("'" + a + "'");               // Compliant - literal "'" has less than 5 characters and is excluded
                return "";                                       // Compliant - literal "" has less than 5 characters and is excluded
              }
              

              Compliant Solution

              private static final String ACTION_1 = "action1";  // Compliant
              
              public void run() {
                prepare(ACTION_1);                               // Compliant
                execute(ACTION_1);
                release(ACTION_1);
              }
              

              Exceptions

              To prevent generating some false-positives, literals having less than 5 characters are excluded.

              Define a constant instead of duplicating this literal " " 9 times.
              Open

                                      + "  </head>\n"

              Duplicated string literals make the process of refactoring error-prone, since you must be sure to update all occurrences.

              On the other hand, constants can be referenced from many places, but only need to be updated in a single place.

              Noncompliant Code Example

              With the default threshold of 3:

              public void run() {
                prepare("action1");                              // Noncompliant - "action1" is duplicated 3 times
                execute("action1");
                release("action1");
              }
              
              @SuppressWarning("all")                            // Compliant - annotations are excluded
              private void method1() { /* ... */ }
              @SuppressWarning("all")
              private void method2() { /* ... */ }
              
              public String method3(String a) {
                System.out.println("'" + a + "'");               // Compliant - literal "'" has less than 5 characters and is excluded
                return "";                                       // Compliant - literal "" has less than 5 characters and is excluded
              }
              

              Compliant Solution

              private static final String ACTION_1 = "action1";  // Compliant
              
              public void run() {
                prepare(ACTION_1);                               // Compliant
                execute(ACTION_1);
                release(ACTION_1);
              }
              

              Exceptions

              To prevent generating some false-positives, literals having less than 5 characters are excluded.

              Define a constant instead of duplicating this literal " " 27 times.
              Open

                              + "<head>\n"  

              Duplicated string literals make the process of refactoring error-prone, since you must be sure to update all occurrences.

              On the other hand, constants can be referenced from many places, but only need to be updated in a single place.

              Noncompliant Code Example

              With the default threshold of 3:

              public void run() {
                prepare("action1");                              // Noncompliant - "action1" is duplicated 3 times
                execute("action1");
                release("action1");
              }
              
              @SuppressWarning("all")                            // Compliant - annotations are excluded
              private void method1() { /* ... */ }
              @SuppressWarning("all")
              private void method2() { /* ... */ }
              
              public String method3(String a) {
                System.out.println("'" + a + "'");               // Compliant - literal "'" has less than 5 characters and is excluded
                return "";                                       // Compliant - literal "" has less than 5 characters and is excluded
              }
              

              Compliant Solution

              private static final String ACTION_1 = "action1";  // Compliant
              
              public void run() {
                prepare(ACTION_1);                               // Compliant
                execute(ACTION_1);
                release(ACTION_1);
              }
              

              Exceptions

              To prevent generating some false-positives, literals having less than 5 characters are excluded.

              Define a constant instead of duplicating this literal "<script> " 17 times.</script>
              Open

                              + "<script>\n"

              Duplicated string literals make the process of refactoring error-prone, since you must be sure to update all occurrences.

              On the other hand, constants can be referenced from many places, but only need to be updated in a single place.

              Noncompliant Code Example

              With the default threshold of 3:

              public void run() {
                prepare("action1");                              // Noncompliant - "action1" is duplicated 3 times
                execute("action1");
                release("action1");
              }
              
              @SuppressWarning("all")                            // Compliant - annotations are excluded
              private void method1() { /* ... */ }
              @SuppressWarning("all")
              private void method2() { /* ... */ }
              
              public String method3(String a) {
                System.out.println("'" + a + "'");               // Compliant - literal "'" has less than 5 characters and is excluded
                return "";                                       // Compliant - literal "" has less than 5 characters and is excluded
              }
              

              Compliant Solution

              private static final String ACTION_1 = "action1";  // Compliant
              
              public void run() {
                prepare(ACTION_1);                               // Compliant
                execute(ACTION_1);
                release(ACTION_1);
              }
              

              Exceptions

              To prevent generating some false-positives, literals having less than 5 characters are excluded.

              Define a constant instead of duplicating this literal "function test() { " 11 times.
              Open

                              + "function test() {\n"

              Duplicated string literals make the process of refactoring error-prone, since you must be sure to update all occurrences.

              On the other hand, constants can be referenced from many places, but only need to be updated in a single place.

              Noncompliant Code Example

              With the default threshold of 3:

              public void run() {
                prepare("action1");                              // Noncompliant - "action1" is duplicated 3 times
                execute("action1");
                release("action1");
              }
              
              @SuppressWarning("all")                            // Compliant - annotations are excluded
              private void method1() { /* ... */ }
              @SuppressWarning("all")
              private void method2() { /* ... */ }
              
              public String method3(String a) {
                System.out.println("'" + a + "'");               // Compliant - literal "'" has less than 5 characters and is excluded
                return "";                                       // Compliant - literal "" has less than 5 characters and is excluded
              }
              

              Compliant Solution

              private static final String ACTION_1 = "action1";  // Compliant
              
              public void run() {
                prepare(ACTION_1);                               // Compliant
                execute(ACTION_1);
                release(ACTION_1);
              }
              

              Exceptions

              To prevent generating some false-positives, literals having less than 5 characters are excluded.

              Define a constant instead of duplicating this literal "
              Open

                                      + "</body></html>";

              Duplicated string literals make the process of refactoring error-prone, since you must be sure to update all occurrences.

              On the other hand, constants can be referenced from many places, but only need to be updated in a single place.

              Noncompliant Code Example

              With the default threshold of 3:

              public void run() {
                prepare("action1");                              // Noncompliant - "action1" is duplicated 3 times
                execute("action1");
                release("action1");
              }
              
              @SuppressWarning("all")                            // Compliant - annotations are excluded
              private void method1() { /* ... */ }
              @SuppressWarning("all")
              private void method2() { /* ... */ }
              
              public String method3(String a) {
                System.out.println("'" + a + "'");               // Compliant - literal "'" has less than 5 characters and is excluded
                return "";                                       // Compliant - literal "" has less than 5 characters and is excluded
              }
              

              Compliant Solution

              private static final String ACTION_1 = "action1";  // Compliant
              
              public void run() {
                prepare(ACTION_1);                               // Compliant
                execute(ACTION_1);
                release(ACTION_1);
              }
              

              Exceptions

              To prevent generating some false-positives, literals having less than 5 characters are excluded.

              Define a constant instead of duplicating this literal " .red {color:#FF0000;} " 3 times.
              Open

                              + "  .red   {color:#FF0000;}\n"

              Duplicated string literals make the process of refactoring error-prone, since you must be sure to update all occurrences.

              On the other hand, constants can be referenced from many places, but only need to be updated in a single place.

              Noncompliant Code Example

              With the default threshold of 3:

              public void run() {
                prepare("action1");                              // Noncompliant - "action1" is duplicated 3 times
                execute("action1");
                release("action1");
              }
              
              @SuppressWarning("all")                            // Compliant - annotations are excluded
              private void method1() { /* ... */ }
              @SuppressWarning("all")
              private void method2() { /* ... */ }
              
              public String method3(String a) {
                System.out.println("'" + a + "'");               // Compliant - literal "'" has less than 5 characters and is excluded
                return "";                                       // Compliant - literal "" has less than 5 characters and is excluded
              }
              

              Compliant Solution

              private static final String ACTION_1 = "action1";  // Compliant
              
              public void run() {
                prepare(ACTION_1);                               // Compliant
                execute(ACTION_1);
                release(ACTION_1);
              }
              

              Exceptions

              To prevent generating some false-positives, literals having less than 5 characters are excluded.

              Define a constant instead of duplicating this literal " " 9 times.
              Open

                                      + "    </script>\n"

              Duplicated string literals make the process of refactoring error-prone, since you must be sure to update all occurrences.

              On the other hand, constants can be referenced from many places, but only need to be updated in a single place.

              Noncompliant Code Example

              With the default threshold of 3:

              public void run() {
                prepare("action1");                              // Noncompliant - "action1" is duplicated 3 times
                execute("action1");
                release("action1");
              }
              
              @SuppressWarning("all")                            // Compliant - annotations are excluded
              private void method1() { /* ... */ }
              @SuppressWarning("all")
              private void method2() { /* ... */ }
              
              public String method3(String a) {
                System.out.println("'" + a + "'");               // Compliant - literal "'" has less than 5 characters and is excluded
                return "";                                       // Compliant - literal "" has less than 5 characters and is excluded
              }
              

              Compliant Solution

              private static final String ACTION_1 = "action1";  // Compliant
              
              public void run() {
                prepare(ACTION_1);                               // Compliant
                execute(ACTION_1);
                release(ACTION_1);
              }
              

              Exceptions

              To prevent generating some false-positives, literals having less than 5 characters are excluded.

              Define a constant instead of duplicating this literal "alert(document.cookie); " 3 times.
              Open

                              + "alert(document.cookie);\n"

              Duplicated string literals make the process of refactoring error-prone, since you must be sure to update all occurrences.

              On the other hand, constants can be referenced from many places, but only need to be updated in a single place.

              Noncompliant Code Example

              With the default threshold of 3:

              public void run() {
                prepare("action1");                              // Noncompliant - "action1" is duplicated 3 times
                execute("action1");
                release("action1");
              }
              
              @SuppressWarning("all")                            // Compliant - annotations are excluded
              private void method1() { /* ... */ }
              @SuppressWarning("all")
              private void method2() { /* ... */ }
              
              public String method3(String a) {
                System.out.println("'" + a + "'");               // Compliant - literal "'" has less than 5 characters and is excluded
                return "";                                       // Compliant - literal "" has less than 5 characters and is excluded
              }
              

              Compliant Solution

              private static final String ACTION_1 = "action1";  // Compliant
              
              public void run() {
                prepare(ACTION_1);                               // Compliant
                execute(ACTION_1);
                release(ACTION_1);
              }
              

              Exceptions

              To prevent generating some false-positives, literals having less than 5 characters are excluded.

              Define a constant instead of duplicating this literal " " 36 times.
              Open

                              + "</script>\n"

              Duplicated string literals make the process of refactoring error-prone, since you must be sure to update all occurrences.

              On the other hand, constants can be referenced from many places, but only need to be updated in a single place.

              Noncompliant Code Example

              With the default threshold of 3:

              public void run() {
                prepare("action1");                              // Noncompliant - "action1" is duplicated 3 times
                execute("action1");
                release("action1");
              }
              
              @SuppressWarning("all")                            // Compliant - annotations are excluded
              private void method1() { /* ... */ }
              @SuppressWarning("all")
              private void method2() { /* ... */ }
              
              public String method3(String a) {
                System.out.println("'" + a + "'");               // Compliant - literal "'" has less than 5 characters and is excluded
                return "";                                       // Compliant - literal "" has less than 5 characters and is excluded
              }
              

              Compliant Solution

              private static final String ACTION_1 = "action1";  // Compliant
              
              public void run() {
                prepare(ACTION_1);                               // Compliant
                execute(ACTION_1);
                release(ACTION_1);
              }
              

              Exceptions

              To prevent generating some false-positives, literals having less than 5 characters are excluded.

              Define a constant instead of duplicating this literal " blah " 6 times.
              Open

                                      + "  <body id='body' onload='test()'>blah</body>\n"

              Duplicated string literals make the process of refactoring error-prone, since you must be sure to update all occurrences.

              On the other hand, constants can be referenced from many places, but only need to be updated in a single place.

              Noncompliant Code Example

              With the default threshold of 3:

              public void run() {
                prepare("action1");                              // Noncompliant - "action1" is duplicated 3 times
                execute("action1");
                release("action1");
              }
              
              @SuppressWarning("all")                            // Compliant - annotations are excluded
              private void method1() { /* ... */ }
              @SuppressWarning("all")
              private void method2() { /* ... */ }
              
              public String method3(String a) {
                System.out.println("'" + a + "'");               // Compliant - literal "'" has less than 5 characters and is excluded
                return "";                                       // Compliant - literal "" has less than 5 characters and is excluded
              }
              

              Compliant Solution

              private static final String ACTION_1 = "action1";  // Compliant
              
              public void run() {
                prepare(ACTION_1);                               // Compliant
                execute(ACTION_1);
                release(ACTION_1);
              }
              

              Exceptions

              To prevent generating some false-positives, literals having less than 5 characters are excluded.

              Define a constant instead of duplicating this literal " " 23 times.
              Open

                              "<html><head>\n"

              Duplicated string literals make the process of refactoring error-prone, since you must be sure to update all occurrences.

              On the other hand, constants can be referenced from many places, but only need to be updated in a single place.

              Noncompliant Code Example

              With the default threshold of 3:

              public void run() {
                prepare("action1");                              // Noncompliant - "action1" is duplicated 3 times
                execute("action1");
                release("action1");
              }
              
              @SuppressWarning("all")                            // Compliant - annotations are excluded
              private void method1() { /* ... */ }
              @SuppressWarning("all")
              private void method2() { /* ... */ }
              
              public String method3(String a) {
                System.out.println("'" + a + "'");               // Compliant - literal "'" has less than 5 characters and is excluded
                return "";                                       // Compliant - literal "" has less than 5 characters and is excluded
              }
              

              Compliant Solution

              private static final String ACTION_1 = "action1";  // Compliant
              
              public void run() {
                prepare(ACTION_1);                               // Compliant
                execute(ACTION_1);
                release(ACTION_1);
              }
              

              Exceptions

              To prevent generating some false-positives, literals having less than 5 characters are excluded.

              Define a constant instead of duplicating this literal " alert(document.linkColor); " 3 times.
              Open

                                      + "        alert(document.linkColor);\n"

              Duplicated string literals make the process of refactoring error-prone, since you must be sure to update all occurrences.

              On the other hand, constants can be referenced from many places, but only need to be updated in a single place.

              Noncompliant Code Example

              With the default threshold of 3:

              public void run() {
                prepare("action1");                              // Noncompliant - "action1" is duplicated 3 times
                execute("action1");
                release("action1");
              }
              
              @SuppressWarning("all")                            // Compliant - annotations are excluded
              private void method1() { /* ... */ }
              @SuppressWarning("all")
              private void method2() { /* ... */ }
              
              public String method3(String a) {
                System.out.println("'" + a + "'");               // Compliant - literal "'" has less than 5 characters and is excluded
                return "";                                       // Compliant - literal "" has less than 5 characters and is excluded
              }
              

              Compliant Solution

              private static final String ACTION_1 = "action1";  // Compliant
              
              public void run() {
                prepare(ACTION_1);                               // Compliant
                execute(ACTION_1);
                release(ACTION_1);
              }
              

              Exceptions

              To prevent generating some false-positives, literals having less than 5 characters are excluded.

              Define a constant instead of duplicating this literal " " 4 times.
              Open

                              + "</div>\n"

              Duplicated string literals make the process of refactoring error-prone, since you must be sure to update all occurrences.

              On the other hand, constants can be referenced from many places, but only need to be updated in a single place.

              Noncompliant Code Example

              With the default threshold of 3:

              public void run() {
                prepare("action1");                              // Noncompliant - "action1" is duplicated 3 times
                execute("action1");
                release("action1");
              }
              
              @SuppressWarning("all")                            // Compliant - annotations are excluded
              private void method1() { /* ... */ }
              @SuppressWarning("all")
              private void method2() { /* ... */ }
              
              public String method3(String a) {
                System.out.println("'" + a + "'");               // Compliant - literal "'" has less than 5 characters and is excluded
                return "";                                       // Compliant - literal "" has less than 5 characters and is excluded
              }
              

              Compliant Solution

              private static final String ACTION_1 = "action1";  // Compliant
              
              public void run() {
                prepare(ACTION_1);                               // Compliant
                execute(ACTION_1);
                release(ACTION_1);
              }
              

              Exceptions

              To prevent generating some false-positives, literals having less than 5 characters are excluded.

              Define a constant instead of duplicating this literal " <div></div> " 5 times.
              Open

                              + "  <div></div>\n"

              Duplicated string literals make the process of refactoring error-prone, since you must be sure to update all occurrences.

              On the other hand, constants can be referenced from many places, but only need to be updated in a single place.

              Noncompliant Code Example

              With the default threshold of 3:

              public void run() {
                prepare("action1");                              // Noncompliant - "action1" is duplicated 3 times
                execute("action1");
                release("action1");
              }
              
              @SuppressWarning("all")                            // Compliant - annotations are excluded
              private void method1() { /* ... */ }
              @SuppressWarning("all")
              private void method2() { /* ... */ }
              
              public String method3(String a) {
                System.out.println("'" + a + "'");               // Compliant - literal "'" has less than 5 characters and is excluded
                return "";                                       // Compliant - literal "" has less than 5 characters and is excluded
              }
              

              Compliant Solution

              private static final String ACTION_1 = "action1";  // Compliant
              
              public void run() {
                prepare(ACTION_1);                               // Compliant
                execute(ACTION_1);
                release(ACTION_1);
              }
              

              Exceptions

              To prevent generating some false-positives, literals having less than 5 characters are excluded.

              Define a constant instead of duplicating this literal " try { " 6 times.
              Open

                              + "  try {\n"

              Duplicated string literals make the process of refactoring error-prone, since you must be sure to update all occurrences.

              On the other hand, constants can be referenced from many places, but only need to be updated in a single place.

              Noncompliant Code Example

              With the default threshold of 3:

              public void run() {
                prepare("action1");                              // Noncompliant - "action1" is duplicated 3 times
                execute("action1");
                release("action1");
              }
              
              @SuppressWarning("all")                            // Compliant - annotations are excluded
              private void method1() { /* ... */ }
              @SuppressWarning("all")
              private void method2() { /* ... */ }
              
              public String method3(String a) {
                System.out.println("'" + a + "'");               // Compliant - literal "'" has less than 5 characters and is excluded
                return "";                                       // Compliant - literal "" has less than 5 characters and is excluded
              }
              

              Compliant Solution

              private static final String ACTION_1 = "action1";  // Compliant
              
              public void run() {
                prepare(ACTION_1);                               // Compliant
                execute(ACTION_1);
                release(ACTION_1);
              }
              

              Exceptions

              To prevent generating some false-positives, literals having less than 5 characters are excluded.

              Define a constant instead of duplicating this literal " } catch(e) {alert('exception'); } " 7 times.
              Open

                              + "    } catch(e) {alert('exception'); }\n"

              Duplicated string literals make the process of refactoring error-prone, since you must be sure to update all occurrences.

              On the other hand, constants can be referenced from many places, but only need to be updated in a single place.

              Noncompliant Code Example

              With the default threshold of 3:

              public void run() {
                prepare("action1");                              // Noncompliant - "action1" is duplicated 3 times
                execute("action1");
                release("action1");
              }
              
              @SuppressWarning("all")                            // Compliant - annotations are excluded
              private void method1() { /* ... */ }
              @SuppressWarning("all")
              private void method2() { /* ... */ }
              
              public String method3(String a) {
                System.out.println("'" + a + "'");               // Compliant - literal "'" has less than 5 characters and is excluded
                return "";                                       // Compliant - literal "" has less than 5 characters and is excluded
              }
              

              Compliant Solution

              private static final String ACTION_1 = "action1";  // Compliant
              
              public void run() {
                prepare(ACTION_1);                               // Compliant
                execute(ACTION_1);
                release(ACTION_1);
              }
              

              Exceptions

              To prevent generating some false-positives, literals having less than 5 characters are excluded.

              Define a constant instead of duplicating this literal "function doTest() { " 8 times.
              Open

                              + "function doTest() {\n"

              Duplicated string literals make the process of refactoring error-prone, since you must be sure to update all occurrences.

              On the other hand, constants can be referenced from many places, but only need to be updated in a single place.

              Noncompliant Code Example

              With the default threshold of 3:

              public void run() {
                prepare("action1");                              // Noncompliant - "action1" is duplicated 3 times
                execute("action1");
                release("action1");
              }
              
              @SuppressWarning("all")                            // Compliant - annotations are excluded
              private void method1() { /* ... */ }
              @SuppressWarning("all")
              private void method2() { /* ... */ }
              
              public String method3(String a) {
                System.out.println("'" + a + "'");               // Compliant - literal "'" has less than 5 characters and is excluded
                return "";                                       // Compliant - literal "" has less than 5 characters and is excluded
              }
              

              Compliant Solution

              private static final String ACTION_1 = "action1";  // Compliant
              
              public void run() {
                prepare(ACTION_1);                               // Compliant
                execute(ACTION_1);
                release(ACTION_1);
              }
              

              Exceptions

              To prevent generating some false-positives, literals having less than 5 characters are excluded.

              Define a constant instead of duplicating this literal " " 24 times.
              Open

                                      + "<body onload='test()'>\n"

              Duplicated string literals make the process of refactoring error-prone, since you must be sure to update all occurrences.

              On the other hand, constants can be referenced from many places, but only need to be updated in a single place.

              Noncompliant Code Example

              With the default threshold of 3:

              public void run() {
                prepare("action1");                              // Noncompliant - "action1" is duplicated 3 times
                execute("action1");
                release("action1");
              }
              
              @SuppressWarning("all")                            // Compliant - annotations are excluded
              private void method1() { /* ... */ }
              @SuppressWarning("all")
              private void method2() { /* ... */ }
              
              public String method3(String a) {
                System.out.println("'" + a + "'");               // Compliant - literal "'" has less than 5 characters and is excluded
                return "";                                       // Compliant - literal "" has less than 5 characters and is excluded
              }
              

              Compliant Solution

              private static final String ACTION_1 = "action1";  // Compliant
              
              public void run() {
                prepare(ACTION_1);                               // Compliant
                execute(ACTION_1);
                release(ACTION_1);
              }
              

              Exceptions

              To prevent generating some false-positives, literals having less than 5 characters are excluded.

              Define a constant instead of duplicating this literal " alert(document.defaultCharset); " 6 times.
              Open

                              + "      alert(document.defaultCharset);\n"

              Duplicated string literals make the process of refactoring error-prone, since you must be sure to update all occurrences.

              On the other hand, constants can be referenced from many places, but only need to be updated in a single place.

              Noncompliant Code Example

              With the default threshold of 3:

              public void run() {
                prepare("action1");                              // Noncompliant - "action1" is duplicated 3 times
                execute("action1");
                release("action1");
              }
              
              @SuppressWarning("all")                            // Compliant - annotations are excluded
              private void method1() { /* ... */ }
              @SuppressWarning("all")
              private void method2() { /* ... */ }
              
              public String method3(String a) {
                System.out.println("'" + a + "'");               // Compliant - literal "'" has less than 5 characters and is excluded
                return "";                                       // Compliant - literal "" has less than 5 characters and is excluded
              }
              

              Compliant Solution

              private static final String ACTION_1 = "action1";  // Compliant
              
              public void run() {
                prepare(ACTION_1);                               // Compliant
                execute(ACTION_1);
                release(ACTION_1);
              }
              

              Exceptions

              To prevent generating some false-positives, literals having less than 5 characters are excluded.

              Define a constant instead of duplicating this literal " " 42 times.
              Open

                      final String html = "<html>\n"

              Duplicated string literals make the process of refactoring error-prone, since you must be sure to update all occurrences.

              On the other hand, constants can be referenced from many places, but only need to be updated in a single place.

              Noncompliant Code Example

              With the default threshold of 3:

              public void run() {
                prepare("action1");                              // Noncompliant - "action1" is duplicated 3 times
                execute("action1");
                release("action1");
              }
              
              @SuppressWarning("all")                            // Compliant - annotations are excluded
              private void method1() { /* ... */ }
              @SuppressWarning("all")
              private void method2() { /* ... */ }
              
              public String method3(String a) {
                System.out.println("'" + a + "'");               // Compliant - literal "'" has less than 5 characters and is excluded
                return "";                                       // Compliant - literal "" has less than 5 characters and is excluded
              }
              

              Compliant Solution

              private static final String ACTION_1 = "action1";  // Compliant
              
              public void run() {
                prepare(ACTION_1);                               // Compliant
                execute(ACTION_1);
                release(ACTION_1);
              }
              

              Exceptions

              To prevent generating some false-positives, literals having less than 5 characters are excluded.

              Define a constant instead of duplicating this literal " " 14 times.
              Open

                              + "</script></head><body onload='test()'>\n"

              Duplicated string literals make the process of refactoring error-prone, since you must be sure to update all occurrences.

              On the other hand, constants can be referenced from many places, but only need to be updated in a single place.

              Noncompliant Code Example

              With the default threshold of 3:

              public void run() {
                prepare("action1");                              // Noncompliant - "action1" is duplicated 3 times
                execute("action1");
                release("action1");
              }
              
              @SuppressWarning("all")                            // Compliant - annotations are excluded
              private void method1() { /* ... */ }
              @SuppressWarning("all")
              private void method2() { /* ... */ }
              
              public String method3(String a) {
                System.out.println("'" + a + "'");               // Compliant - literal "'" has less than 5 characters and is excluded
                return "";                                       // Compliant - literal "" has less than 5 characters and is excluded
              }
              

              Compliant Solution

              private static final String ACTION_1 = "action1";  // Compliant
              
              public void run() {
                prepare(ACTION_1);                               // Compliant
                execute(ACTION_1);
                release(ACTION_1);
              }
              

              Exceptions

              To prevent generating some false-positives, literals having less than 5 characters are excluded.

              Define a constant instead of duplicating this literal " alert(b.aLink); " 3 times.
              Open

                                      + "        alert(b.aLink);\n"

              Duplicated string literals make the process of refactoring error-prone, since you must be sure to update all occurrences.

              On the other hand, constants can be referenced from many places, but only need to be updated in a single place.

              Noncompliant Code Example

              With the default threshold of 3:

              public void run() {
                prepare("action1");                              // Noncompliant - "action1" is duplicated 3 times
                execute("action1");
                release("action1");
              }
              
              @SuppressWarning("all")                            // Compliant - annotations are excluded
              private void method1() { /* ... */ }
              @SuppressWarning("all")
              private void method2() { /* ... */ }
              
              public String method3(String a) {
                System.out.println("'" + a + "'");               // Compliant - literal "'" has less than 5 characters and is excluded
                return "";                                       // Compliant - literal "" has less than 5 characters and is excluded
              }
              

              Compliant Solution

              private static final String ACTION_1 = "action1";  // Compliant
              
              public void run() {
                prepare(ACTION_1);                               // Compliant
                execute(ACTION_1);
                release(ACTION_1);
              }
              

              Exceptions

              To prevent generating some false-positives, literals having less than 5 characters are excluded.

              Define a constant instead of duplicating this literal " alert(b.bgColor); " 3 times.
              Open

                                      + "        alert(b.bgColor);\n"

              Duplicated string literals make the process of refactoring error-prone, since you must be sure to update all occurrences.

              On the other hand, constants can be referenced from many places, but only need to be updated in a single place.

              Noncompliant Code Example

              With the default threshold of 3:

              public void run() {
                prepare("action1");                              // Noncompliant - "action1" is duplicated 3 times
                execute("action1");
                release("action1");
              }
              
              @SuppressWarning("all")                            // Compliant - annotations are excluded
              private void method1() { /* ... */ }
              @SuppressWarning("all")
              private void method2() { /* ... */ }
              
              public String method3(String a) {
                System.out.println("'" + a + "'");               // Compliant - literal "'" has less than 5 characters and is excluded
                return "";                                       // Compliant - literal "" has less than 5 characters and is excluded
              }
              

              Compliant Solution

              private static final String ACTION_1 = "action1";  // Compliant
              
              public void run() {
                prepare(ACTION_1);                               // Compliant
                execute(ACTION_1);
                release(ACTION_1);
              }
              

              Exceptions

              To prevent generating some false-positives, literals having less than 5 characters are excluded.

              Define a constant instead of duplicating this literal " alert(document.baseURI); " 11 times.
              Open

                              + "  alert(document.baseURI);\n"

              Duplicated string literals make the process of refactoring error-prone, since you must be sure to update all occurrences.

              On the other hand, constants can be referenced from many places, but only need to be updated in a single place.

              Noncompliant Code Example

              With the default threshold of 3:

              public void run() {
                prepare("action1");                              // Noncompliant - "action1" is duplicated 3 times
                execute("action1");
                release("action1");
              }
              
              @SuppressWarning("all")                            // Compliant - annotations are excluded
              private void method1() { /* ... */ }
              @SuppressWarning("all")
              private void method2() { /* ... */ }
              
              public String method3(String a) {
                System.out.println("'" + a + "'");               // Compliant - literal "'" has less than 5 characters and is excluded
                return "";                                       // Compliant - literal "" has less than 5 characters and is excluded
              }
              

              Compliant Solution

              private static final String ACTION_1 = "action1";  // Compliant
              
              public void run() {
                prepare(ACTION_1);                               // Compliant
                execute(ACTION_1);
                release(ACTION_1);
              }
              

              Exceptions

              To prevent generating some false-positives, literals having less than 5 characters are excluded.

              Define a constant instead of duplicating this literal " alert(b.vLink); " 3 times.
              Open

                                      + "        alert(b.vLink);\n"

              Duplicated string literals make the process of refactoring error-prone, since you must be sure to update all occurrences.

              On the other hand, constants can be referenced from many places, but only need to be updated in a single place.

              Noncompliant Code Example

              With the default threshold of 3:

              public void run() {
                prepare("action1");                              // Noncompliant - "action1" is duplicated 3 times
                execute("action1");
                release("action1");
              }
              
              @SuppressWarning("all")                            // Compliant - annotations are excluded
              private void method1() { /* ... */ }
              @SuppressWarning("all")
              private void method2() { /* ... */ }
              
              public String method3(String a) {
                System.out.println("'" + a + "'");               // Compliant - literal "'" has less than 5 characters and is excluded
                return "";                                       // Compliant - literal "" has less than 5 characters and is excluded
              }
              

              Compliant Solution

              private static final String ACTION_1 = "action1";  // Compliant
              
              public void run() {
                prepare(ACTION_1);                               // Compliant
                execute(ACTION_1);
                release(ACTION_1);
              }
              

              Exceptions

              To prevent generating some false-positives, literals having less than 5 characters are excluded.

              Define a constant instead of duplicating this literal " " 16 times.
              Open

                              + "  </script>\n"

              Duplicated string literals make the process of refactoring error-prone, since you must be sure to update all occurrences.

              On the other hand, constants can be referenced from many places, but only need to be updated in a single place.

              Noncompliant Code Example

              With the default threshold of 3:

              public void run() {
                prepare("action1");                              // Noncompliant - "action1" is duplicated 3 times
                execute("action1");
                release("action1");
              }
              
              @SuppressWarning("all")                            // Compliant - annotations are excluded
              private void method1() { /* ... */ }
              @SuppressWarning("all")
              private void method2() { /* ... */ }
              
              public String method3(String a) {
                System.out.println("'" + a + "'");               // Compliant - literal "'" has less than 5 characters and is excluded
                return "";                                       // Compliant - literal "" has less than 5 characters and is excluded
              }
              

              Compliant Solution

              private static final String ACTION_1 = "action1";  // Compliant
              
              public void run() {
                prepare(ACTION_1);                               // Compliant
                execute(ACTION_1);
                release(ACTION_1);
              }
              

              Exceptions

              To prevent generating some false-positives, literals having less than 5 characters are excluded.

              Define a constant instead of duplicating this literal " } " 7 times.
              Open

                                      + "      }\n"

              Duplicated string literals make the process of refactoring error-prone, since you must be sure to update all occurrences.

              On the other hand, constants can be referenced from many places, but only need to be updated in a single place.

              Noncompliant Code Example

              With the default threshold of 3:

              public void run() {
                prepare("action1");                              // Noncompliant - "action1" is duplicated 3 times
                execute("action1");
                release("action1");
              }
              
              @SuppressWarning("all")                            // Compliant - annotations are excluded
              private void method1() { /* ... */ }
              @SuppressWarning("all")
              private void method2() { /* ... */ }
              
              public String method3(String a) {
                System.out.println("'" + a + "'");               // Compliant - literal "'" has less than 5 characters and is excluded
                return "";                                       // Compliant - literal "" has less than 5 characters and is excluded
              }
              

              Compliant Solution

              private static final String ACTION_1 = "action1";  // Compliant
              
              public void run() {
                prepare(ACTION_1);                               // Compliant
                execute(ACTION_1);
                release(ACTION_1);
              }
              

              Exceptions

              To prevent generating some false-positives, literals having less than 5 characters are excluded.

              Define a constant instead of duplicating this literal " alert(document.body.id); " 8 times.
              Open

                              + "      alert(document.body.id);\n"

              Duplicated string literals make the process of refactoring error-prone, since you must be sure to update all occurrences.

              On the other hand, constants can be referenced from many places, but only need to be updated in a single place.

              Noncompliant Code Example

              With the default threshold of 3:

              public void run() {
                prepare("action1");                              // Noncompliant - "action1" is duplicated 3 times
                execute("action1");
                release("action1");
              }
              
              @SuppressWarning("all")                            // Compliant - annotations are excluded
              private void method1() { /* ... */ }
              @SuppressWarning("all")
              private void method2() { /* ... */ }
              
              public String method3(String a) {
                System.out.println("'" + a + "'");               // Compliant - literal "'" has less than 5 characters and is excluded
                return "";                                       // Compliant - literal "" has less than 5 characters and is excluded
              }
              

              Compliant Solution

              private static final String ACTION_1 = "action1";  // Compliant
              
              public void run() {
                prepare(ACTION_1);                               // Compliant
                execute(ACTION_1);
                release(ACTION_1);
              }
              

              Exceptions

              To prevent generating some false-positives, literals having less than 5 characters are excluded.

              Define a constant instead of duplicating this literal " <div id="div2" class="red">Second</div> " 3 times.
              Open

                              + "  <div id='div2' class='red'>Second</div>\n"

              Duplicated string literals make the process of refactoring error-prone, since you must be sure to update all occurrences.

              On the other hand, constants can be referenced from many places, but only need to be updated in a single place.

              Noncompliant Code Example

              With the default threshold of 3:

              public void run() {
                prepare("action1");                              // Noncompliant - "action1" is duplicated 3 times
                execute("action1");
                release("action1");
              }
              
              @SuppressWarning("all")                            // Compliant - annotations are excluded
              private void method1() { /* ... */ }
              @SuppressWarning("all")
              private void method2() { /* ... */ }
              
              public String method3(String a) {
                System.out.println("'" + a + "'");               // Compliant - literal "'" has less than 5 characters and is excluded
                return "";                                       // Compliant - literal "" has less than 5 characters and is excluded
              }
              

              Compliant Solution

              private static final String ACTION_1 = "action1";  // Compliant
              
              public void run() {
                prepare(ACTION_1);                               // Compliant
                execute(ACTION_1);
                release(ACTION_1);
              }
              

              Exceptions

              To prevent generating some false-positives, literals having less than 5 characters are excluded.

              Define a constant instead of duplicating this literal " } catch(e) { alert('exception'); } " 3 times.
              Open

                              + "    } catch(e) { alert('exception'); }\n"

              Duplicated string literals make the process of refactoring error-prone, since you must be sure to update all occurrences.

              On the other hand, constants can be referenced from many places, but only need to be updated in a single place.

              Noncompliant Code Example

              With the default threshold of 3:

              public void run() {
                prepare("action1");                              // Noncompliant - "action1" is duplicated 3 times
                execute("action1");
                release("action1");
              }
              
              @SuppressWarning("all")                            // Compliant - annotations are excluded
              private void method1() { /* ... */ }
              @SuppressWarning("all")
              private void method2() { /* ... */ }
              
              public String method3(String a) {
                System.out.println("'" + a + "'");               // Compliant - literal "'" has less than 5 characters and is excluded
                return "";                                       // Compliant - literal "" has less than 5 characters and is excluded
              }
              

              Compliant Solution

              private static final String ACTION_1 = "action1";  // Compliant
              
              public void run() {
                prepare(ACTION_1);                               // Compliant
                execute(ACTION_1);
                release(ACTION_1);
              }
              

              Exceptions

              To prevent generating some false-positives, literals having less than 5 characters are excluded.

              Define a constant instead of duplicating this literal "" 9 times.
              Open

                      final String html = "<html><head>"

              Duplicated string literals make the process of refactoring error-prone, since you must be sure to update all occurrences.

              On the other hand, constants can be referenced from many places, but only need to be updated in a single place.

              Noncompliant Code Example

              With the default threshold of 3:

              public void run() {
                prepare("action1");                              // Noncompliant - "action1" is duplicated 3 times
                execute("action1");
                release("action1");
              }
              
              @SuppressWarning("all")                            // Compliant - annotations are excluded
              private void method1() { /* ... */ }
              @SuppressWarning("all")
              private void method2() { /* ... */ }
              
              public String method3(String a) {
                System.out.println("'" + a + "'");               // Compliant - literal "'" has less than 5 characters and is excluded
                return "";                                       // Compliant - literal "" has less than 5 characters and is excluded
              }
              

              Compliant Solution

              private static final String ACTION_1 = "action1";  // Compliant
              
              public void run() {
                prepare(ACTION_1);                               // Compliant
                execute(ACTION_1);
                release(ACTION_1);
              }
              

              Exceptions

              To prevent generating some false-positives, literals having less than 5 characters are excluded.

              Define a constant instead of duplicating this literal " " 11 times.
              Open

                                      + "</script></head>\n"

              Duplicated string literals make the process of refactoring error-prone, since you must be sure to update all occurrences.

              On the other hand, constants can be referenced from many places, but only need to be updated in a single place.

              Noncompliant Code Example

              With the default threshold of 3:

              public void run() {
                prepare("action1");                              // Noncompliant - "action1" is duplicated 3 times
                execute("action1");
                release("action1");
              }
              
              @SuppressWarning("all")                            // Compliant - annotations are excluded
              private void method1() { /* ... */ }
              @SuppressWarning("all")
              private void method2() { /* ... */ }
              
              public String method3(String a) {
                System.out.println("'" + a + "'");               // Compliant - literal "'" has less than 5 characters and is excluded
                return "";                                       // Compliant - literal "" has less than 5 characters and is excluded
              }
              

              Compliant Solution

              private static final String ACTION_1 = "action1";  // Compliant
              
              public void run() {
                prepare(ACTION_1);                               // Compliant
                execute(ACTION_1);
                release(ACTION_1);
              }
              

              Exceptions

              To prevent generating some false-positives, literals having less than 5 characters are excluded.

              Define a constant instead of duplicating this literal " <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> " 3 times.
              Open

                              + "  <meta http-equiv='Content-Type' content='text/html; charset=iso-8859-1'>\n"

              Duplicated string literals make the process of refactoring error-prone, since you must be sure to update all occurrences.

              On the other hand, constants can be referenced from many places, but only need to be updated in a single place.

              Noncompliant Code Example

              With the default threshold of 3:

              public void run() {
                prepare("action1");                              // Noncompliant - "action1" is duplicated 3 times
                execute("action1");
                release("action1");
              }
              
              @SuppressWarning("all")                            // Compliant - annotations are excluded
              private void method1() { /* ... */ }
              @SuppressWarning("all")
              private void method2() { /* ... */ }
              
              public String method3(String a) {
                System.out.println("'" + a + "'");               // Compliant - literal "'" has less than 5 characters and is excluded
                return "";                                       // Compliant - literal "" has less than 5 characters and is excluded
              }
              

              Compliant Solution

              private static final String ACTION_1 = "action1";  // Compliant
              
              public void run() {
                prepare(ACTION_1);                               // Compliant
                execute(ACTION_1);
                release(ACTION_1);
              }
              

              Exceptions

              To prevent generating some false-positives, literals having less than 5 characters are excluded.

              Define a constant instead of duplicating this literal "<div id="myDiv"> " 3 times.</div>
              Open

                              + "<div id='myDiv'>\n"

              Duplicated string literals make the process of refactoring error-prone, since you must be sure to update all occurrences.

              On the other hand, constants can be referenced from many places, but only need to be updated in a single place.

              Noncompliant Code Example

              With the default threshold of 3:

              public void run() {
                prepare("action1");                              // Noncompliant - "action1" is duplicated 3 times
                execute("action1");
                release("action1");
              }
              
              @SuppressWarning("all")                            // Compliant - annotations are excluded
              private void method1() { /* ... */ }
              @SuppressWarning("all")
              private void method2() { /* ... */ }
              
              public String method3(String a) {
                System.out.println("'" + a + "'");               // Compliant - literal "'" has less than 5 characters and is excluded
                return "";                                       // Compliant - literal "" has less than 5 characters and is excluded
              }
              

              Compliant Solution

              private static final String ACTION_1 = "action1";  // Compliant
              
              public void run() {
                prepare(ACTION_1);                               // Compliant
                execute(ACTION_1);
                release(ACTION_1);
              }
              

              Exceptions

              To prevent generating some false-positives, literals having less than 5 characters are excluded.

              Define a constant instead of duplicating this literal " <div id="div1" class="red">First</div> " 3 times.
              Open

                              + "  <div id='div1' class='red'>First</div>\n"

              Duplicated string literals make the process of refactoring error-prone, since you must be sure to update all occurrences.

              On the other hand, constants can be referenced from many places, but only need to be updated in a single place.

              Noncompliant Code Example

              With the default threshold of 3:

              public void run() {
                prepare("action1");                              // Noncompliant - "action1" is duplicated 3 times
                execute("action1");
                release("action1");
              }
              
              @SuppressWarning("all")                            // Compliant - annotations are excluded
              private void method1() { /* ... */ }
              @SuppressWarning("all")
              private void method2() { /* ... */ }
              
              public String method3(String a) {
                System.out.println("'" + a + "'");               // Compliant - literal "'" has less than 5 characters and is excluded
                return "";                                       // Compliant - literal "" has less than 5 characters and is excluded
              }
              

              Compliant Solution

              private static final String ACTION_1 = "action1";  // Compliant
              
              public void run() {
                prepare(ACTION_1);                               // Compliant
                execute(ACTION_1);
                release(ACTION_1);
              }
              

              Exceptions

              To prevent generating some false-positives, literals having less than 5 characters are excluded.

              Define a constant instead of duplicating this literal " " 7 times.
              Open

                      final String html = "<html><body>\n"

              Duplicated string literals make the process of refactoring error-prone, since you must be sure to update all occurrences.

              On the other hand, constants can be referenced from many places, but only need to be updated in a single place.

              Noncompliant Code Example

              With the default threshold of 3:

              public void run() {
                prepare("action1");                              // Noncompliant - "action1" is duplicated 3 times
                execute("action1");
                release("action1");
              }
              
              @SuppressWarning("all")                            // Compliant - annotations are excluded
              private void method1() { /* ... */ }
              @SuppressWarning("all")
              private void method2() { /* ... */ }
              
              public String method3(String a) {
                System.out.println("'" + a + "'");               // Compliant - literal "'" has less than 5 characters and is excluded
                return "";                                       // Compliant - literal "" has less than 5 characters and is excluded
              }
              

              Compliant Solution

              private static final String ACTION_1 = "action1";  // Compliant
              
              public void run() {
                prepare(ACTION_1);                               // Compliant
                execute(ACTION_1);
                release(ACTION_1);
              }
              

              Exceptions

              To prevent generating some false-positives, literals having less than 5 characters are excluded.

              Define a constant instead of duplicating this literal "
              Open

                              + "</html>";

              Duplicated string literals make the process of refactoring error-prone, since you must be sure to update all occurrences.

              On the other hand, constants can be referenced from many places, but only need to be updated in a single place.

              Noncompliant Code Example

              With the default threshold of 3:

              public void run() {
                prepare("action1");                              // Noncompliant - "action1" is duplicated 3 times
                execute("action1");
                release("action1");
              }
              
              @SuppressWarning("all")                            // Compliant - annotations are excluded
              private void method1() { /* ... */ }
              @SuppressWarning("all")
              private void method2() { /* ... */ }
              
              public String method3(String a) {
                System.out.println("'" + a + "'");               // Compliant - literal "'" has less than 5 characters and is excluded
                return "";                                       // Compliant - literal "" has less than 5 characters and is excluded
              }
              

              Compliant Solution

              private static final String ACTION_1 = "action1";  // Compliant
              
              public void run() {
                prepare(ACTION_1);                               // Compliant
                execute(ACTION_1);
                release(ACTION_1);
              }
              

              Exceptions

              To prevent generating some false-positives, literals having less than 5 characters are excluded.

              Define a constant instead of duplicating this literal " alert(document.bgColor); " 3 times.
              Open

                                      + "        alert(document.bgColor);\n"

              Duplicated string literals make the process of refactoring error-prone, since you must be sure to update all occurrences.

              On the other hand, constants can be referenced from many places, but only need to be updated in a single place.

              Noncompliant Code Example

              With the default threshold of 3:

              public void run() {
                prepare("action1");                              // Noncompliant - "action1" is duplicated 3 times
                execute("action1");
                release("action1");
              }
              
              @SuppressWarning("all")                            // Compliant - annotations are excluded
              private void method1() { /* ... */ }
              @SuppressWarning("all")
              private void method2() { /* ... */ }
              
              public String method3(String a) {
                System.out.println("'" + a + "'");               // Compliant - literal "'" has less than 5 characters and is excluded
                return "";                                       // Compliant - literal "" has less than 5 characters and is excluded
              }
              

              Compliant Solution

              private static final String ACTION_1 = "action1";  // Compliant
              
              public void run() {
                prepare(ACTION_1);                               // Compliant
                execute(ACTION_1);
                release(ACTION_1);
              }
              

              Exceptions

              To prevent generating some false-positives, literals having less than 5 characters are excluded.

              Define a constant instead of duplicating this literal " alert(document.charset); " 6 times.
              Open

                              + "      alert(document.charset);\n"

              Duplicated string literals make the process of refactoring error-prone, since you must be sure to update all occurrences.

              On the other hand, constants can be referenced from many places, but only need to be updated in a single place.

              Noncompliant Code Example

              With the default threshold of 3:

              public void run() {
                prepare("action1");                              // Noncompliant - "action1" is duplicated 3 times
                execute("action1");
                release("action1");
              }
              
              @SuppressWarning("all")                            // Compliant - annotations are excluded
              private void method1() { /* ... */ }
              @SuppressWarning("all")
              private void method2() { /* ... */ }
              
              public String method3(String a) {
                System.out.println("'" + a + "'");               // Compliant - literal "'" has less than 5 characters and is excluded
                return "";                                       // Compliant - literal "" has less than 5 characters and is excluded
              }
              

              Compliant Solution

              private static final String ACTION_1 = "action1";  // Compliant
              
              public void run() {
                prepare(ACTION_1);                               // Compliant
                execute(ACTION_1);
                release(ACTION_1);
              }
              

              Exceptions

              To prevent generating some false-positives, literals having less than 5 characters are excluded.

              Define a constant instead of duplicating this literal " var b = document.getElementById('body'); " 5 times.
              Open

                                      + "        var b = document.getElementById('body');\n"

              Duplicated string literals make the process of refactoring error-prone, since you must be sure to update all occurrences.

              On the other hand, constants can be referenced from many places, but only need to be updated in a single place.

              Noncompliant Code Example

              With the default threshold of 3:

              public void run() {
                prepare("action1");                              // Noncompliant - "action1" is duplicated 3 times
                execute("action1");
                release("action1");
              }
              
              @SuppressWarning("all")                            // Compliant - annotations are excluded
              private void method1() { /* ... */ }
              @SuppressWarning("all")
              private void method2() { /* ... */ }
              
              public String method3(String a) {
                System.out.println("'" + a + "'");               // Compliant - literal "'" has less than 5 characters and is excluded
                return "";                                       // Compliant - literal "" has less than 5 characters and is excluded
              }
              

              Compliant Solution

              private static final String ACTION_1 = "action1";  // Compliant
              
              public void run() {
                prepare(ACTION_1);                               // Compliant
                execute(ACTION_1);
                release(ACTION_1);
              }
              

              Exceptions

              To prevent generating some false-positives, literals having less than 5 characters are excluded.

              Define a constant instead of duplicating this literal "<script> " 12 times.</script>
              Open

                              = "<html><head><script>\n"

              Duplicated string literals make the process of refactoring error-prone, since you must be sure to update all occurrences.

              On the other hand, constants can be referenced from many places, but only need to be updated in a single place.

              Noncompliant Code Example

              With the default threshold of 3:

              public void run() {
                prepare("action1");                              // Noncompliant - "action1" is duplicated 3 times
                execute("action1");
                release("action1");
              }
              
              @SuppressWarning("all")                            // Compliant - annotations are excluded
              private void method1() { /* ... */ }
              @SuppressWarning("all")
              private void method2() { /* ... */ }
              
              public String method3(String a) {
                System.out.println("'" + a + "'");               // Compliant - literal "'" has less than 5 characters and is excluded
                return "";                                       // Compliant - literal "" has less than 5 characters and is excluded
              }
              

              Compliant Solution

              private static final String ACTION_1 = "action1";  // Compliant
              
              public void run() {
                prepare(ACTION_1);                               // Compliant
                execute(ACTION_1);
                release(ACTION_1);
              }
              

              Exceptions

              To prevent generating some false-positives, literals having less than 5 characters are excluded.

              Define a constant instead of duplicating this literal " alert(collection.length); " 24 times.
              Open

                              + "    alert(collection.length);\n"

              Duplicated string literals make the process of refactoring error-prone, since you must be sure to update all occurrences.

              On the other hand, constants can be referenced from many places, but only need to be updated in a single place.

              Noncompliant Code Example

              With the default threshold of 3:

              public void run() {
                prepare("action1");                              // Noncompliant - "action1" is duplicated 3 times
                execute("action1");
                release("action1");
              }
              
              @SuppressWarning("all")                            // Compliant - annotations are excluded
              private void method1() { /* ... */ }
              @SuppressWarning("all")
              private void method2() { /* ... */ }
              
              public String method3(String a) {
                System.out.println("'" + a + "'");               // Compliant - literal "'" has less than 5 characters and is excluded
                return "";                                       // Compliant - literal "" has less than 5 characters and is excluded
              }
              

              Compliant Solution

              private static final String ACTION_1 = "action1";  // Compliant
              
              public void run() {
                prepare(ACTION_1);                               // Compliant
                execute(ACTION_1);
                release(ACTION_1);
              }
              

              Exceptions

              To prevent generating some false-positives, literals having less than 5 characters are excluded.

              Define a constant instead of duplicating this literal " <script> " 53 times.</script>
              Open

                                      + "    <script>\n"

              Duplicated string literals make the process of refactoring error-prone, since you must be sure to update all occurrences.

              On the other hand, constants can be referenced from many places, but only need to be updated in a single place.

              Noncompliant Code Example

              With the default threshold of 3:

              public void run() {
                prepare("action1");                              // Noncompliant - "action1" is duplicated 3 times
                execute("action1");
                release("action1");
              }
              
              @SuppressWarning("all")                            // Compliant - annotations are excluded
              private void method1() { /* ... */ }
              @SuppressWarning("all")
              private void method2() { /* ... */ }
              
              public String method3(String a) {
                System.out.println("'" + a + "'");               // Compliant - literal "'" has less than 5 characters and is excluded
                return "";                                       // Compliant - literal "" has less than 5 characters and is excluded
              }
              

              Compliant Solution

              private static final String ACTION_1 = "action1";  // Compliant
              
              public void run() {
                prepare(ACTION_1);                               // Compliant
                execute(ACTION_1);
                release(ACTION_1);
              }
              

              Exceptions

              To prevent generating some false-positives, literals having less than 5 characters are excluded.

              Define a constant instead of duplicating this literal " function test() { " 10 times.
              Open

                              + "    function test() {\n"

              Duplicated string literals make the process of refactoring error-prone, since you must be sure to update all occurrences.

              On the other hand, constants can be referenced from many places, but only need to be updated in a single place.

              Noncompliant Code Example

              With the default threshold of 3:

              public void run() {
                prepare("action1");                              // Noncompliant - "action1" is duplicated 3 times
                execute("action1");
                release("action1");
              }
              
              @SuppressWarning("all")                            // Compliant - annotations are excluded
              private void method1() { /* ... */ }
              @SuppressWarning("all")
              private void method2() { /* ... */ }
              
              public String method3(String a) {
                System.out.println("'" + a + "'");               // Compliant - literal "'" has less than 5 characters and is excluded
                return "";                                       // Compliant - literal "" has less than 5 characters and is excluded
              }
              

              Compliant Solution

              private static final String ACTION_1 = "action1";  // Compliant
              
              public void run() {
                prepare(ACTION_1);                               // Compliant
                execute(ACTION_1);
                release(ACTION_1);
              }
              

              Exceptions

              To prevent generating some false-positives, literals having less than 5 characters are excluded.

              Define a constant instead of duplicating this literal " } " 12 times.
              Open

                              + "    }\n"

              Duplicated string literals make the process of refactoring error-prone, since you must be sure to update all occurrences.

              On the other hand, constants can be referenced from many places, but only need to be updated in a single place.

              Noncompliant Code Example

              With the default threshold of 3:

              public void run() {
                prepare("action1");                              // Noncompliant - "action1" is duplicated 3 times
                execute("action1");
                release("action1");
              }
              
              @SuppressWarning("all")                            // Compliant - annotations are excluded
              private void method1() { /* ... */ }
              @SuppressWarning("all")
              private void method2() { /* ... */ }
              
              public String method3(String a) {
                System.out.println("'" + a + "'");               // Compliant - literal "'" has less than 5 characters and is excluded
                return "";                                       // Compliant - literal "" has less than 5 characters and is excluded
              }
              

              Compliant Solution

              private static final String ACTION_1 = "action1";  // Compliant
              
              public void run() {
                prepare(ACTION_1);                               // Compliant
                execute(ACTION_1);
                release(ACTION_1);
              }
              

              Exceptions

              To prevent generating some false-positives, literals having less than 5 characters are excluded.

              Define a constant instead of duplicating this literal " " 9 times.
              Open

                                      + "  <head>\n"

              Duplicated string literals make the process of refactoring error-prone, since you must be sure to update all occurrences.

              On the other hand, constants can be referenced from many places, but only need to be updated in a single place.

              Noncompliant Code Example

              With the default threshold of 3:

              public void run() {
                prepare("action1");                              // Noncompliant - "action1" is duplicated 3 times
                execute("action1");
                release("action1");
              }
              
              @SuppressWarning("all")                            // Compliant - annotations are excluded
              private void method1() { /* ... */ }
              @SuppressWarning("all")
              private void method2() { /* ... */ }
              
              public String method3(String a) {
                System.out.println("'" + a + "'");               // Compliant - literal "'" has less than 5 characters and is excluded
                return "";                                       // Compliant - literal "" has less than 5 characters and is excluded
              }
              

              Compliant Solution

              private static final String ACTION_1 = "action1";  // Compliant
              
              public void run() {
                prepare(ACTION_1);                               // Compliant
                execute(ACTION_1);
                release(ACTION_1);
              }
              

              Exceptions

              To prevent generating some false-positives, literals having less than 5 characters are excluded.

              Define a constant instead of duplicating this literal "try { " 7 times.
              Open

                              + "try {\n"

              Duplicated string literals make the process of refactoring error-prone, since you must be sure to update all occurrences.

              On the other hand, constants can be referenced from many places, but only need to be updated in a single place.

              Noncompliant Code Example

              With the default threshold of 3:

              public void run() {
                prepare("action1");                              // Noncompliant - "action1" is duplicated 3 times
                execute("action1");
                release("action1");
              }
              
              @SuppressWarning("all")                            // Compliant - annotations are excluded
              private void method1() { /* ... */ }
              @SuppressWarning("all")
              private void method2() { /* ... */ }
              
              public String method3(String a) {
                System.out.println("'" + a + "'");               // Compliant - literal "'" has less than 5 characters and is excluded
                return "";                                       // Compliant - literal "" has less than 5 characters and is excluded
              }
              

              Compliant Solution

              private static final String ACTION_1 = "action1";  // Compliant
              
              public void run() {
                prepare(ACTION_1);                               // Compliant
                execute(ACTION_1);
                release(ACTION_1);
              }
              

              Exceptions

              To prevent generating some false-positives, literals having less than 5 characters are excluded.

              Define a constant instead of duplicating this literal " alert(b.text); " 3 times.
              Open

                                      + "        alert(b.text);\n"

              Duplicated string literals make the process of refactoring error-prone, since you must be sure to update all occurrences.

              On the other hand, constants can be referenced from many places, but only need to be updated in a single place.

              Noncompliant Code Example

              With the default threshold of 3:

              public void run() {
                prepare("action1");                              // Noncompliant - "action1" is duplicated 3 times
                execute("action1");
                release("action1");
              }
              
              @SuppressWarning("all")                            // Compliant - annotations are excluded
              private void method1() { /* ... */ }
              @SuppressWarning("all")
              private void method2() { /* ... */ }
              
              public String method3(String a) {
                System.out.println("'" + a + "'");               // Compliant - literal "'" has less than 5 characters and is excluded
                return "";                                       // Compliant - literal "" has less than 5 characters and is excluded
              }
              

              Compliant Solution

              private static final String ACTION_1 = "action1";  // Compliant
              
              public void run() {
                prepare(ACTION_1);                               // Compliant
                execute(ACTION_1);
                release(ACTION_1);
              }
              

              Exceptions

              To prevent generating some false-positives, literals having less than 5 characters are excluded.

              Define a constant instead of duplicating this literal " } " 37 times.
              Open

                                      + "  }\n"

              Duplicated string literals make the process of refactoring error-prone, since you must be sure to update all occurrences.

              On the other hand, constants can be referenced from many places, but only need to be updated in a single place.

              Noncompliant Code Example

              With the default threshold of 3:

              public void run() {
                prepare("action1");                              // Noncompliant - "action1" is duplicated 3 times
                execute("action1");
                release("action1");
              }
              
              @SuppressWarning("all")                            // Compliant - annotations are excluded
              private void method1() { /* ... */ }
              @SuppressWarning("all")
              private void method2() { /* ... */ }
              
              public String method3(String a) {
                System.out.println("'" + a + "'");               // Compliant - literal "'" has less than 5 characters and is excluded
                return "";                                       // Compliant - literal "" has less than 5 characters and is excluded
              }
              

              Compliant Solution

              private static final String ACTION_1 = "action1";  // Compliant
              
              public void run() {
                prepare(ACTION_1);                               // Compliant
                execute(ACTION_1);
                release(ACTION_1);
              }
              

              Exceptions

              To prevent generating some false-positives, literals having less than 5 characters are excluded.

              Define a constant instead of duplicating this literal " " 3 times.
              Open

                              + "<body onload='doTest()'>\n"

              Duplicated string literals make the process of refactoring error-prone, since you must be sure to update all occurrences.

              On the other hand, constants can be referenced from many places, but only need to be updated in a single place.

              Noncompliant Code Example

              With the default threshold of 3:

              public void run() {
                prepare("action1");                              // Noncompliant - "action1" is duplicated 3 times
                execute("action1");
                release("action1");
              }
              
              @SuppressWarning("all")                            // Compliant - annotations are excluded
              private void method1() { /* ... */ }
              @SuppressWarning("all")
              private void method2() { /* ... */ }
              
              public String method3(String a) {
                System.out.println("'" + a + "'");               // Compliant - literal "'" has less than 5 characters and is excluded
                return "";                                       // Compliant - literal "" has less than 5 characters and is excluded
              }
              

              Compliant Solution

              private static final String ACTION_1 = "action1";  // Compliant
              
              public void run() {
                prepare(ACTION_1);                               // Compliant
                execute(ACTION_1);
                release(ACTION_1);
              }
              

              Exceptions

              To prevent generating some false-positives, literals having less than 5 characters are excluded.

              Define a constant instead of duplicating this literal " " 4 times.
              Open

                              + "<body id='myBody' onload='test()'>\n"

              Duplicated string literals make the process of refactoring error-prone, since you must be sure to update all occurrences.

              On the other hand, constants can be referenced from many places, but only need to be updated in a single place.

              Noncompliant Code Example

              With the default threshold of 3:

              public void run() {
                prepare("action1");                              // Noncompliant - "action1" is duplicated 3 times
                execute("action1");
                release("action1");
              }
              
              @SuppressWarning("all")                            // Compliant - annotations are excluded
              private void method1() { /* ... */ }
              @SuppressWarning("all")
              private void method2() { /* ... */ }
              
              public String method3(String a) {
                System.out.println("'" + a + "'");               // Compliant - literal "'" has less than 5 characters and is excluded
                return "";                                       // Compliant - literal "" has less than 5 characters and is excluded
              }
              

              Compliant Solution

              private static final String ACTION_1 = "action1";  // Compliant
              
              public void run() {
                prepare(ACTION_1);                               // Compliant
                execute(ACTION_1);
                release(ACTION_1);
              }
              

              Exceptions

              To prevent generating some false-positives, literals having less than 5 characters are excluded.

              Define a constant instead of duplicating this literal " function test() { " 32 times.
              Open

                                      + "  function test() {\n"

              Duplicated string literals make the process of refactoring error-prone, since you must be sure to update all occurrences.

              On the other hand, constants can be referenced from many places, but only need to be updated in a single place.

              Noncompliant Code Example

              With the default threshold of 3:

              public void run() {
                prepare("action1");                              // Noncompliant - "action1" is duplicated 3 times
                execute("action1");
                release("action1");
              }
              
              @SuppressWarning("all")                            // Compliant - annotations are excluded
              private void method1() { /* ... */ }
              @SuppressWarning("all")
              private void method2() { /* ... */ }
              
              public String method3(String a) {
                System.out.println("'" + a + "'");               // Compliant - literal "'" has less than 5 characters and is excluded
                return "";                                       // Compliant - literal "" has less than 5 characters and is excluded
              }
              

              Compliant Solution

              private static final String ACTION_1 = "action1";  // Compliant
              
              public void run() {
                prepare(ACTION_1);                               // Compliant
                execute(ACTION_1);
                release(ACTION_1);
              }
              

              Exceptions

              To prevent generating some false-positives, literals having less than 5 characters are excluded.

              Define a constant instead of duplicating this literal " } catch (e) { alert('exception:f2') } " 3 times.
              Open

                              + "    } catch (e) { alert('exception:f2') }\n"

              Duplicated string literals make the process of refactoring error-prone, since you must be sure to update all occurrences.

              On the other hand, constants can be referenced from many places, but only need to be updated in a single place.

              Noncompliant Code Example

              With the default threshold of 3:

              public void run() {
                prepare("action1");                              // Noncompliant - "action1" is duplicated 3 times
                execute("action1");
                release("action1");
              }
              
              @SuppressWarning("all")                            // Compliant - annotations are excluded
              private void method1() { /* ... */ }
              @SuppressWarning("all")
              private void method2() { /* ... */ }
              
              public String method3(String a) {
                System.out.println("'" + a + "'");               // Compliant - literal "'" has less than 5 characters and is excluded
                return "";                                       // Compliant - literal "" has less than 5 characters and is excluded
              }
              

              Compliant Solution

              private static final String ACTION_1 = "action1";  // Compliant
              
              public void run() {
                prepare(ACTION_1);                               // Compliant
                execute(ACTION_1);
                release(ACTION_1);
              }
              

              Exceptions

              To prevent generating some false-positives, literals having less than 5 characters are excluded.

              Define a constant instead of duplicating this literal " } catch (e) { alert('exception:f1') } " 3 times.
              Open

                              + "    } catch (e) { alert('exception:f1') }\n"

              Duplicated string literals make the process of refactoring error-prone, since you must be sure to update all occurrences.

              On the other hand, constants can be referenced from many places, but only need to be updated in a single place.

              Noncompliant Code Example

              With the default threshold of 3:

              public void run() {
                prepare("action1");                              // Noncompliant - "action1" is duplicated 3 times
                execute("action1");
                release("action1");
              }
              
              @SuppressWarning("all")                            // Compliant - annotations are excluded
              private void method1() { /* ... */ }
              @SuppressWarning("all")
              private void method2() { /* ... */ }
              
              public String method3(String a) {
                System.out.println("'" + a + "'");               // Compliant - literal "'" has less than 5 characters and is excluded
                return "";                                       // Compliant - literal "" has less than 5 characters and is excluded
              }
              

              Compliant Solution

              private static final String ACTION_1 = "action1";  // Compliant
              
              public void run() {
                prepare(ACTION_1);                               // Compliant
                execute(ACTION_1);
                release(ACTION_1);
              }
              

              Exceptions

              To prevent generating some false-positives, literals having less than 5 characters are excluded.

              Define a constant instead of duplicating this literal " <img name="image1"> " 3 times.
              Open

                              + "  <img name='image1'>\n"

              Duplicated string literals make the process of refactoring error-prone, since you must be sure to update all occurrences.

              On the other hand, constants can be referenced from many places, but only need to be updated in a single place.

              Noncompliant Code Example

              With the default threshold of 3:

              public void run() {
                prepare("action1");                              // Noncompliant - "action1" is duplicated 3 times
                execute("action1");
                release("action1");
              }
              
              @SuppressWarning("all")                            // Compliant - annotations are excluded
              private void method1() { /* ... */ }
              @SuppressWarning("all")
              private void method2() { /* ... */ }
              
              public String method3(String a) {
                System.out.println("'" + a + "'");               // Compliant - literal "'" has less than 5 characters and is excluded
                return "";                                       // Compliant - literal "" has less than 5 characters and is excluded
              }
              

              Compliant Solution

              private static final String ACTION_1 = "action1";  // Compliant
              
              public void run() {
                prepare(ACTION_1);                               // Compliant
                execute(ACTION_1);
                release(ACTION_1);
              }
              

              Exceptions

              To prevent generating some false-positives, literals having less than 5 characters are excluded.

              Define a constant instead of duplicating this literal "'); " 3 times.
              Open

                              + "  document.querySelectorAll('" + selector + "');\n"

              Duplicated string literals make the process of refactoring error-prone, since you must be sure to update all occurrences.

              On the other hand, constants can be referenced from many places, but only need to be updated in a single place.

              Noncompliant Code Example

              With the default threshold of 3:

              public void run() {
                prepare("action1");                              // Noncompliant - "action1" is duplicated 3 times
                execute("action1");
                release("action1");
              }
              
              @SuppressWarning("all")                            // Compliant - annotations are excluded
              private void method1() { /* ... */ }
              @SuppressWarning("all")
              private void method2() { /* ... */ }
              
              public String method3(String a) {
                System.out.println("'" + a + "'");               // Compliant - literal "'" has less than 5 characters and is excluded
                return "";                                       // Compliant - literal "" has less than 5 characters and is excluded
              }
              

              Compliant Solution

              private static final String ACTION_1 = "action1";  // Compliant
              
              public void run() {
                prepare(ACTION_1);                               // Compliant
                execute(ACTION_1);
                release(ACTION_1);
              }
              

              Exceptions

              To prevent generating some false-positives, literals having less than 5 characters are excluded.

              Define a constant instead of duplicating this literal " alert(document.fgColor); " 3 times.
              Open

                                      + "        alert(document.fgColor);\n"

              Duplicated string literals make the process of refactoring error-prone, since you must be sure to update all occurrences.

              On the other hand, constants can be referenced from many places, but only need to be updated in a single place.

              Noncompliant Code Example

              With the default threshold of 3:

              public void run() {
                prepare("action1");                              // Noncompliant - "action1" is duplicated 3 times
                execute("action1");
                release("action1");
              }
              
              @SuppressWarning("all")                            // Compliant - annotations are excluded
              private void method1() { /* ... */ }
              @SuppressWarning("all")
              private void method2() { /* ... */ }
              
              public String method3(String a) {
                System.out.println("'" + a + "'");               // Compliant - literal "'" has less than 5 characters and is excluded
                return "";                                       // Compliant - literal "" has less than 5 characters and is excluded
              }
              

              Compliant Solution

              private static final String ACTION_1 = "action1";  // Compliant
              
              public void run() {
                prepare(ACTION_1);                               // Compliant
                execute(ACTION_1);
                release(ACTION_1);
              }
              

              Exceptions

              To prevent generating some false-positives, literals having less than 5 characters are excluded.

              Define a constant instead of duplicating this literal " } catch (e) { alert('exception') } " 3 times.
              Open

                              + "  } catch (e) { alert('exception') }\n"

              Duplicated string literals make the process of refactoring error-prone, since you must be sure to update all occurrences.

              On the other hand, constants can be referenced from many places, but only need to be updated in a single place.

              Noncompliant Code Example

              With the default threshold of 3:

              public void run() {
                prepare("action1");                              // Noncompliant - "action1" is duplicated 3 times
                execute("action1");
                release("action1");
              }
              
              @SuppressWarning("all")                            // Compliant - annotations are excluded
              private void method1() { /* ... */ }
              @SuppressWarning("all")
              private void method2() { /* ... */ }
              
              public String method3(String a) {
                System.out.println("'" + a + "'");               // Compliant - literal "'" has less than 5 characters and is excluded
                return "";                                       // Compliant - literal "" has less than 5 characters and is excluded
              }
              

              Compliant Solution

              private static final String ACTION_1 = "action1";  // Compliant
              
              public void run() {
                prepare(ACTION_1);                               // Compliant
                execute(ACTION_1);
                release(ACTION_1);
              }
              

              Exceptions

              To prevent generating some false-positives, literals having less than 5 characters are excluded.

              Define a constant instead of duplicating this literal " " 8 times.
              Open

                              + "</head><body onload='test()'>\n"

              Duplicated string literals make the process of refactoring error-prone, since you must be sure to update all occurrences.

              On the other hand, constants can be referenced from many places, but only need to be updated in a single place.

              Noncompliant Code Example

              With the default threshold of 3:

              public void run() {
                prepare("action1");                              // Noncompliant - "action1" is duplicated 3 times
                execute("action1");
                release("action1");
              }
              
              @SuppressWarning("all")                            // Compliant - annotations are excluded
              private void method1() { /* ... */ }
              @SuppressWarning("all")
              private void method2() { /* ... */ }
              
              public String method3(String a) {
                System.out.println("'" + a + "'");               // Compliant - literal "'" has less than 5 characters and is excluded
                return "";                                       // Compliant - literal "" has less than 5 characters and is excluded
              }
              

              Compliant Solution

              private static final String ACTION_1 = "action1";  // Compliant
              
              public void run() {
                prepare(ACTION_1);                               // Compliant
                execute(ACTION_1);
                release(ACTION_1);
              }
              

              Exceptions

              To prevent generating some false-positives, literals having less than 5 characters are excluded.

              Define a constant instead of duplicating this literal "
              Open

                              + "</body>\n"

              Duplicated string literals make the process of refactoring error-prone, since you must be sure to update all occurrences.

              On the other hand, constants can be referenced from many places, but only need to be updated in a single place.

              Noncompliant Code Example

              With the default threshold of 3:

              public void run() {
                prepare("action1");                              // Noncompliant - "action1" is duplicated 3 times
                execute("action1");
                release("action1");
              }
              
              @SuppressWarning("all")                            // Compliant - annotations are excluded
              private void method1() { /* ... */ }
              @SuppressWarning("all")
              private void method2() { /* ... */ }
              
              public String method3(String a) {
                System.out.println("'" + a + "'");               // Compliant - literal "'" has less than 5 characters and is excluded
                return "";                                       // Compliant - literal "" has less than 5 characters and is excluded
              }
              

              Compliant Solution

              private static final String ACTION_1 = "action1";  // Compliant
              
              public void run() {
                prepare(ACTION_1);                               // Compliant
                execute(ACTION_1);
                release(ACTION_1);
              }
              

              Exceptions

              To prevent generating some false-positives, literals having less than 5 characters are excluded.

              Define a constant instead of duplicating this literal " var collection = document.getElementsByName('image1'); " 4 times.
              Open

                              + "    var collection = document.getElementsByName('image1');\n"

              Duplicated string literals make the process of refactoring error-prone, since you must be sure to update all occurrences.

              On the other hand, constants can be referenced from many places, but only need to be updated in a single place.

              Noncompliant Code Example

              With the default threshold of 3:

              public void run() {
                prepare("action1");                              // Noncompliant - "action1" is duplicated 3 times
                execute("action1");
                release("action1");
              }
              
              @SuppressWarning("all")                            // Compliant - annotations are excluded
              private void method1() { /* ... */ }
              @SuppressWarning("all")
              private void method2() { /* ... */ }
              
              public String method3(String a) {
                System.out.println("'" + a + "'");               // Compliant - literal "'" has less than 5 characters and is excluded
                return "";                                       // Compliant - literal "" has less than 5 characters and is excluded
              }
              

              Compliant Solution

              private static final String ACTION_1 = "action1";  // Compliant
              
              public void run() {
                prepare(ACTION_1);                               // Compliant
                execute(ACTION_1);
                release(ACTION_1);
              }
              

              Exceptions

              To prevent generating some false-positives, literals having less than 5 characters are excluded.

              Define a constant instead of duplicating this literal " " 4 times.
              Open

                              + "</script></head><body onload='doTest()'>\n"

              Duplicated string literals make the process of refactoring error-prone, since you must be sure to update all occurrences.

              On the other hand, constants can be referenced from many places, but only need to be updated in a single place.

              Noncompliant Code Example

              With the default threshold of 3:

              public void run() {
                prepare("action1");                              // Noncompliant - "action1" is duplicated 3 times
                execute("action1");
                release("action1");
              }
              
              @SuppressWarning("all")                            // Compliant - annotations are excluded
              private void method1() { /* ... */ }
              @SuppressWarning("all")
              private void method2() { /* ... */ }
              
              public String method3(String a) {
                System.out.println("'" + a + "'");               // Compliant - literal "'" has less than 5 characters and is excluded
                return "";                                       // Compliant - literal "" has less than 5 characters and is excluded
              }
              

              Compliant Solution

              private static final String ACTION_1 = "action1";  // Compliant
              
              public void run() {
                prepare(ACTION_1);                               // Compliant
                execute(ACTION_1);
                release(ACTION_1);
              }
              

              Exceptions

              To prevent generating some false-positives, literals having less than 5 characters are excluded.

              Define a constant instead of duplicating this literal " function test() { " 7 times.
              Open

                                      + "      function test() {\n"

              Duplicated string literals make the process of refactoring error-prone, since you must be sure to update all occurrences.

              On the other hand, constants can be referenced from many places, but only need to be updated in a single place.

              Noncompliant Code Example

              With the default threshold of 3:

              public void run() {
                prepare("action1");                              // Noncompliant - "action1" is duplicated 3 times
                execute("action1");
                release("action1");
              }
              
              @SuppressWarning("all")                            // Compliant - annotations are excluded
              private void method1() { /* ... */ }
              @SuppressWarning("all")
              private void method2() { /* ... */ }
              
              public String method3(String a) {
                System.out.println("'" + a + "'");               // Compliant - literal "'" has less than 5 characters and is excluded
                return "";                                       // Compliant - literal "" has less than 5 characters and is excluded
              }
              

              Compliant Solution

              private static final String ACTION_1 = "action1";  // Compliant
              
              public void run() {
                prepare(ACTION_1);                               // Compliant
                execute(ACTION_1);
                release(ACTION_1);
              }
              

              Exceptions

              To prevent generating some false-positives, literals having less than 5 characters are excluded.

              Define a constant instead of duplicating this literal " document.body = newBody; " 3 times.
              Open

                              + "      document.body = newBody;\n"

              Duplicated string literals make the process of refactoring error-prone, since you must be sure to update all occurrences.

              On the other hand, constants can be referenced from many places, but only need to be updated in a single place.

              Noncompliant Code Example

              With the default threshold of 3:

              public void run() {
                prepare("action1");                              // Noncompliant - "action1" is duplicated 3 times
                execute("action1");
                release("action1");
              }
              
              @SuppressWarning("all")                            // Compliant - annotations are excluded
              private void method1() { /* ... */ }
              @SuppressWarning("all")
              private void method2() { /* ... */ }
              
              public String method3(String a) {
                System.out.println("'" + a + "'");               // Compliant - literal "'" has less than 5 characters and is excluded
                return "";                                       // Compliant - literal "" has less than 5 characters and is excluded
              }
              

              Compliant Solution

              private static final String ACTION_1 = "action1";  // Compliant
              
              public void run() {
                prepare(ACTION_1);                               // Compliant
                execute(ACTION_1);
                release(ACTION_1);
              }
              

              Exceptions

              To prevent generating some false-positives, literals having less than 5 characters are excluded.

              Similar blocks of code found in 2 locations. Consider refactoring.
              Open

                  @Test
                  @Alerts({"1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "9"})
                  public void getElementsByNameChangedAfterGetNested() {
                      final String html = "<html><head>"
                              + "<script>\n"
              LoboUnitTest/src/test/java/org/loboevolution/dom/NodeTest.java on lines 301..357

              Duplicated Code

              Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

              Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

              When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

              Tuning

              This issue has a mass of 217.

              We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

              The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

              If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

              See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

              Refactorings

              Further Reading

              Similar blocks of code found in 2 locations. Consider refactoring.
              Open

                      final String html = "<html><head>"
                              + "<script>\n"
                              + "  function test() {\n"
                              + "    try {\n"
                              + "      alert(document.getElementsByName('form1').length);\n"
              LoboUnitTest/src/test/java/org/loboevolution/event/Event2Test.java on lines 160..212

              Duplicated Code

              Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

              Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

              When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

              Tuning

              This issue has a mass of 210.

              We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

              The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

              If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

              See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

              Refactorings

              Further Reading

              Similar blocks of code found in 2 locations. Consider refactoring.
              Open

                  @Test
                  @Alerts({"1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "9"})
                  public void getElementsByNameChangedAfterGet() {
                      final String html = "<html><head>"
                              + "<script>\n"
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 1771..1829

              Duplicated Code

              Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

              Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

              When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

              Tuning

              This issue has a mass of 209.

              We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

              The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

              If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

              See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

              Refactorings

              Further Reading

              Similar blocks of code found in 24 locations. Consider refactoring.
              Open

                  @Test
                  @Alerts("complete,[object HTMLBodyElement]-complete,[object HTMLBodyElement]-")
                  public void readyState() {
                      final String html = "<html>\n"
                              + "<head>\n"
              LoboUnitTest/src/test/java/org/loboevolution/canvas/CanvasRenderingContext2DTest.java on lines 453..486
              LoboUnitTest/src/test/java/org/loboevolution/canvas/ImageDataTest.java on lines 410..443
              LoboUnitTest/src/test/java/org/loboevolution/canvas/ImageDataTest.java on lines 509..543
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSSelectorTest.java on lines 1501..1530
              LoboUnitTest/src/test/java/org/loboevolution/css/ComputedCSSStyleDeclarationTest.java on lines 1591..1619
              LoboUnitTest/src/test/java/org/loboevolution/css/ComputedCSSStyleDeclarationTest.java on lines 2356..2385
              LoboUnitTest/src/test/java/org/loboevolution/dom/CharacterDataTest.java on lines 156..186
              LoboUnitTest/src/test/java/org/loboevolution/dom/CharacterDataTest.java on lines 188..218
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentFragmentTest.java on lines 177..207
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 130..160
              LoboUnitTest/src/test/java/org/loboevolution/dom/NodeIteratorTest.java on lines 72..102
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLButtonElementTest.java on lines 173..205
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLCollectionTest.java on lines 119..149
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElement2Test.java on lines 103..133
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElement2Test.java on lines 1299..1330
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLInputElementTest.java on lines 1339..1369
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLOptionElement2Test.java on lines 1007..1040
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLScriptElementTest.java on lines 41..70
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLScriptElementTest.java on lines 157..187
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLScriptElementTest.java on lines 189..219
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLSelectElementTest.java on lines 469..500
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLTextAreaElementTest.java on lines 416..448
              LoboUnitTest/src/test/java/org/loboevolution/xml/XMLHttpRequestTest.java on lines 900..933

              Duplicated Code

              Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

              Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

              When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

              Tuning

              This issue has a mass of 109.

              We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

              The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

              If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

              See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

              Refactorings

              Further Reading

              Similar blocks of code found in 21 locations. Consider refactoring.
              Open

                  @Test
                  @Alerts({"function", "div1", "span2", "span3", "2", "1", "1", "0", "0", "0"})
                  public void getElementsByClassName() {
                      final String html
                              = "<html><head><script>\n"
              LoboUnitTest/src/test/java/org/loboevolution/canvas/CanvasRenderingContext2DTest.java on lines 388..419
              LoboUnitTest/src/test/java/org/loboevolution/canvas/ImageDataTest.java on lines 90..123
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleDeclarationTest.java on lines 133..162
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleDeclarationTest.java on lines 164..193
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleDeclarationTest.java on lines 195..224
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleDeclarationTest.java on lines 226..255
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleDeclarationTest.java on lines 320..349
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleDeclarationTest.java on lines 755..784
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleDeclarationTest.java on lines 2366..2393
              LoboUnitTest/src/test/java/org/loboevolution/css/ComputedCSSStyleDeclarationTest.java on lines 682..708
              LoboUnitTest/src/test/java/org/loboevolution/css/ComputedCSSStyleDeclarationTest.java on lines 994..1021
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 1507..1535
              LoboUnitTest/src/test/java/org/loboevolution/dom/XPathResultTest.java on lines 270..298
              LoboUnitTest/src/test/java/org/loboevolution/event/AnimationEventTest.java on lines 97..126
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 3814..3846
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 3973..4004
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLLabelElementTest.java on lines 389..418
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLOptionElement2Test.java on lines 972..1005
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLSelectElementTest.java on lines 1208..1236
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLTextAreaElementTest.java on lines 281..310

              Duplicated Code

              Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

              Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

              When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

              Tuning

              This issue has a mass of 105.

              We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

              The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

              If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

              See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

              Refactorings

              Further Reading

              Similar blocks of code found in 2 locations. Consider refactoring.
              Open

                      final String[] commands = {"2D-Position", "AbsolutePosition",
                              "BlockDirLTR", "BlockDirRTL", "BrowseMode",
                              "ClearAuthenticationCache", "CreateBookmark",
                              "DirLTR", "DirRTL", "EditMode",
                              "InlineDirLTR", "InlineDirRTL", "InsertButton", "InsertFieldset",
              LoboPDF/src/main/java/org/loboevolution/pdfview/font/BuiltinFont.java on lines 58..88

              Duplicated Code

              Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

              Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

              When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

              Tuning

              This issue has a mass of 97.

              We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

              The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

              If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

              See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

              Refactorings

              Further Reading

              Similar blocks of code found in 80 locations. Consider refactoring.
              Open

                  @Test
                  @Alerts({"[object HTMLCollection]", "4", "red"})
                  public void identicalIDs() {
                      final String html =
                              "<html>\n"
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSMediaRuleTest.java on lines 269..294
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSMediaRuleTest.java on lines 296..321
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSMediaRuleTest.java on lines 351..377
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSMediaRuleTest.java on lines 379..405
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSSelectorTest.java on lines 64..88
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleDeclarationTest.java on lines 957..982
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleDeclarationTest.java on lines 1018..1043
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleDeclarationTest.java on lines 1102..1125
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleSheetTest.java on lines 315..339
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleSheetTest.java on lines 1365..1389
              LoboUnitTest/src/test/java/org/loboevolution/css/ComputedCSSStyleDeclarationTest.java on lines 146..170
              LoboUnitTest/src/test/java/org/loboevolution/css/ComputedCSSStyleDeclarationTest.java on lines 172..196
              LoboUnitTest/src/test/java/org/loboevolution/css/ComputedCSSStyleDeclarationTest.java on lines 842..865
              LoboUnitTest/src/test/java/org/loboevolution/css/ComputedCSSStyleDeclarationTest.java on lines 1517..1540
              LoboUnitTest/src/test/java/org/loboevolution/css/ComputedCSSStyleDeclarationTest.java on lines 1948..1971
              LoboUnitTest/src/test/java/org/loboevolution/css/ComputedCSSStyleDeclarationTest.java on lines 1974..1997
              LoboUnitTest/src/test/java/org/loboevolution/css/ComputedFontTest.java on lines 41..64
              LoboUnitTest/src/test/java/org/loboevolution/dom/DOMParserTest.java on lines 193..217
              LoboUnitTest/src/test/java/org/loboevolution/dom/DOMTokenListTest.java on lines 723..748
              LoboUnitTest/src/test/java/org/loboevolution/dom/Document2Test.java on lines 491..515
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 234..259
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 284..309
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 454..479
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 1329..1354
              LoboUnitTest/src/test/java/org/loboevolution/dom/NodeListTest.java on lines 190..216
              LoboUnitTest/src/test/java/org/loboevolution/dom/NodeListTest.java on lines 321..345
              LoboUnitTest/src/test/java/org/loboevolution/dom/NodeListTest.java on lines 412..436
              LoboUnitTest/src/test/java/org/loboevolution/dom/NodeTest.java on lines 233..259
              LoboUnitTest/src/test/java/org/loboevolution/dom/NodeTest.java on lines 476..501
              LoboUnitTest/src/test/java/org/loboevolution/dom/NodeTest.java on lines 503..528
              LoboUnitTest/src/test/java/org/loboevolution/dom/NodeTest.java on lines 1179..1204
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLAnchorElementTest.java on lines 662..686
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLAnchorElementTest.java on lines 710..734
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLAnchorElementTest.java on lines 737..761
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLAnchorElementTest.java on lines 1011..1037
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLButtonElementTest.java on lines 41..66
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 249..273
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 1254..1278
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 1280..1304
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 1306..1330
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 1335..1359
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 1362..1386
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 2848..2872
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLFormElementTest.java on lines 976..1003
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLFormElementTest.java on lines 1039..1065
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLFormElementTest.java on lines 1254..1278
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLFormElementTest.java on lines 1300..1324
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLFormElementTest.java on lines 1326..1350
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLHeadingElementTest.java on lines 63..88
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLIFrameElement2Test.java on lines 183..208
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLIFrameElement2Test.java on lines 277..303
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLIFrameElement2Test.java on lines 531..557
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLInputElementTest.java on lines 659..684
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLLinkElementTest.java on lines 107..131
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLLinkElementTest.java on lines 153..177
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLLinkElementTest.java on lines 179..203
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLOptionElement2Test.java on lines 429..453
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLSelectElementTest.java on lines 122..149
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLSelectElementTest.java on lines 822..848
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLSelectElementTest.java on lines 1104..1128
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLSelectElementTest.java on lines 1130..1154
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLSelectElementTest.java on lines 1904..1929
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLSelectElementTest.java on lines 2219..2244
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLTableCaptionElementTest.java on lines 134..159
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLTableCellElementTest.java on lines 235..260
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLTableCellElementTest.java on lines 473..498
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLTableCellElementTest.java on lines 661..686
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLTableCellElementTest.java on lines 688..713
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLTableCellElementTest.java on lines 715..740
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLTableElementTest.java on lines 373..398
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLTableElementTest.java on lines 675..700
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLTableElementTest.java on lines 702..727
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLTableElementTest.java on lines 729..754
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLTableRowElementTest.java on lines 93..116
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLTableRowElementTest.java on lines 430..455
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLTableRowElementTest.java on lines 457..481
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLTableRowElementTest.java on lines 483..508
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLTemplateElementTest.java on lines 116..143
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLTemplateElementTest.java on lines 188..216

              Duplicated Code

              Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

              Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

              When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

              Tuning

              This issue has a mass of 89.

              We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

              The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

              If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

              See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

              Refactorings

              Further Reading

              Similar blocks of code found in 99 locations. Consider refactoring.
              Open

                  @Test
                  @Alerts({"", "", "#0000aa", "#0000aa", "x", "x"})
                  public void vlinkColor() {
                      final String html =
                              "<html>\n"
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSImportRuleTest.java on lines 268..292
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSImportRuleTest.java on lines 295..319
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSImportRuleTest.java on lines 322..346
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSMediaRuleTest.java on lines 323..349
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSPageRuleTest.java on lines 405..430
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSPageRuleTest.java on lines 432..456
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSSelectorTest.java on lines 119..142
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSSelectorTest.java on lines 621..644
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSSelectorTest.java on lines 845..868
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSSelectorTest.java on lines 870..893
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSSelectorTest.java on lines 2060..2083
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleDeclarationTest.java on lines 2039..2063
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleSheetTest.java on lines 342..365
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleSheetTest.java on lines 433..458
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleSheetTest.java on lines 613..636
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleSheetTest.java on lines 659..682
              LoboUnitTest/src/test/java/org/loboevolution/css/ComputedCSSStyleDeclarationTest.java on lines 428..450
              LoboUnitTest/src/test/java/org/loboevolution/css/ComputedCSSStyleDeclarationTest.java on lines 1446..1468
              LoboUnitTest/src/test/java/org/loboevolution/css/ComputedCSSStyleDeclarationTest.java on lines 1877..1899
              LoboUnitTest/src/test/java/org/loboevolution/css/ComputedCSSStyleDeclarationTest.java on lines 1902..1924
              LoboUnitTest/src/test/java/org/loboevolution/css/property/ElementOffsetHeightTest.java on lines 67..91
              LoboUnitTest/src/test/java/org/loboevolution/dom/DOMExceptionTest.java on lines 79..101
              LoboUnitTest/src/test/java/org/loboevolution/dom/Document2Test.java on lines 62..85
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 185..209
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 1604..1629
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 2173..2198
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 2451..2474
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 2476..2499
              LoboUnitTest/src/test/java/org/loboevolution/dom/NodeListTest.java on lines 273..296
              LoboUnitTest/src/test/java/org/loboevolution/dom/NodeListTest.java on lines 347..370
              LoboUnitTest/src/test/java/org/loboevolution/dom/NodeListTest.java on lines 438..461
              LoboUnitTest/src/test/java/org/loboevolution/dom/NodeTest.java on lines 1030..1054
              LoboUnitTest/src/test/java/org/loboevolution/dom/NodeTest.java on lines 1153..1177
              LoboUnitTest/src/test/java/org/loboevolution/dom/RangeTest.java on lines 110..133
              LoboUnitTest/src/test/java/org/loboevolution/dom/XPathResultTest.java on lines 42..66
              LoboUnitTest/src/test/java/org/loboevolution/event/EventListenersContainerTest.java on lines 108..132
              LoboUnitTest/src/test/java/org/loboevolution/event/KeyboardEventTest.java on lines 304..326
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLAnchorElementTest.java on lines 43..66
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLAreaElementTest.java on lines 41..64
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLBaseFontElementTest.java on lines 64..88
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLBaseFontElementTest.java on lines 90..114
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLBaseFontElementTest.java on lines 116..140
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLBodyElementTest.java on lines 277..300
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLCanvasElementTest.java on lines 41..65
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLCanvasElementTest.java on lines 139..164
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 334..357
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 359..382
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 447..470
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 1083..1106
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 1491..1515
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 1517..1541
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 1569..1593
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElement2Test.java on lines 180..204
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElement2Test.java on lines 206..230
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElement2Test.java on lines 232..256
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElement2Test.java on lines 258..282
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElement2Test.java on lines 284..308
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElement2Test.java on lines 703..726
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElement2Test.java on lines 728..751
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElement2Test.java on lines 753..776
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElement2Test.java on lines 834..857
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElement2Test.java on lines 896..919
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElement2Test.java on lines 1059..1082
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 2204..2228
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 2291..2313
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 3274..3296
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 3341..3363
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 3408..3430
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 4266..4295
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLFormElementTest.java on lines 107..131
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLFormElementTest.java on lines 133..157
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLFormElementTest.java on lines 475..499
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLFormElementTest.java on lines 834..858
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLFormElementTest.java on lines 1192..1215
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLFormElementTest.java on lines 1352..1376
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLHRElementTest.java on lines 62..85
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLIFrameElement2Test.java on lines 130..153
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLIFrameElement2Test.java on lines 754..778
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLIFrameElement3Test.java on lines 452..476
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLImageElementTest.java on lines 310..333
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLImageElementTest.java on lines 362..386
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLImageElementTest.java on lines 388..412
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLInputElementTest.java on lines 1525..1549
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLInputElementTest.java on lines 1551..1575
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLLabelElementTest.java on lines 221..245
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLLegendElementTest.java on lines 42..66
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLMetaElementTest.java on lines 42..66
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLParamElementTest.java on lines 41..65
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLParamElementTest.java on lines 67..91
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLParamElementTest.java on lines 128..152
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLScriptElementTest.java on lines 751..775
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLScriptElementTest.java on lines 817..841
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLSelectElementTest.java on lines 369..394
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLStyleElementTest.java on lines 154..178
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLTableCellElementTest.java on lines 576..600
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLTableElementTest.java on lines 446..470
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLTableElementTest.java on lines 756..780
              LoboUnitTest/src/test/java/org/loboevolution/xml/FormDataTest.java on lines 41..65

              Duplicated Code

              Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

              Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

              When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

              Tuning

              This issue has a mass of 85.

              We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

              The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

              If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

              See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

              Refactorings

              Further Reading

              Similar blocks of code found in 99 locations. Consider refactoring.
              Open

                  @Test
                  @Alerts({"", "", "#0000aa", "#0000aa", "x", "x"})
                  public void bgColor() {
                      final String html =
                              "<html>\n"
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSImportRuleTest.java on lines 268..292
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSImportRuleTest.java on lines 295..319
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSImportRuleTest.java on lines 322..346
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSMediaRuleTest.java on lines 323..349
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSPageRuleTest.java on lines 405..430
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSPageRuleTest.java on lines 432..456
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSSelectorTest.java on lines 119..142
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSSelectorTest.java on lines 621..644
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSSelectorTest.java on lines 845..868
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSSelectorTest.java on lines 870..893
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSSelectorTest.java on lines 2060..2083
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleDeclarationTest.java on lines 2039..2063
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleSheetTest.java on lines 342..365
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleSheetTest.java on lines 433..458
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleSheetTest.java on lines 613..636
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleSheetTest.java on lines 659..682
              LoboUnitTest/src/test/java/org/loboevolution/css/ComputedCSSStyleDeclarationTest.java on lines 428..450
              LoboUnitTest/src/test/java/org/loboevolution/css/ComputedCSSStyleDeclarationTest.java on lines 1446..1468
              LoboUnitTest/src/test/java/org/loboevolution/css/ComputedCSSStyleDeclarationTest.java on lines 1877..1899
              LoboUnitTest/src/test/java/org/loboevolution/css/ComputedCSSStyleDeclarationTest.java on lines 1902..1924
              LoboUnitTest/src/test/java/org/loboevolution/css/property/ElementOffsetHeightTest.java on lines 67..91
              LoboUnitTest/src/test/java/org/loboevolution/dom/DOMExceptionTest.java on lines 79..101
              LoboUnitTest/src/test/java/org/loboevolution/dom/Document2Test.java on lines 62..85
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 185..209
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 1604..1629
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 2173..2198
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 2451..2474
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 2476..2499
              LoboUnitTest/src/test/java/org/loboevolution/dom/NodeListTest.java on lines 273..296
              LoboUnitTest/src/test/java/org/loboevolution/dom/NodeListTest.java on lines 347..370
              LoboUnitTest/src/test/java/org/loboevolution/dom/NodeListTest.java on lines 438..461
              LoboUnitTest/src/test/java/org/loboevolution/dom/NodeTest.java on lines 1030..1054
              LoboUnitTest/src/test/java/org/loboevolution/dom/NodeTest.java on lines 1153..1177
              LoboUnitTest/src/test/java/org/loboevolution/dom/RangeTest.java on lines 110..133
              LoboUnitTest/src/test/java/org/loboevolution/dom/XPathResultTest.java on lines 42..66
              LoboUnitTest/src/test/java/org/loboevolution/event/EventListenersContainerTest.java on lines 108..132
              LoboUnitTest/src/test/java/org/loboevolution/event/KeyboardEventTest.java on lines 304..326
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLAnchorElementTest.java on lines 43..66
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLAreaElementTest.java on lines 41..64
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLBaseFontElementTest.java on lines 64..88
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLBaseFontElementTest.java on lines 90..114
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLBaseFontElementTest.java on lines 116..140
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLBodyElementTest.java on lines 277..300
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLCanvasElementTest.java on lines 41..65
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLCanvasElementTest.java on lines 139..164
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 334..357
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 359..382
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 1083..1106
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 1491..1515
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 1517..1541
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 1543..1567
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 1569..1593
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElement2Test.java on lines 180..204
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElement2Test.java on lines 206..230
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElement2Test.java on lines 232..256
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElement2Test.java on lines 258..282
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElement2Test.java on lines 284..308
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElement2Test.java on lines 703..726
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElement2Test.java on lines 728..751
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElement2Test.java on lines 753..776
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElement2Test.java on lines 834..857
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElement2Test.java on lines 896..919
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElement2Test.java on lines 1059..1082
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 2204..2228
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 2291..2313
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 3274..3296
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 3341..3363
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 3408..3430
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 4266..4295
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLFormElementTest.java on lines 107..131
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLFormElementTest.java on lines 133..157
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLFormElementTest.java on lines 475..499
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLFormElementTest.java on lines 834..858
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLFormElementTest.java on lines 1192..1215
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLFormElementTest.java on lines 1352..1376
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLHRElementTest.java on lines 62..85
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLIFrameElement2Test.java on lines 130..153
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLIFrameElement2Test.java on lines 754..778
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLIFrameElement3Test.java on lines 452..476
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLImageElementTest.java on lines 310..333
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLImageElementTest.java on lines 362..386
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLImageElementTest.java on lines 388..412
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLInputElementTest.java on lines 1525..1549
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLInputElementTest.java on lines 1551..1575
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLLabelElementTest.java on lines 221..245
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLLegendElementTest.java on lines 42..66
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLMetaElementTest.java on lines 42..66
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLParamElementTest.java on lines 41..65
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLParamElementTest.java on lines 67..91
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLParamElementTest.java on lines 128..152
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLScriptElementTest.java on lines 751..775
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLScriptElementTest.java on lines 817..841
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLSelectElementTest.java on lines 369..394
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLStyleElementTest.java on lines 154..178
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLTableCellElementTest.java on lines 576..600
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLTableElementTest.java on lines 446..470
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLTableElementTest.java on lines 756..780
              LoboUnitTest/src/test/java/org/loboevolution/xml/FormDataTest.java on lines 41..65

              Duplicated Code

              Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

              Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

              When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

              Tuning

              This issue has a mass of 85.

              We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

              The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

              If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

              See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

              Refactorings

              Further Reading

              Similar blocks of code found in 99 locations. Consider refactoring.
              Open

                  @Test
                  @Alerts({"", "", "#0000aa", "#0000aa", "x", "x"})
                  public void fgColor() {
                      final String html =
                              "<html>\n"
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSImportRuleTest.java on lines 268..292
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSImportRuleTest.java on lines 295..319
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSImportRuleTest.java on lines 322..346
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSMediaRuleTest.java on lines 323..349
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSPageRuleTest.java on lines 405..430
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSPageRuleTest.java on lines 432..456
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSSelectorTest.java on lines 119..142
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSSelectorTest.java on lines 621..644
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSSelectorTest.java on lines 845..868
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSSelectorTest.java on lines 870..893
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSSelectorTest.java on lines 2060..2083
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleDeclarationTest.java on lines 2039..2063
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleSheetTest.java on lines 342..365
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleSheetTest.java on lines 433..458
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleSheetTest.java on lines 613..636
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleSheetTest.java on lines 659..682
              LoboUnitTest/src/test/java/org/loboevolution/css/ComputedCSSStyleDeclarationTest.java on lines 428..450
              LoboUnitTest/src/test/java/org/loboevolution/css/ComputedCSSStyleDeclarationTest.java on lines 1446..1468
              LoboUnitTest/src/test/java/org/loboevolution/css/ComputedCSSStyleDeclarationTest.java on lines 1877..1899
              LoboUnitTest/src/test/java/org/loboevolution/css/ComputedCSSStyleDeclarationTest.java on lines 1902..1924
              LoboUnitTest/src/test/java/org/loboevolution/css/property/ElementOffsetHeightTest.java on lines 67..91
              LoboUnitTest/src/test/java/org/loboevolution/dom/DOMExceptionTest.java on lines 79..101
              LoboUnitTest/src/test/java/org/loboevolution/dom/Document2Test.java on lines 62..85
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 185..209
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 1604..1629
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 2173..2198
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 2451..2474
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 2476..2499
              LoboUnitTest/src/test/java/org/loboevolution/dom/NodeListTest.java on lines 273..296
              LoboUnitTest/src/test/java/org/loboevolution/dom/NodeListTest.java on lines 347..370
              LoboUnitTest/src/test/java/org/loboevolution/dom/NodeListTest.java on lines 438..461
              LoboUnitTest/src/test/java/org/loboevolution/dom/NodeTest.java on lines 1030..1054
              LoboUnitTest/src/test/java/org/loboevolution/dom/NodeTest.java on lines 1153..1177
              LoboUnitTest/src/test/java/org/loboevolution/dom/RangeTest.java on lines 110..133
              LoboUnitTest/src/test/java/org/loboevolution/dom/XPathResultTest.java on lines 42..66
              LoboUnitTest/src/test/java/org/loboevolution/event/EventListenersContainerTest.java on lines 108..132
              LoboUnitTest/src/test/java/org/loboevolution/event/KeyboardEventTest.java on lines 304..326
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLAnchorElementTest.java on lines 43..66
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLAreaElementTest.java on lines 41..64
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLBaseFontElementTest.java on lines 64..88
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLBaseFontElementTest.java on lines 90..114
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLBaseFontElementTest.java on lines 116..140
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLBodyElementTest.java on lines 277..300
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLCanvasElementTest.java on lines 41..65
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLCanvasElementTest.java on lines 139..164
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 334..357
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 359..382
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 447..470
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 1083..1106
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 1491..1515
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 1517..1541
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 1543..1567
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElement2Test.java on lines 180..204
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElement2Test.java on lines 206..230
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElement2Test.java on lines 232..256
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElement2Test.java on lines 258..282
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElement2Test.java on lines 284..308
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElement2Test.java on lines 703..726
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElement2Test.java on lines 728..751
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElement2Test.java on lines 753..776
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElement2Test.java on lines 834..857
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElement2Test.java on lines 896..919
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElement2Test.java on lines 1059..1082
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 2204..2228
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 2291..2313
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 3274..3296
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 3341..3363
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 3408..3430
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 4266..4295
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLFormElementTest.java on lines 107..131
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLFormElementTest.java on lines 133..157
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLFormElementTest.java on lines 475..499
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLFormElementTest.java on lines 834..858
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLFormElementTest.java on lines 1192..1215
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLFormElementTest.java on lines 1352..1376
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLHRElementTest.java on lines 62..85
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLIFrameElement2Test.java on lines 130..153
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLIFrameElement2Test.java on lines 754..778
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLIFrameElement3Test.java on lines 452..476
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLImageElementTest.java on lines 310..333
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLImageElementTest.java on lines 362..386
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLImageElementTest.java on lines 388..412
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLInputElementTest.java on lines 1525..1549
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLInputElementTest.java on lines 1551..1575
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLLabelElementTest.java on lines 221..245
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLLegendElementTest.java on lines 42..66
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLMetaElementTest.java on lines 42..66
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLParamElementTest.java on lines 41..65
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLParamElementTest.java on lines 67..91
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLParamElementTest.java on lines 128..152
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLScriptElementTest.java on lines 751..775
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLScriptElementTest.java on lines 817..841
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLSelectElementTest.java on lines 369..394
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLStyleElementTest.java on lines 154..178
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLTableCellElementTest.java on lines 576..600
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLTableElementTest.java on lines 446..470
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLTableElementTest.java on lines 756..780
              LoboUnitTest/src/test/java/org/loboevolution/xml/FormDataTest.java on lines 41..65

              Duplicated Code

              Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

              Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

              When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

              Tuning

              This issue has a mass of 85.

              We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

              The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

              If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

              See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

              Refactorings

              Further Reading

              Similar blocks of code found in 99 locations. Consider refactoring.
              Open

                  @Test
                  @Alerts({"imported: [object HTMLScriptElement]", "replaced"})
                  public void importNodescript() {
                      final String html = "<html><head><script>\n"
                              + "function test() {\n"
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSImportRuleTest.java on lines 268..292
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSImportRuleTest.java on lines 295..319
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSImportRuleTest.java on lines 322..346
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSMediaRuleTest.java on lines 323..349
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSPageRuleTest.java on lines 405..430
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSPageRuleTest.java on lines 432..456
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSSelectorTest.java on lines 119..142
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSSelectorTest.java on lines 621..644
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSSelectorTest.java on lines 845..868
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSSelectorTest.java on lines 870..893
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSSelectorTest.java on lines 2060..2083
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleDeclarationTest.java on lines 2039..2063
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleSheetTest.java on lines 342..365
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleSheetTest.java on lines 433..458
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleSheetTest.java on lines 613..636
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleSheetTest.java on lines 659..682
              LoboUnitTest/src/test/java/org/loboevolution/css/ComputedCSSStyleDeclarationTest.java on lines 428..450
              LoboUnitTest/src/test/java/org/loboevolution/css/ComputedCSSStyleDeclarationTest.java on lines 1446..1468
              LoboUnitTest/src/test/java/org/loboevolution/css/ComputedCSSStyleDeclarationTest.java on lines 1877..1899
              LoboUnitTest/src/test/java/org/loboevolution/css/ComputedCSSStyleDeclarationTest.java on lines 1902..1924
              LoboUnitTest/src/test/java/org/loboevolution/css/property/ElementOffsetHeightTest.java on lines 67..91
              LoboUnitTest/src/test/java/org/loboevolution/dom/DOMExceptionTest.java on lines 79..101
              LoboUnitTest/src/test/java/org/loboevolution/dom/Document2Test.java on lines 62..85
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 185..209
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 1604..1629
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 2173..2198
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 2451..2474
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 2476..2499
              LoboUnitTest/src/test/java/org/loboevolution/dom/NodeListTest.java on lines 273..296
              LoboUnitTest/src/test/java/org/loboevolution/dom/NodeListTest.java on lines 347..370
              LoboUnitTest/src/test/java/org/loboevolution/dom/NodeListTest.java on lines 438..461
              LoboUnitTest/src/test/java/org/loboevolution/dom/NodeTest.java on lines 1030..1054
              LoboUnitTest/src/test/java/org/loboevolution/dom/NodeTest.java on lines 1153..1177
              LoboUnitTest/src/test/java/org/loboevolution/dom/RangeTest.java on lines 110..133
              LoboUnitTest/src/test/java/org/loboevolution/dom/XPathResultTest.java on lines 42..66
              LoboUnitTest/src/test/java/org/loboevolution/event/EventListenersContainerTest.java on lines 108..132
              LoboUnitTest/src/test/java/org/loboevolution/event/KeyboardEventTest.java on lines 304..326
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLAnchorElementTest.java on lines 43..66
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLAreaElementTest.java on lines 41..64
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLBaseFontElementTest.java on lines 64..88
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLBaseFontElementTest.java on lines 90..114
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLBaseFontElementTest.java on lines 116..140
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLBodyElementTest.java on lines 277..300
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLCanvasElementTest.java on lines 41..65
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLCanvasElementTest.java on lines 139..164
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 359..382
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 447..470
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 1083..1106
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 1491..1515
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 1517..1541
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 1543..1567
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 1569..1593
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElement2Test.java on lines 180..204
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElement2Test.java on lines 206..230
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElement2Test.java on lines 232..256
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElement2Test.java on lines 258..282
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElement2Test.java on lines 284..308
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElement2Test.java on lines 703..726
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElement2Test.java on lines 728..751
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElement2Test.java on lines 753..776
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElement2Test.java on lines 834..857
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElement2Test.java on lines 896..919
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElement2Test.java on lines 1059..1082
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 2204..2228
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 2291..2313
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 3274..3296
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 3341..3363
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 3408..3430
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 4266..4295
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLFormElementTest.java on lines 107..131
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLFormElementTest.java on lines 133..157
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLFormElementTest.java on lines 475..499
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLFormElementTest.java on lines 834..858
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLFormElementTest.java on lines 1192..1215
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLFormElementTest.java on lines 1352..1376
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLHRElementTest.java on lines 62..85
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLIFrameElement2Test.java on lines 130..153
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLIFrameElement2Test.java on lines 754..778
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLIFrameElement3Test.java on lines 452..476
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLImageElementTest.java on lines 310..333
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLImageElementTest.java on lines 362..386
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLImageElementTest.java on lines 388..412
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLInputElementTest.java on lines 1525..1549
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLInputElementTest.java on lines 1551..1575
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLLabelElementTest.java on lines 221..245
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLLegendElementTest.java on lines 42..66
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLMetaElementTest.java on lines 42..66
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLParamElementTest.java on lines 41..65
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLParamElementTest.java on lines 67..91
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLParamElementTest.java on lines 128..152
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLScriptElementTest.java on lines 751..775
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLScriptElementTest.java on lines 817..841
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLSelectElementTest.java on lines 369..394
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLStyleElementTest.java on lines 154..178
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLTableCellElementTest.java on lines 576..600
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLTableElementTest.java on lines 446..470
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLTableElementTest.java on lines 756..780
              LoboUnitTest/src/test/java/org/loboevolution/xml/FormDataTest.java on lines 41..65

              Duplicated Code

              Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

              Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

              When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

              Tuning

              This issue has a mass of 85.

              We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

              The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

              If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

              See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

              Refactorings

              Further Reading

              Similar blocks of code found in 99 locations. Consider refactoring.
              Open

                  @Test
                  @Alerts({"", "", "#0000aa", "#0000aa", "x", "x"})
                  public void alinkColor() {
                      final String html =
                              "<html>\n"
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSImportRuleTest.java on lines 268..292
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSImportRuleTest.java on lines 295..319
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSImportRuleTest.java on lines 322..346
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSMediaRuleTest.java on lines 323..349
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSPageRuleTest.java on lines 405..430
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSPageRuleTest.java on lines 432..456
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSSelectorTest.java on lines 119..142
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSSelectorTest.java on lines 621..644
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSSelectorTest.java on lines 845..868
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSSelectorTest.java on lines 870..893
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSSelectorTest.java on lines 2060..2083
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleDeclarationTest.java on lines 2039..2063
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleSheetTest.java on lines 342..365
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleSheetTest.java on lines 433..458
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleSheetTest.java on lines 613..636
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleSheetTest.java on lines 659..682
              LoboUnitTest/src/test/java/org/loboevolution/css/ComputedCSSStyleDeclarationTest.java on lines 428..450
              LoboUnitTest/src/test/java/org/loboevolution/css/ComputedCSSStyleDeclarationTest.java on lines 1446..1468
              LoboUnitTest/src/test/java/org/loboevolution/css/ComputedCSSStyleDeclarationTest.java on lines 1877..1899
              LoboUnitTest/src/test/java/org/loboevolution/css/ComputedCSSStyleDeclarationTest.java on lines 1902..1924
              LoboUnitTest/src/test/java/org/loboevolution/css/property/ElementOffsetHeightTest.java on lines 67..91
              LoboUnitTest/src/test/java/org/loboevolution/dom/DOMExceptionTest.java on lines 79..101
              LoboUnitTest/src/test/java/org/loboevolution/dom/Document2Test.java on lines 62..85
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 185..209
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 1604..1629
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 2173..2198
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 2451..2474
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 2476..2499
              LoboUnitTest/src/test/java/org/loboevolution/dom/NodeListTest.java on lines 273..296
              LoboUnitTest/src/test/java/org/loboevolution/dom/NodeListTest.java on lines 347..370
              LoboUnitTest/src/test/java/org/loboevolution/dom/NodeListTest.java on lines 438..461
              LoboUnitTest/src/test/java/org/loboevolution/dom/NodeTest.java on lines 1030..1054
              LoboUnitTest/src/test/java/org/loboevolution/dom/NodeTest.java on lines 1153..1177
              LoboUnitTest/src/test/java/org/loboevolution/dom/RangeTest.java on lines 110..133
              LoboUnitTest/src/test/java/org/loboevolution/dom/XPathResultTest.java on lines 42..66
              LoboUnitTest/src/test/java/org/loboevolution/event/EventListenersContainerTest.java on lines 108..132
              LoboUnitTest/src/test/java/org/loboevolution/event/KeyboardEventTest.java on lines 304..326
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLAnchorElementTest.java on lines 43..66
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLAreaElementTest.java on lines 41..64
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLBaseFontElementTest.java on lines 64..88
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLBaseFontElementTest.java on lines 90..114
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLBaseFontElementTest.java on lines 116..140
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLBodyElementTest.java on lines 277..300
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLCanvasElementTest.java on lines 41..65
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLCanvasElementTest.java on lines 139..164
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 334..357
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 359..382
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 447..470
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 1083..1106
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 1517..1541
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 1543..1567
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 1569..1593
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElement2Test.java on lines 180..204
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElement2Test.java on lines 206..230
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElement2Test.java on lines 232..256
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElement2Test.java on lines 258..282
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElement2Test.java on lines 284..308
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElement2Test.java on lines 703..726
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElement2Test.java on lines 728..751
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElement2Test.java on lines 753..776
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElement2Test.java on lines 834..857
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElement2Test.java on lines 896..919
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElement2Test.java on lines 1059..1082
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 2204..2228
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 2291..2313
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 3274..3296
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 3341..3363
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 3408..3430
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 4266..4295
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLFormElementTest.java on lines 107..131
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLFormElementTest.java on lines 133..157
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLFormElementTest.java on lines 475..499
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLFormElementTest.java on lines 834..858
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLFormElementTest.java on lines 1192..1215
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLFormElementTest.java on lines 1352..1376
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLHRElementTest.java on lines 62..85
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLIFrameElement2Test.java on lines 130..153
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLIFrameElement2Test.java on lines 754..778
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLIFrameElement3Test.java on lines 452..476
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLImageElementTest.java on lines 310..333
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLImageElementTest.java on lines 362..386
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLImageElementTest.java on lines 388..412
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLInputElementTest.java on lines 1525..1549
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLInputElementTest.java on lines 1551..1575
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLLabelElementTest.java on lines 221..245
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLLegendElementTest.java on lines 42..66
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLMetaElementTest.java on lines 42..66
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLParamElementTest.java on lines 41..65
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLParamElementTest.java on lines 67..91
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLParamElementTest.java on lines 128..152
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLScriptElementTest.java on lines 751..775
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLScriptElementTest.java on lines 817..841
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLSelectElementTest.java on lines 369..394
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLStyleElementTest.java on lines 154..178
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLTableCellElementTest.java on lines 576..600
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLTableElementTest.java on lines 446..470
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLTableElementTest.java on lines 756..780
              LoboUnitTest/src/test/java/org/loboevolution/xml/FormDataTest.java on lines 41..65

              Duplicated Code

              Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

              Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

              When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

              Tuning

              This issue has a mass of 85.

              We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

              The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

              If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

              See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

              Refactorings

              Further Reading

              Similar blocks of code found in 99 locations. Consider refactoring.
              Open

                  @Test
                  @Alerts({"", "", "#0000aa", "#0000aa", "x", "x"})
                  public void linkColor() {
                      final String html =
                              "<html>\n"
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSImportRuleTest.java on lines 268..292
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSImportRuleTest.java on lines 295..319
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSImportRuleTest.java on lines 322..346
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSMediaRuleTest.java on lines 323..349
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSPageRuleTest.java on lines 405..430
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSPageRuleTest.java on lines 432..456
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSSelectorTest.java on lines 119..142
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSSelectorTest.java on lines 621..644
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSSelectorTest.java on lines 845..868
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSSelectorTest.java on lines 870..893
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSSelectorTest.java on lines 2060..2083
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleDeclarationTest.java on lines 2039..2063
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleSheetTest.java on lines 342..365
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleSheetTest.java on lines 433..458
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleSheetTest.java on lines 613..636
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleSheetTest.java on lines 659..682
              LoboUnitTest/src/test/java/org/loboevolution/css/ComputedCSSStyleDeclarationTest.java on lines 428..450
              LoboUnitTest/src/test/java/org/loboevolution/css/ComputedCSSStyleDeclarationTest.java on lines 1446..1468
              LoboUnitTest/src/test/java/org/loboevolution/css/ComputedCSSStyleDeclarationTest.java on lines 1877..1899
              LoboUnitTest/src/test/java/org/loboevolution/css/ComputedCSSStyleDeclarationTest.java on lines 1902..1924
              LoboUnitTest/src/test/java/org/loboevolution/css/property/ElementOffsetHeightTest.java on lines 67..91
              LoboUnitTest/src/test/java/org/loboevolution/dom/DOMExceptionTest.java on lines 79..101
              LoboUnitTest/src/test/java/org/loboevolution/dom/Document2Test.java on lines 62..85
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 185..209
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 1604..1629
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 2173..2198
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 2451..2474
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 2476..2499
              LoboUnitTest/src/test/java/org/loboevolution/dom/NodeListTest.java on lines 273..296
              LoboUnitTest/src/test/java/org/loboevolution/dom/NodeListTest.java on lines 347..370
              LoboUnitTest/src/test/java/org/loboevolution/dom/NodeListTest.java on lines 438..461
              LoboUnitTest/src/test/java/org/loboevolution/dom/NodeTest.java on lines 1030..1054
              LoboUnitTest/src/test/java/org/loboevolution/dom/NodeTest.java on lines 1153..1177
              LoboUnitTest/src/test/java/org/loboevolution/dom/RangeTest.java on lines 110..133
              LoboUnitTest/src/test/java/org/loboevolution/dom/XPathResultTest.java on lines 42..66
              LoboUnitTest/src/test/java/org/loboevolution/event/EventListenersContainerTest.java on lines 108..132
              LoboUnitTest/src/test/java/org/loboevolution/event/KeyboardEventTest.java on lines 304..326
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLAnchorElementTest.java on lines 43..66
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLAreaElementTest.java on lines 41..64
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLBaseFontElementTest.java on lines 64..88
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLBaseFontElementTest.java on lines 90..114
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLBaseFontElementTest.java on lines 116..140
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLBodyElementTest.java on lines 277..300
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLCanvasElementTest.java on lines 41..65
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLCanvasElementTest.java on lines 139..164
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 334..357
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 359..382
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 447..470
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 1083..1106
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 1491..1515
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 1543..1567
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 1569..1593
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElement2Test.java on lines 180..204
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElement2Test.java on lines 206..230
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElement2Test.java on lines 232..256
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElement2Test.java on lines 258..282
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElement2Test.java on lines 284..308
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElement2Test.java on lines 703..726
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElement2Test.java on lines 728..751
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElement2Test.java on lines 753..776
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElement2Test.java on lines 834..857
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElement2Test.java on lines 896..919
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElement2Test.java on lines 1059..1082
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 2204..2228
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 2291..2313
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 3274..3296
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 3341..3363
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 3408..3430
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 4266..4295
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLFormElementTest.java on lines 107..131
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLFormElementTest.java on lines 133..157
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLFormElementTest.java on lines 475..499
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLFormElementTest.java on lines 834..858
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLFormElementTest.java on lines 1192..1215
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLFormElementTest.java on lines 1352..1376
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLHRElementTest.java on lines 62..85
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLIFrameElement2Test.java on lines 130..153
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLIFrameElement2Test.java on lines 754..778
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLIFrameElement3Test.java on lines 452..476
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLImageElementTest.java on lines 310..333
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLImageElementTest.java on lines 362..386
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLImageElementTest.java on lines 388..412
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLInputElementTest.java on lines 1525..1549
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLInputElementTest.java on lines 1551..1575
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLLabelElementTest.java on lines 221..245
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLLegendElementTest.java on lines 42..66
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLMetaElementTest.java on lines 42..66
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLParamElementTest.java on lines 41..65
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLParamElementTest.java on lines 67..91
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLParamElementTest.java on lines 128..152
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLScriptElementTest.java on lines 751..775
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLScriptElementTest.java on lines 817..841
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLSelectElementTest.java on lines 369..394
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLStyleElementTest.java on lines 154..178
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLTableCellElementTest.java on lines 576..600
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLTableElementTest.java on lines 446..470
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLTableElementTest.java on lines 756..780
              LoboUnitTest/src/test/java/org/loboevolution/xml/FormDataTest.java on lines 41..65

              Duplicated Code

              Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

              Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

              When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

              Tuning

              This issue has a mass of 85.

              We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

              The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

              If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

              See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

              Refactorings

              Further Reading

              Similar blocks of code found in 99 locations. Consider refactoring.
              Open

                  @Test
                  @Alerts({"imported: [object HTMLDivElement]", "replaced"})
                  public void importNodescriptChild() {
                      final String html = "<html><head><script>\n"
                              + "function test() {\n"
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSImportRuleTest.java on lines 268..292
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSImportRuleTest.java on lines 295..319
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSImportRuleTest.java on lines 322..346
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSMediaRuleTest.java on lines 323..349
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSPageRuleTest.java on lines 405..430
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSPageRuleTest.java on lines 432..456
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSSelectorTest.java on lines 119..142
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSSelectorTest.java on lines 621..644
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSSelectorTest.java on lines 845..868
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSSelectorTest.java on lines 870..893
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSSelectorTest.java on lines 2060..2083
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleDeclarationTest.java on lines 2039..2063
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleSheetTest.java on lines 342..365
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleSheetTest.java on lines 433..458
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleSheetTest.java on lines 613..636
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleSheetTest.java on lines 659..682
              LoboUnitTest/src/test/java/org/loboevolution/css/ComputedCSSStyleDeclarationTest.java on lines 428..450
              LoboUnitTest/src/test/java/org/loboevolution/css/ComputedCSSStyleDeclarationTest.java on lines 1446..1468
              LoboUnitTest/src/test/java/org/loboevolution/css/ComputedCSSStyleDeclarationTest.java on lines 1877..1899
              LoboUnitTest/src/test/java/org/loboevolution/css/ComputedCSSStyleDeclarationTest.java on lines 1902..1924
              LoboUnitTest/src/test/java/org/loboevolution/css/property/ElementOffsetHeightTest.java on lines 67..91
              LoboUnitTest/src/test/java/org/loboevolution/dom/DOMExceptionTest.java on lines 79..101
              LoboUnitTest/src/test/java/org/loboevolution/dom/Document2Test.java on lines 62..85
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 185..209
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 1604..1629
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 2173..2198
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 2451..2474
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 2476..2499
              LoboUnitTest/src/test/java/org/loboevolution/dom/NodeListTest.java on lines 273..296
              LoboUnitTest/src/test/java/org/loboevolution/dom/NodeListTest.java on lines 347..370
              LoboUnitTest/src/test/java/org/loboevolution/dom/NodeListTest.java on lines 438..461
              LoboUnitTest/src/test/java/org/loboevolution/dom/NodeTest.java on lines 1030..1054
              LoboUnitTest/src/test/java/org/loboevolution/dom/NodeTest.java on lines 1153..1177
              LoboUnitTest/src/test/java/org/loboevolution/dom/RangeTest.java on lines 110..133
              LoboUnitTest/src/test/java/org/loboevolution/dom/XPathResultTest.java on lines 42..66
              LoboUnitTest/src/test/java/org/loboevolution/event/EventListenersContainerTest.java on lines 108..132
              LoboUnitTest/src/test/java/org/loboevolution/event/KeyboardEventTest.java on lines 304..326
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLAnchorElementTest.java on lines 43..66
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLAreaElementTest.java on lines 41..64
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLBaseFontElementTest.java on lines 64..88
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLBaseFontElementTest.java on lines 90..114
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLBaseFontElementTest.java on lines 116..140
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLBodyElementTest.java on lines 277..300
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLCanvasElementTest.java on lines 41..65
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLCanvasElementTest.java on lines 139..164
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 334..357
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 447..470
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 1083..1106
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 1491..1515
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 1517..1541
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 1543..1567
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 1569..1593
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElement2Test.java on lines 180..204
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElement2Test.java on lines 206..230
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElement2Test.java on lines 232..256
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElement2Test.java on lines 258..282
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElement2Test.java on lines 284..308
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElement2Test.java on lines 703..726
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElement2Test.java on lines 728..751
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElement2Test.java on lines 753..776
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElement2Test.java on lines 834..857
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElement2Test.java on lines 896..919
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElement2Test.java on lines 1059..1082
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 2204..2228
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 2291..2313
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 3274..3296
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 3341..3363
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 3408..3430
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 4266..4295
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLFormElementTest.java on lines 107..131
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLFormElementTest.java on lines 133..157
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLFormElementTest.java on lines 475..499
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLFormElementTest.java on lines 834..858
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLFormElementTest.java on lines 1192..1215
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLFormElementTest.java on lines 1352..1376
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLHRElementTest.java on lines 62..85
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLIFrameElement2Test.java on lines 130..153
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLIFrameElement2Test.java on lines 754..778
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLIFrameElement3Test.java on lines 452..476
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLImageElementTest.java on lines 310..333
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLImageElementTest.java on lines 362..386
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLImageElementTest.java on lines 388..412
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLInputElementTest.java on lines 1525..1549
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLInputElementTest.java on lines 1551..1575
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLLabelElementTest.java on lines 221..245
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLLegendElementTest.java on lines 42..66
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLMetaElementTest.java on lines 42..66
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLParamElementTest.java on lines 41..65
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLParamElementTest.java on lines 67..91
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLParamElementTest.java on lines 128..152
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLScriptElementTest.java on lines 751..775
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLScriptElementTest.java on lines 817..841
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLSelectElementTest.java on lines 369..394
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLStyleElementTest.java on lines 154..178
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLTableCellElementTest.java on lines 576..600
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLTableElementTest.java on lines 446..470
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLTableElementTest.java on lines 756..780
              LoboUnitTest/src/test/java/org/loboevolution/xml/FormDataTest.java on lines 41..65

              Duplicated Code

              Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

              Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

              When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

              Tuning

              This issue has a mass of 85.

              We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

              The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

              If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

              See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

              Refactorings

              Further Reading

              Similar blocks of code found in 99 locations. Consider refactoring.
              Open

                  @Test
                  @Alerts({"3", "div1"})
                  public void querySelectorAll() {
                      final String html = "<html><head>\n"
                              + "<style>\n"
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSImportRuleTest.java on lines 268..292
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSImportRuleTest.java on lines 295..319
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSImportRuleTest.java on lines 322..346
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSMediaRuleTest.java on lines 323..349
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSPageRuleTest.java on lines 405..430
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSPageRuleTest.java on lines 432..456
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSSelectorTest.java on lines 119..142
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSSelectorTest.java on lines 621..644
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSSelectorTest.java on lines 845..868
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSSelectorTest.java on lines 870..893
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSSelectorTest.java on lines 2060..2083
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleDeclarationTest.java on lines 2039..2063
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleSheetTest.java on lines 342..365
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleSheetTest.java on lines 433..458
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleSheetTest.java on lines 613..636
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleSheetTest.java on lines 659..682
              LoboUnitTest/src/test/java/org/loboevolution/css/ComputedCSSStyleDeclarationTest.java on lines 428..450
              LoboUnitTest/src/test/java/org/loboevolution/css/ComputedCSSStyleDeclarationTest.java on lines 1446..1468
              LoboUnitTest/src/test/java/org/loboevolution/css/ComputedCSSStyleDeclarationTest.java on lines 1877..1899
              LoboUnitTest/src/test/java/org/loboevolution/css/ComputedCSSStyleDeclarationTest.java on lines 1902..1924
              LoboUnitTest/src/test/java/org/loboevolution/css/property/ElementOffsetHeightTest.java on lines 67..91
              LoboUnitTest/src/test/java/org/loboevolution/dom/DOMExceptionTest.java on lines 79..101
              LoboUnitTest/src/test/java/org/loboevolution/dom/Document2Test.java on lines 62..85
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 185..209
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 1604..1629
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 2173..2198
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 2451..2474
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 2476..2499
              LoboUnitTest/src/test/java/org/loboevolution/dom/NodeListTest.java on lines 273..296
              LoboUnitTest/src/test/java/org/loboevolution/dom/NodeListTest.java on lines 347..370
              LoboUnitTest/src/test/java/org/loboevolution/dom/NodeListTest.java on lines 438..461
              LoboUnitTest/src/test/java/org/loboevolution/dom/NodeTest.java on lines 1030..1054
              LoboUnitTest/src/test/java/org/loboevolution/dom/NodeTest.java on lines 1153..1177
              LoboUnitTest/src/test/java/org/loboevolution/dom/RangeTest.java on lines 110..133
              LoboUnitTest/src/test/java/org/loboevolution/dom/XPathResultTest.java on lines 42..66
              LoboUnitTest/src/test/java/org/loboevolution/event/EventListenersContainerTest.java on lines 108..132
              LoboUnitTest/src/test/java/org/loboevolution/event/KeyboardEventTest.java on lines 304..326
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLAnchorElementTest.java on lines 43..66
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLAreaElementTest.java on lines 41..64
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLBaseFontElementTest.java on lines 64..88
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLBaseFontElementTest.java on lines 90..114
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLBaseFontElementTest.java on lines 116..140
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLBodyElementTest.java on lines 277..300
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLCanvasElementTest.java on lines 41..65
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLCanvasElementTest.java on lines 139..164
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 334..357
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 359..382
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 447..470
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 1491..1515
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 1517..1541
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 1543..1567
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 1569..1593
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElement2Test.java on lines 180..204
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElement2Test.java on lines 206..230
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElement2Test.java on lines 232..256
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElement2Test.java on lines 258..282
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElement2Test.java on lines 284..308
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElement2Test.java on lines 703..726
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElement2Test.java on lines 728..751
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElement2Test.java on lines 753..776
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElement2Test.java on lines 834..857
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElement2Test.java on lines 896..919
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElement2Test.java on lines 1059..1082
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 2204..2228
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 2291..2313
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 3274..3296
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 3341..3363
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 3408..3430
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 4266..4295
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLFormElementTest.java on lines 107..131
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLFormElementTest.java on lines 133..157
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLFormElementTest.java on lines 475..499
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLFormElementTest.java on lines 834..858
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLFormElementTest.java on lines 1192..1215
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLFormElementTest.java on lines 1352..1376
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLHRElementTest.java on lines 62..85
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLIFrameElement2Test.java on lines 130..153
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLIFrameElement2Test.java on lines 754..778
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLIFrameElement3Test.java on lines 452..476
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLImageElementTest.java on lines 310..333
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLImageElementTest.java on lines 362..386
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLImageElementTest.java on lines 388..412
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLInputElementTest.java on lines 1525..1549
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLInputElementTest.java on lines 1551..1575
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLLabelElementTest.java on lines 221..245
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLLegendElementTest.java on lines 42..66
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLMetaElementTest.java on lines 42..66
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLParamElementTest.java on lines 41..65
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLParamElementTest.java on lines 67..91
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLParamElementTest.java on lines 128..152
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLScriptElementTest.java on lines 751..775
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLScriptElementTest.java on lines 817..841
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLSelectElementTest.java on lines 369..394
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLStyleElementTest.java on lines 154..178
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLTableCellElementTest.java on lines 576..600
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLTableElementTest.java on lines 446..470
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLTableElementTest.java on lines 756..780
              LoboUnitTest/src/test/java/org/loboevolution/xml/FormDataTest.java on lines 41..65

              Duplicated Code

              Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

              Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

              When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

              Tuning

              This issue has a mass of 85.

              We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

              The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

              If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

              See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

              Refactorings

              Further Reading

              Similar blocks of code found in 112 locations. Consider refactoring.
              Open

                  @Test
                  @Alerts({"div1", "null"})
                  public void querySelector() {
                      final String html = "<html><head>\n"
                              + "<style>\n"
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSMediaRuleTest.java on lines 681..704
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSMediaRuleTest.java on lines 706..729
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSMediaRuleTest.java on lines 818..841
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSMediaRuleTest.java on lines 843..866
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSSelectorTest.java on lines 303..325
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSSelectorTest.java on lines 373..395
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSSelectorTest.java on lines 442..464
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSSelectorTest.java on lines 533..555
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSSelectorTest.java on lines 674..696
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSSelectorTest.java on lines 698..720
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSSelectorTest.java on lines 722..744
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSSelectorTest.java on lines 1268..1290
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSSelectorTest.java on lines 1692..1714
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleDeclarationTest.java on lines 658..679
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleDeclarationTest.java on lines 2101..2122
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleDeclarationTest.java on lines 2124..2145
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleDeclarationTest.java on lines 2147..2168
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleDeclarationTest.java on lines 2170..2191
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleRuleTest.java on lines 190..212
              LoboUnitTest/src/test/java/org/loboevolution/css/ComputedCSSStyleDeclarationTest.java on lines 1024..1045
              LoboUnitTest/src/test/java/org/loboevolution/css/ComputedCSSStyleDeclarationTest.java on lines 1048..1069
              LoboUnitTest/src/test/java/org/loboevolution/css/ComputedCSSStyleDeclarationTest.java on lines 1165..1186
              LoboUnitTest/src/test/java/org/loboevolution/css/ComputedCSSStyleDeclarationTest.java on lines 2026..2047
              LoboUnitTest/src/test/java/org/loboevolution/css/ComputedCSSStyleDeclarationTest.java on lines 2151..2173
              LoboUnitTest/src/test/java/org/loboevolution/dom/DOMTokenListTest.java on lines 118..141
              LoboUnitTest/src/test/java/org/loboevolution/dom/DOMTokenListTest.java on lines 472..495
              LoboUnitTest/src/test/java/org/loboevolution/dom/DOMTokenListTest.java on lines 497..520
              LoboUnitTest/src/test/java/org/loboevolution/dom/DOMTokenListTest.java on lines 639..662
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 104..127
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 1066..1089
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 1379..1402
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 1713..1736
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTypeTest.java on lines 102..123
              LoboUnitTest/src/test/java/org/loboevolution/dom/NodeListTest.java on lines 58..80
              LoboUnitTest/src/test/java/org/loboevolution/dom/NodeListTest.java on lines 142..164
              LoboUnitTest/src/test/java/org/loboevolution/dom/NodeListTest.java on lines 166..188
              LoboUnitTest/src/test/java/org/loboevolution/dom/NodeListTest.java on lines 218..244
              LoboUnitTest/src/test/java/org/loboevolution/dom/NodeTest.java on lines 194..216
              LoboUnitTest/src/test/java/org/loboevolution/dom/NodeTest.java on lines 423..445
              LoboUnitTest/src/test/java/org/loboevolution/dom/NodeTest.java on lines 565..587
              LoboUnitTest/src/test/java/org/loboevolution/event/CustomEventTest.java on lines 194..218
              LoboUnitTest/src/test/java/org/loboevolution/event/EventTargetTest.java on lines 41..63
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLAnchorElementTest.java on lines 161..184
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLAnchorElementTest.java on lines 186..209
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLAnchorElementTest.java on lines 211..234
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLAnchorElementTest.java on lines 287..309
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLAreaElementTest.java on lines 130..152
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLBodyElementTest.java on lines 66..88
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLBodyElementTest.java on lines 90..112
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDivElementTest.java on lines 41..63
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 64..86
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 407..431
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 1193..1215
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElement2Test.java on lines 59..80
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElement2Test.java on lines 459..481
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElement2Test.java on lines 658..680
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElement2Test.java on lines 1035..1057
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElement2Test.java on lines 1190..1214
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 122..144
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 201..223
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 225..247
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 579..602
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 725..746
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 3002..3025
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 3117..3139
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 3142..3164
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 3648..3669
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLFormElementTest.java on lines 781..803
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLFormElementTest.java on lines 883..905
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLFormElementTest.java on lines 907..929
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLFormElementTest.java on lines 931..953
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLIFrameElement2Test.java on lines 385..409
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLIFrameElement2Test.java on lines 475..499
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLImageElementTest.java on lines 98..121
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLOptionElement2Test.java on lines 406..427
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLOptionElement2Test.java on lines 736..760
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLScriptElementTest.java on lines 72..97
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLScriptElementTest.java on lines 868..890
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLScriptElementTest.java on lines 1043..1064
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLScriptElementTest.java on lines 1122..1152
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLSelectElementTest.java on lines 186..210
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLSelectElementTest.java on lines 343..367
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLSelectElementTest.java on lines 1184..1206
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLSelectElementTest.java on lines 1238..1260
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLSelectElementTest.java on lines 1577..1600
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLSelectElementTest.java on lines 1602..1625
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLSelectElementTest.java on lines 1627..1650
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLSelectElementTest.java on lines 1652..1675
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLSelectElementTest.java on lines 1758..1780
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLSelectElementTest.java on lines 1782..1804
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLSelectElementTest.java on lines 1806..1828
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLSelectElementTest.java on lines 1830..1853
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLSelectElementTest.java on lines 1855..1877
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLSelectElementTest.java on lines 1879..1902
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLSelectElementTest.java on lines 2074..2098
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLSelectElementTest.java on lines 2100..2124
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLSpanElementTest.java on lines 46..69
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLTableCellElementTest.java on lines 176..199
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLTableElementTest.java on lines 542..564
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLTableElementTest.java on lines 606..629
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLTableElementTest.java on lines 803..826
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLTableRowElementTest.java on lines 243..266
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLTableSectionElementTest.java on lines 455..478
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLTableSectionElementTest.java on lines 480..503
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLTemplateElementTest.java on lines 263..287
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLTemplateElementTest.java on lines 289..313
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLTextAreaElementTest.java on lines 174..197
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLTextAreaElementTest.java on lines 391..414
              LoboUnitTest/src/test/java/org/loboevolution/xml/XMLDocumentTest.java on lines 429..450
              LoboUnitTest/src/test/java/org/loboevolution/xml/XMLHttpRequestTest.java on lines 957..980
              LoboUnitTest/src/test/java/org/loboevolution/xml/XMLSerializerTest.java on lines 148..169

              Duplicated Code

              Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

              Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

              When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

              Tuning

              This issue has a mass of 81.

              We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

              The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

              If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

              See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

              Refactorings

              Further Reading

              Similar blocks of code found in 112 locations. Consider refactoring.
              Open

                  @Test
                  @Alerts({"undefined", "exception"})
                  public void namespaces() {
                      final String html =
                              "<body><script>\n"
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSMediaRuleTest.java on lines 681..704
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSMediaRuleTest.java on lines 706..729
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSMediaRuleTest.java on lines 818..841
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSMediaRuleTest.java on lines 843..866
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSSelectorTest.java on lines 303..325
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSSelectorTest.java on lines 373..395
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSSelectorTest.java on lines 442..464
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSSelectorTest.java on lines 533..555
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSSelectorTest.java on lines 674..696
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSSelectorTest.java on lines 698..720
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSSelectorTest.java on lines 722..744
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSSelectorTest.java on lines 1268..1290
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSSelectorTest.java on lines 1692..1714
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleDeclarationTest.java on lines 658..679
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleDeclarationTest.java on lines 2101..2122
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleDeclarationTest.java on lines 2124..2145
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleDeclarationTest.java on lines 2147..2168
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleDeclarationTest.java on lines 2170..2191
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleRuleTest.java on lines 190..212
              LoboUnitTest/src/test/java/org/loboevolution/css/ComputedCSSStyleDeclarationTest.java on lines 1024..1045
              LoboUnitTest/src/test/java/org/loboevolution/css/ComputedCSSStyleDeclarationTest.java on lines 1048..1069
              LoboUnitTest/src/test/java/org/loboevolution/css/ComputedCSSStyleDeclarationTest.java on lines 1165..1186
              LoboUnitTest/src/test/java/org/loboevolution/css/ComputedCSSStyleDeclarationTest.java on lines 2026..2047
              LoboUnitTest/src/test/java/org/loboevolution/css/ComputedCSSStyleDeclarationTest.java on lines 2151..2173
              LoboUnitTest/src/test/java/org/loboevolution/dom/DOMTokenListTest.java on lines 118..141
              LoboUnitTest/src/test/java/org/loboevolution/dom/DOMTokenListTest.java on lines 472..495
              LoboUnitTest/src/test/java/org/loboevolution/dom/DOMTokenListTest.java on lines 497..520
              LoboUnitTest/src/test/java/org/loboevolution/dom/DOMTokenListTest.java on lines 639..662
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 104..127
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 1066..1089
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 1379..1402
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 1713..1736
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTypeTest.java on lines 102..123
              LoboUnitTest/src/test/java/org/loboevolution/dom/NodeListTest.java on lines 58..80
              LoboUnitTest/src/test/java/org/loboevolution/dom/NodeListTest.java on lines 142..164
              LoboUnitTest/src/test/java/org/loboevolution/dom/NodeListTest.java on lines 166..188
              LoboUnitTest/src/test/java/org/loboevolution/dom/NodeListTest.java on lines 218..244
              LoboUnitTest/src/test/java/org/loboevolution/dom/NodeTest.java on lines 194..216
              LoboUnitTest/src/test/java/org/loboevolution/dom/NodeTest.java on lines 423..445
              LoboUnitTest/src/test/java/org/loboevolution/dom/NodeTest.java on lines 565..587
              LoboUnitTest/src/test/java/org/loboevolution/event/CustomEventTest.java on lines 194..218
              LoboUnitTest/src/test/java/org/loboevolution/event/EventTargetTest.java on lines 41..63
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLAnchorElementTest.java on lines 161..184
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLAnchorElementTest.java on lines 186..209
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLAnchorElementTest.java on lines 211..234
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLAnchorElementTest.java on lines 287..309
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLAreaElementTest.java on lines 130..152
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLBodyElementTest.java on lines 66..88
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLBodyElementTest.java on lines 90..112
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDivElementTest.java on lines 41..63
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 64..86
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 1193..1215
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 1217..1239
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElement2Test.java on lines 59..80
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElement2Test.java on lines 459..481
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElement2Test.java on lines 658..680
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElement2Test.java on lines 1035..1057
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElement2Test.java on lines 1190..1214
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 122..144
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 201..223
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 225..247
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 579..602
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 725..746
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 3002..3025
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 3117..3139
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 3142..3164
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 3648..3669
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLFormElementTest.java on lines 781..803
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLFormElementTest.java on lines 883..905
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLFormElementTest.java on lines 907..929
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLFormElementTest.java on lines 931..953
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLIFrameElement2Test.java on lines 385..409
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLIFrameElement2Test.java on lines 475..499
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLImageElementTest.java on lines 98..121
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLOptionElement2Test.java on lines 406..427
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLOptionElement2Test.java on lines 736..760
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLScriptElementTest.java on lines 72..97
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLScriptElementTest.java on lines 868..890
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLScriptElementTest.java on lines 1043..1064
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLScriptElementTest.java on lines 1122..1152
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLSelectElementTest.java on lines 186..210
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLSelectElementTest.java on lines 343..367
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLSelectElementTest.java on lines 1184..1206
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLSelectElementTest.java on lines 1238..1260
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLSelectElementTest.java on lines 1577..1600
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLSelectElementTest.java on lines 1602..1625
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLSelectElementTest.java on lines 1627..1650
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLSelectElementTest.java on lines 1652..1675
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLSelectElementTest.java on lines 1758..1780
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLSelectElementTest.java on lines 1782..1804
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLSelectElementTest.java on lines 1806..1828
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLSelectElementTest.java on lines 1830..1853
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLSelectElementTest.java on lines 1855..1877
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLSelectElementTest.java on lines 1879..1902
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLSelectElementTest.java on lines 2074..2098
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLSelectElementTest.java on lines 2100..2124
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLSpanElementTest.java on lines 46..69
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLTableCellElementTest.java on lines 176..199
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLTableElementTest.java on lines 542..564
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLTableElementTest.java on lines 606..629
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLTableElementTest.java on lines 803..826
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLTableRowElementTest.java on lines 243..266
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLTableSectionElementTest.java on lines 455..478
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLTableSectionElementTest.java on lines 480..503
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLTemplateElementTest.java on lines 263..287
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLTemplateElementTest.java on lines 289..313
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLTextAreaElementTest.java on lines 174..197
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLTextAreaElementTest.java on lines 391..414
              LoboUnitTest/src/test/java/org/loboevolution/xml/XMLDocumentTest.java on lines 429..450
              LoboUnitTest/src/test/java/org/loboevolution/xml/XMLHttpRequestTest.java on lines 957..980
              LoboUnitTest/src/test/java/org/loboevolution/xml/XMLSerializerTest.java on lines 148..169

              Duplicated Code

              Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

              Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

              When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

              Tuning

              This issue has a mass of 81.

              We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

              The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

              If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

              See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

              Refactorings

              Further Reading

              Similar blocks of code found in 112 locations. Consider refactoring.
              Open

                  @Test
                  @Alerts("3")
                  public void querySelectorAll_implicitAttribute() {
                      final String html = "<html><head>\n"
                              + "    <script>\n"
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSMediaRuleTest.java on lines 681..704
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSMediaRuleTest.java on lines 706..729
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSMediaRuleTest.java on lines 818..841
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSMediaRuleTest.java on lines 843..866
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSSelectorTest.java on lines 303..325
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSSelectorTest.java on lines 373..395
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSSelectorTest.java on lines 442..464
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSSelectorTest.java on lines 533..555
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSSelectorTest.java on lines 674..696
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSSelectorTest.java on lines 698..720
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSSelectorTest.java on lines 722..744
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSSelectorTest.java on lines 1268..1290
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSSelectorTest.java on lines 1692..1714
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleDeclarationTest.java on lines 658..679
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleDeclarationTest.java on lines 2101..2122
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleDeclarationTest.java on lines 2124..2145
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleDeclarationTest.java on lines 2147..2168
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleDeclarationTest.java on lines 2170..2191
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleRuleTest.java on lines 190..212
              LoboUnitTest/src/test/java/org/loboevolution/css/ComputedCSSStyleDeclarationTest.java on lines 1024..1045
              LoboUnitTest/src/test/java/org/loboevolution/css/ComputedCSSStyleDeclarationTest.java on lines 1048..1069
              LoboUnitTest/src/test/java/org/loboevolution/css/ComputedCSSStyleDeclarationTest.java on lines 1165..1186
              LoboUnitTest/src/test/java/org/loboevolution/css/ComputedCSSStyleDeclarationTest.java on lines 2026..2047
              LoboUnitTest/src/test/java/org/loboevolution/css/ComputedCSSStyleDeclarationTest.java on lines 2151..2173
              LoboUnitTest/src/test/java/org/loboevolution/dom/DOMTokenListTest.java on lines 118..141
              LoboUnitTest/src/test/java/org/loboevolution/dom/DOMTokenListTest.java on lines 472..495
              LoboUnitTest/src/test/java/org/loboevolution/dom/DOMTokenListTest.java on lines 497..520
              LoboUnitTest/src/test/java/org/loboevolution/dom/DOMTokenListTest.java on lines 639..662
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 104..127
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 1066..1089
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 1379..1402
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 1713..1736
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTypeTest.java on lines 102..123
              LoboUnitTest/src/test/java/org/loboevolution/dom/NodeListTest.java on lines 58..80
              LoboUnitTest/src/test/java/org/loboevolution/dom/NodeListTest.java on lines 142..164
              LoboUnitTest/src/test/java/org/loboevolution/dom/NodeListTest.java on lines 166..188
              LoboUnitTest/src/test/java/org/loboevolution/dom/NodeListTest.java on lines 218..244
              LoboUnitTest/src/test/java/org/loboevolution/dom/NodeTest.java on lines 194..216
              LoboUnitTest/src/test/java/org/loboevolution/dom/NodeTest.java on lines 423..445
              LoboUnitTest/src/test/java/org/loboevolution/dom/NodeTest.java on lines 565..587
              LoboUnitTest/src/test/java/org/loboevolution/event/CustomEventTest.java on lines 194..218
              LoboUnitTest/src/test/java/org/loboevolution/event/EventTargetTest.java on lines 41..63
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLAnchorElementTest.java on lines 161..184
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLAnchorElementTest.java on lines 186..209
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLAnchorElementTest.java on lines 211..234
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLAnchorElementTest.java on lines 287..309
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLAreaElementTest.java on lines 130..152
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLBodyElementTest.java on lines 66..88
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLBodyElementTest.java on lines 90..112
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDivElementTest.java on lines 41..63
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 64..86
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 407..431
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 1217..1239
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElement2Test.java on lines 59..80
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElement2Test.java on lines 459..481
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElement2Test.java on lines 658..680
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElement2Test.java on lines 1035..1057
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElement2Test.java on lines 1190..1214
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 122..144
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 201..223
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 225..247
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 579..602
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 725..746
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 3002..3025
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 3117..3139
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 3142..3164
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 3648..3669
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLFormElementTest.java on lines 781..803
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLFormElementTest.java on lines 883..905
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLFormElementTest.java on lines 907..929
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLFormElementTest.java on lines 931..953
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLIFrameElement2Test.java on lines 385..409
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLIFrameElement2Test.java on lines 475..499
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLImageElementTest.java on lines 98..121
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLOptionElement2Test.java on lines 406..427
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLOptionElement2Test.java on lines 736..760
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLScriptElementTest.java on lines 72..97
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLScriptElementTest.java on lines 868..890
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLScriptElementTest.java on lines 1043..1064
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLScriptElementTest.java on lines 1122..1152
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLSelectElementTest.java on lines 186..210
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLSelectElementTest.java on lines 343..367
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLSelectElementTest.java on lines 1184..1206
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLSelectElementTest.java on lines 1238..1260
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLSelectElementTest.java on lines 1577..1600
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLSelectElementTest.java on lines 1602..1625
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLSelectElementTest.java on lines 1627..1650
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLSelectElementTest.java on lines 1652..1675
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLSelectElementTest.java on lines 1758..1780
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLSelectElementTest.java on lines 1782..1804
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLSelectElementTest.java on lines 1806..1828
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLSelectElementTest.java on lines 1830..1853
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLSelectElementTest.java on lines 1855..1877
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLSelectElementTest.java on lines 1879..1902
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLSelectElementTest.java on lines 2074..2098
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLSelectElementTest.java on lines 2100..2124
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLSpanElementTest.java on lines 46..69
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLTableCellElementTest.java on lines 176..199
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLTableElementTest.java on lines 542..564
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLTableElementTest.java on lines 606..629
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLTableElementTest.java on lines 803..826
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLTableRowElementTest.java on lines 243..266
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLTableSectionElementTest.java on lines 455..478
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLTableSectionElementTest.java on lines 480..503
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLTemplateElementTest.java on lines 263..287
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLTemplateElementTest.java on lines 289..313
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLTextAreaElementTest.java on lines 174..197
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLTextAreaElementTest.java on lines 391..414
              LoboUnitTest/src/test/java/org/loboevolution/xml/XMLDocumentTest.java on lines 429..450
              LoboUnitTest/src/test/java/org/loboevolution/xml/XMLHttpRequestTest.java on lines 957..980
              LoboUnitTest/src/test/java/org/loboevolution/xml/XMLSerializerTest.java on lines 148..169

              Duplicated Code

              Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

              Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

              When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

              Tuning

              This issue has a mass of 81.

              We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

              The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

              If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

              See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

              Refactorings

              Further Reading

              Similar blocks of code found in 112 locations. Consider refactoring.
              Open

                  @Test
                  @Alerts({"2", "DIV", "2"})
                  public void getElementsByTagName() {
                      final String html = "<html>\n"
                              + "<head>\n"  
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSMediaRuleTest.java on lines 681..704
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSMediaRuleTest.java on lines 706..729
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSMediaRuleTest.java on lines 818..841
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSMediaRuleTest.java on lines 843..866
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSSelectorTest.java on lines 303..325
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSSelectorTest.java on lines 373..395
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSSelectorTest.java on lines 442..464
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSSelectorTest.java on lines 533..555
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSSelectorTest.java on lines 674..696
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSSelectorTest.java on lines 698..720
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSSelectorTest.java on lines 722..744
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSSelectorTest.java on lines 1268..1290
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSSelectorTest.java on lines 1692..1714
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleDeclarationTest.java on lines 658..679
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleDeclarationTest.java on lines 2101..2122
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleDeclarationTest.java on lines 2124..2145
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleDeclarationTest.java on lines 2147..2168
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleDeclarationTest.java on lines 2170..2191
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleRuleTest.java on lines 190..212
              LoboUnitTest/src/test/java/org/loboevolution/css/ComputedCSSStyleDeclarationTest.java on lines 1024..1045
              LoboUnitTest/src/test/java/org/loboevolution/css/ComputedCSSStyleDeclarationTest.java on lines 1048..1069
              LoboUnitTest/src/test/java/org/loboevolution/css/ComputedCSSStyleDeclarationTest.java on lines 1165..1186
              LoboUnitTest/src/test/java/org/loboevolution/css/ComputedCSSStyleDeclarationTest.java on lines 2026..2047
              LoboUnitTest/src/test/java/org/loboevolution/css/ComputedCSSStyleDeclarationTest.java on lines 2151..2173
              LoboUnitTest/src/test/java/org/loboevolution/dom/DOMTokenListTest.java on lines 118..141
              LoboUnitTest/src/test/java/org/loboevolution/dom/DOMTokenListTest.java on lines 472..495
              LoboUnitTest/src/test/java/org/loboevolution/dom/DOMTokenListTest.java on lines 497..520
              LoboUnitTest/src/test/java/org/loboevolution/dom/DOMTokenListTest.java on lines 639..662
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 104..127
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 1066..1089
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 1379..1402
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 1713..1736
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTypeTest.java on lines 102..123
              LoboUnitTest/src/test/java/org/loboevolution/dom/NodeListTest.java on lines 58..80
              LoboUnitTest/src/test/java/org/loboevolution/dom/NodeListTest.java on lines 142..164
              LoboUnitTest/src/test/java/org/loboevolution/dom/NodeListTest.java on lines 166..188
              LoboUnitTest/src/test/java/org/loboevolution/dom/NodeListTest.java on lines 218..244
              LoboUnitTest/src/test/java/org/loboevolution/dom/NodeTest.java on lines 194..216
              LoboUnitTest/src/test/java/org/loboevolution/dom/NodeTest.java on lines 423..445
              LoboUnitTest/src/test/java/org/loboevolution/dom/NodeTest.java on lines 565..587
              LoboUnitTest/src/test/java/org/loboevolution/event/CustomEventTest.java on lines 194..218
              LoboUnitTest/src/test/java/org/loboevolution/event/EventTargetTest.java on lines 41..63
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLAnchorElementTest.java on lines 161..184
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLAnchorElementTest.java on lines 186..209
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLAnchorElementTest.java on lines 211..234
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLAnchorElementTest.java on lines 287..309
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLAreaElementTest.java on lines 130..152
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLBodyElementTest.java on lines 66..88
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLBodyElementTest.java on lines 90..112
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDivElementTest.java on lines 41..63
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 407..431
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 1193..1215
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 1217..1239
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElement2Test.java on lines 59..80
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElement2Test.java on lines 459..481
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElement2Test.java on lines 658..680
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElement2Test.java on lines 1035..1057
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElement2Test.java on lines 1190..1214
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 122..144
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 201..223
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 225..247
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 579..602
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 725..746
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 3002..3025
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 3117..3139
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 3142..3164
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 3648..3669
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLFormElementTest.java on lines 781..803
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLFormElementTest.java on lines 883..905
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLFormElementTest.java on lines 907..929
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLFormElementTest.java on lines 931..953
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLIFrameElement2Test.java on lines 385..409
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLIFrameElement2Test.java on lines 475..499
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLImageElementTest.java on lines 98..121
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLOptionElement2Test.java on lines 406..427
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLOptionElement2Test.java on lines 736..760
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLScriptElementTest.java on lines 72..97
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLScriptElementTest.java on lines 868..890
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLScriptElementTest.java on lines 1043..1064
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLScriptElementTest.java on lines 1122..1152
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLSelectElementTest.java on lines 186..210
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLSelectElementTest.java on lines 343..367
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLSelectElementTest.java on lines 1184..1206
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLSelectElementTest.java on lines 1238..1260
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLSelectElementTest.java on lines 1577..1600
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLSelectElementTest.java on lines 1602..1625
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLSelectElementTest.java on lines 1627..1650
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLSelectElementTest.java on lines 1652..1675
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLSelectElementTest.java on lines 1758..1780
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLSelectElementTest.java on lines 1782..1804
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLSelectElementTest.java on lines 1806..1828
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLSelectElementTest.java on lines 1830..1853
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLSelectElementTest.java on lines 1855..1877
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLSelectElementTest.java on lines 1879..1902
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLSelectElementTest.java on lines 2074..2098
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLSelectElementTest.java on lines 2100..2124
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLSpanElementTest.java on lines 46..69
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLTableCellElementTest.java on lines 176..199
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLTableElementTest.java on lines 542..564
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLTableElementTest.java on lines 606..629
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLTableElementTest.java on lines 803..826
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLTableRowElementTest.java on lines 243..266
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLTableSectionElementTest.java on lines 455..478
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLTableSectionElementTest.java on lines 480..503
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLTemplateElementTest.java on lines 263..287
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLTemplateElementTest.java on lines 289..313
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLTextAreaElementTest.java on lines 174..197
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLTextAreaElementTest.java on lines 391..414
              LoboUnitTest/src/test/java/org/loboevolution/xml/XMLDocumentTest.java on lines 429..450
              LoboUnitTest/src/test/java/org/loboevolution/xml/XMLHttpRequestTest.java on lines 957..980
              LoboUnitTest/src/test/java/org/loboevolution/xml/XMLSerializerTest.java on lines 148..169

              Duplicated Code

              Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

              Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

              When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

              Tuning

              This issue has a mass of 81.

              We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

              The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

              If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

              See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

              Refactorings

              Further Reading

              Similar blocks of code found in 121 locations. Consider refactoring.
              Open

                  @Test
                  @Alerts({"", "a", "", "b", ""})
                  public void cookieWrite2() {
                      final String html =
                              "<html>\n"
              LoboUnitTest/src/test/java/org/loboevolution/canvas/ImageDataTest.java on lines 172..196
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSImportRuleTest.java on lines 349..374
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSKeyframesRuleTest.java on lines 42..64
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSKeyframesRuleTest.java on lines 66..88
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSMediaRuleTest.java on lines 137..159
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSMediaRuleTest.java on lines 202..224
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSMediaRuleTest.java on lines 245..267
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSMediaRuleTest.java on lines 438..460
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSMediaRuleTest.java on lines 462..484
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSMediaRuleTest.java on lines 486..508
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSMediaRuleTest.java on lines 541..563
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSMediaRuleTest.java on lines 595..617
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSPageRuleTest.java on lines 285..307
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSPageRuleTest.java on lines 309..331
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSPageRuleTest.java on lines 333..355
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSPageRuleTest.java on lines 357..379
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSPageRuleTest.java on lines 381..403
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSRuleListTest.java on lines 134..154
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSSelectorTest.java on lines 257..278
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSSelectorTest.java on lines 280..301
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSSelectorTest.java on lines 327..348
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSSelectorTest.java on lines 350..371
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSSelectorTest.java on lines 397..418
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSSelectorTest.java on lines 466..487
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSSelectorTest.java on lines 489..510
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSSelectorTest.java on lines 991..1012
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSSelectorTest.java on lines 1042..1063
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSSelectorTest.java on lines 1065..1086
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSSelectorTest.java on lines 1088..1109
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSSelectorTest.java on lines 1292..1313
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleDeclarationTest.java on lines 591..611
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleDeclarationTest.java on lines 804..825
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleDeclarationTest.java on lines 1045..1065
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleDeclarationTest.java on lines 2416..2436
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleRuleTest.java on lines 214..235
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleSheetTest.java on lines 292..313
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleSheetTest.java on lines 684..705
              LoboUnitTest/src/test/java/org/loboevolution/css/ComputedCSSStyleDeclarationTest.java on lines 952..972
              LoboUnitTest/src/test/java/org/loboevolution/css/ComputedCSSStyleDeclarationTest.java on lines 1471..1491
              LoboUnitTest/src/test/java/org/loboevolution/css/ComputedCSSStyleDeclarationTest.java on lines 1494..1514
              LoboUnitTest/src/test/java/org/loboevolution/css/ComputedCSSStyleDeclarationTest.java on lines 2103..2124
              LoboUnitTest/src/test/java/org/loboevolution/css/ComputedCSSStyleDeclarationTest.java on lines 2127..2148
              LoboUnitTest/src/test/java/org/loboevolution/css/MediaQueryListTest.java on lines 58..80
              LoboUnitTest/src/test/java/org/loboevolution/css/StyleSheetListTest.java on lines 226..248
              LoboUnitTest/src/test/java/org/loboevolution/dom/DOMImplementationTest.java on lines 418..440
              LoboUnitTest/src/test/java/org/loboevolution/dom/DOMParserTest.java on lines 242..263
              LoboUnitTest/src/test/java/org/loboevolution/dom/Document2Test.java on lines 275..300
              LoboUnitTest/src/test/java/org/loboevolution/dom/Document2Test.java on lines 445..466
              LoboUnitTest/src/test/java/org/loboevolution/dom/Document2Test.java on lines 468..489
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentFragmentTest.java on lines 86..107
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 43..65
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 429..452
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 576..598
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 1280..1302
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 2111..2132
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 2220..2242
              LoboUnitTest/src/test/java/org/loboevolution/dom/NodeListTest.java on lines 486..507
              LoboUnitTest/src/test/java/org/loboevolution/dom/NodeTest.java on lines 359..379
              LoboUnitTest/src/test/java/org/loboevolution/dom/NodeTest.java on lines 981..1004
              LoboUnitTest/src/test/java/org/loboevolution/dom/NodeTest.java on lines 1006..1028
              LoboUnitTest/src/test/java/org/loboevolution/dom/NodeTest.java on lines 1056..1078
              LoboUnitTest/src/test/java/org/loboevolution/dom/NodeTest.java on lines 1080..1102
              LoboUnitTest/src/test/java/org/loboevolution/dom/NodeTest.java on lines 1104..1127
              LoboUnitTest/src/test/java/org/loboevolution/dom/NodeTest.java on lines 1129..1151
              LoboUnitTest/src/test/java/org/loboevolution/dom/RangeTest.java on lines 225..246
              LoboUnitTest/src/test/java/org/loboevolution/dom/TextRangeTest.java on lines 262..282
              LoboUnitTest/src/test/java/org/loboevolution/dom/TreeWalkerTest.java on lines 291..313
              LoboUnitTest/src/test/java/org/loboevolution/dom/XPathResultTest.java on lines 220..241
              LoboUnitTest/src/test/java/org/loboevolution/event/MouseEventTest.java on lines 224..245
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLAnchorElementTest.java on lines 844..868
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLAnchorElementTest.java on lines 871..895
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLAnchorElementTest.java on lines 898..920
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLAnchorElementTest.java on lines 923..946
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLAnchorElementTest.java on lines 984..1008
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLBodyElementTest.java on lines 248..275
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLCollectionTest.java on lines 96..117
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 228..249
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 1456..1477
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentWriteTest.java on lines 270..290
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 178..199
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 755..775
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 797..818
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 855..875
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 1424..1444
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 1585..1605
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 1610..1630
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 1908..1927
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 2147..2167
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 2471..2497
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 3252..3272
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 3319..3339
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 3386..3406
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 3556..3576
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 3671..3691
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 3733..3753
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLFormElementTest.java on lines 557..578
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLFormElementTest.java on lines 860..881
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLIFrameElement2Test.java on lines 332..354
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLImageElementTest.java on lines 580..601
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLInputElementTest.java on lines 1259..1280
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLOptionElement2Test.java on lines 259..281
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLOptionElement2Test.java on lines 645..668
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLOptionElement2Test.java on lines 670..692
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLOptionsCollectionTest.java on lines 818..840
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLScriptElementTest.java on lines 99..123
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLScriptElementTest.java on lines 937..958
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLScriptElementTest.java on lines 1066..1091
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLStyleElementTest.java on lines 82..104
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLStyleElementTest.java on lines 106..128
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLStyleElementTest.java on lines 130..152
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLTableCellElementTest.java on lines 353..375
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLTableColElementTest.java on lines 41..63
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLTableElementTest.java on lines 173..194
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLTableRowElementTest.java on lines 297..318
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLTemplateElementTest.java on lines 315..338
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLTextAreaElementTest.java on lines 43..65
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLTextAreaElementTest.java on lines 257..279
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLTimeElementTest.java on lines 41..63
              LoboUnitTest/src/test/java/org/loboevolution/xml/XMLDocument2Test.java on lines 154..175
              LoboUnitTest/src/test/java/org/loboevolution/xml/XMLSerializerTest.java on lines 259..283

              Duplicated Code

              Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

              Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

              When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

              Tuning

              This issue has a mass of 77.

              We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

              The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

              If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

              See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

              Refactorings

              Further Reading

              Similar blocks of code found in 121 locations. Consider refactoring.
              Open

                  @Test
                  @Alerts({"null", "null", "null"})
                  public void getElementByIdEmptyParams() {
                      final String html = "<html>\n"
                              + "<head>\n" 
              LoboUnitTest/src/test/java/org/loboevolution/canvas/ImageDataTest.java on lines 172..196
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSImportRuleTest.java on lines 349..374
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSKeyframesRuleTest.java on lines 42..64
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSKeyframesRuleTest.java on lines 66..88
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSMediaRuleTest.java on lines 137..159
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSMediaRuleTest.java on lines 202..224
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSMediaRuleTest.java on lines 245..267
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSMediaRuleTest.java on lines 438..460
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSMediaRuleTest.java on lines 462..484
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSMediaRuleTest.java on lines 486..508
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSMediaRuleTest.java on lines 541..563
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSMediaRuleTest.java on lines 595..617
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSPageRuleTest.java on lines 285..307
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSPageRuleTest.java on lines 309..331
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSPageRuleTest.java on lines 333..355
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSPageRuleTest.java on lines 357..379
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSPageRuleTest.java on lines 381..403
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSRuleListTest.java on lines 134..154
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSSelectorTest.java on lines 257..278
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSSelectorTest.java on lines 280..301
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSSelectorTest.java on lines 327..348
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSSelectorTest.java on lines 350..371
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSSelectorTest.java on lines 397..418
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSSelectorTest.java on lines 466..487
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSSelectorTest.java on lines 489..510
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSSelectorTest.java on lines 991..1012
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSSelectorTest.java on lines 1042..1063
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSSelectorTest.java on lines 1065..1086
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSSelectorTest.java on lines 1088..1109
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSSelectorTest.java on lines 1292..1313
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleDeclarationTest.java on lines 591..611
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleDeclarationTest.java on lines 804..825
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleDeclarationTest.java on lines 1045..1065
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleDeclarationTest.java on lines 2416..2436
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleRuleTest.java on lines 214..235
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleSheetTest.java on lines 292..313
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleSheetTest.java on lines 684..705
              LoboUnitTest/src/test/java/org/loboevolution/css/ComputedCSSStyleDeclarationTest.java on lines 952..972
              LoboUnitTest/src/test/java/org/loboevolution/css/ComputedCSSStyleDeclarationTest.java on lines 1471..1491
              LoboUnitTest/src/test/java/org/loboevolution/css/ComputedCSSStyleDeclarationTest.java on lines 1494..1514
              LoboUnitTest/src/test/java/org/loboevolution/css/ComputedCSSStyleDeclarationTest.java on lines 2103..2124
              LoboUnitTest/src/test/java/org/loboevolution/css/ComputedCSSStyleDeclarationTest.java on lines 2127..2148
              LoboUnitTest/src/test/java/org/loboevolution/css/MediaQueryListTest.java on lines 58..80
              LoboUnitTest/src/test/java/org/loboevolution/css/StyleSheetListTest.java on lines 226..248
              LoboUnitTest/src/test/java/org/loboevolution/dom/DOMImplementationTest.java on lines 418..440
              LoboUnitTest/src/test/java/org/loboevolution/dom/DOMParserTest.java on lines 242..263
              LoboUnitTest/src/test/java/org/loboevolution/dom/Document2Test.java on lines 275..300
              LoboUnitTest/src/test/java/org/loboevolution/dom/Document2Test.java on lines 445..466
              LoboUnitTest/src/test/java/org/loboevolution/dom/Document2Test.java on lines 468..489
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentFragmentTest.java on lines 86..107
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 43..65
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 429..452
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 576..598
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 1280..1302
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 2111..2132
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 2220..2242
              LoboUnitTest/src/test/java/org/loboevolution/dom/NodeListTest.java on lines 486..507
              LoboUnitTest/src/test/java/org/loboevolution/dom/NodeTest.java on lines 359..379
              LoboUnitTest/src/test/java/org/loboevolution/dom/NodeTest.java on lines 981..1004
              LoboUnitTest/src/test/java/org/loboevolution/dom/NodeTest.java on lines 1006..1028
              LoboUnitTest/src/test/java/org/loboevolution/dom/NodeTest.java on lines 1056..1078
              LoboUnitTest/src/test/java/org/loboevolution/dom/NodeTest.java on lines 1080..1102
              LoboUnitTest/src/test/java/org/loboevolution/dom/NodeTest.java on lines 1104..1127
              LoboUnitTest/src/test/java/org/loboevolution/dom/NodeTest.java on lines 1129..1151
              LoboUnitTest/src/test/java/org/loboevolution/dom/RangeTest.java on lines 225..246
              LoboUnitTest/src/test/java/org/loboevolution/dom/TextRangeTest.java on lines 262..282
              LoboUnitTest/src/test/java/org/loboevolution/dom/TreeWalkerTest.java on lines 291..313
              LoboUnitTest/src/test/java/org/loboevolution/dom/XPathResultTest.java on lines 220..241
              LoboUnitTest/src/test/java/org/loboevolution/event/MouseEventTest.java on lines 224..245
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLAnchorElementTest.java on lines 844..868
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLAnchorElementTest.java on lines 871..895
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLAnchorElementTest.java on lines 898..920
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLAnchorElementTest.java on lines 923..946
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLAnchorElementTest.java on lines 984..1008
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLBodyElementTest.java on lines 248..275
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLCollectionTest.java on lines 96..117
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 228..249
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 1313..1335
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentWriteTest.java on lines 270..290
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 178..199
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 755..775
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 797..818
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 855..875
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 1424..1444
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 1585..1605
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 1610..1630
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 1908..1927
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 2147..2167
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 2471..2497
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 3252..3272
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 3319..3339
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 3386..3406
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 3556..3576
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 3671..3691
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 3733..3753
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLFormElementTest.java on lines 557..578
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLFormElementTest.java on lines 860..881
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLIFrameElement2Test.java on lines 332..354
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLImageElementTest.java on lines 580..601
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLInputElementTest.java on lines 1259..1280
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLOptionElement2Test.java on lines 259..281
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLOptionElement2Test.java on lines 645..668
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLOptionElement2Test.java on lines 670..692
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLOptionsCollectionTest.java on lines 818..840
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLScriptElementTest.java on lines 99..123
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLScriptElementTest.java on lines 937..958
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLScriptElementTest.java on lines 1066..1091
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLStyleElementTest.java on lines 82..104
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLStyleElementTest.java on lines 106..128
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLStyleElementTest.java on lines 130..152
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLTableCellElementTest.java on lines 353..375
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLTableColElementTest.java on lines 41..63
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLTableElementTest.java on lines 173..194
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLTableRowElementTest.java on lines 297..318
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLTemplateElementTest.java on lines 315..338
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLTextAreaElementTest.java on lines 43..65
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLTextAreaElementTest.java on lines 257..279
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLTimeElementTest.java on lines 41..63
              LoboUnitTest/src/test/java/org/loboevolution/xml/XMLDocument2Test.java on lines 154..175
              LoboUnitTest/src/test/java/org/loboevolution/xml/XMLSerializerTest.java on lines 259..283

              Duplicated Code

              Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

              Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

              When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

              Tuning

              This issue has a mass of 77.

              We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

              The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

              If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

              See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

              Refactorings

              Further Reading

              Similar blocks of code found in 121 locations. Consider refactoring.
              Open

                  @Test
                  @Alerts({"[object HTMLDivElement]", "[object HTMLUnknownElement]", "[object Element]"})
                  public void createDocumentNS() {
                      final String html = "<html>\n"
                              + "<head>\n"
              LoboUnitTest/src/test/java/org/loboevolution/canvas/ImageDataTest.java on lines 172..196
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSImportRuleTest.java on lines 349..374
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSKeyframesRuleTest.java on lines 42..64
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSKeyframesRuleTest.java on lines 66..88
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSMediaRuleTest.java on lines 137..159
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSMediaRuleTest.java on lines 202..224
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSMediaRuleTest.java on lines 245..267
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSMediaRuleTest.java on lines 438..460
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSMediaRuleTest.java on lines 462..484
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSMediaRuleTest.java on lines 486..508
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSMediaRuleTest.java on lines 541..563
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSMediaRuleTest.java on lines 595..617
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSPageRuleTest.java on lines 285..307
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSPageRuleTest.java on lines 309..331
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSPageRuleTest.java on lines 333..355
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSPageRuleTest.java on lines 357..379
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSPageRuleTest.java on lines 381..403
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSRuleListTest.java on lines 134..154
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSSelectorTest.java on lines 257..278
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSSelectorTest.java on lines 280..301
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSSelectorTest.java on lines 327..348
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSSelectorTest.java on lines 350..371
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSSelectorTest.java on lines 397..418
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSSelectorTest.java on lines 466..487
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSSelectorTest.java on lines 489..510
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSSelectorTest.java on lines 991..1012
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSSelectorTest.java on lines 1042..1063
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSSelectorTest.java on lines 1065..1086
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSSelectorTest.java on lines 1088..1109
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSSelectorTest.java on lines 1292..1313
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleDeclarationTest.java on lines 591..611
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleDeclarationTest.java on lines 804..825
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleDeclarationTest.java on lines 1045..1065
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleDeclarationTest.java on lines 2416..2436
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleRuleTest.java on lines 214..235
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleSheetTest.java on lines 292..313
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleSheetTest.java on lines 684..705
              LoboUnitTest/src/test/java/org/loboevolution/css/ComputedCSSStyleDeclarationTest.java on lines 952..972
              LoboUnitTest/src/test/java/org/loboevolution/css/ComputedCSSStyleDeclarationTest.java on lines 1471..1491
              LoboUnitTest/src/test/java/org/loboevolution/css/ComputedCSSStyleDeclarationTest.java on lines 1494..1514
              LoboUnitTest/src/test/java/org/loboevolution/css/ComputedCSSStyleDeclarationTest.java on lines 2103..2124
              LoboUnitTest/src/test/java/org/loboevolution/css/ComputedCSSStyleDeclarationTest.java on lines 2127..2148
              LoboUnitTest/src/test/java/org/loboevolution/css/MediaQueryListTest.java on lines 58..80
              LoboUnitTest/src/test/java/org/loboevolution/css/StyleSheetListTest.java on lines 226..248
              LoboUnitTest/src/test/java/org/loboevolution/dom/DOMImplementationTest.java on lines 418..440
              LoboUnitTest/src/test/java/org/loboevolution/dom/DOMParserTest.java on lines 242..263
              LoboUnitTest/src/test/java/org/loboevolution/dom/Document2Test.java on lines 275..300
              LoboUnitTest/src/test/java/org/loboevolution/dom/Document2Test.java on lines 445..466
              LoboUnitTest/src/test/java/org/loboevolution/dom/Document2Test.java on lines 468..489
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentFragmentTest.java on lines 86..107
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 43..65
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 429..452
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 576..598
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 1280..1302
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 2111..2132
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 2220..2242
              LoboUnitTest/src/test/java/org/loboevolution/dom/NodeListTest.java on lines 486..507
              LoboUnitTest/src/test/java/org/loboevolution/dom/NodeTest.java on lines 359..379
              LoboUnitTest/src/test/java/org/loboevolution/dom/NodeTest.java on lines 981..1004
              LoboUnitTest/src/test/java/org/loboevolution/dom/NodeTest.java on lines 1006..1028
              LoboUnitTest/src/test/java/org/loboevolution/dom/NodeTest.java on lines 1056..1078
              LoboUnitTest/src/test/java/org/loboevolution/dom/NodeTest.java on lines 1080..1102
              LoboUnitTest/src/test/java/org/loboevolution/dom/NodeTest.java on lines 1104..1127
              LoboUnitTest/src/test/java/org/loboevolution/dom/NodeTest.java on lines 1129..1151
              LoboUnitTest/src/test/java/org/loboevolution/dom/RangeTest.java on lines 225..246
              LoboUnitTest/src/test/java/org/loboevolution/dom/TextRangeTest.java on lines 262..282
              LoboUnitTest/src/test/java/org/loboevolution/dom/TreeWalkerTest.java on lines 291..313
              LoboUnitTest/src/test/java/org/loboevolution/dom/XPathResultTest.java on lines 220..241
              LoboUnitTest/src/test/java/org/loboevolution/event/MouseEventTest.java on lines 224..245
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLAnchorElementTest.java on lines 844..868
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLAnchorElementTest.java on lines 871..895
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLAnchorElementTest.java on lines 898..920
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLAnchorElementTest.java on lines 923..946
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLAnchorElementTest.java on lines 984..1008
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLBodyElementTest.java on lines 248..275
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLCollectionTest.java on lines 96..117
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 1313..1335
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 1456..1477
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentWriteTest.java on lines 270..290
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 178..199
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 755..775
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 797..818
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 855..875
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 1424..1444
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 1585..1605
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 1610..1630
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 1908..1927
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 2147..2167
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 2471..2497
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 3252..3272
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 3319..3339
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 3386..3406
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 3556..3576
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 3671..3691
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 3733..3753
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLFormElementTest.java on lines 557..578
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLFormElementTest.java on lines 860..881
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLIFrameElement2Test.java on lines 332..354
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLImageElementTest.java on lines 580..601
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLInputElementTest.java on lines 1259..1280
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLOptionElement2Test.java on lines 259..281
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLOptionElement2Test.java on lines 645..668
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLOptionElement2Test.java on lines 670..692
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLOptionsCollectionTest.java on lines 818..840
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLScriptElementTest.java on lines 99..123
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLScriptElementTest.java on lines 937..958
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLScriptElementTest.java on lines 1066..1091
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLStyleElementTest.java on lines 82..104
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLStyleElementTest.java on lines 106..128
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLStyleElementTest.java on lines 130..152
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLTableCellElementTest.java on lines 353..375
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLTableColElementTest.java on lines 41..63
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLTableElementTest.java on lines 173..194
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLTableRowElementTest.java on lines 297..318
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLTemplateElementTest.java on lines 315..338
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLTextAreaElementTest.java on lines 43..65
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLTextAreaElementTest.java on lines 257..279
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLTimeElementTest.java on lines 41..63
              LoboUnitTest/src/test/java/org/loboevolution/xml/XMLDocument2Test.java on lines 154..175
              LoboUnitTest/src/test/java/org/loboevolution/xml/XMLSerializerTest.java on lines 259..283

              Duplicated Code

              Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

              Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

              When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

              Tuning

              This issue has a mass of 77.

              We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

              The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

              If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

              See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

              Refactorings

              Further Reading

              Similar blocks of code found in 117 locations. Consider refactoring.
              Open

                  @Test
                  @Alerts({"windows-1252", "windows-1252", "windows-1252", "undefined"})
                  public void encoding2() {
                      final String html = "<html>\n"
                              + "<head>\n"
              LoboUnitTest/src/test/java/org/loboevolution/canvas/CanvasGradientTest.java on lines 61..81
              LoboUnitTest/src/test/java/org/loboevolution/canvas/CanvasRenderingContext2DTest.java on lines 149..167
              LoboUnitTest/src/test/java/org/loboevolution/canvas/CanvasRenderingContext2DTest.java on lines 520..539
              LoboUnitTest/src/test/java/org/loboevolution/canvas/CanvasRenderingContext2DTest.java on lines 541..560
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSFontFaceRuleTest.java on lines 65..84
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSFontFaceRuleTest.java on lines 86..105
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSFontFaceRuleTest.java on lines 107..126
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSRuleListTest.java on lines 40..57
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSRuleListTest.java on lines 59..76
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSRuleListTest.java on lines 96..113
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSRuleListTest.java on lines 115..132
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSSelectorTest.java on lines 1672..1690
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSSelectorTest.java on lines 1716..1734
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSSelectorTest.java on lines 1736..1754
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleDeclarationTest.java on lines 69..88
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleDeclarationTest.java on lines 90..109
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleDeclarationTest.java on lines 111..131
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleDeclarationTest.java on lines 257..276
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleDeclarationTest.java on lines 278..297
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleDeclarationTest.java on lines 299..318
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleDeclarationTest.java on lines 351..370
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleDeclarationTest.java on lines 2249..2266
              LoboUnitTest/src/test/java/org/loboevolution/css/ComputedCSSStyleDeclarationTest.java on lines 66..84
              LoboUnitTest/src/test/java/org/loboevolution/css/ComputedCSSStyleDeclarationTest.java on lines 974..992
              LoboUnitTest/src/test/java/org/loboevolution/css/ComputedCSSStyleDeclarationTest.java on lines 1229..1246
              LoboUnitTest/src/test/java/org/loboevolution/css/ComputedCSSStyleDeclarationTest.java on lines 1249..1266
              LoboUnitTest/src/test/java/org/loboevolution/css/ComputedCSSStyleDeclarationTest.java on lines 1622..1639
              LoboUnitTest/src/test/java/org/loboevolution/css/ComputedCSSStyleDeclarationTest.java on lines 1642..1659
              LoboUnitTest/src/test/java/org/loboevolution/css/StyleSheetListTest.java on lines 131..150
              LoboUnitTest/src/test/java/org/loboevolution/css/StyleSheetListTest.java on lines 152..172
              LoboUnitTest/src/test/java/org/loboevolution/css/StyleSheetListTest.java on lines 174..194
              LoboUnitTest/src/test/java/org/loboevolution/dom/AttrTest.java on lines 127..146
              LoboUnitTest/src/test/java/org/loboevolution/dom/DOMExceptionTest.java on lines 42..60
              LoboUnitTest/src/test/java/org/loboevolution/dom/DOMTokenListTest.java on lines 143..162
              LoboUnitTest/src/test/java/org/loboevolution/dom/Document2Test.java on lines 87..105
              LoboUnitTest/src/test/java/org/loboevolution/dom/Document2Test.java on lines 355..374
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 503..523
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 555..574
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 757..776
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 834..853
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 872..891
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 960..979
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 1908..1927
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 2134..2152
              LoboUnitTest/src/test/java/org/loboevolution/dom/MutationObserverTest.java on lines 61..80
              LoboUnitTest/src/test/java/org/loboevolution/dom/MutationObserverTest.java on lines 82..101
              LoboUnitTest/src/test/java/org/loboevolution/dom/NodeFilterTest.java on lines 42..60
              LoboUnitTest/src/test/java/org/loboevolution/dom/NodeListTest.java on lines 102..120
              LoboUnitTest/src/test/java/org/loboevolution/dom/NodeListTest.java on lines 122..140
              LoboUnitTest/src/test/java/org/loboevolution/dom/NodeTest.java on lines 134..153
              LoboUnitTest/src/test/java/org/loboevolution/dom/NodeTest.java on lines 382..400
              LoboUnitTest/src/test/java/org/loboevolution/dom/NodeTest.java on lines 403..421
              LoboUnitTest/src/test/java/org/loboevolution/dom/NodeTest.java on lines 626..644
              LoboUnitTest/src/test/java/org/loboevolution/dom/NodeTest.java on lines 697..715
              LoboUnitTest/src/test/java/org/loboevolution/dom/NodeTest.java on lines 937..957
              LoboUnitTest/src/test/java/org/loboevolution/dom/RangeTest.java on lines 90..108
              LoboUnitTest/src/test/java/org/loboevolution/dom/RangeTest.java on lines 206..223
              LoboUnitTest/src/test/java/org/loboevolution/dom/RangeTest.java on lines 271..289
              LoboUnitTest/src/test/java/org/loboevolution/dom/SelectionTest.java on lines 344..361
              LoboUnitTest/src/test/java/org/loboevolution/dom/TextRangeTest.java on lines 69..87
              LoboUnitTest/src/test/java/org/loboevolution/event/EventTest.java on lines 456..475
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLAnchorElementTest.java on lines 623..641
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLAnchorElementTest.java on lines 689..707
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLAreaElementTest.java on lines 154..172
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLCollectionTest.java on lines 173..191
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDataElementTest.java on lines 53..70
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocument2Test.java on lines 160..180
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 664..682
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 1241..1259
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 1261..1279
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 1595..1614
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 1677..1695
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 1697..1715
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 1717..1735
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 1895..1913
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 1915..1933
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 2177..2195
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentWriteTest.java on lines 41..59
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentWriteTest.java on lines 137..153
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElement2Test.java on lines 378..396
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElement2Test.java on lines 439..457
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 559..577
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 820..836
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 1388..1404
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 1406..1422
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 2230..2247
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 2249..2266
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 2268..2286
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 2716..2735
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 2773..2792
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 2798..2817
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 4177..4195
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 4197..4217
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLFormElementTest.java on lines 1217..1235
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLFormElementTest.java on lines 1280..1298
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLFrameSetElementTest.java on lines 40..59
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLHeadingElementTest.java on lines 42..61
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLHtmlElementTest.java on lines 100..118
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLImageElementTest.java on lines 123..141
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLInputElementTest.java on lines 1399..1418
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLLabelElementTest.java on lines 47..66
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLLabelElementTest.java on lines 68..87
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLLabelElementTest.java on lines 89..108
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLLabelElementTest.java on lines 110..129
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLLinkElementTest.java on lines 70..88
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLLinkElementTest.java on lines 133..151
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLMeterElementTest.java on lines 53..71
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLScriptElementTest.java on lines 269..288
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLScriptElementTest.java on lines 619..638
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLScriptElementTest.java on lines 643..663
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLScriptElementTest.java on lines 892..912
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLSelectElementTest.java on lines 1735..1756
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLSpanElementTest.java on lines 71..90
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLTableColElementTest.java on lines 320..339
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLTableElementTest.java on lines 782..801
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLTextAreaElementTest.java on lines 111..130

              Duplicated Code

              Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

              Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

              When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

              Tuning

              This issue has a mass of 65.

              We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

              The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

              If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

              See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

              Refactorings

              Further Reading

              Similar blocks of code found in 117 locations. Consider refactoring.
              Open

                  @Test
                  @Alerts({"windows-1252", "windows-1252", "windows-1252", "undefined"})
                  public void encoding3() {
                      final String html = "<html>\n"
                              + "<head>\n"
              LoboUnitTest/src/test/java/org/loboevolution/canvas/CanvasGradientTest.java on lines 61..81
              LoboUnitTest/src/test/java/org/loboevolution/canvas/CanvasRenderingContext2DTest.java on lines 149..167
              LoboUnitTest/src/test/java/org/loboevolution/canvas/CanvasRenderingContext2DTest.java on lines 520..539
              LoboUnitTest/src/test/java/org/loboevolution/canvas/CanvasRenderingContext2DTest.java on lines 541..560
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSFontFaceRuleTest.java on lines 65..84
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSFontFaceRuleTest.java on lines 86..105
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSFontFaceRuleTest.java on lines 107..126
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSRuleListTest.java on lines 40..57
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSRuleListTest.java on lines 59..76
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSRuleListTest.java on lines 96..113
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSRuleListTest.java on lines 115..132
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSSelectorTest.java on lines 1672..1690
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSSelectorTest.java on lines 1716..1734
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSSelectorTest.java on lines 1736..1754
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleDeclarationTest.java on lines 69..88
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleDeclarationTest.java on lines 90..109
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleDeclarationTest.java on lines 111..131
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleDeclarationTest.java on lines 257..276
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleDeclarationTest.java on lines 278..297
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleDeclarationTest.java on lines 299..318
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleDeclarationTest.java on lines 351..370
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleDeclarationTest.java on lines 2249..2266
              LoboUnitTest/src/test/java/org/loboevolution/css/ComputedCSSStyleDeclarationTest.java on lines 66..84
              LoboUnitTest/src/test/java/org/loboevolution/css/ComputedCSSStyleDeclarationTest.java on lines 974..992
              LoboUnitTest/src/test/java/org/loboevolution/css/ComputedCSSStyleDeclarationTest.java on lines 1229..1246
              LoboUnitTest/src/test/java/org/loboevolution/css/ComputedCSSStyleDeclarationTest.java on lines 1249..1266
              LoboUnitTest/src/test/java/org/loboevolution/css/ComputedCSSStyleDeclarationTest.java on lines 1622..1639
              LoboUnitTest/src/test/java/org/loboevolution/css/ComputedCSSStyleDeclarationTest.java on lines 1642..1659
              LoboUnitTest/src/test/java/org/loboevolution/css/StyleSheetListTest.java on lines 131..150
              LoboUnitTest/src/test/java/org/loboevolution/css/StyleSheetListTest.java on lines 152..172
              LoboUnitTest/src/test/java/org/loboevolution/css/StyleSheetListTest.java on lines 174..194
              LoboUnitTest/src/test/java/org/loboevolution/dom/AttrTest.java on lines 127..146
              LoboUnitTest/src/test/java/org/loboevolution/dom/DOMExceptionTest.java on lines 42..60
              LoboUnitTest/src/test/java/org/loboevolution/dom/DOMTokenListTest.java on lines 143..162
              LoboUnitTest/src/test/java/org/loboevolution/dom/Document2Test.java on lines 87..105
              LoboUnitTest/src/test/java/org/loboevolution/dom/Document2Test.java on lines 355..374
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 503..523
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 555..574
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 757..776
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 834..853
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 872..891
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 960..979
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 1908..1927
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 2134..2152
              LoboUnitTest/src/test/java/org/loboevolution/dom/MutationObserverTest.java on lines 61..80
              LoboUnitTest/src/test/java/org/loboevolution/dom/MutationObserverTest.java on lines 82..101
              LoboUnitTest/src/test/java/org/loboevolution/dom/NodeFilterTest.java on lines 42..60
              LoboUnitTest/src/test/java/org/loboevolution/dom/NodeListTest.java on lines 102..120
              LoboUnitTest/src/test/java/org/loboevolution/dom/NodeListTest.java on lines 122..140
              LoboUnitTest/src/test/java/org/loboevolution/dom/NodeTest.java on lines 134..153
              LoboUnitTest/src/test/java/org/loboevolution/dom/NodeTest.java on lines 382..400
              LoboUnitTest/src/test/java/org/loboevolution/dom/NodeTest.java on lines 403..421
              LoboUnitTest/src/test/java/org/loboevolution/dom/NodeTest.java on lines 626..644
              LoboUnitTest/src/test/java/org/loboevolution/dom/NodeTest.java on lines 697..715
              LoboUnitTest/src/test/java/org/loboevolution/dom/NodeTest.java on lines 937..957
              LoboUnitTest/src/test/java/org/loboevolution/dom/RangeTest.java on lines 90..108
              LoboUnitTest/src/test/java/org/loboevolution/dom/RangeTest.java on lines 206..223
              LoboUnitTest/src/test/java/org/loboevolution/dom/RangeTest.java on lines 271..289
              LoboUnitTest/src/test/java/org/loboevolution/dom/SelectionTest.java on lines 344..361
              LoboUnitTest/src/test/java/org/loboevolution/dom/TextRangeTest.java on lines 69..87
              LoboUnitTest/src/test/java/org/loboevolution/event/EventTest.java on lines 456..475
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLAnchorElementTest.java on lines 623..641
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLAnchorElementTest.java on lines 689..707
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLAreaElementTest.java on lines 154..172
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLCollectionTest.java on lines 173..191
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDataElementTest.java on lines 53..70
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocument2Test.java on lines 160..180
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 664..682
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 1241..1259
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 1261..1279
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 1595..1614
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 1657..1675
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 1697..1715
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 1717..1735
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 1895..1913
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 1915..1933
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 2177..2195
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentWriteTest.java on lines 41..59
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentWriteTest.java on lines 137..153
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElement2Test.java on lines 378..396
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElement2Test.java on lines 439..457
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 559..577
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 820..836
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 1388..1404
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 1406..1422
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 2230..2247
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 2249..2266
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 2268..2286
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 2716..2735
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 2773..2792
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 2798..2817
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 4177..4195
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 4197..4217
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLFormElementTest.java on lines 1217..1235
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLFormElementTest.java on lines 1280..1298
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLFrameSetElementTest.java on lines 40..59
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLHeadingElementTest.java on lines 42..61
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLHtmlElementTest.java on lines 100..118
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLImageElementTest.java on lines 123..141
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLInputElementTest.java on lines 1399..1418
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLLabelElementTest.java on lines 47..66
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLLabelElementTest.java on lines 68..87
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLLabelElementTest.java on lines 89..108
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLLabelElementTest.java on lines 110..129
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLLinkElementTest.java on lines 70..88
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLLinkElementTest.java on lines 133..151
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLMeterElementTest.java on lines 53..71
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLScriptElementTest.java on lines 269..288
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLScriptElementTest.java on lines 619..638
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLScriptElementTest.java on lines 643..663
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLScriptElementTest.java on lines 892..912
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLSelectElementTest.java on lines 1735..1756
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLSpanElementTest.java on lines 71..90
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLTableColElementTest.java on lines 320..339
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLTableElementTest.java on lines 782..801
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLTextAreaElementTest.java on lines 111..130

              Duplicated Code

              Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

              Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

              When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

              Tuning

              This issue has a mass of 65.

              We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

              The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

              If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

              See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

              Refactorings

              Further Reading

              Similar blocks of code found in 117 locations. Consider refactoring.
              Open

                  @Test
                  @Alerts({"undefined", "releaseCapture available"})
                  public void releaseCapture() {
                      final String html = "<html><head>\n"
                              + "    <script>\n"
              LoboUnitTest/src/test/java/org/loboevolution/canvas/CanvasGradientTest.java on lines 61..81
              LoboUnitTest/src/test/java/org/loboevolution/canvas/CanvasRenderingContext2DTest.java on lines 149..167
              LoboUnitTest/src/test/java/org/loboevolution/canvas/CanvasRenderingContext2DTest.java on lines 520..539
              LoboUnitTest/src/test/java/org/loboevolution/canvas/CanvasRenderingContext2DTest.java on lines 541..560
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSFontFaceRuleTest.java on lines 65..84
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSFontFaceRuleTest.java on lines 86..105
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSFontFaceRuleTest.java on lines 107..126
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSRuleListTest.java on lines 40..57
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSRuleListTest.java on lines 59..76
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSRuleListTest.java on lines 96..113
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSRuleListTest.java on lines 115..132
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSSelectorTest.java on lines 1672..1690
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSSelectorTest.java on lines 1716..1734
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSSelectorTest.java on lines 1736..1754
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleDeclarationTest.java on lines 69..88
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleDeclarationTest.java on lines 90..109
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleDeclarationTest.java on lines 111..131
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleDeclarationTest.java on lines 257..276
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleDeclarationTest.java on lines 278..297
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleDeclarationTest.java on lines 299..318
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleDeclarationTest.java on lines 351..370
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleDeclarationTest.java on lines 2249..2266
              LoboUnitTest/src/test/java/org/loboevolution/css/ComputedCSSStyleDeclarationTest.java on lines 66..84
              LoboUnitTest/src/test/java/org/loboevolution/css/ComputedCSSStyleDeclarationTest.java on lines 974..992
              LoboUnitTest/src/test/java/org/loboevolution/css/ComputedCSSStyleDeclarationTest.java on lines 1229..1246
              LoboUnitTest/src/test/java/org/loboevolution/css/ComputedCSSStyleDeclarationTest.java on lines 1249..1266
              LoboUnitTest/src/test/java/org/loboevolution/css/ComputedCSSStyleDeclarationTest.java on lines 1622..1639
              LoboUnitTest/src/test/java/org/loboevolution/css/ComputedCSSStyleDeclarationTest.java on lines 1642..1659
              LoboUnitTest/src/test/java/org/loboevolution/css/StyleSheetListTest.java on lines 131..150
              LoboUnitTest/src/test/java/org/loboevolution/css/StyleSheetListTest.java on lines 152..172
              LoboUnitTest/src/test/java/org/loboevolution/css/StyleSheetListTest.java on lines 174..194
              LoboUnitTest/src/test/java/org/loboevolution/dom/AttrTest.java on lines 127..146
              LoboUnitTest/src/test/java/org/loboevolution/dom/DOMExceptionTest.java on lines 42..60
              LoboUnitTest/src/test/java/org/loboevolution/dom/DOMTokenListTest.java on lines 143..162
              LoboUnitTest/src/test/java/org/loboevolution/dom/Document2Test.java on lines 87..105
              LoboUnitTest/src/test/java/org/loboevolution/dom/Document2Test.java on lines 355..374
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 503..523
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 555..574
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 757..776
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 834..853
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 872..891
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 960..979
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 1908..1927
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 2134..2152
              LoboUnitTest/src/test/java/org/loboevolution/dom/MutationObserverTest.java on lines 61..80
              LoboUnitTest/src/test/java/org/loboevolution/dom/MutationObserverTest.java on lines 82..101
              LoboUnitTest/src/test/java/org/loboevolution/dom/NodeFilterTest.java on lines 42..60
              LoboUnitTest/src/test/java/org/loboevolution/dom/NodeListTest.java on lines 102..120
              LoboUnitTest/src/test/java/org/loboevolution/dom/NodeListTest.java on lines 122..140
              LoboUnitTest/src/test/java/org/loboevolution/dom/NodeTest.java on lines 134..153
              LoboUnitTest/src/test/java/org/loboevolution/dom/NodeTest.java on lines 382..400
              LoboUnitTest/src/test/java/org/loboevolution/dom/NodeTest.java on lines 403..421
              LoboUnitTest/src/test/java/org/loboevolution/dom/NodeTest.java on lines 626..644
              LoboUnitTest/src/test/java/org/loboevolution/dom/NodeTest.java on lines 697..715
              LoboUnitTest/src/test/java/org/loboevolution/dom/NodeTest.java on lines 937..957
              LoboUnitTest/src/test/java/org/loboevolution/dom/RangeTest.java on lines 90..108
              LoboUnitTest/src/test/java/org/loboevolution/dom/RangeTest.java on lines 206..223
              LoboUnitTest/src/test/java/org/loboevolution/dom/RangeTest.java on lines 271..289
              LoboUnitTest/src/test/java/org/loboevolution/dom/SelectionTest.java on lines 344..361
              LoboUnitTest/src/test/java/org/loboevolution/dom/TextRangeTest.java on lines 69..87
              LoboUnitTest/src/test/java/org/loboevolution/event/EventTest.java on lines 456..475
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLAnchorElementTest.java on lines 623..641
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLAnchorElementTest.java on lines 689..707
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLAreaElementTest.java on lines 154..172
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLCollectionTest.java on lines 173..191
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDataElementTest.java on lines 53..70
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocument2Test.java on lines 160..180
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 664..682
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 1241..1259
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 1261..1279
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 1595..1614
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 1657..1675
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 1677..1695
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 1697..1715
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 1717..1735
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 1915..1933
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 2177..2195
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentWriteTest.java on lines 41..59
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentWriteTest.java on lines 137..153
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElement2Test.java on lines 378..396
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElement2Test.java on lines 439..457
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 559..577
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 820..836
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 1388..1404
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 1406..1422
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 2230..2247
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 2249..2266
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 2268..2286
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 2716..2735
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 2773..2792
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 2798..2817
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 4177..4195
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 4197..4217
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLFormElementTest.java on lines 1217..1235
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLFormElementTest.java on lines 1280..1298
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLFrameSetElementTest.java on lines 40..59
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLHeadingElementTest.java on lines 42..61
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLHtmlElementTest.java on lines 100..118
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLImageElementTest.java on lines 123..141
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLInputElementTest.java on lines 1399..1418
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLLabelElementTest.java on lines 47..66
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLLabelElementTest.java on lines 68..87
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLLabelElementTest.java on lines 89..108
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLLabelElementTest.java on lines 110..129
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLLinkElementTest.java on lines 70..88
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLLinkElementTest.java on lines 133..151
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLMeterElementTest.java on lines 53..71
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLScriptElementTest.java on lines 269..288
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLScriptElementTest.java on lines 619..638
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLScriptElementTest.java on lines 643..663
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLScriptElementTest.java on lines 892..912
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLSelectElementTest.java on lines 1735..1756
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLSpanElementTest.java on lines 71..90
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLTableColElementTest.java on lines 320..339
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLTableElementTest.java on lines 782..801
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLTextAreaElementTest.java on lines 111..130

              Duplicated Code

              Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

              Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

              When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

              Tuning

              This issue has a mass of 65.

              We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

              The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

              If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

              See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

              Refactorings

              Further Reading

              Similar blocks of code found in 117 locations. Consider refactoring.
              Open

                  @Test
                  @Alerts({"2", "0", "0"})
                  public void getElementsByNameEmptyName() {
                      final String html = "<html><head>"
                              + "<script>\n"
              LoboUnitTest/src/test/java/org/loboevolution/canvas/CanvasGradientTest.java on lines 61..81
              LoboUnitTest/src/test/java/org/loboevolution/canvas/CanvasRenderingContext2DTest.java on lines 149..167
              LoboUnitTest/src/test/java/org/loboevolution/canvas/CanvasRenderingContext2DTest.java on lines 520..539
              LoboUnitTest/src/test/java/org/loboevolution/canvas/CanvasRenderingContext2DTest.java on lines 541..560
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSFontFaceRuleTest.java on lines 65..84
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSFontFaceRuleTest.java on lines 86..105
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSFontFaceRuleTest.java on lines 107..126
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSRuleListTest.java on lines 40..57
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSRuleListTest.java on lines 59..76
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSRuleListTest.java on lines 96..113
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSRuleListTest.java on lines 115..132
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSSelectorTest.java on lines 1672..1690
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSSelectorTest.java on lines 1716..1734
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSSelectorTest.java on lines 1736..1754
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleDeclarationTest.java on lines 69..88
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleDeclarationTest.java on lines 90..109
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleDeclarationTest.java on lines 111..131
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleDeclarationTest.java on lines 257..276
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleDeclarationTest.java on lines 278..297
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleDeclarationTest.java on lines 299..318
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleDeclarationTest.java on lines 351..370
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleDeclarationTest.java on lines 2249..2266
              LoboUnitTest/src/test/java/org/loboevolution/css/ComputedCSSStyleDeclarationTest.java on lines 66..84
              LoboUnitTest/src/test/java/org/loboevolution/css/ComputedCSSStyleDeclarationTest.java on lines 974..992
              LoboUnitTest/src/test/java/org/loboevolution/css/ComputedCSSStyleDeclarationTest.java on lines 1229..1246
              LoboUnitTest/src/test/java/org/loboevolution/css/ComputedCSSStyleDeclarationTest.java on lines 1249..1266
              LoboUnitTest/src/test/java/org/loboevolution/css/ComputedCSSStyleDeclarationTest.java on lines 1622..1639
              LoboUnitTest/src/test/java/org/loboevolution/css/ComputedCSSStyleDeclarationTest.java on lines 1642..1659
              LoboUnitTest/src/test/java/org/loboevolution/css/StyleSheetListTest.java on lines 131..150
              LoboUnitTest/src/test/java/org/loboevolution/css/StyleSheetListTest.java on lines 152..172
              LoboUnitTest/src/test/java/org/loboevolution/css/StyleSheetListTest.java on lines 174..194
              LoboUnitTest/src/test/java/org/loboevolution/dom/AttrTest.java on lines 127..146
              LoboUnitTest/src/test/java/org/loboevolution/dom/DOMExceptionTest.java on lines 42..60
              LoboUnitTest/src/test/java/org/loboevolution/dom/DOMTokenListTest.java on lines 143..162
              LoboUnitTest/src/test/java/org/loboevolution/dom/Document2Test.java on lines 87..105
              LoboUnitTest/src/test/java/org/loboevolution/dom/Document2Test.java on lines 355..374
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 503..523
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 555..574
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 757..776
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 834..853
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 872..891
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 960..979
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 1908..1927
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 2134..2152
              LoboUnitTest/src/test/java/org/loboevolution/dom/MutationObserverTest.java on lines 61..80
              LoboUnitTest/src/test/java/org/loboevolution/dom/MutationObserverTest.java on lines 82..101
              LoboUnitTest/src/test/java/org/loboevolution/dom/NodeFilterTest.java on lines 42..60
              LoboUnitTest/src/test/java/org/loboevolution/dom/NodeListTest.java on lines 102..120
              LoboUnitTest/src/test/java/org/loboevolution/dom/NodeListTest.java on lines 122..140
              LoboUnitTest/src/test/java/org/loboevolution/dom/NodeTest.java on lines 134..153
              LoboUnitTest/src/test/java/org/loboevolution/dom/NodeTest.java on lines 382..400
              LoboUnitTest/src/test/java/org/loboevolution/dom/NodeTest.java on lines 403..421
              LoboUnitTest/src/test/java/org/loboevolution/dom/NodeTest.java on lines 626..644
              LoboUnitTest/src/test/java/org/loboevolution/dom/NodeTest.java on lines 697..715
              LoboUnitTest/src/test/java/org/loboevolution/dom/NodeTest.java on lines 937..957
              LoboUnitTest/src/test/java/org/loboevolution/dom/RangeTest.java on lines 90..108
              LoboUnitTest/src/test/java/org/loboevolution/dom/RangeTest.java on lines 206..223
              LoboUnitTest/src/test/java/org/loboevolution/dom/RangeTest.java on lines 271..289
              LoboUnitTest/src/test/java/org/loboevolution/dom/SelectionTest.java on lines 344..361
              LoboUnitTest/src/test/java/org/loboevolution/dom/TextRangeTest.java on lines 69..87
              LoboUnitTest/src/test/java/org/loboevolution/event/EventTest.java on lines 456..475
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLAnchorElementTest.java on lines 623..641
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLAnchorElementTest.java on lines 689..707
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLAreaElementTest.java on lines 154..172
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLCollectionTest.java on lines 173..191
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDataElementTest.java on lines 53..70
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocument2Test.java on lines 160..180
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 1241..1259
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 1261..1279
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 1595..1614
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 1657..1675
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 1677..1695
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 1697..1715
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 1717..1735
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 1895..1913
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 1915..1933
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 2177..2195
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentWriteTest.java on lines 41..59
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentWriteTest.java on lines 137..153
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElement2Test.java on lines 378..396
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElement2Test.java on lines 439..457
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 559..577
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 820..836
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 1388..1404
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 1406..1422
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 2230..2247
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 2249..2266
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 2268..2286
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 2716..2735
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 2773..2792
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 2798..2817
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 4177..4195
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 4197..4217
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLFormElementTest.java on lines 1217..1235
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLFormElementTest.java on lines 1280..1298
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLFrameSetElementTest.java on lines 40..59
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLHeadingElementTest.java on lines 42..61
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLHtmlElementTest.java on lines 100..118
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLImageElementTest.java on lines 123..141
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLInputElementTest.java on lines 1399..1418
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLLabelElementTest.java on lines 47..66
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLLabelElementTest.java on lines 68..87
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLLabelElementTest.java on lines 89..108
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLLabelElementTest.java on lines 110..129
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLLinkElementTest.java on lines 70..88
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLLinkElementTest.java on lines 133..151
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLMeterElementTest.java on lines 53..71
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLScriptElementTest.java on lines 269..288
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLScriptElementTest.java on lines 619..638
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLScriptElementTest.java on lines 643..663
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLScriptElementTest.java on lines 892..912
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLSelectElementTest.java on lines 1735..1756
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLSpanElementTest.java on lines 71..90
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLTableColElementTest.java on lines 320..339
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLTableElementTest.java on lines 782..801
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLTextAreaElementTest.java on lines 111..130

              Duplicated Code

              Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

              Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

              When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

              Tuning

              This issue has a mass of 65.

              We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

              The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

              If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

              See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

              Refactorings

              Further Reading

              Similar blocks of code found in 117 locations. Consider refactoring.
              Open

                  @Test
                  @Alerts({"1", "0"})
                  public void getElementsByTagName2() {
                      final String html = "<html xmlns:ns1='http://example.com'>\n"
                              + "<head>\n"
              LoboUnitTest/src/test/java/org/loboevolution/canvas/CanvasGradientTest.java on lines 61..81
              LoboUnitTest/src/test/java/org/loboevolution/canvas/CanvasRenderingContext2DTest.java on lines 149..167
              LoboUnitTest/src/test/java/org/loboevolution/canvas/CanvasRenderingContext2DTest.java on lines 520..539
              LoboUnitTest/src/test/java/org/loboevolution/canvas/CanvasRenderingContext2DTest.java on lines 541..560
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSFontFaceRuleTest.java on lines 65..84
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSFontFaceRuleTest.java on lines 86..105
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSFontFaceRuleTest.java on lines 107..126
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSRuleListTest.java on lines 40..57
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSRuleListTest.java on lines 59..76
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSRuleListTest.java on lines 96..113
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSRuleListTest.java on lines 115..132
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSSelectorTest.java on lines 1672..1690
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSSelectorTest.java on lines 1716..1734
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSSelectorTest.java on lines 1736..1754
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleDeclarationTest.java on lines 69..88
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleDeclarationTest.java on lines 90..109
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleDeclarationTest.java on lines 111..131
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleDeclarationTest.java on lines 257..276
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleDeclarationTest.java on lines 278..297
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleDeclarationTest.java on lines 299..318
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleDeclarationTest.java on lines 351..370
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleDeclarationTest.java on lines 2249..2266
              LoboUnitTest/src/test/java/org/loboevolution/css/ComputedCSSStyleDeclarationTest.java on lines 66..84
              LoboUnitTest/src/test/java/org/loboevolution/css/ComputedCSSStyleDeclarationTest.java on lines 974..992
              LoboUnitTest/src/test/java/org/loboevolution/css/ComputedCSSStyleDeclarationTest.java on lines 1229..1246
              LoboUnitTest/src/test/java/org/loboevolution/css/ComputedCSSStyleDeclarationTest.java on lines 1249..1266
              LoboUnitTest/src/test/java/org/loboevolution/css/ComputedCSSStyleDeclarationTest.java on lines 1622..1639
              LoboUnitTest/src/test/java/org/loboevolution/css/ComputedCSSStyleDeclarationTest.java on lines 1642..1659
              LoboUnitTest/src/test/java/org/loboevolution/css/StyleSheetListTest.java on lines 131..150
              LoboUnitTest/src/test/java/org/loboevolution/css/StyleSheetListTest.java on lines 152..172
              LoboUnitTest/src/test/java/org/loboevolution/css/StyleSheetListTest.java on lines 174..194
              LoboUnitTest/src/test/java/org/loboevolution/dom/AttrTest.java on lines 127..146
              LoboUnitTest/src/test/java/org/loboevolution/dom/DOMExceptionTest.java on lines 42..60
              LoboUnitTest/src/test/java/org/loboevolution/dom/DOMTokenListTest.java on lines 143..162
              LoboUnitTest/src/test/java/org/loboevolution/dom/Document2Test.java on lines 87..105
              LoboUnitTest/src/test/java/org/loboevolution/dom/Document2Test.java on lines 355..374
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 503..523
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 555..574
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 757..776
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 834..853
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 872..891
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 960..979
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 1908..1927
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 2134..2152
              LoboUnitTest/src/test/java/org/loboevolution/dom/MutationObserverTest.java on lines 61..80
              LoboUnitTest/src/test/java/org/loboevolution/dom/MutationObserverTest.java on lines 82..101
              LoboUnitTest/src/test/java/org/loboevolution/dom/NodeFilterTest.java on lines 42..60
              LoboUnitTest/src/test/java/org/loboevolution/dom/NodeListTest.java on lines 102..120
              LoboUnitTest/src/test/java/org/loboevolution/dom/NodeListTest.java on lines 122..140
              LoboUnitTest/src/test/java/org/loboevolution/dom/NodeTest.java on lines 134..153
              LoboUnitTest/src/test/java/org/loboevolution/dom/NodeTest.java on lines 382..400
              LoboUnitTest/src/test/java/org/loboevolution/dom/NodeTest.java on lines 403..421
              LoboUnitTest/src/test/java/org/loboevolution/dom/NodeTest.java on lines 626..644
              LoboUnitTest/src/test/java/org/loboevolution/dom/NodeTest.java on lines 697..715
              LoboUnitTest/src/test/java/org/loboevolution/dom/NodeTest.java on lines 937..957
              LoboUnitTest/src/test/java/org/loboevolution/dom/RangeTest.java on lines 90..108
              LoboUnitTest/src/test/java/org/loboevolution/dom/RangeTest.java on lines 206..223
              LoboUnitTest/src/test/java/org/loboevolution/dom/RangeTest.java on lines 271..289
              LoboUnitTest/src/test/java/org/loboevolution/dom/SelectionTest.java on lines 344..361
              LoboUnitTest/src/test/java/org/loboevolution/dom/TextRangeTest.java on lines 69..87
              LoboUnitTest/src/test/java/org/loboevolution/event/EventTest.java on lines 456..475
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLAnchorElementTest.java on lines 623..641
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLAnchorElementTest.java on lines 689..707
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLAreaElementTest.java on lines 154..172
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLCollectionTest.java on lines 173..191
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDataElementTest.java on lines 53..70
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocument2Test.java on lines 160..180
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 664..682
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 1261..1279
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 1595..1614
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 1657..1675
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 1677..1695
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 1697..1715
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 1717..1735
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 1895..1913
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 1915..1933
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 2177..2195
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentWriteTest.java on lines 41..59
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentWriteTest.java on lines 137..153
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElement2Test.java on lines 378..396
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElement2Test.java on lines 439..457
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 559..577
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 820..836
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 1388..1404
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 1406..1422
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 2230..2247
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 2249..2266
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 2268..2286
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 2716..2735
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 2773..2792
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 2798..2817
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 4177..4195
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 4197..4217
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLFormElementTest.java on lines 1217..1235
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLFormElementTest.java on lines 1280..1298
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLFrameSetElementTest.java on lines 40..59
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLHeadingElementTest.java on lines 42..61
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLHtmlElementTest.java on lines 100..118
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLImageElementTest.java on lines 123..141
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLInputElementTest.java on lines 1399..1418
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLLabelElementTest.java on lines 47..66
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLLabelElementTest.java on lines 68..87
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLLabelElementTest.java on lines 89..108
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLLabelElementTest.java on lines 110..129
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLLinkElementTest.java on lines 70..88
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLLinkElementTest.java on lines 133..151
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLMeterElementTest.java on lines 53..71
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLScriptElementTest.java on lines 269..288
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLScriptElementTest.java on lines 619..638
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLScriptElementTest.java on lines 643..663
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLScriptElementTest.java on lines 892..912
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLSelectElementTest.java on lines 1735..1756
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLSpanElementTest.java on lines 71..90
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLTableColElementTest.java on lines 320..339
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLTableElementTest.java on lines 782..801
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLTextAreaElementTest.java on lines 111..130

              Duplicated Code

              Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

              Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

              When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

              Tuning

              This issue has a mass of 65.

              We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

              The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

              If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

              See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

              Refactorings

              Further Reading

              Similar blocks of code found in 117 locations. Consider refactoring.
              Open

                  @Test
                  @Alerts({"1", "0"})
                  public void getElementsByTagName3() {
                      final String html = "<html>\n"
                              + "<head>\n"
              LoboUnitTest/src/test/java/org/loboevolution/canvas/CanvasGradientTest.java on lines 61..81
              LoboUnitTest/src/test/java/org/loboevolution/canvas/CanvasRenderingContext2DTest.java on lines 149..167
              LoboUnitTest/src/test/java/org/loboevolution/canvas/CanvasRenderingContext2DTest.java on lines 520..539
              LoboUnitTest/src/test/java/org/loboevolution/canvas/CanvasRenderingContext2DTest.java on lines 541..560
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSFontFaceRuleTest.java on lines 65..84
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSFontFaceRuleTest.java on lines 86..105
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSFontFaceRuleTest.java on lines 107..126
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSRuleListTest.java on lines 40..57
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSRuleListTest.java on lines 59..76
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSRuleListTest.java on lines 96..113
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSRuleListTest.java on lines 115..132
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSSelectorTest.java on lines 1672..1690
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSSelectorTest.java on lines 1716..1734
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSSelectorTest.java on lines 1736..1754
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleDeclarationTest.java on lines 69..88
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleDeclarationTest.java on lines 90..109
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleDeclarationTest.java on lines 111..131
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleDeclarationTest.java on lines 257..276
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleDeclarationTest.java on lines 278..297
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleDeclarationTest.java on lines 299..318
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleDeclarationTest.java on lines 351..370
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleDeclarationTest.java on lines 2249..2266
              LoboUnitTest/src/test/java/org/loboevolution/css/ComputedCSSStyleDeclarationTest.java on lines 66..84
              LoboUnitTest/src/test/java/org/loboevolution/css/ComputedCSSStyleDeclarationTest.java on lines 974..992
              LoboUnitTest/src/test/java/org/loboevolution/css/ComputedCSSStyleDeclarationTest.java on lines 1229..1246
              LoboUnitTest/src/test/java/org/loboevolution/css/ComputedCSSStyleDeclarationTest.java on lines 1249..1266
              LoboUnitTest/src/test/java/org/loboevolution/css/ComputedCSSStyleDeclarationTest.java on lines 1622..1639
              LoboUnitTest/src/test/java/org/loboevolution/css/ComputedCSSStyleDeclarationTest.java on lines 1642..1659
              LoboUnitTest/src/test/java/org/loboevolution/css/StyleSheetListTest.java on lines 131..150
              LoboUnitTest/src/test/java/org/loboevolution/css/StyleSheetListTest.java on lines 152..172
              LoboUnitTest/src/test/java/org/loboevolution/css/StyleSheetListTest.java on lines 174..194
              LoboUnitTest/src/test/java/org/loboevolution/dom/AttrTest.java on lines 127..146
              LoboUnitTest/src/test/java/org/loboevolution/dom/DOMExceptionTest.java on lines 42..60
              LoboUnitTest/src/test/java/org/loboevolution/dom/DOMTokenListTest.java on lines 143..162
              LoboUnitTest/src/test/java/org/loboevolution/dom/Document2Test.java on lines 87..105
              LoboUnitTest/src/test/java/org/loboevolution/dom/Document2Test.java on lines 355..374
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 503..523
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 555..574
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 757..776
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 834..853
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 872..891
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 960..979
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 1908..1927
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 2134..2152
              LoboUnitTest/src/test/java/org/loboevolution/dom/MutationObserverTest.java on lines 61..80
              LoboUnitTest/src/test/java/org/loboevolution/dom/MutationObserverTest.java on lines 82..101
              LoboUnitTest/src/test/java/org/loboevolution/dom/NodeFilterTest.java on lines 42..60
              LoboUnitTest/src/test/java/org/loboevolution/dom/NodeListTest.java on lines 102..120
              LoboUnitTest/src/test/java/org/loboevolution/dom/NodeListTest.java on lines 122..140
              LoboUnitTest/src/test/java/org/loboevolution/dom/NodeTest.java on lines 134..153
              LoboUnitTest/src/test/java/org/loboevolution/dom/NodeTest.java on lines 382..400
              LoboUnitTest/src/test/java/org/loboevolution/dom/NodeTest.java on lines 403..421
              LoboUnitTest/src/test/java/org/loboevolution/dom/NodeTest.java on lines 626..644
              LoboUnitTest/src/test/java/org/loboevolution/dom/NodeTest.java on lines 697..715
              LoboUnitTest/src/test/java/org/loboevolution/dom/NodeTest.java on lines 937..957
              LoboUnitTest/src/test/java/org/loboevolution/dom/RangeTest.java on lines 90..108
              LoboUnitTest/src/test/java/org/loboevolution/dom/RangeTest.java on lines 206..223
              LoboUnitTest/src/test/java/org/loboevolution/dom/RangeTest.java on lines 271..289
              LoboUnitTest/src/test/java/org/loboevolution/dom/SelectionTest.java on lines 344..361
              LoboUnitTest/src/test/java/org/loboevolution/dom/TextRangeTest.java on lines 69..87
              LoboUnitTest/src/test/java/org/loboevolution/event/EventTest.java on lines 456..475
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLAnchorElementTest.java on lines 623..641
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLAnchorElementTest.java on lines 689..707
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLAreaElementTest.java on lines 154..172
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLCollectionTest.java on lines 173..191
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDataElementTest.java on lines 53..70
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocument2Test.java on lines 160..180
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 664..682
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 1241..1259
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 1595..1614
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 1657..1675
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 1677..1695
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 1697..1715
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 1717..1735
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 1895..1913
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 1915..1933
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 2177..2195
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentWriteTest.java on lines 41..59
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentWriteTest.java on lines 137..153
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElement2Test.java on lines 378..396
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElement2Test.java on lines 439..457
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 559..577
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 820..836
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 1388..1404
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 1406..1422
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 2230..2247
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 2249..2266
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 2268..2286
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 2716..2735
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 2773..2792
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 2798..2817
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 4177..4195
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 4197..4217
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLFormElementTest.java on lines 1217..1235
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLFormElementTest.java on lines 1280..1298
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLFrameSetElementTest.java on lines 40..59
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLHeadingElementTest.java on lines 42..61
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLHtmlElementTest.java on lines 100..118
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLImageElementTest.java on lines 123..141
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLInputElementTest.java on lines 1399..1418
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLLabelElementTest.java on lines 47..66
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLLabelElementTest.java on lines 68..87
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLLabelElementTest.java on lines 89..108
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLLabelElementTest.java on lines 110..129
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLLinkElementTest.java on lines 70..88
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLLinkElementTest.java on lines 133..151
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLMeterElementTest.java on lines 53..71
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLScriptElementTest.java on lines 269..288
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLScriptElementTest.java on lines 619..638
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLScriptElementTest.java on lines 643..663
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLScriptElementTest.java on lines 892..912
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLSelectElementTest.java on lines 1735..1756
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLSpanElementTest.java on lines 71..90
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLTableColElementTest.java on lines 320..339
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLTableElementTest.java on lines 782..801
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLTextAreaElementTest.java on lines 111..130

              Duplicated Code

              Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

              Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

              When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

              Tuning

              This issue has a mass of 65.

              We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

              The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

              If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

              See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

              Refactorings

              Further Reading

              Similar blocks of code found in 117 locations. Consider refactoring.
              Open

                  @Test
                  @Alerts({"", "true"})
                  public void getSelection() {
                      final String html =
                              "<html>\n"
              LoboUnitTest/src/test/java/org/loboevolution/canvas/CanvasGradientTest.java on lines 61..81
              LoboUnitTest/src/test/java/org/loboevolution/canvas/CanvasRenderingContext2DTest.java on lines 149..167
              LoboUnitTest/src/test/java/org/loboevolution/canvas/CanvasRenderingContext2DTest.java on lines 520..539
              LoboUnitTest/src/test/java/org/loboevolution/canvas/CanvasRenderingContext2DTest.java on lines 541..560
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSFontFaceRuleTest.java on lines 65..84
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSFontFaceRuleTest.java on lines 86..105
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSFontFaceRuleTest.java on lines 107..126
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSRuleListTest.java on lines 40..57
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSRuleListTest.java on lines 59..76
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSRuleListTest.java on lines 96..113
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSRuleListTest.java on lines 115..132
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSSelectorTest.java on lines 1672..1690
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSSelectorTest.java on lines 1716..1734
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSSelectorTest.java on lines 1736..1754
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleDeclarationTest.java on lines 69..88
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleDeclarationTest.java on lines 90..109
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleDeclarationTest.java on lines 111..131
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleDeclarationTest.java on lines 257..276
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleDeclarationTest.java on lines 278..297
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleDeclarationTest.java on lines 299..318
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleDeclarationTest.java on lines 351..370
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleDeclarationTest.java on lines 2249..2266
              LoboUnitTest/src/test/java/org/loboevolution/css/ComputedCSSStyleDeclarationTest.java on lines 66..84
              LoboUnitTest/src/test/java/org/loboevolution/css/ComputedCSSStyleDeclarationTest.java on lines 974..992
              LoboUnitTest/src/test/java/org/loboevolution/css/ComputedCSSStyleDeclarationTest.java on lines 1229..1246
              LoboUnitTest/src/test/java/org/loboevolution/css/ComputedCSSStyleDeclarationTest.java on lines 1249..1266
              LoboUnitTest/src/test/java/org/loboevolution/css/ComputedCSSStyleDeclarationTest.java on lines 1622..1639
              LoboUnitTest/src/test/java/org/loboevolution/css/ComputedCSSStyleDeclarationTest.java on lines 1642..1659
              LoboUnitTest/src/test/java/org/loboevolution/css/StyleSheetListTest.java on lines 131..150
              LoboUnitTest/src/test/java/org/loboevolution/css/StyleSheetListTest.java on lines 152..172
              LoboUnitTest/src/test/java/org/loboevolution/css/StyleSheetListTest.java on lines 174..194
              LoboUnitTest/src/test/java/org/loboevolution/dom/AttrTest.java on lines 127..146
              LoboUnitTest/src/test/java/org/loboevolution/dom/DOMExceptionTest.java on lines 42..60
              LoboUnitTest/src/test/java/org/loboevolution/dom/DOMTokenListTest.java on lines 143..162
              LoboUnitTest/src/test/java/org/loboevolution/dom/Document2Test.java on lines 87..105
              LoboUnitTest/src/test/java/org/loboevolution/dom/Document2Test.java on lines 355..374
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 503..523
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 555..574
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 757..776
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 834..853
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 872..891
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 960..979
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 1908..1927
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 2134..2152
              LoboUnitTest/src/test/java/org/loboevolution/dom/MutationObserverTest.java on lines 61..80
              LoboUnitTest/src/test/java/org/loboevolution/dom/MutationObserverTest.java on lines 82..101
              LoboUnitTest/src/test/java/org/loboevolution/dom/NodeFilterTest.java on lines 42..60
              LoboUnitTest/src/test/java/org/loboevolution/dom/NodeListTest.java on lines 102..120
              LoboUnitTest/src/test/java/org/loboevolution/dom/NodeListTest.java on lines 122..140
              LoboUnitTest/src/test/java/org/loboevolution/dom/NodeTest.java on lines 134..153
              LoboUnitTest/src/test/java/org/loboevolution/dom/NodeTest.java on lines 382..400
              LoboUnitTest/src/test/java/org/loboevolution/dom/NodeTest.java on lines 403..421
              LoboUnitTest/src/test/java/org/loboevolution/dom/NodeTest.java on lines 626..644
              LoboUnitTest/src/test/java/org/loboevolution/dom/NodeTest.java on lines 697..715
              LoboUnitTest/src/test/java/org/loboevolution/dom/NodeTest.java on lines 937..957
              LoboUnitTest/src/test/java/org/loboevolution/dom/RangeTest.java on lines 90..108
              LoboUnitTest/src/test/java/org/loboevolution/dom/RangeTest.java on lines 206..223
              LoboUnitTest/src/test/java/org/loboevolution/dom/RangeTest.java on lines 271..289
              LoboUnitTest/src/test/java/org/loboevolution/dom/SelectionTest.java on lines 344..361
              LoboUnitTest/src/test/java/org/loboevolution/dom/TextRangeTest.java on lines 69..87
              LoboUnitTest/src/test/java/org/loboevolution/event/EventTest.java on lines 456..475
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLAnchorElementTest.java on lines 623..641
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLAnchorElementTest.java on lines 689..707
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLAreaElementTest.java on lines 154..172
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLCollectionTest.java on lines 173..191
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDataElementTest.java on lines 53..70
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocument2Test.java on lines 160..180
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 664..682
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 1241..1259
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 1261..1279
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 1657..1675
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 1677..1695
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 1697..1715
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 1717..1735
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 1895..1913
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 1915..1933
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 2177..2195
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentWriteTest.java on lines 41..59
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentWriteTest.java on lines 137..153
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElement2Test.java on lines 378..396
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElement2Test.java on lines 439..457
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 559..577
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 820..836
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 1388..1404
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 1406..1422
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 2230..2247
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 2249..2266
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 2268..2286
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 2716..2735
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 2773..2792
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 2798..2817
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 4177..4195
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 4197..4217
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLFormElementTest.java on lines 1217..1235
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLFormElementTest.java on lines 1280..1298
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLFrameSetElementTest.java on lines 40..59
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLHeadingElementTest.java on lines 42..61
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLHtmlElementTest.java on lines 100..118
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLImageElementTest.java on lines 123..141
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLInputElementTest.java on lines 1399..1418
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLLabelElementTest.java on lines 47..66
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLLabelElementTest.java on lines 68..87
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLLabelElementTest.java on lines 89..108
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLLabelElementTest.java on lines 110..129
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLLinkElementTest.java on lines 70..88
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLLinkElementTest.java on lines 133..151
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLMeterElementTest.java on lines 53..71
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLScriptElementTest.java on lines 269..288
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLScriptElementTest.java on lines 619..638
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLScriptElementTest.java on lines 643..663
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLScriptElementTest.java on lines 892..912
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLSelectElementTest.java on lines 1735..1756
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLSpanElementTest.java on lines 71..90
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLTableColElementTest.java on lines 320..339
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLTableElementTest.java on lines 782..801
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLTextAreaElementTest.java on lines 111..130

              Duplicated Code

              Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

              Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

              When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

              Tuning

              This issue has a mass of 65.

              We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

              The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

              If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

              See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

              Refactorings

              Further Reading

              Similar blocks of code found in 117 locations. Consider refactoring.
              Open

                  @Test
                  @Alerts({"UTF-8", "UTF-8", "UTF-8", "undefined"})
                  public void encoding4() {
                      final String html = "<html>\n"
                              + "<head>\n"
              LoboUnitTest/src/test/java/org/loboevolution/canvas/CanvasGradientTest.java on lines 61..81
              LoboUnitTest/src/test/java/org/loboevolution/canvas/CanvasRenderingContext2DTest.java on lines 149..167
              LoboUnitTest/src/test/java/org/loboevolution/canvas/CanvasRenderingContext2DTest.java on lines 520..539
              LoboUnitTest/src/test/java/org/loboevolution/canvas/CanvasRenderingContext2DTest.java on lines 541..560
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSFontFaceRuleTest.java on lines 65..84
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSFontFaceRuleTest.java on lines 86..105
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSFontFaceRuleTest.java on lines 107..126
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSRuleListTest.java on lines 40..57
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSRuleListTest.java on lines 59..76
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSRuleListTest.java on lines 96..113
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSRuleListTest.java on lines 115..132
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSSelectorTest.java on lines 1672..1690
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSSelectorTest.java on lines 1716..1734
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSSelectorTest.java on lines 1736..1754
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleDeclarationTest.java on lines 69..88
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleDeclarationTest.java on lines 90..109
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleDeclarationTest.java on lines 111..131
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleDeclarationTest.java on lines 257..276
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleDeclarationTest.java on lines 278..297
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleDeclarationTest.java on lines 299..318
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleDeclarationTest.java on lines 351..370
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleDeclarationTest.java on lines 2249..2266
              LoboUnitTest/src/test/java/org/loboevolution/css/ComputedCSSStyleDeclarationTest.java on lines 66..84
              LoboUnitTest/src/test/java/org/loboevolution/css/ComputedCSSStyleDeclarationTest.java on lines 974..992
              LoboUnitTest/src/test/java/org/loboevolution/css/ComputedCSSStyleDeclarationTest.java on lines 1229..1246
              LoboUnitTest/src/test/java/org/loboevolution/css/ComputedCSSStyleDeclarationTest.java on lines 1249..1266
              LoboUnitTest/src/test/java/org/loboevolution/css/ComputedCSSStyleDeclarationTest.java on lines 1622..1639
              LoboUnitTest/src/test/java/org/loboevolution/css/ComputedCSSStyleDeclarationTest.java on lines 1642..1659
              LoboUnitTest/src/test/java/org/loboevolution/css/StyleSheetListTest.java on lines 131..150
              LoboUnitTest/src/test/java/org/loboevolution/css/StyleSheetListTest.java on lines 152..172
              LoboUnitTest/src/test/java/org/loboevolution/css/StyleSheetListTest.java on lines 174..194
              LoboUnitTest/src/test/java/org/loboevolution/dom/AttrTest.java on lines 127..146
              LoboUnitTest/src/test/java/org/loboevolution/dom/DOMExceptionTest.java on lines 42..60
              LoboUnitTest/src/test/java/org/loboevolution/dom/DOMTokenListTest.java on lines 143..162
              LoboUnitTest/src/test/java/org/loboevolution/dom/Document2Test.java on lines 87..105
              LoboUnitTest/src/test/java/org/loboevolution/dom/Document2Test.java on lines 355..374
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 503..523
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 555..574
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 757..776
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 834..853
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 872..891
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 960..979
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 1908..1927
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 2134..2152
              LoboUnitTest/src/test/java/org/loboevolution/dom/MutationObserverTest.java on lines 61..80
              LoboUnitTest/src/test/java/org/loboevolution/dom/MutationObserverTest.java on lines 82..101
              LoboUnitTest/src/test/java/org/loboevolution/dom/NodeFilterTest.java on lines 42..60
              LoboUnitTest/src/test/java/org/loboevolution/dom/NodeListTest.java on lines 102..120
              LoboUnitTest/src/test/java/org/loboevolution/dom/NodeListTest.java on lines 122..140
              LoboUnitTest/src/test/java/org/loboevolution/dom/NodeTest.java on lines 134..153
              LoboUnitTest/src/test/java/org/loboevolution/dom/NodeTest.java on lines 382..400
              LoboUnitTest/src/test/java/org/loboevolution/dom/NodeTest.java on lines 403..421
              LoboUnitTest/src/test/java/org/loboevolution/dom/NodeTest.java on lines 626..644
              LoboUnitTest/src/test/java/org/loboevolution/dom/NodeTest.java on lines 697..715
              LoboUnitTest/src/test/java/org/loboevolution/dom/NodeTest.java on lines 937..957
              LoboUnitTest/src/test/java/org/loboevolution/dom/RangeTest.java on lines 90..108
              LoboUnitTest/src/test/java/org/loboevolution/dom/RangeTest.java on lines 206..223
              LoboUnitTest/src/test/java/org/loboevolution/dom/RangeTest.java on lines 271..289
              LoboUnitTest/src/test/java/org/loboevolution/dom/SelectionTest.java on lines 344..361
              LoboUnitTest/src/test/java/org/loboevolution/dom/TextRangeTest.java on lines 69..87
              LoboUnitTest/src/test/java/org/loboevolution/event/EventTest.java on lines 456..475
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLAnchorElementTest.java on lines 623..641
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLAnchorElementTest.java on lines 689..707
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLAreaElementTest.java on lines 154..172
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLCollectionTest.java on lines 173..191
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDataElementTest.java on lines 53..70
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocument2Test.java on lines 160..180
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 664..682
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 1241..1259
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 1261..1279
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 1595..1614
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 1657..1675
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 1677..1695
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 1717..1735
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 1895..1913
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 1915..1933
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 2177..2195
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentWriteTest.java on lines 41..59
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentWriteTest.java on lines 137..153
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElement2Test.java on lines 378..396
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElement2Test.java on lines 439..457
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 559..577
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 820..836
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 1388..1404
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 1406..1422
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 2230..2247
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 2249..2266
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 2268..2286
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 2716..2735
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 2773..2792
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 2798..2817
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 4177..4195
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 4197..4217
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLFormElementTest.java on lines 1217..1235
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLFormElementTest.java on lines 1280..1298
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLFrameSetElementTest.java on lines 40..59
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLHeadingElementTest.java on lines 42..61
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLHtmlElementTest.java on lines 100..118
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLImageElementTest.java on lines 123..141
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLInputElementTest.java on lines 1399..1418
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLLabelElementTest.java on lines 47..66
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLLabelElementTest.java on lines 68..87
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLLabelElementTest.java on lines 89..108
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLLabelElementTest.java on lines 110..129
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLLinkElementTest.java on lines 70..88
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLLinkElementTest.java on lines 133..151
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLMeterElementTest.java on lines 53..71
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLScriptElementTest.java on lines 269..288
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLScriptElementTest.java on lines 619..638
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLScriptElementTest.java on lines 643..663
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLScriptElementTest.java on lines 892..912
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLSelectElementTest.java on lines 1735..1756
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLSpanElementTest.java on lines 71..90
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLTableColElementTest.java on lines 320..339
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLTableElementTest.java on lines 782..801
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLTextAreaElementTest.java on lines 111..130

              Duplicated Code

              Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

              Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

              When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

              Tuning

              This issue has a mass of 65.

              We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

              The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

              If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

              See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

              Refactorings

              Further Reading

              Similar blocks of code found in 117 locations. Consider refactoring.
              Open

                  @Test
                  @Alerts({"1", "exception"})
                  public void plugins() {
                      final String html = "<html><head>\n"
                              + "    <script>\n"
              LoboUnitTest/src/test/java/org/loboevolution/canvas/CanvasGradientTest.java on lines 61..81
              LoboUnitTest/src/test/java/org/loboevolution/canvas/CanvasRenderingContext2DTest.java on lines 149..167
              LoboUnitTest/src/test/java/org/loboevolution/canvas/CanvasRenderingContext2DTest.java on lines 520..539
              LoboUnitTest/src/test/java/org/loboevolution/canvas/CanvasRenderingContext2DTest.java on lines 541..560
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSFontFaceRuleTest.java on lines 65..84
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSFontFaceRuleTest.java on lines 86..105
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSFontFaceRuleTest.java on lines 107..126
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSRuleListTest.java on lines 40..57
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSRuleListTest.java on lines 59..76
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSRuleListTest.java on lines 96..113
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSRuleListTest.java on lines 115..132
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSSelectorTest.java on lines 1672..1690
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSSelectorTest.java on lines 1716..1734
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSSelectorTest.java on lines 1736..1754
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleDeclarationTest.java on lines 69..88
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleDeclarationTest.java on lines 90..109
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleDeclarationTest.java on lines 111..131
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleDeclarationTest.java on lines 257..276
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleDeclarationTest.java on lines 278..297
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleDeclarationTest.java on lines 299..318
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleDeclarationTest.java on lines 351..370
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleDeclarationTest.java on lines 2249..2266
              LoboUnitTest/src/test/java/org/loboevolution/css/ComputedCSSStyleDeclarationTest.java on lines 66..84
              LoboUnitTest/src/test/java/org/loboevolution/css/ComputedCSSStyleDeclarationTest.java on lines 974..992
              LoboUnitTest/src/test/java/org/loboevolution/css/ComputedCSSStyleDeclarationTest.java on lines 1229..1246
              LoboUnitTest/src/test/java/org/loboevolution/css/ComputedCSSStyleDeclarationTest.java on lines 1249..1266
              LoboUnitTest/src/test/java/org/loboevolution/css/ComputedCSSStyleDeclarationTest.java on lines 1622..1639
              LoboUnitTest/src/test/java/org/loboevolution/css/ComputedCSSStyleDeclarationTest.java on lines 1642..1659
              LoboUnitTest/src/test/java/org/loboevolution/css/StyleSheetListTest.java on lines 131..150
              LoboUnitTest/src/test/java/org/loboevolution/css/StyleSheetListTest.java on lines 152..172
              LoboUnitTest/src/test/java/org/loboevolution/css/StyleSheetListTest.java on lines 174..194
              LoboUnitTest/src/test/java/org/loboevolution/dom/AttrTest.java on lines 127..146
              LoboUnitTest/src/test/java/org/loboevolution/dom/DOMExceptionTest.java on lines 42..60
              LoboUnitTest/src/test/java/org/loboevolution/dom/DOMTokenListTest.java on lines 143..162
              LoboUnitTest/src/test/java/org/loboevolution/dom/Document2Test.java on lines 87..105
              LoboUnitTest/src/test/java/org/loboevolution/dom/Document2Test.java on lines 355..374
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 503..523
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 555..574
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 757..776
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 834..853
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 872..891
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 960..979
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 1908..1927
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 2134..2152
              LoboUnitTest/src/test/java/org/loboevolution/dom/MutationObserverTest.java on lines 61..80
              LoboUnitTest/src/test/java/org/loboevolution/dom/MutationObserverTest.java on lines 82..101
              LoboUnitTest/src/test/java/org/loboevolution/dom/NodeFilterTest.java on lines 42..60
              LoboUnitTest/src/test/java/org/loboevolution/dom/NodeListTest.java on lines 102..120
              LoboUnitTest/src/test/java/org/loboevolution/dom/NodeListTest.java on lines 122..140
              LoboUnitTest/src/test/java/org/loboevolution/dom/NodeTest.java on lines 134..153
              LoboUnitTest/src/test/java/org/loboevolution/dom/NodeTest.java on lines 382..400
              LoboUnitTest/src/test/java/org/loboevolution/dom/NodeTest.java on lines 403..421
              LoboUnitTest/src/test/java/org/loboevolution/dom/NodeTest.java on lines 626..644
              LoboUnitTest/src/test/java/org/loboevolution/dom/NodeTest.java on lines 697..715
              LoboUnitTest/src/test/java/org/loboevolution/dom/NodeTest.java on lines 937..957
              LoboUnitTest/src/test/java/org/loboevolution/dom/RangeTest.java on lines 90..108
              LoboUnitTest/src/test/java/org/loboevolution/dom/RangeTest.java on lines 206..223
              LoboUnitTest/src/test/java/org/loboevolution/dom/RangeTest.java on lines 271..289
              LoboUnitTest/src/test/java/org/loboevolution/dom/SelectionTest.java on lines 344..361
              LoboUnitTest/src/test/java/org/loboevolution/dom/TextRangeTest.java on lines 69..87
              LoboUnitTest/src/test/java/org/loboevolution/event/EventTest.java on lines 456..475
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLAnchorElementTest.java on lines 623..641
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLAnchorElementTest.java on lines 689..707
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLAreaElementTest.java on lines 154..172
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLCollectionTest.java on lines 173..191
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDataElementTest.java on lines 53..70
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocument2Test.java on lines 160..180
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 664..682
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 1241..1259
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 1261..1279
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 1595..1614
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 1657..1675
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 1677..1695
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 1697..1715
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 1717..1735
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 1895..1913
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 1915..1933
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentWriteTest.java on lines 41..59
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentWriteTest.java on lines 137..153
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElement2Test.java on lines 378..396
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElement2Test.java on lines 439..457
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 559..577
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 820..836
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 1388..1404
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 1406..1422
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 2230..2247
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 2249..2266
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 2268..2286
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 2716..2735
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 2773..2792
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 2798..2817
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 4177..4195
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 4197..4217
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLFormElementTest.java on lines 1217..1235
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLFormElementTest.java on lines 1280..1298
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLFrameSetElementTest.java on lines 40..59
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLHeadingElementTest.java on lines 42..61
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLHtmlElementTest.java on lines 100..118
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLImageElementTest.java on lines 123..141
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLInputElementTest.java on lines 1399..1418
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLLabelElementTest.java on lines 47..66
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLLabelElementTest.java on lines 68..87
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLLabelElementTest.java on lines 89..108
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLLabelElementTest.java on lines 110..129
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLLinkElementTest.java on lines 70..88
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLLinkElementTest.java on lines 133..151
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLMeterElementTest.java on lines 53..71
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLScriptElementTest.java on lines 269..288
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLScriptElementTest.java on lines 619..638
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLScriptElementTest.java on lines 643..663
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLScriptElementTest.java on lines 892..912
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLSelectElementTest.java on lines 1735..1756
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLSpanElementTest.java on lines 71..90
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLTableColElementTest.java on lines 320..339
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLTableElementTest.java on lines 782..801
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLTextAreaElementTest.java on lines 111..130

              Duplicated Code

              Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

              Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

              When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

              Tuning

              This issue has a mass of 65.

              We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

              The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

              If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

              See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

              Refactorings

              Further Reading

              Similar blocks of code found in 117 locations. Consider refactoring.
              Open

                  @Test
                  @Alerts({"UTF-8", "UTF-8", "UTF-8", "undefined"})
                  public void encoding5() {
                      final String html = "<html>\n"
                              + "<head>\n"
              LoboUnitTest/src/test/java/org/loboevolution/canvas/CanvasGradientTest.java on lines 61..81
              LoboUnitTest/src/test/java/org/loboevolution/canvas/CanvasRenderingContext2DTest.java on lines 149..167
              LoboUnitTest/src/test/java/org/loboevolution/canvas/CanvasRenderingContext2DTest.java on lines 520..539
              LoboUnitTest/src/test/java/org/loboevolution/canvas/CanvasRenderingContext2DTest.java on lines 541..560
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSFontFaceRuleTest.java on lines 65..84
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSFontFaceRuleTest.java on lines 86..105
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSFontFaceRuleTest.java on lines 107..126
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSRuleListTest.java on lines 40..57
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSRuleListTest.java on lines 59..76
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSRuleListTest.java on lines 96..113
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSRuleListTest.java on lines 115..132
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSSelectorTest.java on lines 1672..1690
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSSelectorTest.java on lines 1716..1734
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSSelectorTest.java on lines 1736..1754
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleDeclarationTest.java on lines 69..88
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleDeclarationTest.java on lines 90..109
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleDeclarationTest.java on lines 111..131
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleDeclarationTest.java on lines 257..276
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleDeclarationTest.java on lines 278..297
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleDeclarationTest.java on lines 299..318
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleDeclarationTest.java on lines 351..370
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleDeclarationTest.java on lines 2249..2266
              LoboUnitTest/src/test/java/org/loboevolution/css/ComputedCSSStyleDeclarationTest.java on lines 66..84
              LoboUnitTest/src/test/java/org/loboevolution/css/ComputedCSSStyleDeclarationTest.java on lines 974..992
              LoboUnitTest/src/test/java/org/loboevolution/css/ComputedCSSStyleDeclarationTest.java on lines 1229..1246
              LoboUnitTest/src/test/java/org/loboevolution/css/ComputedCSSStyleDeclarationTest.java on lines 1249..1266
              LoboUnitTest/src/test/java/org/loboevolution/css/ComputedCSSStyleDeclarationTest.java on lines 1622..1639
              LoboUnitTest/src/test/java/org/loboevolution/css/ComputedCSSStyleDeclarationTest.java on lines 1642..1659
              LoboUnitTest/src/test/java/org/loboevolution/css/StyleSheetListTest.java on lines 131..150
              LoboUnitTest/src/test/java/org/loboevolution/css/StyleSheetListTest.java on lines 152..172
              LoboUnitTest/src/test/java/org/loboevolution/css/StyleSheetListTest.java on lines 174..194
              LoboUnitTest/src/test/java/org/loboevolution/dom/AttrTest.java on lines 127..146
              LoboUnitTest/src/test/java/org/loboevolution/dom/DOMExceptionTest.java on lines 42..60
              LoboUnitTest/src/test/java/org/loboevolution/dom/DOMTokenListTest.java on lines 143..162
              LoboUnitTest/src/test/java/org/loboevolution/dom/Document2Test.java on lines 87..105
              LoboUnitTest/src/test/java/org/loboevolution/dom/Document2Test.java on lines 355..374
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 503..523
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 555..574
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 757..776
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 834..853
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 872..891
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 960..979
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 1908..1927
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 2134..2152
              LoboUnitTest/src/test/java/org/loboevolution/dom/MutationObserverTest.java on lines 61..80
              LoboUnitTest/src/test/java/org/loboevolution/dom/MutationObserverTest.java on lines 82..101
              LoboUnitTest/src/test/java/org/loboevolution/dom/NodeFilterTest.java on lines 42..60
              LoboUnitTest/src/test/java/org/loboevolution/dom/NodeListTest.java on lines 102..120
              LoboUnitTest/src/test/java/org/loboevolution/dom/NodeListTest.java on lines 122..140
              LoboUnitTest/src/test/java/org/loboevolution/dom/NodeTest.java on lines 134..153
              LoboUnitTest/src/test/java/org/loboevolution/dom/NodeTest.java on lines 382..400
              LoboUnitTest/src/test/java/org/loboevolution/dom/NodeTest.java on lines 403..421
              LoboUnitTest/src/test/java/org/loboevolution/dom/NodeTest.java on lines 626..644
              LoboUnitTest/src/test/java/org/loboevolution/dom/NodeTest.java on lines 697..715
              LoboUnitTest/src/test/java/org/loboevolution/dom/NodeTest.java on lines 937..957
              LoboUnitTest/src/test/java/org/loboevolution/dom/RangeTest.java on lines 90..108
              LoboUnitTest/src/test/java/org/loboevolution/dom/RangeTest.java on lines 206..223
              LoboUnitTest/src/test/java/org/loboevolution/dom/RangeTest.java on lines 271..289
              LoboUnitTest/src/test/java/org/loboevolution/dom/SelectionTest.java on lines 344..361
              LoboUnitTest/src/test/java/org/loboevolution/dom/TextRangeTest.java on lines 69..87
              LoboUnitTest/src/test/java/org/loboevolution/event/EventTest.java on lines 456..475
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLAnchorElementTest.java on lines 623..641
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLAnchorElementTest.java on lines 689..707
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLAreaElementTest.java on lines 154..172
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLCollectionTest.java on lines 173..191
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDataElementTest.java on lines 53..70
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocument2Test.java on lines 160..180
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 664..682
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 1241..1259
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 1261..1279
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 1595..1614
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 1657..1675
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 1677..1695
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 1697..1715
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 1895..1913
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 1915..1933
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 2177..2195
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentWriteTest.java on lines 41..59
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentWriteTest.java on lines 137..153
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElement2Test.java on lines 378..396
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElement2Test.java on lines 439..457
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 559..577
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 820..836
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 1388..1404
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 1406..1422
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 2230..2247
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 2249..2266
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 2268..2286
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 2716..2735
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 2773..2792
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 2798..2817
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 4177..4195
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 4197..4217
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLFormElementTest.java on lines 1217..1235
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLFormElementTest.java on lines 1280..1298
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLFrameSetElementTest.java on lines 40..59
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLHeadingElementTest.java on lines 42..61
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLHtmlElementTest.java on lines 100..118
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLImageElementTest.java on lines 123..141
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLInputElementTest.java on lines 1399..1418
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLLabelElementTest.java on lines 47..66
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLLabelElementTest.java on lines 68..87
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLLabelElementTest.java on lines 89..108
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLLabelElementTest.java on lines 110..129
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLLinkElementTest.java on lines 70..88
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLLinkElementTest.java on lines 133..151
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLMeterElementTest.java on lines 53..71
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLScriptElementTest.java on lines 269..288
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLScriptElementTest.java on lines 619..638
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLScriptElementTest.java on lines 643..663
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLScriptElementTest.java on lines 892..912
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLSelectElementTest.java on lines 1735..1756
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLSpanElementTest.java on lines 71..90
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLTableColElementTest.java on lines 320..339
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLTableElementTest.java on lines 782..801
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLTextAreaElementTest.java on lines 111..130

              Duplicated Code

              Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

              Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

              When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

              Tuning

              This issue has a mass of 65.

              We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

              The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

              If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

              See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

              Refactorings

              Further Reading

              Similar blocks of code found in 117 locations. Consider refactoring.
              Open

                  @Test
                  @Alerts({"[object HTMLDocument]", "function HTMLDocument() { [native code] }"})
                  public void type() {
                      final String html = "<html><head>\n"
                              + "    <script>\n"
              LoboUnitTest/src/test/java/org/loboevolution/canvas/CanvasGradientTest.java on lines 61..81
              LoboUnitTest/src/test/java/org/loboevolution/canvas/CanvasRenderingContext2DTest.java on lines 149..167
              LoboUnitTest/src/test/java/org/loboevolution/canvas/CanvasRenderingContext2DTest.java on lines 520..539
              LoboUnitTest/src/test/java/org/loboevolution/canvas/CanvasRenderingContext2DTest.java on lines 541..560
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSFontFaceRuleTest.java on lines 65..84
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSFontFaceRuleTest.java on lines 86..105
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSFontFaceRuleTest.java on lines 107..126
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSRuleListTest.java on lines 40..57
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSRuleListTest.java on lines 59..76
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSRuleListTest.java on lines 96..113
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSRuleListTest.java on lines 115..132
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSSelectorTest.java on lines 1672..1690
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSSelectorTest.java on lines 1716..1734
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSSelectorTest.java on lines 1736..1754
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleDeclarationTest.java on lines 69..88
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleDeclarationTest.java on lines 90..109
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleDeclarationTest.java on lines 111..131
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleDeclarationTest.java on lines 257..276
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleDeclarationTest.java on lines 278..297
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleDeclarationTest.java on lines 299..318
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleDeclarationTest.java on lines 351..370
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleDeclarationTest.java on lines 2249..2266
              LoboUnitTest/src/test/java/org/loboevolution/css/ComputedCSSStyleDeclarationTest.java on lines 66..84
              LoboUnitTest/src/test/java/org/loboevolution/css/ComputedCSSStyleDeclarationTest.java on lines 974..992
              LoboUnitTest/src/test/java/org/loboevolution/css/ComputedCSSStyleDeclarationTest.java on lines 1229..1246
              LoboUnitTest/src/test/java/org/loboevolution/css/ComputedCSSStyleDeclarationTest.java on lines 1249..1266
              LoboUnitTest/src/test/java/org/loboevolution/css/ComputedCSSStyleDeclarationTest.java on lines 1622..1639
              LoboUnitTest/src/test/java/org/loboevolution/css/ComputedCSSStyleDeclarationTest.java on lines 1642..1659
              LoboUnitTest/src/test/java/org/loboevolution/css/StyleSheetListTest.java on lines 131..150
              LoboUnitTest/src/test/java/org/loboevolution/css/StyleSheetListTest.java on lines 152..172
              LoboUnitTest/src/test/java/org/loboevolution/css/StyleSheetListTest.java on lines 174..194
              LoboUnitTest/src/test/java/org/loboevolution/dom/AttrTest.java on lines 127..146
              LoboUnitTest/src/test/java/org/loboevolution/dom/DOMExceptionTest.java on lines 42..60
              LoboUnitTest/src/test/java/org/loboevolution/dom/DOMTokenListTest.java on lines 143..162
              LoboUnitTest/src/test/java/org/loboevolution/dom/Document2Test.java on lines 87..105
              LoboUnitTest/src/test/java/org/loboevolution/dom/Document2Test.java on lines 355..374
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 503..523
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 555..574
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 757..776
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 834..853
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 872..891
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 960..979
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 1908..1927
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 2134..2152
              LoboUnitTest/src/test/java/org/loboevolution/dom/MutationObserverTest.java on lines 61..80
              LoboUnitTest/src/test/java/org/loboevolution/dom/MutationObserverTest.java on lines 82..101
              LoboUnitTest/src/test/java/org/loboevolution/dom/NodeFilterTest.java on lines 42..60
              LoboUnitTest/src/test/java/org/loboevolution/dom/NodeListTest.java on lines 102..120
              LoboUnitTest/src/test/java/org/loboevolution/dom/NodeListTest.java on lines 122..140
              LoboUnitTest/src/test/java/org/loboevolution/dom/NodeTest.java on lines 134..153
              LoboUnitTest/src/test/java/org/loboevolution/dom/NodeTest.java on lines 382..400
              LoboUnitTest/src/test/java/org/loboevolution/dom/NodeTest.java on lines 403..421
              LoboUnitTest/src/test/java/org/loboevolution/dom/NodeTest.java on lines 626..644
              LoboUnitTest/src/test/java/org/loboevolution/dom/NodeTest.java on lines 697..715
              LoboUnitTest/src/test/java/org/loboevolution/dom/NodeTest.java on lines 937..957
              LoboUnitTest/src/test/java/org/loboevolution/dom/RangeTest.java on lines 90..108
              LoboUnitTest/src/test/java/org/loboevolution/dom/RangeTest.java on lines 206..223
              LoboUnitTest/src/test/java/org/loboevolution/dom/RangeTest.java on lines 271..289
              LoboUnitTest/src/test/java/org/loboevolution/dom/SelectionTest.java on lines 344..361
              LoboUnitTest/src/test/java/org/loboevolution/dom/TextRangeTest.java on lines 69..87
              LoboUnitTest/src/test/java/org/loboevolution/event/EventTest.java on lines 456..475
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLAnchorElementTest.java on lines 623..641
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLAnchorElementTest.java on lines 689..707
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLAreaElementTest.java on lines 154..172
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLCollectionTest.java on lines 173..191
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDataElementTest.java on lines 53..70
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocument2Test.java on lines 160..180
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 664..682
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 1241..1259
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 1261..1279
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 1595..1614
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 1657..1675
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 1677..1695
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 1697..1715
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 1717..1735
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 1895..1913
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 2177..2195
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentWriteTest.java on lines 41..59
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentWriteTest.java on lines 137..153
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElement2Test.java on lines 378..396
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElement2Test.java on lines 439..457
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 559..577
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 820..836
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 1388..1404
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 1406..1422
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 2230..2247
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 2249..2266
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 2268..2286
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 2716..2735
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 2773..2792
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 2798..2817
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 4177..4195
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 4197..4217
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLFormElementTest.java on lines 1217..1235
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLFormElementTest.java on lines 1280..1298
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLFrameSetElementTest.java on lines 40..59
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLHeadingElementTest.java on lines 42..61
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLHtmlElementTest.java on lines 100..118
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLImageElementTest.java on lines 123..141
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLInputElementTest.java on lines 1399..1418
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLLabelElementTest.java on lines 47..66
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLLabelElementTest.java on lines 68..87
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLLabelElementTest.java on lines 89..108
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLLabelElementTest.java on lines 110..129
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLLinkElementTest.java on lines 70..88
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLLinkElementTest.java on lines 133..151
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLMeterElementTest.java on lines 53..71
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLScriptElementTest.java on lines 269..288
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLScriptElementTest.java on lines 619..638
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLScriptElementTest.java on lines 643..663
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLScriptElementTest.java on lines 892..912
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLSelectElementTest.java on lines 1735..1756
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLSpanElementTest.java on lines 71..90
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLTableColElementTest.java on lines 320..339
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLTableElementTest.java on lines 782..801
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLTextAreaElementTest.java on lines 111..130

              Duplicated Code

              Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

              Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

              When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

              Tuning

              This issue has a mass of 65.

              We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

              The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

              If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

              See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

              Refactorings

              Further Reading

              Similar blocks of code found in 118 locations. Consider refactoring.
              Open

                  @Test
                  @Alerts("not defined")
                  public void frames() {
                      final String html = "<html><head><script>\n"
                              + "function test() {\n"
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSImportRuleTest.java on lines 424..441
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSMediaRuleTest.java on lines 41..59
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSRuleListTest.java on lines 78..94
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSRuleListTest.java on lines 156..172
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSSelectorTest.java on lines 1574..1592
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSSelectorTest.java on lines 1594..1611
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSSelectorTest.java on lines 1613..1630
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleDeclarationTest.java on lines 555..571
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleDeclarationTest.java on lines 573..589
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleDeclarationTest.java on lines 737..753
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleDeclarationTest.java on lines 1067..1083
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleDeclarationTest.java on lines 1185..1202
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleDeclarationTest.java on lines 2438..2456
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleDeclarationTest.java on lines 2511..2529
              LoboUnitTest/src/test/java/org/loboevolution/css/ComputedCSSStyleDeclarationTest.java on lines 45..63
              LoboUnitTest/src/test/java/org/loboevolution/css/ComputedCSSStyleDeclarationTest.java on lines 1662..1678
              LoboUnitTest/src/test/java/org/loboevolution/css/ComputedCSSStyleDeclarationTest.java on lines 1703..1719
              LoboUnitTest/src/test/java/org/loboevolution/css/ComputedCSSStyleDeclarationTest.java on lines 2243..2260
              LoboUnitTest/src/test/java/org/loboevolution/css/ComputedCSSStyleDeclarationTest.java on lines 2282..2299
              LoboUnitTest/src/test/java/org/loboevolution/css/StyleMediaTest.java on lines 59..77
              LoboUnitTest/src/test/java/org/loboevolution/dom/AttrTest.java on lines 219..236
              LoboUnitTest/src/test/java/org/loboevolution/dom/CharacterDataTest.java on lines 42..60
              LoboUnitTest/src/test/java/org/loboevolution/dom/CharacterDataTest.java on lines 303..321
              LoboUnitTest/src/test/java/org/loboevolution/dom/DOMParserTest.java on lines 98..115
              LoboUnitTest/src/test/java/org/loboevolution/dom/DOMParserTest.java on lines 117..134
              LoboUnitTest/src/test/java/org/loboevolution/dom/DOMParserTest.java on lines 136..153
              LoboUnitTest/src/test/java/org/loboevolution/dom/DOMParserTest.java on lines 155..172
              LoboUnitTest/src/test/java/org/loboevolution/dom/DOMParserTest.java on lines 174..191
              LoboUnitTest/src/test/java/org/loboevolution/dom/DOMParserTest.java on lines 265..282
              LoboUnitTest/src/test/java/org/loboevolution/dom/DOMParserTest.java on lines 312..329
              LoboUnitTest/src/test/java/org/loboevolution/dom/DOMTokenListTest.java on lines 703..721
              LoboUnitTest/src/test/java/org/loboevolution/dom/Document2Test.java on lines 335..353
              LoboUnitTest/src/test/java/org/loboevolution/dom/Document2Test.java on lines 376..394
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 600..618
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 795..814
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 1538..1555
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 1819..1837
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 1951..1968
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 2048..2065
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 2200..2218
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 2244..2262
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 2264..2282
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 2284..2302
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 2304..2322
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 2324..2342
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 2344..2362
              LoboUnitTest/src/test/java/org/loboevolution/dom/EventNodeTest.java on lines 42..60
              LoboUnitTest/src/test/java/org/loboevolution/dom/MutationObserverTest.java on lines 41..59
              LoboUnitTest/src/test/java/org/loboevolution/dom/NodeListTest.java on lines 509..526
              LoboUnitTest/src/test/java/org/loboevolution/dom/NodeTest.java on lines 96..113
              LoboUnitTest/src/test/java/org/loboevolution/dom/NodeTest.java on lines 261..278
              LoboUnitTest/src/test/java/org/loboevolution/dom/NodeTest.java on lines 844..861
              LoboUnitTest/src/test/java/org/loboevolution/dom/TextRangeTest.java on lines 243..260
              LoboUnitTest/src/test/java/org/loboevolution/event/KeyboardEventTest.java on lines 286..302
              LoboUnitTest/src/test/java/org/loboevolution/event/MessageEventTest.java on lines 99..116
              LoboUnitTest/src/test/java/org/loboevolution/event/MouseEventTest.java on lines 206..222
              LoboUnitTest/src/test/java/org/loboevolution/event/UIEventTest.java on lines 98..114
              LoboUnitTest/src/test/java/org/loboevolution/event/UIEventTest.java on lines 116..132
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLAllCollectionTest.java on lines 434..450
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLBodyElementTest.java on lines 302..320
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLCollectionTest.java on lines 76..94
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 315..332
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 854..871
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 1337..1355
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 1638..1655
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 1877..1893
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 2158..2175
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 2197..2214
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentWriteTest.java on lines 61..78
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentWriteTest.java on lines 211..229
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentWriteTest.java on lines 231..249
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElement2Test.java on lines 545..562
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElement2Test.java on lines 877..894
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElement2Test.java on lines 1084..1101
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 838..853
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 1469..1485
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 1487..1503
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 1976..1992
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 2098..2114
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 2169..2185
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 2391..2408
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 2451..2469
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 2678..2695
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 2938..2954
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 3166..3183
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 3522..3537
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 3539..3554
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 3795..3812
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLFormElementTest.java on lines 501..518
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLHRElementTest.java on lines 42..60
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLIFrameElement3Test.java on lines 96..113
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLIFrameElement3Test.java on lines 285..303
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLIFrameElement3Test.java on lines 305..323
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLIFrameElement3Test.java on lines 325..343
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLImageElement2Test.java on lines 41..58
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLImageElementTest.java on lines 227..245
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLImageElementTest.java on lines 604..622
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLImageElementTest.java on lines 648..666
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLInputElementTest.java on lines 989..1007
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLInputElementTest.java on lines 1009..1027
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLInputElementTest.java on lines 1216..1234
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLInputElementTest.java on lines 1912..1931
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLMediaElementTest.java on lines 125..142
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLMetaElementTest.java on lines 68..86
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLObjectElement2Test.java on lines 60..77
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLOptionElement2Test.java on lines 363..379
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLScriptElementTest.java on lines 422..440
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLScriptElementTest.java on lines 445..463
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLScriptElementTest.java on lines 699..717
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLSelectElementTest.java on lines 1502..1520
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLSelectElementTest.java on lines 2126..2144
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLStyleElementTest.java on lines 224..242
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLTableColElementTest.java on lines 297..315
              LoboUnitTest/src/test/java/org/loboevolution/xml/XMLDocumentTest.java on lines 767..784
              LoboUnitTest/src/test/java/org/loboevolution/xml/XMLSerializerTest.java on lines 41..58
              LoboUnitTest/src/test/java/org/loboevolution/xml/XMLSerializerTest.java on lines 60..77
              LoboUnitTest/src/test/java/org/loboevolution/xml/XMLSerializerTest.java on lines 80..97

              Duplicated Code

              Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

              Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

              When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

              Tuning

              This issue has a mass of 61.

              We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

              The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

              If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

              See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

              Refactorings

              Further Reading

              Similar blocks of code found in 118 locations. Consider refactoring.
              Open

                  @Test
                  @Alerts({"", "a", "b"})
                  public void cookieWrite_valueOnly() {
                      final String html =
                              "<html>\n"
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSImportRuleTest.java on lines 424..441
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSMediaRuleTest.java on lines 41..59
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSRuleListTest.java on lines 78..94
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSRuleListTest.java on lines 156..172
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSSelectorTest.java on lines 1574..1592
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSSelectorTest.java on lines 1594..1611
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSSelectorTest.java on lines 1613..1630
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleDeclarationTest.java on lines 555..571
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleDeclarationTest.java on lines 573..589
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleDeclarationTest.java on lines 737..753
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleDeclarationTest.java on lines 1067..1083
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleDeclarationTest.java on lines 1185..1202
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleDeclarationTest.java on lines 2438..2456
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleDeclarationTest.java on lines 2511..2529
              LoboUnitTest/src/test/java/org/loboevolution/css/ComputedCSSStyleDeclarationTest.java on lines 45..63
              LoboUnitTest/src/test/java/org/loboevolution/css/ComputedCSSStyleDeclarationTest.java on lines 1662..1678
              LoboUnitTest/src/test/java/org/loboevolution/css/ComputedCSSStyleDeclarationTest.java on lines 1703..1719
              LoboUnitTest/src/test/java/org/loboevolution/css/ComputedCSSStyleDeclarationTest.java on lines 2243..2260
              LoboUnitTest/src/test/java/org/loboevolution/css/ComputedCSSStyleDeclarationTest.java on lines 2282..2299
              LoboUnitTest/src/test/java/org/loboevolution/css/StyleMediaTest.java on lines 59..77
              LoboUnitTest/src/test/java/org/loboevolution/dom/AttrTest.java on lines 219..236
              LoboUnitTest/src/test/java/org/loboevolution/dom/CharacterDataTest.java on lines 42..60
              LoboUnitTest/src/test/java/org/loboevolution/dom/CharacterDataTest.java on lines 303..321
              LoboUnitTest/src/test/java/org/loboevolution/dom/DOMParserTest.java on lines 98..115
              LoboUnitTest/src/test/java/org/loboevolution/dom/DOMParserTest.java on lines 117..134
              LoboUnitTest/src/test/java/org/loboevolution/dom/DOMParserTest.java on lines 136..153
              LoboUnitTest/src/test/java/org/loboevolution/dom/DOMParserTest.java on lines 155..172
              LoboUnitTest/src/test/java/org/loboevolution/dom/DOMParserTest.java on lines 174..191
              LoboUnitTest/src/test/java/org/loboevolution/dom/DOMParserTest.java on lines 265..282
              LoboUnitTest/src/test/java/org/loboevolution/dom/DOMParserTest.java on lines 312..329
              LoboUnitTest/src/test/java/org/loboevolution/dom/DOMTokenListTest.java on lines 703..721
              LoboUnitTest/src/test/java/org/loboevolution/dom/Document2Test.java on lines 335..353
              LoboUnitTest/src/test/java/org/loboevolution/dom/Document2Test.java on lines 376..394
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 600..618
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 795..814
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 1538..1555
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 1819..1837
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 1951..1968
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 2048..2065
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 2200..2218
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 2244..2262
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 2264..2282
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 2284..2302
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 2304..2322
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 2324..2342
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 2344..2362
              LoboUnitTest/src/test/java/org/loboevolution/dom/EventNodeTest.java on lines 42..60
              LoboUnitTest/src/test/java/org/loboevolution/dom/MutationObserverTest.java on lines 41..59
              LoboUnitTest/src/test/java/org/loboevolution/dom/NodeListTest.java on lines 509..526
              LoboUnitTest/src/test/java/org/loboevolution/dom/NodeTest.java on lines 96..113
              LoboUnitTest/src/test/java/org/loboevolution/dom/NodeTest.java on lines 261..278
              LoboUnitTest/src/test/java/org/loboevolution/dom/NodeTest.java on lines 844..861
              LoboUnitTest/src/test/java/org/loboevolution/dom/TextRangeTest.java on lines 243..260
              LoboUnitTest/src/test/java/org/loboevolution/event/KeyboardEventTest.java on lines 286..302
              LoboUnitTest/src/test/java/org/loboevolution/event/MessageEventTest.java on lines 99..116
              LoboUnitTest/src/test/java/org/loboevolution/event/MouseEventTest.java on lines 206..222
              LoboUnitTest/src/test/java/org/loboevolution/event/UIEventTest.java on lines 98..114
              LoboUnitTest/src/test/java/org/loboevolution/event/UIEventTest.java on lines 116..132
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLAllCollectionTest.java on lines 434..450
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLBodyElementTest.java on lines 302..320
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLCollectionTest.java on lines 76..94
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 315..332
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 616..632
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 854..871
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 1638..1655
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 1877..1893
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 2158..2175
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 2197..2214
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentWriteTest.java on lines 61..78
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentWriteTest.java on lines 211..229
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentWriteTest.java on lines 231..249
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElement2Test.java on lines 545..562
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElement2Test.java on lines 877..894
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElement2Test.java on lines 1084..1101
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 838..853
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 1469..1485
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 1487..1503
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 1976..1992
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 2098..2114
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 2169..2185
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 2391..2408
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 2451..2469
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 2678..2695
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 2938..2954
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 3166..3183
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 3522..3537
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 3539..3554
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 3795..3812
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLFormElementTest.java on lines 501..518
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLHRElementTest.java on lines 42..60
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLIFrameElement3Test.java on lines 96..113
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLIFrameElement3Test.java on lines 285..303
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLIFrameElement3Test.java on lines 305..323
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLIFrameElement3Test.java on lines 325..343
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLImageElement2Test.java on lines 41..58
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLImageElementTest.java on lines 227..245
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLImageElementTest.java on lines 604..622
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLImageElementTest.java on lines 648..666
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLInputElementTest.java on lines 989..1007
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLInputElementTest.java on lines 1009..1027
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLInputElementTest.java on lines 1216..1234
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLInputElementTest.java on lines 1912..1931
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLMediaElementTest.java on lines 125..142
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLMetaElementTest.java on lines 68..86
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLObjectElement2Test.java on lines 60..77
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLOptionElement2Test.java on lines 363..379
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLScriptElementTest.java on lines 422..440
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLScriptElementTest.java on lines 445..463
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLScriptElementTest.java on lines 699..717
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLSelectElementTest.java on lines 1502..1520
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLSelectElementTest.java on lines 2126..2144
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLStyleElementTest.java on lines 224..242
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLTableColElementTest.java on lines 297..315
              LoboUnitTest/src/test/java/org/loboevolution/xml/XMLDocumentTest.java on lines 767..784
              LoboUnitTest/src/test/java/org/loboevolution/xml/XMLSerializerTest.java on lines 41..58
              LoboUnitTest/src/test/java/org/loboevolution/xml/XMLSerializerTest.java on lines 60..77
              LoboUnitTest/src/test/java/org/loboevolution/xml/XMLSerializerTest.java on lines 80..97

              Duplicated Code

              Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

              Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

              When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

              Tuning

              This issue has a mass of 61.

              We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

              The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

              If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

              See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

              Refactorings

              Further Reading

              Similar blocks of code found in 118 locations. Consider refactoring.
              Open

                  @Test
                  @Alerts("undefined")
                  public void setCapture() {
                      final String html = "<html><head>\n"
                              + "    <script>\n"
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSImportRuleTest.java on lines 424..441
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSMediaRuleTest.java on lines 41..59
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSRuleListTest.java on lines 78..94
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSRuleListTest.java on lines 156..172
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSSelectorTest.java on lines 1574..1592
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSSelectorTest.java on lines 1594..1611
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSSelectorTest.java on lines 1613..1630
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleDeclarationTest.java on lines 555..571
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleDeclarationTest.java on lines 573..589
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleDeclarationTest.java on lines 737..753
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleDeclarationTest.java on lines 1067..1083
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleDeclarationTest.java on lines 1185..1202
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleDeclarationTest.java on lines 2438..2456
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleDeclarationTest.java on lines 2511..2529
              LoboUnitTest/src/test/java/org/loboevolution/css/ComputedCSSStyleDeclarationTest.java on lines 45..63
              LoboUnitTest/src/test/java/org/loboevolution/css/ComputedCSSStyleDeclarationTest.java on lines 1662..1678
              LoboUnitTest/src/test/java/org/loboevolution/css/ComputedCSSStyleDeclarationTest.java on lines 1703..1719
              LoboUnitTest/src/test/java/org/loboevolution/css/ComputedCSSStyleDeclarationTest.java on lines 2243..2260
              LoboUnitTest/src/test/java/org/loboevolution/css/ComputedCSSStyleDeclarationTest.java on lines 2282..2299
              LoboUnitTest/src/test/java/org/loboevolution/css/StyleMediaTest.java on lines 59..77
              LoboUnitTest/src/test/java/org/loboevolution/dom/AttrTest.java on lines 219..236
              LoboUnitTest/src/test/java/org/loboevolution/dom/CharacterDataTest.java on lines 42..60
              LoboUnitTest/src/test/java/org/loboevolution/dom/CharacterDataTest.java on lines 303..321
              LoboUnitTest/src/test/java/org/loboevolution/dom/DOMParserTest.java on lines 98..115
              LoboUnitTest/src/test/java/org/loboevolution/dom/DOMParserTest.java on lines 117..134
              LoboUnitTest/src/test/java/org/loboevolution/dom/DOMParserTest.java on lines 136..153
              LoboUnitTest/src/test/java/org/loboevolution/dom/DOMParserTest.java on lines 155..172
              LoboUnitTest/src/test/java/org/loboevolution/dom/DOMParserTest.java on lines 174..191
              LoboUnitTest/src/test/java/org/loboevolution/dom/DOMParserTest.java on lines 265..282
              LoboUnitTest/src/test/java/org/loboevolution/dom/DOMParserTest.java on lines 312..329
              LoboUnitTest/src/test/java/org/loboevolution/dom/DOMTokenListTest.java on lines 703..721
              LoboUnitTest/src/test/java/org/loboevolution/dom/Document2Test.java on lines 335..353
              LoboUnitTest/src/test/java/org/loboevolution/dom/Document2Test.java on lines 376..394
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 600..618
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 795..814
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 1538..1555
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 1819..1837
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 1951..1968
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 2048..2065
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 2200..2218
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 2244..2262
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 2264..2282
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 2284..2302
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 2304..2322
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 2324..2342
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 2344..2362
              LoboUnitTest/src/test/java/org/loboevolution/dom/EventNodeTest.java on lines 42..60
              LoboUnitTest/src/test/java/org/loboevolution/dom/MutationObserverTest.java on lines 41..59
              LoboUnitTest/src/test/java/org/loboevolution/dom/NodeListTest.java on lines 509..526
              LoboUnitTest/src/test/java/org/loboevolution/dom/NodeTest.java on lines 96..113
              LoboUnitTest/src/test/java/org/loboevolution/dom/NodeTest.java on lines 261..278
              LoboUnitTest/src/test/java/org/loboevolution/dom/NodeTest.java on lines 844..861
              LoboUnitTest/src/test/java/org/loboevolution/dom/TextRangeTest.java on lines 243..260
              LoboUnitTest/src/test/java/org/loboevolution/event/KeyboardEventTest.java on lines 286..302
              LoboUnitTest/src/test/java/org/loboevolution/event/MessageEventTest.java on lines 99..116
              LoboUnitTest/src/test/java/org/loboevolution/event/MouseEventTest.java on lines 206..222
              LoboUnitTest/src/test/java/org/loboevolution/event/UIEventTest.java on lines 98..114
              LoboUnitTest/src/test/java/org/loboevolution/event/UIEventTest.java on lines 116..132
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLAllCollectionTest.java on lines 434..450
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLBodyElementTest.java on lines 302..320
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLCollectionTest.java on lines 76..94
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 315..332
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 616..632
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 854..871
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 1337..1355
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 1638..1655
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 2158..2175
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 2197..2214
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentWriteTest.java on lines 61..78
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentWriteTest.java on lines 211..229
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentWriteTest.java on lines 231..249
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElement2Test.java on lines 545..562
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElement2Test.java on lines 877..894
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElement2Test.java on lines 1084..1101
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 838..853
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 1469..1485
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 1487..1503
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 1976..1992
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 2098..2114
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 2169..2185
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 2391..2408
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 2451..2469
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 2678..2695
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 2938..2954
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 3166..3183
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 3522..3537
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 3539..3554
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 3795..3812
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLFormElementTest.java on lines 501..518
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLHRElementTest.java on lines 42..60
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLIFrameElement3Test.java on lines 96..113
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLIFrameElement3Test.java on lines 285..303
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLIFrameElement3Test.java on lines 305..323
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLIFrameElement3Test.java on lines 325..343
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLImageElement2Test.java on lines 41..58
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLImageElementTest.java on lines 227..245
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLImageElementTest.java on lines 604..622
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLImageElementTest.java on lines 648..666
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLInputElementTest.java on lines 989..1007
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLInputElementTest.java on lines 1009..1027
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLInputElementTest.java on lines 1216..1234
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLInputElementTest.java on lines 1912..1931
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLMediaElementTest.java on lines 125..142
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLMetaElementTest.java on lines 68..86
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLObjectElement2Test.java on lines 60..77
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLOptionElement2Test.java on lines 363..379
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLScriptElementTest.java on lines 422..440
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLScriptElementTest.java on lines 445..463
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLScriptElementTest.java on lines 699..717
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLSelectElementTest.java on lines 1502..1520
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLSelectElementTest.java on lines 2126..2144
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLStyleElementTest.java on lines 224..242
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLTableColElementTest.java on lines 297..315
              LoboUnitTest/src/test/java/org/loboevolution/xml/XMLDocumentTest.java on lines 767..784
              LoboUnitTest/src/test/java/org/loboevolution/xml/XMLSerializerTest.java on lines 41..58
              LoboUnitTest/src/test/java/org/loboevolution/xml/XMLSerializerTest.java on lines 60..77
              LoboUnitTest/src/test/java/org/loboevolution/xml/XMLSerializerTest.java on lines 80..97

              Duplicated Code

              Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

              Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

              When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

              Tuning

              This issue has a mass of 61.

              We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

              The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

              If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

              See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

              Refactorings

              Further Reading

              Similar blocks of code found in 118 locations. Consider refactoring.
              Open

                  @Test
                  @Alerts("exception")
                  public void images() {
                      final String html = "<html><head>\n"
                              + "    <script>\n"
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSImportRuleTest.java on lines 424..441
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSMediaRuleTest.java on lines 41..59
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSRuleListTest.java on lines 78..94
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSRuleListTest.java on lines 156..172
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSSelectorTest.java on lines 1574..1592
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSSelectorTest.java on lines 1594..1611
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSSelectorTest.java on lines 1613..1630
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleDeclarationTest.java on lines 555..571
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleDeclarationTest.java on lines 573..589
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleDeclarationTest.java on lines 737..753
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleDeclarationTest.java on lines 1067..1083
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleDeclarationTest.java on lines 1185..1202
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleDeclarationTest.java on lines 2438..2456
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleDeclarationTest.java on lines 2511..2529
              LoboUnitTest/src/test/java/org/loboevolution/css/ComputedCSSStyleDeclarationTest.java on lines 45..63
              LoboUnitTest/src/test/java/org/loboevolution/css/ComputedCSSStyleDeclarationTest.java on lines 1662..1678
              LoboUnitTest/src/test/java/org/loboevolution/css/ComputedCSSStyleDeclarationTest.java on lines 1703..1719
              LoboUnitTest/src/test/java/org/loboevolution/css/ComputedCSSStyleDeclarationTest.java on lines 2243..2260
              LoboUnitTest/src/test/java/org/loboevolution/css/ComputedCSSStyleDeclarationTest.java on lines 2282..2299
              LoboUnitTest/src/test/java/org/loboevolution/css/StyleMediaTest.java on lines 59..77
              LoboUnitTest/src/test/java/org/loboevolution/dom/AttrTest.java on lines 219..236
              LoboUnitTest/src/test/java/org/loboevolution/dom/CharacterDataTest.java on lines 42..60
              LoboUnitTest/src/test/java/org/loboevolution/dom/CharacterDataTest.java on lines 303..321
              LoboUnitTest/src/test/java/org/loboevolution/dom/DOMParserTest.java on lines 98..115
              LoboUnitTest/src/test/java/org/loboevolution/dom/DOMParserTest.java on lines 117..134
              LoboUnitTest/src/test/java/org/loboevolution/dom/DOMParserTest.java on lines 136..153
              LoboUnitTest/src/test/java/org/loboevolution/dom/DOMParserTest.java on lines 155..172
              LoboUnitTest/src/test/java/org/loboevolution/dom/DOMParserTest.java on lines 174..191
              LoboUnitTest/src/test/java/org/loboevolution/dom/DOMParserTest.java on lines 265..282
              LoboUnitTest/src/test/java/org/loboevolution/dom/DOMParserTest.java on lines 312..329
              LoboUnitTest/src/test/java/org/loboevolution/dom/DOMTokenListTest.java on lines 703..721
              LoboUnitTest/src/test/java/org/loboevolution/dom/Document2Test.java on lines 335..353
              LoboUnitTest/src/test/java/org/loboevolution/dom/Document2Test.java on lines 376..394
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 600..618
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 795..814
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 1538..1555
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 1819..1837
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 1951..1968
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 2048..2065
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 2200..2218
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 2244..2262
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 2264..2282
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 2284..2302
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 2304..2322
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 2324..2342
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 2344..2362
              LoboUnitTest/src/test/java/org/loboevolution/dom/EventNodeTest.java on lines 42..60
              LoboUnitTest/src/test/java/org/loboevolution/dom/MutationObserverTest.java on lines 41..59
              LoboUnitTest/src/test/java/org/loboevolution/dom/NodeListTest.java on lines 509..526
              LoboUnitTest/src/test/java/org/loboevolution/dom/NodeTest.java on lines 96..113
              LoboUnitTest/src/test/java/org/loboevolution/dom/NodeTest.java on lines 261..278
              LoboUnitTest/src/test/java/org/loboevolution/dom/NodeTest.java on lines 844..861
              LoboUnitTest/src/test/java/org/loboevolution/dom/TextRangeTest.java on lines 243..260
              LoboUnitTest/src/test/java/org/loboevolution/event/KeyboardEventTest.java on lines 286..302
              LoboUnitTest/src/test/java/org/loboevolution/event/MessageEventTest.java on lines 99..116
              LoboUnitTest/src/test/java/org/loboevolution/event/MouseEventTest.java on lines 206..222
              LoboUnitTest/src/test/java/org/loboevolution/event/UIEventTest.java on lines 98..114
              LoboUnitTest/src/test/java/org/loboevolution/event/UIEventTest.java on lines 116..132
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLAllCollectionTest.java on lines 434..450
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLBodyElementTest.java on lines 302..320
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLCollectionTest.java on lines 76..94
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 315..332
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 616..632
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 854..871
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 1337..1355
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 1638..1655
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 1877..1893
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 2158..2175
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentWriteTest.java on lines 61..78
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentWriteTest.java on lines 211..229
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentWriteTest.java on lines 231..249
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElement2Test.java on lines 545..562
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElement2Test.java on lines 877..894
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElement2Test.java on lines 1084..1101
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 838..853
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 1469..1485
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 1487..1503
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 1976..1992
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 2098..2114
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 2169..2185
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 2391..2408
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 2451..2469
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 2678..2695
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 2938..2954
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 3166..3183
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 3522..3537
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 3539..3554
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 3795..3812
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLFormElementTest.java on lines 501..518
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLHRElementTest.java on lines 42..60
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLIFrameElement3Test.java on lines 96..113
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLIFrameElement3Test.java on lines 285..303
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLIFrameElement3Test.java on lines 305..323
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLIFrameElement3Test.java on lines 325..343
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLImageElement2Test.java on lines 41..58
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLImageElementTest.java on lines 227..245
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLImageElementTest.java on lines 604..622
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLImageElementTest.java on lines 648..666
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLInputElementTest.java on lines 989..1007
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLInputElementTest.java on lines 1009..1027
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLInputElementTest.java on lines 1216..1234
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLInputElementTest.java on lines 1912..1931
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLMediaElementTest.java on lines 125..142
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLMetaElementTest.java on lines 68..86
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLObjectElement2Test.java on lines 60..77
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLOptionElement2Test.java on lines 363..379
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLScriptElementTest.java on lines 422..440
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLScriptElementTest.java on lines 445..463
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLScriptElementTest.java on lines 699..717
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLSelectElementTest.java on lines 1502..1520
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLSelectElementTest.java on lines 2126..2144
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLStyleElementTest.java on lines 224..242
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLTableColElementTest.java on lines 297..315
              LoboUnitTest/src/test/java/org/loboevolution/xml/XMLDocumentTest.java on lines 767..784
              LoboUnitTest/src/test/java/org/loboevolution/xml/XMLSerializerTest.java on lines 41..58
              LoboUnitTest/src/test/java/org/loboevolution/xml/XMLSerializerTest.java on lines 60..77
              LoboUnitTest/src/test/java/org/loboevolution/xml/XMLSerializerTest.java on lines 80..97

              Duplicated Code

              Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

              Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

              When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

              Tuning

              This issue has a mass of 61.

              We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

              The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

              If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

              See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

              Refactorings

              Further Reading

              Similar blocks of code found in 118 locations. Consider refactoring.
              Open

                  @Test
                  @Alerts({"[object HTMLCollection]", "0"})
                  public void applets() {
                      final String html = "<html>\n"
                              + "<head>\n"
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSImportRuleTest.java on lines 424..441
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSMediaRuleTest.java on lines 41..59
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSRuleListTest.java on lines 78..94
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSRuleListTest.java on lines 156..172
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSSelectorTest.java on lines 1574..1592
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSSelectorTest.java on lines 1594..1611
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSSelectorTest.java on lines 1613..1630
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleDeclarationTest.java on lines 555..571
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleDeclarationTest.java on lines 573..589
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleDeclarationTest.java on lines 737..753
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleDeclarationTest.java on lines 1067..1083
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleDeclarationTest.java on lines 1185..1202
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleDeclarationTest.java on lines 2438..2456
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleDeclarationTest.java on lines 2511..2529
              LoboUnitTest/src/test/java/org/loboevolution/css/ComputedCSSStyleDeclarationTest.java on lines 45..63
              LoboUnitTest/src/test/java/org/loboevolution/css/ComputedCSSStyleDeclarationTest.java on lines 1662..1678
              LoboUnitTest/src/test/java/org/loboevolution/css/ComputedCSSStyleDeclarationTest.java on lines 1703..1719
              LoboUnitTest/src/test/java/org/loboevolution/css/ComputedCSSStyleDeclarationTest.java on lines 2243..2260
              LoboUnitTest/src/test/java/org/loboevolution/css/ComputedCSSStyleDeclarationTest.java on lines 2282..2299
              LoboUnitTest/src/test/java/org/loboevolution/css/StyleMediaTest.java on lines 59..77
              LoboUnitTest/src/test/java/org/loboevolution/dom/AttrTest.java on lines 219..236
              LoboUnitTest/src/test/java/org/loboevolution/dom/CharacterDataTest.java on lines 42..60
              LoboUnitTest/src/test/java/org/loboevolution/dom/CharacterDataTest.java on lines 303..321
              LoboUnitTest/src/test/java/org/loboevolution/dom/DOMParserTest.java on lines 98..115
              LoboUnitTest/src/test/java/org/loboevolution/dom/DOMParserTest.java on lines 117..134
              LoboUnitTest/src/test/java/org/loboevolution/dom/DOMParserTest.java on lines 136..153
              LoboUnitTest/src/test/java/org/loboevolution/dom/DOMParserTest.java on lines 155..172
              LoboUnitTest/src/test/java/org/loboevolution/dom/DOMParserTest.java on lines 174..191
              LoboUnitTest/src/test/java/org/loboevolution/dom/DOMParserTest.java on lines 265..282
              LoboUnitTest/src/test/java/org/loboevolution/dom/DOMParserTest.java on lines 312..329
              LoboUnitTest/src/test/java/org/loboevolution/dom/DOMTokenListTest.java on lines 703..721
              LoboUnitTest/src/test/java/org/loboevolution/dom/Document2Test.java on lines 335..353
              LoboUnitTest/src/test/java/org/loboevolution/dom/Document2Test.java on lines 376..394
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 600..618
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 795..814
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 1538..1555
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 1819..1837
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 1951..1968
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 2048..2065
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 2200..2218
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 2244..2262
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 2264..2282
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 2284..2302
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 2304..2322
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 2324..2342
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 2344..2362
              LoboUnitTest/src/test/java/org/loboevolution/dom/EventNodeTest.java on lines 42..60
              LoboUnitTest/src/test/java/org/loboevolution/dom/MutationObserverTest.java on lines 41..59
              LoboUnitTest/src/test/java/org/loboevolution/dom/NodeListTest.java on lines 509..526
              LoboUnitTest/src/test/java/org/loboevolution/dom/NodeTest.java on lines 96..113
              LoboUnitTest/src/test/java/org/loboevolution/dom/NodeTest.java on lines 261..278
              LoboUnitTest/src/test/java/org/loboevolution/dom/NodeTest.java on lines 844..861
              LoboUnitTest/src/test/java/org/loboevolution/dom/TextRangeTest.java on lines 243..260
              LoboUnitTest/src/test/java/org/loboevolution/event/KeyboardEventTest.java on lines 286..302
              LoboUnitTest/src/test/java/org/loboevolution/event/MessageEventTest.java on lines 99..116
              LoboUnitTest/src/test/java/org/loboevolution/event/MouseEventTest.java on lines 206..222
              LoboUnitTest/src/test/java/org/loboevolution/event/UIEventTest.java on lines 98..114
              LoboUnitTest/src/test/java/org/loboevolution/event/UIEventTest.java on lines 116..132
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLAllCollectionTest.java on lines 434..450
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLBodyElementTest.java on lines 302..320
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLCollectionTest.java on lines 76..94
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 616..632
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 854..871
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 1337..1355
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 1638..1655
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 1877..1893
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 2158..2175
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 2197..2214
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentWriteTest.java on lines 61..78
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentWriteTest.java on lines 211..229
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentWriteTest.java on lines 231..249
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElement2Test.java on lines 545..562
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElement2Test.java on lines 877..894
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElement2Test.java on lines 1084..1101
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 838..853
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 1469..1485
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 1487..1503
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 1976..1992
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 2098..2114
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 2169..2185
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 2391..2408
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 2451..2469
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 2678..2695
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 2938..2954
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 3166..3183
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 3522..3537
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 3539..3554
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 3795..3812
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLFormElementTest.java on lines 501..518
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLHRElementTest.java on lines 42..60
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLIFrameElement3Test.java on lines 96..113
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLIFrameElement3Test.java on lines 285..303
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLIFrameElement3Test.java on lines 305..323
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLIFrameElement3Test.java on lines 325..343
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLImageElement2Test.java on lines 41..58
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLImageElementTest.java on lines 227..245
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLImageElementTest.java on lines 604..622
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLImageElementTest.java on lines 648..666
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLInputElementTest.java on lines 989..1007
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLInputElementTest.java on lines 1009..1027
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLInputElementTest.java on lines 1216..1234
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLInputElementTest.java on lines 1912..1931
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLMediaElementTest.java on lines 125..142
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLMetaElementTest.java on lines 68..86
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLObjectElement2Test.java on lines 60..77
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLOptionElement2Test.java on lines 363..379
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLScriptElementTest.java on lines 422..440
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLScriptElementTest.java on lines 445..463
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLScriptElementTest.java on lines 699..717
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLSelectElementTest.java on lines 1502..1520
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLSelectElementTest.java on lines 2126..2144
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLStyleElementTest.java on lines 224..242
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLTableColElementTest.java on lines 297..315
              LoboUnitTest/src/test/java/org/loboevolution/xml/XMLDocumentTest.java on lines 767..784
              LoboUnitTest/src/test/java/org/loboevolution/xml/XMLSerializerTest.java on lines 41..58
              LoboUnitTest/src/test/java/org/loboevolution/xml/XMLSerializerTest.java on lines 60..77
              LoboUnitTest/src/test/java/org/loboevolution/xml/XMLSerializerTest.java on lines 80..97

              Duplicated Code

              Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

              Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

              When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

              Tuning

              This issue has a mass of 61.

              We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

              The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

              If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

              See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

              Refactorings

              Further Reading

              Similar blocks of code found in 118 locations. Consider refactoring.
              Open

                  @Test
                  @Alerts({"1", "2"})
                  public void getElementsByNameChangedAfterGet2() {
                      final String html = "<html><head>"
                              + "<script>\n"
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSImportRuleTest.java on lines 424..441
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSMediaRuleTest.java on lines 41..59
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSRuleListTest.java on lines 78..94
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSRuleListTest.java on lines 156..172
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSSelectorTest.java on lines 1574..1592
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSSelectorTest.java on lines 1594..1611
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSSelectorTest.java on lines 1613..1630
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleDeclarationTest.java on lines 555..571
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleDeclarationTest.java on lines 573..589
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleDeclarationTest.java on lines 737..753
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleDeclarationTest.java on lines 1067..1083
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleDeclarationTest.java on lines 1185..1202
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleDeclarationTest.java on lines 2438..2456
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleDeclarationTest.java on lines 2511..2529
              LoboUnitTest/src/test/java/org/loboevolution/css/ComputedCSSStyleDeclarationTest.java on lines 45..63
              LoboUnitTest/src/test/java/org/loboevolution/css/ComputedCSSStyleDeclarationTest.java on lines 1662..1678
              LoboUnitTest/src/test/java/org/loboevolution/css/ComputedCSSStyleDeclarationTest.java on lines 1703..1719
              LoboUnitTest/src/test/java/org/loboevolution/css/ComputedCSSStyleDeclarationTest.java on lines 2243..2260
              LoboUnitTest/src/test/java/org/loboevolution/css/ComputedCSSStyleDeclarationTest.java on lines 2282..2299
              LoboUnitTest/src/test/java/org/loboevolution/css/StyleMediaTest.java on lines 59..77
              LoboUnitTest/src/test/java/org/loboevolution/dom/AttrTest.java on lines 219..236
              LoboUnitTest/src/test/java/org/loboevolution/dom/CharacterDataTest.java on lines 42..60
              LoboUnitTest/src/test/java/org/loboevolution/dom/CharacterDataTest.java on lines 303..321
              LoboUnitTest/src/test/java/org/loboevolution/dom/DOMParserTest.java on lines 98..115
              LoboUnitTest/src/test/java/org/loboevolution/dom/DOMParserTest.java on lines 117..134
              LoboUnitTest/src/test/java/org/loboevolution/dom/DOMParserTest.java on lines 136..153
              LoboUnitTest/src/test/java/org/loboevolution/dom/DOMParserTest.java on lines 155..172
              LoboUnitTest/src/test/java/org/loboevolution/dom/DOMParserTest.java on lines 174..191
              LoboUnitTest/src/test/java/org/loboevolution/dom/DOMParserTest.java on lines 265..282
              LoboUnitTest/src/test/java/org/loboevolution/dom/DOMParserTest.java on lines 312..329
              LoboUnitTest/src/test/java/org/loboevolution/dom/DOMTokenListTest.java on lines 703..721
              LoboUnitTest/src/test/java/org/loboevolution/dom/Document2Test.java on lines 335..353
              LoboUnitTest/src/test/java/org/loboevolution/dom/Document2Test.java on lines 376..394
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 600..618
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 795..814
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 1538..1555
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 1819..1837
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 1951..1968
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 2048..2065
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 2200..2218
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 2244..2262
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 2264..2282
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 2284..2302
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 2304..2322
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 2324..2342
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 2344..2362
              LoboUnitTest/src/test/java/org/loboevolution/dom/EventNodeTest.java on lines 42..60
              LoboUnitTest/src/test/java/org/loboevolution/dom/MutationObserverTest.java on lines 41..59
              LoboUnitTest/src/test/java/org/loboevolution/dom/NodeListTest.java on lines 509..526
              LoboUnitTest/src/test/java/org/loboevolution/dom/NodeTest.java on lines 96..113
              LoboUnitTest/src/test/java/org/loboevolution/dom/NodeTest.java on lines 261..278
              LoboUnitTest/src/test/java/org/loboevolution/dom/NodeTest.java on lines 844..861
              LoboUnitTest/src/test/java/org/loboevolution/dom/TextRangeTest.java on lines 243..260
              LoboUnitTest/src/test/java/org/loboevolution/event/KeyboardEventTest.java on lines 286..302
              LoboUnitTest/src/test/java/org/loboevolution/event/MessageEventTest.java on lines 99..116
              LoboUnitTest/src/test/java/org/loboevolution/event/MouseEventTest.java on lines 206..222
              LoboUnitTest/src/test/java/org/loboevolution/event/UIEventTest.java on lines 98..114
              LoboUnitTest/src/test/java/org/loboevolution/event/UIEventTest.java on lines 116..132
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLAllCollectionTest.java on lines 434..450
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLBodyElementTest.java on lines 302..320
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLCollectionTest.java on lines 76..94
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 315..332
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 616..632
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 1337..1355
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 1638..1655
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 1877..1893
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 2158..2175
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 2197..2214
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentWriteTest.java on lines 61..78
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentWriteTest.java on lines 211..229
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentWriteTest.java on lines 231..249
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElement2Test.java on lines 545..562
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElement2Test.java on lines 877..894
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElement2Test.java on lines 1084..1101
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 838..853
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 1469..1485
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 1487..1503
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 1976..1992
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 2098..2114
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 2169..2185
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 2391..2408
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 2451..2469
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 2678..2695
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 2938..2954
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 3166..3183
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 3522..3537
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 3539..3554
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 3795..3812
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLFormElementTest.java on lines 501..518
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLHRElementTest.java on lines 42..60
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLIFrameElement3Test.java on lines 96..113
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLIFrameElement3Test.java on lines 285..303
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLIFrameElement3Test.java on lines 305..323
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLIFrameElement3Test.java on lines 325..343
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLImageElement2Test.java on lines 41..58
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLImageElementTest.java on lines 227..245
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLImageElementTest.java on lines 604..622
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLImageElementTest.java on lines 648..666
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLInputElementTest.java on lines 989..1007
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLInputElementTest.java on lines 1009..1027
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLInputElementTest.java on lines 1216..1234
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLInputElementTest.java on lines 1912..1931
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLMediaElementTest.java on lines 125..142
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLMetaElementTest.java on lines 68..86
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLObjectElement2Test.java on lines 60..77
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLOptionElement2Test.java on lines 363..379
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLScriptElementTest.java on lines 422..440
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLScriptElementTest.java on lines 445..463
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLScriptElementTest.java on lines 699..717
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLSelectElementTest.java on lines 1502..1520
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLSelectElementTest.java on lines 2126..2144
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLStyleElementTest.java on lines 224..242
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLTableColElementTest.java on lines 297..315
              LoboUnitTest/src/test/java/org/loboevolution/xml/XMLDocumentTest.java on lines 767..784
              LoboUnitTest/src/test/java/org/loboevolution/xml/XMLSerializerTest.java on lines 41..58
              LoboUnitTest/src/test/java/org/loboevolution/xml/XMLSerializerTest.java on lines 60..77
              LoboUnitTest/src/test/java/org/loboevolution/xml/XMLSerializerTest.java on lines 80..97

              Duplicated Code

              Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

              Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

              When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

              Tuning

              This issue has a mass of 61.

              We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

              The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

              If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

              See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

              Refactorings

              Further Reading

              Similar blocks of code found in 118 locations. Consider refactoring.
              Open

                  @Test
                  @Alerts({"windows-1252", "windows-1252", "windows-1252", "undefined"})
                  public void encoding() {
                      final String html = "<html>\n"
                              + "<head>\n"
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSImportRuleTest.java on lines 424..441
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSMediaRuleTest.java on lines 41..59
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSRuleListTest.java on lines 78..94
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSRuleListTest.java on lines 156..172
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSSelectorTest.java on lines 1574..1592
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSSelectorTest.java on lines 1594..1611
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSSelectorTest.java on lines 1613..1630
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleDeclarationTest.java on lines 555..571
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleDeclarationTest.java on lines 573..589
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleDeclarationTest.java on lines 737..753
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleDeclarationTest.java on lines 1067..1083
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleDeclarationTest.java on lines 1185..1202
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleDeclarationTest.java on lines 2438..2456
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleDeclarationTest.java on lines 2511..2529
              LoboUnitTest/src/test/java/org/loboevolution/css/ComputedCSSStyleDeclarationTest.java on lines 45..63
              LoboUnitTest/src/test/java/org/loboevolution/css/ComputedCSSStyleDeclarationTest.java on lines 1662..1678
              LoboUnitTest/src/test/java/org/loboevolution/css/ComputedCSSStyleDeclarationTest.java on lines 1703..1719
              LoboUnitTest/src/test/java/org/loboevolution/css/ComputedCSSStyleDeclarationTest.java on lines 2243..2260
              LoboUnitTest/src/test/java/org/loboevolution/css/ComputedCSSStyleDeclarationTest.java on lines 2282..2299
              LoboUnitTest/src/test/java/org/loboevolution/css/StyleMediaTest.java on lines 59..77
              LoboUnitTest/src/test/java/org/loboevolution/dom/AttrTest.java on lines 219..236
              LoboUnitTest/src/test/java/org/loboevolution/dom/CharacterDataTest.java on lines 42..60
              LoboUnitTest/src/test/java/org/loboevolution/dom/CharacterDataTest.java on lines 303..321
              LoboUnitTest/src/test/java/org/loboevolution/dom/DOMParserTest.java on lines 98..115
              LoboUnitTest/src/test/java/org/loboevolution/dom/DOMParserTest.java on lines 117..134
              LoboUnitTest/src/test/java/org/loboevolution/dom/DOMParserTest.java on lines 136..153
              LoboUnitTest/src/test/java/org/loboevolution/dom/DOMParserTest.java on lines 155..172
              LoboUnitTest/src/test/java/org/loboevolution/dom/DOMParserTest.java on lines 174..191
              LoboUnitTest/src/test/java/org/loboevolution/dom/DOMParserTest.java on lines 265..282
              LoboUnitTest/src/test/java/org/loboevolution/dom/DOMParserTest.java on lines 312..329
              LoboUnitTest/src/test/java/org/loboevolution/dom/DOMTokenListTest.java on lines 703..721
              LoboUnitTest/src/test/java/org/loboevolution/dom/Document2Test.java on lines 335..353
              LoboUnitTest/src/test/java/org/loboevolution/dom/Document2Test.java on lines 376..394
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 600..618
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 795..814
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 1538..1555
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 1819..1837
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 1951..1968
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 2048..2065
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 2200..2218
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 2244..2262
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 2264..2282
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 2284..2302
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 2304..2322
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 2324..2342
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 2344..2362
              LoboUnitTest/src/test/java/org/loboevolution/dom/EventNodeTest.java on lines 42..60
              LoboUnitTest/src/test/java/org/loboevolution/dom/MutationObserverTest.java on lines 41..59
              LoboUnitTest/src/test/java/org/loboevolution/dom/NodeListTest.java on lines 509..526
              LoboUnitTest/src/test/java/org/loboevolution/dom/NodeTest.java on lines 96..113
              LoboUnitTest/src/test/java/org/loboevolution/dom/NodeTest.java on lines 261..278
              LoboUnitTest/src/test/java/org/loboevolution/dom/NodeTest.java on lines 844..861
              LoboUnitTest/src/test/java/org/loboevolution/dom/TextRangeTest.java on lines 243..260
              LoboUnitTest/src/test/java/org/loboevolution/event/KeyboardEventTest.java on lines 286..302
              LoboUnitTest/src/test/java/org/loboevolution/event/MessageEventTest.java on lines 99..116
              LoboUnitTest/src/test/java/org/loboevolution/event/MouseEventTest.java on lines 206..222
              LoboUnitTest/src/test/java/org/loboevolution/event/UIEventTest.java on lines 98..114
              LoboUnitTest/src/test/java/org/loboevolution/event/UIEventTest.java on lines 116..132
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLAllCollectionTest.java on lines 434..450
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLBodyElementTest.java on lines 302..320
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLCollectionTest.java on lines 76..94
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 315..332
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 616..632
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 854..871
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 1337..1355
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 1877..1893
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 2158..2175
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 2197..2214
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentWriteTest.java on lines 61..78
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentWriteTest.java on lines 211..229
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentWriteTest.java on lines 231..249
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElement2Test.java on lines 545..562
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElement2Test.java on lines 877..894
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElement2Test.java on lines 1084..1101
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 838..853
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 1469..1485
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 1487..1503
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 1976..1992
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 2098..2114
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 2169..2185
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 2391..2408
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 2451..2469
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 2678..2695
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 2938..2954
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 3166..3183
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 3522..3537
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 3539..3554
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 3795..3812
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLFormElementTest.java on lines 501..518
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLHRElementTest.java on lines 42..60
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLIFrameElement3Test.java on lines 96..113
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLIFrameElement3Test.java on lines 285..303
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLIFrameElement3Test.java on lines 305..323
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLIFrameElement3Test.java on lines 325..343
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLImageElement2Test.java on lines 41..58
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLImageElementTest.java on lines 227..245
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLImageElementTest.java on lines 604..622
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLImageElementTest.java on lines 648..666
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLInputElementTest.java on lines 989..1007
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLInputElementTest.java on lines 1009..1027
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLInputElementTest.java on lines 1216..1234
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLInputElementTest.java on lines 1912..1931
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLMediaElementTest.java on lines 125..142
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLMetaElementTest.java on lines 68..86
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLObjectElement2Test.java on lines 60..77
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLOptionElement2Test.java on lines 363..379
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLScriptElementTest.java on lines 422..440
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLScriptElementTest.java on lines 445..463
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLScriptElementTest.java on lines 699..717
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLSelectElementTest.java on lines 1502..1520
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLSelectElementTest.java on lines 2126..2144
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLStyleElementTest.java on lines 224..242
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLTableColElementTest.java on lines 297..315
              LoboUnitTest/src/test/java/org/loboevolution/xml/XMLDocumentTest.java on lines 767..784
              LoboUnitTest/src/test/java/org/loboevolution/xml/XMLSerializerTest.java on lines 41..58
              LoboUnitTest/src/test/java/org/loboevolution/xml/XMLSerializerTest.java on lines 60..77
              LoboUnitTest/src/test/java/org/loboevolution/xml/XMLSerializerTest.java on lines 80..97

              Duplicated Code

              Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

              Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

              When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

              Tuning

              This issue has a mass of 61.

              We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

              The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

              If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

              See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

              Refactorings

              Further Reading

              Similar blocks of code found in 118 locations. Consider refactoring.
              Open

                  @Test
                  @Alerts("exception")
                  public void embeds() {
                      final String html = "<html><head>\n"
                              + "    <script>\n"
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSImportRuleTest.java on lines 424..441
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSMediaRuleTest.java on lines 41..59
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSRuleListTest.java on lines 78..94
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSRuleListTest.java on lines 156..172
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSSelectorTest.java on lines 1574..1592
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSSelectorTest.java on lines 1594..1611
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSSelectorTest.java on lines 1613..1630
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleDeclarationTest.java on lines 555..571
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleDeclarationTest.java on lines 573..589
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleDeclarationTest.java on lines 737..753
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleDeclarationTest.java on lines 1067..1083
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleDeclarationTest.java on lines 1185..1202
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleDeclarationTest.java on lines 2438..2456
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleDeclarationTest.java on lines 2511..2529
              LoboUnitTest/src/test/java/org/loboevolution/css/ComputedCSSStyleDeclarationTest.java on lines 45..63
              LoboUnitTest/src/test/java/org/loboevolution/css/ComputedCSSStyleDeclarationTest.java on lines 1662..1678
              LoboUnitTest/src/test/java/org/loboevolution/css/ComputedCSSStyleDeclarationTest.java on lines 1703..1719
              LoboUnitTest/src/test/java/org/loboevolution/css/ComputedCSSStyleDeclarationTest.java on lines 2243..2260
              LoboUnitTest/src/test/java/org/loboevolution/css/ComputedCSSStyleDeclarationTest.java on lines 2282..2299
              LoboUnitTest/src/test/java/org/loboevolution/css/StyleMediaTest.java on lines 59..77
              LoboUnitTest/src/test/java/org/loboevolution/dom/AttrTest.java on lines 219..236
              LoboUnitTest/src/test/java/org/loboevolution/dom/CharacterDataTest.java on lines 42..60
              LoboUnitTest/src/test/java/org/loboevolution/dom/CharacterDataTest.java on lines 303..321
              LoboUnitTest/src/test/java/org/loboevolution/dom/DOMParserTest.java on lines 98..115
              LoboUnitTest/src/test/java/org/loboevolution/dom/DOMParserTest.java on lines 117..134
              LoboUnitTest/src/test/java/org/loboevolution/dom/DOMParserTest.java on lines 136..153
              LoboUnitTest/src/test/java/org/loboevolution/dom/DOMParserTest.java on lines 155..172
              LoboUnitTest/src/test/java/org/loboevolution/dom/DOMParserTest.java on lines 174..191
              LoboUnitTest/src/test/java/org/loboevolution/dom/DOMParserTest.java on lines 265..282
              LoboUnitTest/src/test/java/org/loboevolution/dom/DOMParserTest.java on lines 312..329
              LoboUnitTest/src/test/java/org/loboevolution/dom/DOMTokenListTest.java on lines 703..721
              LoboUnitTest/src/test/java/org/loboevolution/dom/Document2Test.java on lines 335..353
              LoboUnitTest/src/test/java/org/loboevolution/dom/Document2Test.java on lines 376..394
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 600..618
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 795..814
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 1538..1555
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 1819..1837
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 1951..1968
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 2048..2065
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 2200..2218
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 2244..2262
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 2264..2282
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 2284..2302
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 2304..2322
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 2324..2342
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 2344..2362
              LoboUnitTest/src/test/java/org/loboevolution/dom/EventNodeTest.java on lines 42..60
              LoboUnitTest/src/test/java/org/loboevolution/dom/MutationObserverTest.java on lines 41..59
              LoboUnitTest/src/test/java/org/loboevolution/dom/NodeListTest.java on lines 509..526
              LoboUnitTest/src/test/java/org/loboevolution/dom/NodeTest.java on lines 96..113
              LoboUnitTest/src/test/java/org/loboevolution/dom/NodeTest.java on lines 261..278
              LoboUnitTest/src/test/java/org/loboevolution/dom/NodeTest.java on lines 844..861
              LoboUnitTest/src/test/java/org/loboevolution/dom/TextRangeTest.java on lines 243..260
              LoboUnitTest/src/test/java/org/loboevolution/event/KeyboardEventTest.java on lines 286..302
              LoboUnitTest/src/test/java/org/loboevolution/event/MessageEventTest.java on lines 99..116
              LoboUnitTest/src/test/java/org/loboevolution/event/MouseEventTest.java on lines 206..222
              LoboUnitTest/src/test/java/org/loboevolution/event/UIEventTest.java on lines 98..114
              LoboUnitTest/src/test/java/org/loboevolution/event/UIEventTest.java on lines 116..132
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLAllCollectionTest.java on lines 434..450
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLBodyElementTest.java on lines 302..320
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLCollectionTest.java on lines 76..94
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 315..332
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 616..632
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 854..871
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 1337..1355
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 1638..1655
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 1877..1893
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 2197..2214
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentWriteTest.java on lines 61..78
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentWriteTest.java on lines 211..229
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentWriteTest.java on lines 231..249
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElement2Test.java on lines 545..562
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElement2Test.java on lines 877..894
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElement2Test.java on lines 1084..1101
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 838..853
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 1469..1485
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 1487..1503
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 1976..1992
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 2098..2114
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 2169..2185
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 2391..2408
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 2451..2469
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 2678..2695
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 2938..2954
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 3166..3183
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 3522..3537
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 3539..3554
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 3795..3812
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLFormElementTest.java on lines 501..518
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLHRElementTest.java on lines 42..60
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLIFrameElement3Test.java on lines 96..113
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLIFrameElement3Test.java on lines 285..303
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLIFrameElement3Test.java on lines 305..323
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLIFrameElement3Test.java on lines 325..343
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLImageElement2Test.java on lines 41..58
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLImageElementTest.java on lines 227..245
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLImageElementTest.java on lines 604..622
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLImageElementTest.java on lines 648..666
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLInputElementTest.java on lines 989..1007
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLInputElementTest.java on lines 1009..1027
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLInputElementTest.java on lines 1216..1234
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLInputElementTest.java on lines 1912..1931
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLMediaElementTest.java on lines 125..142
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLMetaElementTest.java on lines 68..86
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLObjectElement2Test.java on lines 60..77
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLOptionElement2Test.java on lines 363..379
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLScriptElementTest.java on lines 422..440
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLScriptElementTest.java on lines 445..463
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLScriptElementTest.java on lines 699..717
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLSelectElementTest.java on lines 1502..1520
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLSelectElementTest.java on lines 2126..2144
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLStyleElementTest.java on lines 224..242
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLTableColElementTest.java on lines 297..315
              LoboUnitTest/src/test/java/org/loboevolution/xml/XMLDocumentTest.java on lines 767..784
              LoboUnitTest/src/test/java/org/loboevolution/xml/XMLSerializerTest.java on lines 41..58
              LoboUnitTest/src/test/java/org/loboevolution/xml/XMLSerializerTest.java on lines 60..77
              LoboUnitTest/src/test/java/org/loboevolution/xml/XMLSerializerTest.java on lines 80..97

              Duplicated Code

              Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

              Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

              When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

              Tuning

              This issue has a mass of 61.

              We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

              The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

              If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

              See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

              Refactorings

              Further Reading

              Similar blocks of code found in 3 locations. Consider refactoring.
              Open

                  private void doTestQuerySelectorBadSelector(final String selector) {
                      final String html = "<html><body><script>\n"
                              + "try {\n"
                              + "  document.querySelector('" + selector + "');\n"
                              + "  alert('working: " + selector + "');\n"
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElement2Test.java on lines 1118..1127
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElement2Test.java on lines 1137..1146

              Duplicated Code

              Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

              Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

              When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

              Tuning

              This issue has a mass of 54.

              We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

              The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

              If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

              See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

              Refactorings

              Further Reading

              Similar blocks of code found in 49 locations. Consider refactoring.
              Open

                  @Test
                  @Alerts({"", "test2=1", ""})
                  public void writeCookieExpired() {
                      final String html = "<html><body>\n"
                              + "    <script>\n"
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleDeclarationTest.java on lines 475..489
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleDeclarationTest.java on lines 525..537
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSTest.java on lines 95..109
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSTest.java on lines 112..126
              LoboUnitTest/src/test/java/org/loboevolution/css/ComputedCSSStyleDeclarationTest.java on lines 1071..1083
              LoboUnitTest/src/test/java/org/loboevolution/css/ComputedCSSStyleDeclarationTest.java on lines 2087..2100
              LoboUnitTest/src/test/java/org/loboevolution/dom/Document2Test.java on lines 302..315
              LoboUnitTest/src/test/java/org/loboevolution/dom/Document2Test.java on lines 396..410
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 687..701
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 1839..1851
              LoboUnitTest/src/test/java/org/loboevolution/dom/NodeTest.java on lines 218..231
              LoboUnitTest/src/test/java/org/loboevolution/dom/SelectionTest.java on lines 172..187
              LoboUnitTest/src/test/java/org/loboevolution/dom/TreeWalkerTest.java on lines 208..222
              LoboUnitTest/src/test/java/org/loboevolution/dom/TreeWalkerTest.java on lines 393..406
              LoboUnitTest/src/test/java/org/loboevolution/event/EventTest.java on lines 262..275
              LoboUnitTest/src/test/java/org/loboevolution/event/EventTest.java on lines 290..303
              LoboUnitTest/src/test/java/org/loboevolution/event/EventTest.java on lines 533..547
              LoboUnitTest/src/test/java/org/loboevolution/event/EventTest.java on lines 703..718
              LoboUnitTest/src/test/java/org/loboevolution/event/UIEventTest.java on lines 193..208
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLBRElementTest.java on lines 95..109
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLCollectionTest.java on lines 226..239
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLCollectionTest.java on lines 293..306
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 48..62
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 265..278
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 301..313
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 649..662
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 1108..1121
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 1985..1998
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 2230..2243
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElement2Test.java on lines 585..598
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 163..176
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 619..633
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLFormElementTest.java on lines 1023..1037
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLHtmlElementTest.java on lines 73..86
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLImageElementTest.java on lines 143..157
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLImageElementTest.java on lines 159..173
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLScriptElementTest.java on lines 125..139
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLScriptElementTest.java on lines 141..155
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLScriptElementTest.java on lines 290..304
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLScriptElementTest.java on lines 1180..1193
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLTableElementTest.java on lines 510..524
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLTableElementTest.java on lines 526..540
              LoboUnitTest/src/test/java/org/loboevolution/worker/DedicatedWorkerGlobalScopeTest.java on lines 93..106
              LoboUnitTest/src/test/java/org/loboevolution/worker/DedicatedWorkerGlobalScopeTest.java on lines 108..121
              LoboUnitTest/src/test/java/org/loboevolution/worker/DedicatedWorkerGlobalScopeTest.java on lines 123..136
              LoboUnitTest/src/test/java/org/loboevolution/xml/XMLSerializerTest.java on lines 114..126
              LoboUnitTest/src/test/java/org/loboevolution/xml/XMLSerializerTest.java on lines 196..208
              LoboUnitTest/src/test/java/org/loboevolution/xml/XMLSerializerTest.java on lines 245..257

              Duplicated Code

              Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

              Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

              When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

              Tuning

              This issue has a mass of 45.

              We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

              The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

              If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

              See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

              Refactorings

              Further Reading

              Similar blocks of code found in 49 locations. Consider refactoring.
              Open

                  @Test
                  @Alerts("myFrameset")
                  public void bodyFrameset() {
                      final String html = "<html><head>\n"
                              + "    <script>\n"
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleDeclarationTest.java on lines 475..489
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleDeclarationTest.java on lines 525..537
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSTest.java on lines 95..109
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSTest.java on lines 112..126
              LoboUnitTest/src/test/java/org/loboevolution/css/ComputedCSSStyleDeclarationTest.java on lines 1071..1083
              LoboUnitTest/src/test/java/org/loboevolution/css/ComputedCSSStyleDeclarationTest.java on lines 2087..2100
              LoboUnitTest/src/test/java/org/loboevolution/dom/Document2Test.java on lines 302..315
              LoboUnitTest/src/test/java/org/loboevolution/dom/Document2Test.java on lines 396..410
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 687..701
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 1839..1851
              LoboUnitTest/src/test/java/org/loboevolution/dom/NodeTest.java on lines 218..231
              LoboUnitTest/src/test/java/org/loboevolution/dom/SelectionTest.java on lines 172..187
              LoboUnitTest/src/test/java/org/loboevolution/dom/TreeWalkerTest.java on lines 208..222
              LoboUnitTest/src/test/java/org/loboevolution/dom/TreeWalkerTest.java on lines 393..406
              LoboUnitTest/src/test/java/org/loboevolution/event/EventTest.java on lines 262..275
              LoboUnitTest/src/test/java/org/loboevolution/event/EventTest.java on lines 290..303
              LoboUnitTest/src/test/java/org/loboevolution/event/EventTest.java on lines 533..547
              LoboUnitTest/src/test/java/org/loboevolution/event/EventTest.java on lines 703..718
              LoboUnitTest/src/test/java/org/loboevolution/event/UIEventTest.java on lines 193..208
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLBRElementTest.java on lines 95..109
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLCollectionTest.java on lines 226..239
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLCollectionTest.java on lines 293..306
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 48..62
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 265..278
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 301..313
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 649..662
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 1108..1121
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 1357..1370
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 1985..1998
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElement2Test.java on lines 585..598
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 163..176
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 619..633
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLFormElementTest.java on lines 1023..1037
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLHtmlElementTest.java on lines 73..86
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLImageElementTest.java on lines 143..157
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLImageElementTest.java on lines 159..173
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLScriptElementTest.java on lines 125..139
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLScriptElementTest.java on lines 141..155
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLScriptElementTest.java on lines 290..304
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLScriptElementTest.java on lines 1180..1193
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLTableElementTest.java on lines 510..524
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLTableElementTest.java on lines 526..540
              LoboUnitTest/src/test/java/org/loboevolution/worker/DedicatedWorkerGlobalScopeTest.java on lines 93..106
              LoboUnitTest/src/test/java/org/loboevolution/worker/DedicatedWorkerGlobalScopeTest.java on lines 108..121
              LoboUnitTest/src/test/java/org/loboevolution/worker/DedicatedWorkerGlobalScopeTest.java on lines 123..136
              LoboUnitTest/src/test/java/org/loboevolution/xml/XMLSerializerTest.java on lines 114..126
              LoboUnitTest/src/test/java/org/loboevolution/xml/XMLSerializerTest.java on lines 196..208
              LoboUnitTest/src/test/java/org/loboevolution/xml/XMLSerializerTest.java on lines 245..257

              Duplicated Code

              Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

              Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

              When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

              Tuning

              This issue has a mass of 45.

              We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

              The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

              If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

              See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

              Refactorings

              Further Reading

              Similar blocks of code found in 49 locations. Consider refactoring.
              Open

                  @Test
                  @Alerts("http://myotherwebsite.com/foo")
                  public void baseURIWithBaseTag() {
                      final String html = "<html>\n"
                              + "<head>\n"
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleDeclarationTest.java on lines 475..489
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleDeclarationTest.java on lines 525..537
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSTest.java on lines 95..109
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSTest.java on lines 112..126
              LoboUnitTest/src/test/java/org/loboevolution/css/ComputedCSSStyleDeclarationTest.java on lines 1071..1083
              LoboUnitTest/src/test/java/org/loboevolution/css/ComputedCSSStyleDeclarationTest.java on lines 2087..2100
              LoboUnitTest/src/test/java/org/loboevolution/dom/Document2Test.java on lines 302..315
              LoboUnitTest/src/test/java/org/loboevolution/dom/Document2Test.java on lines 396..410
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 687..701
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 1839..1851
              LoboUnitTest/src/test/java/org/loboevolution/dom/NodeTest.java on lines 218..231
              LoboUnitTest/src/test/java/org/loboevolution/dom/SelectionTest.java on lines 172..187
              LoboUnitTest/src/test/java/org/loboevolution/dom/TreeWalkerTest.java on lines 208..222
              LoboUnitTest/src/test/java/org/loboevolution/dom/TreeWalkerTest.java on lines 393..406
              LoboUnitTest/src/test/java/org/loboevolution/event/EventTest.java on lines 262..275
              LoboUnitTest/src/test/java/org/loboevolution/event/EventTest.java on lines 290..303
              LoboUnitTest/src/test/java/org/loboevolution/event/EventTest.java on lines 533..547
              LoboUnitTest/src/test/java/org/loboevolution/event/EventTest.java on lines 703..718
              LoboUnitTest/src/test/java/org/loboevolution/event/UIEventTest.java on lines 193..208
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLBRElementTest.java on lines 95..109
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLCollectionTest.java on lines 226..239
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLCollectionTest.java on lines 293..306
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 48..62
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 265..278
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 301..313
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 649..662
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 1108..1121
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 1357..1370
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 2230..2243
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElement2Test.java on lines 585..598
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 163..176
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 619..633
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLFormElementTest.java on lines 1023..1037
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLHtmlElementTest.java on lines 73..86
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLImageElementTest.java on lines 143..157
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLImageElementTest.java on lines 159..173
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLScriptElementTest.java on lines 125..139
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLScriptElementTest.java on lines 141..155
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLScriptElementTest.java on lines 290..304
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLScriptElementTest.java on lines 1180..1193
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLTableElementTest.java on lines 510..524
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLTableElementTest.java on lines 526..540
              LoboUnitTest/src/test/java/org/loboevolution/worker/DedicatedWorkerGlobalScopeTest.java on lines 93..106
              LoboUnitTest/src/test/java/org/loboevolution/worker/DedicatedWorkerGlobalScopeTest.java on lines 108..121
              LoboUnitTest/src/test/java/org/loboevolution/worker/DedicatedWorkerGlobalScopeTest.java on lines 123..136
              LoboUnitTest/src/test/java/org/loboevolution/xml/XMLSerializerTest.java on lines 114..126
              LoboUnitTest/src/test/java/org/loboevolution/xml/XMLSerializerTest.java on lines 196..208
              LoboUnitTest/src/test/java/org/loboevolution/xml/XMLSerializerTest.java on lines 245..257

              Duplicated Code

              Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

              Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

              When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

              Tuning

              This issue has a mass of 45.

              We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

              The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

              If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

              See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

              Refactorings

              Further Reading

              Similar blocks of code found in 49 locations. Consider refactoring.
              Open

                  @Test
                  @Alerts("[object SVGRectElement]")
                  public void createElementNS() {
                      final String html = "<html><head>\n"
                              + "    <script>\n"
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleDeclarationTest.java on lines 475..489
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleDeclarationTest.java on lines 525..537
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSTest.java on lines 95..109
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSTest.java on lines 112..126
              LoboUnitTest/src/test/java/org/loboevolution/css/ComputedCSSStyleDeclarationTest.java on lines 1071..1083
              LoboUnitTest/src/test/java/org/loboevolution/css/ComputedCSSStyleDeclarationTest.java on lines 2087..2100
              LoboUnitTest/src/test/java/org/loboevolution/dom/Document2Test.java on lines 302..315
              LoboUnitTest/src/test/java/org/loboevolution/dom/Document2Test.java on lines 396..410
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 687..701
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 1839..1851
              LoboUnitTest/src/test/java/org/loboevolution/dom/NodeTest.java on lines 218..231
              LoboUnitTest/src/test/java/org/loboevolution/dom/SelectionTest.java on lines 172..187
              LoboUnitTest/src/test/java/org/loboevolution/dom/TreeWalkerTest.java on lines 208..222
              LoboUnitTest/src/test/java/org/loboevolution/dom/TreeWalkerTest.java on lines 393..406
              LoboUnitTest/src/test/java/org/loboevolution/event/EventTest.java on lines 262..275
              LoboUnitTest/src/test/java/org/loboevolution/event/EventTest.java on lines 290..303
              LoboUnitTest/src/test/java/org/loboevolution/event/EventTest.java on lines 533..547
              LoboUnitTest/src/test/java/org/loboevolution/event/EventTest.java on lines 703..718
              LoboUnitTest/src/test/java/org/loboevolution/event/UIEventTest.java on lines 193..208
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLBRElementTest.java on lines 95..109
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLCollectionTest.java on lines 226..239
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLCollectionTest.java on lines 293..306
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 48..62
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 301..313
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 649..662
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 1108..1121
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 1357..1370
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 1985..1998
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 2230..2243
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElement2Test.java on lines 585..598
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 163..176
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 619..633
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLFormElementTest.java on lines 1023..1037
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLHtmlElementTest.java on lines 73..86
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLImageElementTest.java on lines 143..157
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLImageElementTest.java on lines 159..173
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLScriptElementTest.java on lines 125..139
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLScriptElementTest.java on lines 141..155
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLScriptElementTest.java on lines 290..304
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLScriptElementTest.java on lines 1180..1193
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLTableElementTest.java on lines 510..524
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLTableElementTest.java on lines 526..540
              LoboUnitTest/src/test/java/org/loboevolution/worker/DedicatedWorkerGlobalScopeTest.java on lines 93..106
              LoboUnitTest/src/test/java/org/loboevolution/worker/DedicatedWorkerGlobalScopeTest.java on lines 108..121
              LoboUnitTest/src/test/java/org/loboevolution/worker/DedicatedWorkerGlobalScopeTest.java on lines 123..136
              LoboUnitTest/src/test/java/org/loboevolution/xml/XMLSerializerTest.java on lines 114..126
              LoboUnitTest/src/test/java/org/loboevolution/xml/XMLSerializerTest.java on lines 196..208
              LoboUnitTest/src/test/java/org/loboevolution/xml/XMLSerializerTest.java on lines 245..257

              Duplicated Code

              Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

              Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

              When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

              Tuning

              This issue has a mass of 45.

              We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

              The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

              If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

              See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

              Refactorings

              Further Reading

              Similar blocks of code found in 49 locations. Consider refactoring.
              Open

                  @Test
                  @Alerts("[object HTMLDocument]")
                  public void scriptableToString() {
                      final String html =
                              "<html><head>\n"
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleDeclarationTest.java on lines 475..489
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleDeclarationTest.java on lines 525..537
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSTest.java on lines 95..109
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSTest.java on lines 112..126
              LoboUnitTest/src/test/java/org/loboevolution/css/ComputedCSSStyleDeclarationTest.java on lines 1071..1083
              LoboUnitTest/src/test/java/org/loboevolution/css/ComputedCSSStyleDeclarationTest.java on lines 2087..2100
              LoboUnitTest/src/test/java/org/loboevolution/dom/Document2Test.java on lines 302..315
              LoboUnitTest/src/test/java/org/loboevolution/dom/Document2Test.java on lines 396..410
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 687..701
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 1839..1851
              LoboUnitTest/src/test/java/org/loboevolution/dom/NodeTest.java on lines 218..231
              LoboUnitTest/src/test/java/org/loboevolution/dom/SelectionTest.java on lines 172..187
              LoboUnitTest/src/test/java/org/loboevolution/dom/TreeWalkerTest.java on lines 208..222
              LoboUnitTest/src/test/java/org/loboevolution/dom/TreeWalkerTest.java on lines 393..406
              LoboUnitTest/src/test/java/org/loboevolution/event/EventTest.java on lines 262..275
              LoboUnitTest/src/test/java/org/loboevolution/event/EventTest.java on lines 290..303
              LoboUnitTest/src/test/java/org/loboevolution/event/EventTest.java on lines 533..547
              LoboUnitTest/src/test/java/org/loboevolution/event/EventTest.java on lines 703..718
              LoboUnitTest/src/test/java/org/loboevolution/event/UIEventTest.java on lines 193..208
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLBRElementTest.java on lines 95..109
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLCollectionTest.java on lines 226..239
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLCollectionTest.java on lines 293..306
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 265..278
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 301..313
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 649..662
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 1108..1121
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 1357..1370
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 1985..1998
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 2230..2243
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElement2Test.java on lines 585..598
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 163..176
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 619..633
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLFormElementTest.java on lines 1023..1037
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLHtmlElementTest.java on lines 73..86
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLImageElementTest.java on lines 143..157
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLImageElementTest.java on lines 159..173
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLScriptElementTest.java on lines 125..139
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLScriptElementTest.java on lines 141..155
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLScriptElementTest.java on lines 290..304
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLScriptElementTest.java on lines 1180..1193
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLTableElementTest.java on lines 510..524
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLTableElementTest.java on lines 526..540
              LoboUnitTest/src/test/java/org/loboevolution/worker/DedicatedWorkerGlobalScopeTest.java on lines 93..106
              LoboUnitTest/src/test/java/org/loboevolution/worker/DedicatedWorkerGlobalScopeTest.java on lines 108..121
              LoboUnitTest/src/test/java/org/loboevolution/worker/DedicatedWorkerGlobalScopeTest.java on lines 123..136
              LoboUnitTest/src/test/java/org/loboevolution/xml/XMLSerializerTest.java on lines 114..126
              LoboUnitTest/src/test/java/org/loboevolution/xml/XMLSerializerTest.java on lines 196..208
              LoboUnitTest/src/test/java/org/loboevolution/xml/XMLSerializerTest.java on lines 245..257

              Duplicated Code

              Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

              Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

              When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

              Tuning

              This issue has a mass of 45.

              We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

              The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

              If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

              See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

              Refactorings

              Further Reading

              Similar blocks of code found in 49 locations. Consider refactoring.
              Open

                  @Test
                  @Alerts({"0", "0"})
                  public void getElementsByNameNotFound() {
                      final String html
                              = "<html><head><script>\n"
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleDeclarationTest.java on lines 475..489
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleDeclarationTest.java on lines 525..537
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSTest.java on lines 95..109
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSTest.java on lines 112..126
              LoboUnitTest/src/test/java/org/loboevolution/css/ComputedCSSStyleDeclarationTest.java on lines 1071..1083
              LoboUnitTest/src/test/java/org/loboevolution/css/ComputedCSSStyleDeclarationTest.java on lines 2087..2100
              LoboUnitTest/src/test/java/org/loboevolution/dom/Document2Test.java on lines 302..315
              LoboUnitTest/src/test/java/org/loboevolution/dom/Document2Test.java on lines 396..410
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 687..701
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 1839..1851
              LoboUnitTest/src/test/java/org/loboevolution/dom/NodeTest.java on lines 218..231
              LoboUnitTest/src/test/java/org/loboevolution/dom/SelectionTest.java on lines 172..187
              LoboUnitTest/src/test/java/org/loboevolution/dom/TreeWalkerTest.java on lines 208..222
              LoboUnitTest/src/test/java/org/loboevolution/dom/TreeWalkerTest.java on lines 393..406
              LoboUnitTest/src/test/java/org/loboevolution/event/EventTest.java on lines 262..275
              LoboUnitTest/src/test/java/org/loboevolution/event/EventTest.java on lines 290..303
              LoboUnitTest/src/test/java/org/loboevolution/event/EventTest.java on lines 533..547
              LoboUnitTest/src/test/java/org/loboevolution/event/EventTest.java on lines 703..718
              LoboUnitTest/src/test/java/org/loboevolution/event/UIEventTest.java on lines 193..208
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLBRElementTest.java on lines 95..109
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLCollectionTest.java on lines 226..239
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLCollectionTest.java on lines 293..306
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 48..62
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 265..278
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 301..313
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 1108..1121
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 1357..1370
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 1985..1998
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 2230..2243
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElement2Test.java on lines 585..598
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 163..176
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 619..633
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLFormElementTest.java on lines 1023..1037
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLHtmlElementTest.java on lines 73..86
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLImageElementTest.java on lines 143..157
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLImageElementTest.java on lines 159..173
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLScriptElementTest.java on lines 125..139
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLScriptElementTest.java on lines 141..155
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLScriptElementTest.java on lines 290..304
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLScriptElementTest.java on lines 1180..1193
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLTableElementTest.java on lines 510..524
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLTableElementTest.java on lines 526..540
              LoboUnitTest/src/test/java/org/loboevolution/worker/DedicatedWorkerGlobalScopeTest.java on lines 93..106
              LoboUnitTest/src/test/java/org/loboevolution/worker/DedicatedWorkerGlobalScopeTest.java on lines 108..121
              LoboUnitTest/src/test/java/org/loboevolution/worker/DedicatedWorkerGlobalScopeTest.java on lines 123..136
              LoboUnitTest/src/test/java/org/loboevolution/xml/XMLSerializerTest.java on lines 114..126
              LoboUnitTest/src/test/java/org/loboevolution/xml/XMLSerializerTest.java on lines 196..208
              LoboUnitTest/src/test/java/org/loboevolution/xml/XMLSerializerTest.java on lines 245..257

              Duplicated Code

              Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

              Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

              When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

              Tuning

              This issue has a mass of 45.

              We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

              The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

              If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

              See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

              Refactorings

              Further Reading

              Similar blocks of code found in 49 locations. Consider refactoring.
              Open

                  @Test
                  @Alerts("true")
                  public void hasXmlNamespaceSupport() {
                      final String html = "<html><head>\n"
                              + "    <script>\n"
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleDeclarationTest.java on lines 475..489
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleDeclarationTest.java on lines 525..537
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSTest.java on lines 95..109
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSTest.java on lines 112..126
              LoboUnitTest/src/test/java/org/loboevolution/css/ComputedCSSStyleDeclarationTest.java on lines 1071..1083
              LoboUnitTest/src/test/java/org/loboevolution/css/ComputedCSSStyleDeclarationTest.java on lines 2087..2100
              LoboUnitTest/src/test/java/org/loboevolution/dom/Document2Test.java on lines 302..315
              LoboUnitTest/src/test/java/org/loboevolution/dom/Document2Test.java on lines 396..410
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 687..701
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 1839..1851
              LoboUnitTest/src/test/java/org/loboevolution/dom/NodeTest.java on lines 218..231
              LoboUnitTest/src/test/java/org/loboevolution/dom/SelectionTest.java on lines 172..187
              LoboUnitTest/src/test/java/org/loboevolution/dom/TreeWalkerTest.java on lines 208..222
              LoboUnitTest/src/test/java/org/loboevolution/dom/TreeWalkerTest.java on lines 393..406
              LoboUnitTest/src/test/java/org/loboevolution/event/EventTest.java on lines 262..275
              LoboUnitTest/src/test/java/org/loboevolution/event/EventTest.java on lines 290..303
              LoboUnitTest/src/test/java/org/loboevolution/event/EventTest.java on lines 533..547
              LoboUnitTest/src/test/java/org/loboevolution/event/EventTest.java on lines 703..718
              LoboUnitTest/src/test/java/org/loboevolution/event/UIEventTest.java on lines 193..208
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLBRElementTest.java on lines 95..109
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLCollectionTest.java on lines 226..239
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLCollectionTest.java on lines 293..306
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 48..62
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 265..278
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 649..662
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 1108..1121
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 1357..1370
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 1985..1998
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 2230..2243
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElement2Test.java on lines 585..598
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 163..176
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 619..633
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLFormElementTest.java on lines 1023..1037
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLHtmlElementTest.java on lines 73..86
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLImageElementTest.java on lines 143..157
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLImageElementTest.java on lines 159..173
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLScriptElementTest.java on lines 125..139
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLScriptElementTest.java on lines 141..155
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLScriptElementTest.java on lines 290..304
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLScriptElementTest.java on lines 1180..1193
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLTableElementTest.java on lines 510..524
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLTableElementTest.java on lines 526..540
              LoboUnitTest/src/test/java/org/loboevolution/worker/DedicatedWorkerGlobalScopeTest.java on lines 93..106
              LoboUnitTest/src/test/java/org/loboevolution/worker/DedicatedWorkerGlobalScopeTest.java on lines 108..121
              LoboUnitTest/src/test/java/org/loboevolution/worker/DedicatedWorkerGlobalScopeTest.java on lines 123..136
              LoboUnitTest/src/test/java/org/loboevolution/xml/XMLSerializerTest.java on lines 114..126
              LoboUnitTest/src/test/java/org/loboevolution/xml/XMLSerializerTest.java on lines 196..208
              LoboUnitTest/src/test/java/org/loboevolution/xml/XMLSerializerTest.java on lines 245..257

              Duplicated Code

              Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

              Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

              When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

              Tuning

              This issue has a mass of 45.

              We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

              The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

              If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

              See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

              Refactorings

              Further Reading

              Similar blocks of code found in 49 locations. Consider refactoring.
              Open

                  @Test
                  @Alerts("[object NodeList]")
                  public void querySelectorAllType() {
                      final String html = "<html><head>\n"
                              + "    <script>\n"
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleDeclarationTest.java on lines 475..489
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleDeclarationTest.java on lines 525..537
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSTest.java on lines 95..109
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSTest.java on lines 112..126
              LoboUnitTest/src/test/java/org/loboevolution/css/ComputedCSSStyleDeclarationTest.java on lines 1071..1083
              LoboUnitTest/src/test/java/org/loboevolution/css/ComputedCSSStyleDeclarationTest.java on lines 2087..2100
              LoboUnitTest/src/test/java/org/loboevolution/dom/Document2Test.java on lines 302..315
              LoboUnitTest/src/test/java/org/loboevolution/dom/Document2Test.java on lines 396..410
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 687..701
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 1839..1851
              LoboUnitTest/src/test/java/org/loboevolution/dom/NodeTest.java on lines 218..231
              LoboUnitTest/src/test/java/org/loboevolution/dom/SelectionTest.java on lines 172..187
              LoboUnitTest/src/test/java/org/loboevolution/dom/TreeWalkerTest.java on lines 208..222
              LoboUnitTest/src/test/java/org/loboevolution/dom/TreeWalkerTest.java on lines 393..406
              LoboUnitTest/src/test/java/org/loboevolution/event/EventTest.java on lines 262..275
              LoboUnitTest/src/test/java/org/loboevolution/event/EventTest.java on lines 290..303
              LoboUnitTest/src/test/java/org/loboevolution/event/EventTest.java on lines 533..547
              LoboUnitTest/src/test/java/org/loboevolution/event/EventTest.java on lines 703..718
              LoboUnitTest/src/test/java/org/loboevolution/event/UIEventTest.java on lines 193..208
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLBRElementTest.java on lines 95..109
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLCollectionTest.java on lines 226..239
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLCollectionTest.java on lines 293..306
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 48..62
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 265..278
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 301..313
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 649..662
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 1357..1370
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 1985..1998
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 2230..2243
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElement2Test.java on lines 585..598
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 163..176
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 619..633
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLFormElementTest.java on lines 1023..1037
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLHtmlElementTest.java on lines 73..86
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLImageElementTest.java on lines 143..157
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLImageElementTest.java on lines 159..173
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLScriptElementTest.java on lines 125..139
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLScriptElementTest.java on lines 141..155
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLScriptElementTest.java on lines 290..304
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLScriptElementTest.java on lines 1180..1193
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLTableElementTest.java on lines 510..524
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLTableElementTest.java on lines 526..540
              LoboUnitTest/src/test/java/org/loboevolution/worker/DedicatedWorkerGlobalScopeTest.java on lines 93..106
              LoboUnitTest/src/test/java/org/loboevolution/worker/DedicatedWorkerGlobalScopeTest.java on lines 108..121
              LoboUnitTest/src/test/java/org/loboevolution/worker/DedicatedWorkerGlobalScopeTest.java on lines 123..136
              LoboUnitTest/src/test/java/org/loboevolution/xml/XMLSerializerTest.java on lines 114..126
              LoboUnitTest/src/test/java/org/loboevolution/xml/XMLSerializerTest.java on lines 196..208
              LoboUnitTest/src/test/java/org/loboevolution/xml/XMLSerializerTest.java on lines 245..257

              Duplicated Code

              Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

              Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

              When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

              Tuning

              This issue has a mass of 45.

              We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

              The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

              If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

              See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

              Refactorings

              Further Reading

              Similar blocks of code found in 36 locations. Consider refactoring.
              Open

                  @Test
                  @Alerts("[object HTMLAllCollection]")
                  public void allscriptableToString() {
                      final String html = "<html><head>"
                              + "<script>\n"
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSCharsetRuleTest.java on lines 42..55
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleDeclarationTest.java on lines 827..838
              LoboUnitTest/src/test/java/org/loboevolution/dom/AttrTest.java on lines 166..179
              LoboUnitTest/src/test/java/org/loboevolution/dom/CommentTest.java on lines 56..69
              LoboUnitTest/src/test/java/org/loboevolution/dom/CommentTest.java on lines 71..83
              LoboUnitTest/src/test/java/org/loboevolution/dom/DOMImplementationTest.java on lines 214..226
              LoboUnitTest/src/test/java/org/loboevolution/dom/Document2Test.java on lines 412..425
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 620..634
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 671..684
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 1109..1122
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 1404..1417
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 1419..1431
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 1433..1445
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 1447..1459
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 1573..1586
              LoboUnitTest/src/test/java/org/loboevolution/dom/NodeFilterTest.java on lines 62..74
              LoboUnitTest/src/test/java/org/loboevolution/dom/RangeTest.java on lines 192..204
              LoboUnitTest/src/test/java/org/loboevolution/dom/SelectionTest.java on lines 55..66
              LoboUnitTest/src/test/java/org/loboevolution/dom/SelectionTest.java on lines 156..170
              LoboUnitTest/src/test/java/org/loboevolution/dom/SelectionTest.java on lines 189..202
              LoboUnitTest/src/test/java/org/loboevolution/event/BeforeUnloadEventTest.java on lines 134..146
              LoboUnitTest/src/test/java/org/loboevolution/event/EventTest.java on lines 580..593
              LoboUnitTest/src/test/java/org/loboevolution/event/HashChangeEventTest.java on lines 177..189
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 251..263
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 433..445
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 590..601
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 2000..2012
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 2216..2228
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 931..942
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 947..959
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 2923..2936
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLIFrameElement2Test.java on lines 59..72
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLIFrameElement2Test.java on lines 89..101
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLTemplateElementTest.java on lines 40..53
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLVideoElementTest.java on lines 41..54

              Duplicated Code

              Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

              Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

              When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

              Tuning

              This issue has a mass of 41.

              We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

              The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

              If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

              See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

              Refactorings

              Further Reading

              Similar blocks of code found in 36 locations. Consider refactoring.
              Open

                  @Test
                  @Alerts("false")
                  public void allDetection() {
                      final String html = "<html><head>"
                              + "<script>\n"
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSCharsetRuleTest.java on lines 42..55
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleDeclarationTest.java on lines 827..838
              LoboUnitTest/src/test/java/org/loboevolution/dom/AttrTest.java on lines 166..179
              LoboUnitTest/src/test/java/org/loboevolution/dom/CommentTest.java on lines 56..69
              LoboUnitTest/src/test/java/org/loboevolution/dom/CommentTest.java on lines 71..83
              LoboUnitTest/src/test/java/org/loboevolution/dom/DOMImplementationTest.java on lines 214..226
              LoboUnitTest/src/test/java/org/loboevolution/dom/Document2Test.java on lines 412..425
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 620..634
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 671..684
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 1109..1122
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 1404..1417
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 1419..1431
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 1433..1445
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 1447..1459
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 1573..1586
              LoboUnitTest/src/test/java/org/loboevolution/dom/NodeFilterTest.java on lines 62..74
              LoboUnitTest/src/test/java/org/loboevolution/dom/RangeTest.java on lines 192..204
              LoboUnitTest/src/test/java/org/loboevolution/dom/SelectionTest.java on lines 55..66
              LoboUnitTest/src/test/java/org/loboevolution/dom/SelectionTest.java on lines 156..170
              LoboUnitTest/src/test/java/org/loboevolution/dom/SelectionTest.java on lines 189..202
              LoboUnitTest/src/test/java/org/loboevolution/event/BeforeUnloadEventTest.java on lines 134..146
              LoboUnitTest/src/test/java/org/loboevolution/event/EventTest.java on lines 580..593
              LoboUnitTest/src/test/java/org/loboevolution/event/HashChangeEventTest.java on lines 177..189
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 251..263
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 433..445
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 603..614
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 2000..2012
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 2216..2228
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 931..942
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 947..959
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 2923..2936
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLIFrameElement2Test.java on lines 59..72
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLIFrameElement2Test.java on lines 89..101
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLTemplateElementTest.java on lines 40..53
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLVideoElementTest.java on lines 41..54

              Duplicated Code

              Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

              Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

              When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

              Tuning

              This issue has a mass of 41.

              We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

              The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

              If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

              See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

              Refactorings

              Further Reading

              Similar blocks of code found in 36 locations. Consider refactoring.
              Open

                  @Test
                  @Alerts("[object SVGSVGElement]")
                  public void createDocumentNSsvg() {
                      final String html = "<html><body>\n"
                              + "    <script>\n"
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSCharsetRuleTest.java on lines 42..55
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleDeclarationTest.java on lines 827..838
              LoboUnitTest/src/test/java/org/loboevolution/dom/AttrTest.java on lines 166..179
              LoboUnitTest/src/test/java/org/loboevolution/dom/CommentTest.java on lines 56..69
              LoboUnitTest/src/test/java/org/loboevolution/dom/CommentTest.java on lines 71..83
              LoboUnitTest/src/test/java/org/loboevolution/dom/DOMImplementationTest.java on lines 214..226
              LoboUnitTest/src/test/java/org/loboevolution/dom/Document2Test.java on lines 412..425
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 620..634
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 671..684
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 1109..1122
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 1404..1417
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 1419..1431
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 1433..1445
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 1447..1459
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 1573..1586
              LoboUnitTest/src/test/java/org/loboevolution/dom/NodeFilterTest.java on lines 62..74
              LoboUnitTest/src/test/java/org/loboevolution/dom/RangeTest.java on lines 192..204
              LoboUnitTest/src/test/java/org/loboevolution/dom/SelectionTest.java on lines 55..66
              LoboUnitTest/src/test/java/org/loboevolution/dom/SelectionTest.java on lines 156..170
              LoboUnitTest/src/test/java/org/loboevolution/dom/SelectionTest.java on lines 189..202
              LoboUnitTest/src/test/java/org/loboevolution/event/BeforeUnloadEventTest.java on lines 134..146
              LoboUnitTest/src/test/java/org/loboevolution/event/EventTest.java on lines 580..593
              LoboUnitTest/src/test/java/org/loboevolution/event/HashChangeEventTest.java on lines 177..189
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 433..445
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 590..601
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 603..614
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 2000..2012
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 2216..2228
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 931..942
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 947..959
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 2923..2936
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLIFrameElement2Test.java on lines 59..72
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLIFrameElement2Test.java on lines 89..101
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLTemplateElementTest.java on lines 40..53
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLVideoElementTest.java on lines 41..54

              Duplicated Code

              Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

              Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

              When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

              Tuning

              This issue has a mass of 41.

              We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

              The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

              If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

              See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

              Refactorings

              Further Reading

              Similar blocks of code found in 36 locations. Consider refactoring.
              Open

                  @Test
                  @Alerts("http://myotherwebsite.com/foo")
                  public void baseURIWithBaseTagInBody() {
                      final String html = "<html>\n"
                              + "<body>\n"
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSCharsetRuleTest.java on lines 42..55
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleDeclarationTest.java on lines 827..838
              LoboUnitTest/src/test/java/org/loboevolution/dom/AttrTest.java on lines 166..179
              LoboUnitTest/src/test/java/org/loboevolution/dom/CommentTest.java on lines 56..69
              LoboUnitTest/src/test/java/org/loboevolution/dom/CommentTest.java on lines 71..83
              LoboUnitTest/src/test/java/org/loboevolution/dom/DOMImplementationTest.java on lines 214..226
              LoboUnitTest/src/test/java/org/loboevolution/dom/Document2Test.java on lines 412..425
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 620..634
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 671..684
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 1109..1122
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 1404..1417
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 1419..1431
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 1433..1445
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 1447..1459
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 1573..1586
              LoboUnitTest/src/test/java/org/loboevolution/dom/NodeFilterTest.java on lines 62..74
              LoboUnitTest/src/test/java/org/loboevolution/dom/RangeTest.java on lines 192..204
              LoboUnitTest/src/test/java/org/loboevolution/dom/SelectionTest.java on lines 55..66
              LoboUnitTest/src/test/java/org/loboevolution/dom/SelectionTest.java on lines 156..170
              LoboUnitTest/src/test/java/org/loboevolution/dom/SelectionTest.java on lines 189..202
              LoboUnitTest/src/test/java/org/loboevolution/event/BeforeUnloadEventTest.java on lines 134..146
              LoboUnitTest/src/test/java/org/loboevolution/event/EventTest.java on lines 580..593
              LoboUnitTest/src/test/java/org/loboevolution/event/HashChangeEventTest.java on lines 177..189
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 251..263
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 433..445
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 590..601
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 603..614
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 2216..2228
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 931..942
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 947..959
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 2923..2936
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLIFrameElement2Test.java on lines 59..72
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLIFrameElement2Test.java on lines 89..101
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLTemplateElementTest.java on lines 40..53
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLVideoElementTest.java on lines 41..54

              Duplicated Code

              Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

              Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

              When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

              Tuning

              This issue has a mass of 41.

              We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

              The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

              If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

              See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

              Refactorings

              Further Reading

              Similar blocks of code found in 36 locations. Consider refactoring.
              Open

                  @Test
                  @Alerts("myBody")
                  public void body() {
                      final String html = "<html><head>\n"
                              + "    <script>\n"
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSCharsetRuleTest.java on lines 42..55
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleDeclarationTest.java on lines 827..838
              LoboUnitTest/src/test/java/org/loboevolution/dom/AttrTest.java on lines 166..179
              LoboUnitTest/src/test/java/org/loboevolution/dom/CommentTest.java on lines 56..69
              LoboUnitTest/src/test/java/org/loboevolution/dom/CommentTest.java on lines 71..83
              LoboUnitTest/src/test/java/org/loboevolution/dom/DOMImplementationTest.java on lines 214..226
              LoboUnitTest/src/test/java/org/loboevolution/dom/Document2Test.java on lines 412..425
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 620..634
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 671..684
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 1109..1122
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 1404..1417
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 1419..1431
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 1433..1445
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 1447..1459
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 1573..1586
              LoboUnitTest/src/test/java/org/loboevolution/dom/NodeFilterTest.java on lines 62..74
              LoboUnitTest/src/test/java/org/loboevolution/dom/RangeTest.java on lines 192..204
              LoboUnitTest/src/test/java/org/loboevolution/dom/SelectionTest.java on lines 55..66
              LoboUnitTest/src/test/java/org/loboevolution/dom/SelectionTest.java on lines 156..170
              LoboUnitTest/src/test/java/org/loboevolution/dom/SelectionTest.java on lines 189..202
              LoboUnitTest/src/test/java/org/loboevolution/event/BeforeUnloadEventTest.java on lines 134..146
              LoboUnitTest/src/test/java/org/loboevolution/event/EventTest.java on lines 580..593
              LoboUnitTest/src/test/java/org/loboevolution/event/HashChangeEventTest.java on lines 177..189
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 251..263
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 433..445
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 590..601
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 603..614
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 2000..2012
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 931..942
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 947..959
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 2923..2936
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLIFrameElement2Test.java on lines 59..72
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLIFrameElement2Test.java on lines 89..101
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLTemplateElementTest.java on lines 40..53
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLVideoElementTest.java on lines 41..54

              Duplicated Code

              Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

              Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

              When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

              Tuning

              This issue has a mass of 41.

              We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

              The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

              If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

              See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

              Refactorings

              Further Reading

              Similar blocks of code found in 36 locations. Consider refactoring.
              Open

                  @Test
                  @Alerts("exception")
                  public void documentMethodsWithoutDocument() {
                      final String html
                              = "<div id='d' name='d'>d</div>\n"
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSCharsetRuleTest.java on lines 42..55
              LoboUnitTest/src/test/java/org/loboevolution/css/CSSStyleDeclarationTest.java on lines 827..838
              LoboUnitTest/src/test/java/org/loboevolution/dom/AttrTest.java on lines 166..179
              LoboUnitTest/src/test/java/org/loboevolution/dom/CommentTest.java on lines 56..69
              LoboUnitTest/src/test/java/org/loboevolution/dom/CommentTest.java on lines 71..83
              LoboUnitTest/src/test/java/org/loboevolution/dom/DOMImplementationTest.java on lines 214..226
              LoboUnitTest/src/test/java/org/loboevolution/dom/Document2Test.java on lines 412..425
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 620..634
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 671..684
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 1109..1122
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 1404..1417
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 1419..1431
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 1433..1445
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 1447..1459
              LoboUnitTest/src/test/java/org/loboevolution/dom/DocumentTest.java on lines 1573..1586
              LoboUnitTest/src/test/java/org/loboevolution/dom/NodeFilterTest.java on lines 62..74
              LoboUnitTest/src/test/java/org/loboevolution/dom/RangeTest.java on lines 192..204
              LoboUnitTest/src/test/java/org/loboevolution/dom/SelectionTest.java on lines 55..66
              LoboUnitTest/src/test/java/org/loboevolution/dom/SelectionTest.java on lines 156..170
              LoboUnitTest/src/test/java/org/loboevolution/dom/SelectionTest.java on lines 189..202
              LoboUnitTest/src/test/java/org/loboevolution/event/BeforeUnloadEventTest.java on lines 134..146
              LoboUnitTest/src/test/java/org/loboevolution/event/EventTest.java on lines 580..593
              LoboUnitTest/src/test/java/org/loboevolution/event/HashChangeEventTest.java on lines 177..189
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 251..263
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 590..601
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 603..614
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 2000..2012
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLDocumentTest.java on lines 2216..2228
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 931..942
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 947..959
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLElementTest.java on lines 2923..2936
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLIFrameElement2Test.java on lines 59..72
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLIFrameElement2Test.java on lines 89..101
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLTemplateElementTest.java on lines 40..53
              LoboUnitTest/src/test/java/org/loboevolution/html/HTMLVideoElementTest.java on lines 41..54

              Duplicated Code

              Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

              Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

              When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

              Tuning

              This issue has a mass of 41.

              We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

              The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

              If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

              See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

              Refactorings

              Further Reading

              Update this method so that its implementation is not identical to "baseURINoBaseTag" on line 1937.
              Open

                  public void baseURINoBaseTagurlParams() {

              When two methods have the same implementation, either it was a mistake - something else was intended - or the duplication was intentional, but may be confusing to maintainers. In the latter case, one implementation should invoke the other. Numerical and string literals are not taken into account.

              Noncompliant Code Example

              private final static String CODE = "bounteous";
              
              public String calculateCode() {
                doTheThing();
                return CODE;
              }
              
              public String getName() {  // Noncompliant
                doTheThing();
                return CODE;
              }
              

              Compliant Solution

              private final static String CODE = "bounteous";
              
              public String getCode() {
                doTheThing();
                return CODE;
              }
              
              public String getName() {
                return getCode();
              }
              

              Exceptions

              Methods that are not accessors (getters and setters), with fewer than 2 statements are ignored.

              Update this method so that its implementation is not identical to "encoding3" on line 1679.
              Open

                  public void encoding5() {

              When two methods have the same implementation, either it was a mistake - something else was intended - or the duplication was intentional, but may be confusing to maintainers. In the latter case, one implementation should invoke the other. Numerical and string literals are not taken into account.

              Noncompliant Code Example

              private final static String CODE = "bounteous";
              
              public String calculateCode() {
                doTheThing();
                return CODE;
              }
              
              public String getName() {  // Noncompliant
                doTheThing();
                return CODE;
              }
              

              Compliant Solution

              private final static String CODE = "bounteous";
              
              public String getCode() {
                doTheThing();
                return CODE;
              }
              
              public String getName() {
                return getCode();
              }
              

              Exceptions

              Methods that are not accessors (getters and setters), with fewer than 2 statements are ignored.

              Update this method so that its implementation is not identical to "encoding3" on line 1679.
              Open

                  public void encoding4() {

              When two methods have the same implementation, either it was a mistake - something else was intended - or the duplication was intentional, but may be confusing to maintainers. In the latter case, one implementation should invoke the other. Numerical and string literals are not taken into account.

              Noncompliant Code Example

              private final static String CODE = "bounteous";
              
              public String calculateCode() {
                doTheThing();
                return CODE;
              }
              
              public String getName() {  // Noncompliant
                doTheThing();
                return CODE;
              }
              

              Compliant Solution

              private final static String CODE = "bounteous";
              
              public String getCode() {
                doTheThing();
                return CODE;
              }
              
              public String getName() {
                return getCode();
              }
              

              Exceptions

              Methods that are not accessors (getters and setters), with fewer than 2 statements are ignored.

              Update this method so that its implementation is not identical to "baseURINoBaseTag" on line 1937.
              Open

                  public void baseURINoBaseTagurlPath() {

              When two methods have the same implementation, either it was a mistake - something else was intended - or the duplication was intentional, but may be confusing to maintainers. In the latter case, one implementation should invoke the other. Numerical and string literals are not taken into account.

              Noncompliant Code Example

              private final static String CODE = "bounteous";
              
              public String calculateCode() {
                doTheThing();
                return CODE;
              }
              
              public String getName() {  // Noncompliant
                doTheThing();
                return CODE;
              }
              

              Compliant Solution

              private final static String CODE = "bounteous";
              
              public String getCode() {
                doTheThing();
                return CODE;
              }
              
              public String getName() {
                return getCode();
              }
              

              Exceptions

              Methods that are not accessors (getters and setters), with fewer than 2 statements are ignored.

              Update this method so that its implementation is not identical to "baseURINoBaseTag" on line 1937.
              Open

                  public void baseURINoBaseTagurlPathAndParams() {

              When two methods have the same implementation, either it was a mistake - something else was intended - or the duplication was intentional, but may be confusing to maintainers. In the latter case, one implementation should invoke the other. Numerical and string literals are not taken into account.

              Noncompliant Code Example

              private final static String CODE = "bounteous";
              
              public String calculateCode() {
                doTheThing();
                return CODE;
              }
              
              public String getName() {  // Noncompliant
                doTheThing();
                return CODE;
              }
              

              Compliant Solution

              private final static String CODE = "bounteous";
              
              public String getCode() {
                doTheThing();
                return CODE;
              }
              
              public String getName() {
                return getCode();
              }
              

              Exceptions

              Methods that are not accessors (getters and setters), with fewer than 2 statements are ignored.

              There are no issues that match your filters.

              Category
              Status