From 4dfb1033abf285f31b882e613b2bb0f640af0a35 Mon Sep 17 00:00:00 2001 From: Julien Roy Date: Thu, 7 Nov 2024 15:24:05 +0100 Subject: [PATCH] Fix javadoc generation --- .github/workflows/build.yml | 2 +- pom.xml | 16 +- .../db/api/AbstractSoftAssertions.java | 10 +- .../org/assertj/db/api/ErrorCollector.java | 33 + .../assertj/db/api/ProxifyPositionResult.java | 11 +- .../org/assertj/db/api/SoftAssertions.java | 12 + .../impl/AssertionsOnRowCondition.java | 12 + .../impl/AssertionsOnTableExistence.java | 25 + .../org/assertj/db/error/ShouldSatisfy.java | 8 + .../assertj/db/output/impl/PlainOutput.java | 10 +- .../org/assertj/db/type/DateTimeValue.java | 2 +- .../java/org/assertj/db/type/DateValue.java | 2 +- src/main/java/org/assertj/db/type/Table.java | 22 +- .../java/org/assertj/db/util/Proxies.java | 16 +- src/main/javadoc/assertj-javadoc.css | 570 ------------------ src/main/javadoc/assertj-theme.css | 33 + src/main/javadoc/highlight.pack.js.txt | 13 - src/main/javadoc/hljs-theme.css | 108 ++++ .../org/assertj/db/util/Proxies_Test.java | 4 +- 19 files changed, 282 insertions(+), 627 deletions(-) delete mode 100644 src/main/javadoc/assertj-javadoc.css create mode 100644 src/main/javadoc/assertj-theme.css delete mode 100644 src/main/javadoc/highlight.pack.js.txt create mode 100644 src/main/javadoc/hljs-theme.css diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index c70800b9..eee6835c 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -27,7 +27,7 @@ jobs: run: ./mvnw -B verify javadoc:javadoc - name: Sonar Analysis if: ${{ github.event_name == 'push' || github.event.pull_request.head.repo.full_name == github.repository }} - run: ./mvnw -B sonar:sonar --file pom.xml + run: ./mvnw -B sonar:sonar env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} diff --git a/pom.xml b/pom.xml index b5681bb3..31bf642d 100644 --- a/pom.xml +++ b/pom.xml @@ -29,8 +29,6 @@ - --allow-script-in-comments - https://sonarcloud.io assertj @@ -181,19 +179,7 @@ org.apache.maven.plugins maven-javadoc-plugin - - src/main/javadoc/assertj-javadoc.css - - - ]]> - -
- hljs.initHighlightingOnLoad(); - - ]]>
- ${javadocAdditionalOptions} + ${rootDirectory}/src/main/javadoc/
diff --git a/src/main/java/org/assertj/db/api/AbstractSoftAssertions.java b/src/main/java/org/assertj/db/api/AbstractSoftAssertions.java index 7d6ccead..e614dbb5 100644 --- a/src/main/java/org/assertj/db/api/AbstractSoftAssertions.java +++ b/src/main/java/org/assertj/db/api/AbstractSoftAssertions.java @@ -21,19 +21,19 @@ * * @author Julien Roy */ -public class AbstractSoftAssertions { +class AbstractSoftAssertions { - protected final SoftProxies proxies = new SoftProxies(); + private final SoftProxies proxies = new SoftProxies(); - public V proxy(Class assertClass, Class actualClass, T actual) { + V proxy(Class assertClass, Class actualClass, T actual) { return this.proxies.create(assertClass, actualClass, actual); } - public List errorsCollected() { + List errorsCollected() { return Lists.newArrayList(this.proxies.errorsCollected()); } - public boolean wasSuccess() { + boolean wasSuccess() { return this.proxies.wasSuccess(); } } diff --git a/src/main/java/org/assertj/db/api/ErrorCollector.java b/src/main/java/org/assertj/db/api/ErrorCollector.java index 497557f6..7bc4f7f4 100644 --- a/src/main/java/org/assertj/db/api/ErrorCollector.java +++ b/src/main/java/org/assertj/db/api/ErrorCollector.java @@ -26,6 +26,8 @@ /** * Collects error messages of all AssertionErrors thrown by the proxied method. + * + * @author Julien Roy */ public class ErrorCollector { @@ -33,6 +35,12 @@ public class ErrorCollector { private static final String CLASS_NAME = ErrorCollector.class.getName(); + /** + * Construct empty error collector. + */ + public ErrorCollector() { + } + // scope : the current soft-assertion object private final List errors = new ArrayList<>(); // scope : the last assertion call (might be nested) @@ -48,6 +56,16 @@ private static int countErrorCollectorProxyCalls() { return nbCalls; } + /** + * Apply interception of assertion method to collect exception and avoid stop the assertion flow on the first error. + * + * @param assertion The assertion object proxied + * @param proxy The proxy of assertion + * @param method The method of assertion called + * @param stub The sub value if not assert method is found + * @return The current assertion object. + * @throws Exception When interception fail + */ @RuntimeType public Object intercept( @This Object assertion, @@ -73,15 +91,30 @@ public Object intercept( return assertion; } + /** + * Append new error to collection of errors. + * + * @param error Any throwable + */ public void addError(Throwable error) { errors.add(error); lastResult.recordError(); } + /** + * Return all errors collected. + * + * @return List of exception + */ public List errors() { return Collections.unmodifiableList(errors); } + /** + * Return if no error collected in this instance. + * + * @return true if no errors. + */ public boolean wasSuccess() { return lastResult.wasSuccess(); } diff --git a/src/main/java/org/assertj/db/api/ProxifyPositionResult.java b/src/main/java/org/assertj/db/api/ProxifyPositionResult.java index 4b390240..85244aac 100644 --- a/src/main/java/org/assertj/db/api/ProxifyPositionResult.java +++ b/src/main/java/org/assertj/db/api/ProxifyPositionResult.java @@ -12,7 +12,7 @@ */ package org.assertj.db.api; -import static org.assertj.db.util.Proxies.isProxified; +import static org.assertj.db.util.Proxies.isProxied; import static org.assertj.db.util.Proxies.unProxy; import java.util.concurrent.Callable; @@ -106,11 +106,18 @@ private static Object[] actual(Object result) { } } + /** + * Method called during interception of positional method. + * + * @param proxy Proxy method to use + * @return the object result proxied + * @throws Exception When method call fail + */ @RuntimeType public Object intercept(@SuperCall Callable proxy) throws Exception { Object result = proxy.call(); - if (isProxified(result.getClass()) || Arrays.isNullOrEmpty(actual(result))) { + if (isProxied(result.getClass()) || Arrays.isNullOrEmpty(actual(result))) { return result; } return this.proxies.create(result.getClass(), actualClass(result), actual(result)); diff --git a/src/main/java/org/assertj/db/api/SoftAssertions.java b/src/main/java/org/assertj/db/api/SoftAssertions.java index c25c4cf5..6cb17563 100644 --- a/src/main/java/org/assertj/db/api/SoftAssertions.java +++ b/src/main/java/org/assertj/db/api/SoftAssertions.java @@ -32,6 +32,13 @@ */ public final class SoftAssertions extends AbstractSoftAssertions { + /** + * Create a new SoftAssertions class that allow chain many assertion and detect all assertion failure ( not only the first one ). + */ + public SoftAssertions() { + super(); + } + /** * Creates a new instance of {@link TableAssert}. * @@ -62,6 +69,11 @@ public ChangesAssert assertThat(Changes changes) { return proxy(ChangesAssert.class, Changes.class, changes); } + /** + * Assert that all assertions succeed. + * + * @throws SoftAssertionError If any assertion failed. + */ public void assertAll() { List errors = this.errorsCollected(); if (!errors.isEmpty()) { diff --git a/src/main/java/org/assertj/db/api/assertions/impl/AssertionsOnRowCondition.java b/src/main/java/org/assertj/db/api/assertions/impl/AssertionsOnRowCondition.java index 07202754..41fdbc40 100644 --- a/src/main/java/org/assertj/db/api/assertions/impl/AssertionsOnRowCondition.java +++ b/src/main/java/org/assertj/db/api/assertions/impl/AssertionsOnRowCondition.java @@ -48,6 +48,18 @@ private AssertionsOnRowCondition() { // Empty } + /** + * Verifies that the values of a row satisfy to conditions in parameter. + * + * @param The type of the assertion which call this method. + * @param assertion The assertion which call this method. + * @param info Writable information about an assertion. + * @param valuesList The actual value to validate. + * @param expected The expected conditions. + * @return {@code this} assertion object. + * @throws AssertionError If the columns of the primary key are different to the names in parameters. + */ + @SuppressWarnings("unchecked") public static > A hasValuesSatisfying(A assertion, WritableAssertionInfo info, List valuesList, Object... expected) { diff --git a/src/main/java/org/assertj/db/api/assertions/impl/AssertionsOnTableExistence.java b/src/main/java/org/assertj/db/api/assertions/impl/AssertionsOnTableExistence.java index 39f073db..770cf4c6 100644 --- a/src/main/java/org/assertj/db/api/assertions/impl/AssertionsOnTableExistence.java +++ b/src/main/java/org/assertj/db/api/assertions/impl/AssertionsOnTableExistence.java @@ -44,6 +44,18 @@ private AssertionsOnTableExistence() { // Empty } + /** + * Verifies that the table exists. + * + * @param The type of the assertion which call this method. + * @param assertion The assertion which call this method. + * @param info Writable information about an assertion. + * @param table The table name to search in DB. + * @param source The source to connect to DB. + * @param dataSource The source to connect to DB. + * @return {@code this} assertion object. + * @throws AssertionError If the table does not exist. + */ public static > A exists(A assertion, WritableAssertionInfo info, String table, Source source, DataSource dataSource) { try (Connection connection = getConnection(source, dataSource)) { @@ -59,6 +71,19 @@ private AssertionsOnTableExistence() { return assertion; } + + /** + * Verifies that the database not contains the table. + * + * @param The type of the assertion which call this method. + * @param assertion The assertion which call this method. + * @param info Writable information about an assertion. + * @param table The table name to search in DB. + * @param source The source to connect to DB. + * @param dataSource The source to connect to DB. + * @return {@code this} assertion object. + * @throws AssertionError If the table does not exist. + */ public static > A doesNotExists(A assertion, WritableAssertionInfo info, String table, Source source, DataSource dataSource) { try (Connection connection = getConnection(source, dataSource)) { diff --git a/src/main/java/org/assertj/db/error/ShouldSatisfy.java b/src/main/java/org/assertj/db/error/ShouldSatisfy.java index e41004a7..ec47b440 100644 --- a/src/main/java/org/assertj/db/error/ShouldSatisfy.java +++ b/src/main/java/org/assertj/db/error/ShouldSatisfy.java @@ -29,6 +29,14 @@ private ShouldSatisfy(int index, Object actual, Condition condition) { super(EXPECTED_MESSAGE_WITH_INDEX, index, actual, condition); } + /** + * Verifies that the values of a row satisfy to conditions in parameter. + * + * @param index The index of properties + * @param actual The actual value that triggered assertion error. + * @param condition The condition that triggered assertion error. + * @return {@code this} condition not satisfied error message. + */ public static ErrorMessageFactory shouldSatisfy(int index, Object actual, Condition condition) { return new ShouldSatisfy(index, actual, condition); } diff --git a/src/main/java/org/assertj/db/output/impl/PlainOutput.java b/src/main/java/org/assertj/db/output/impl/PlainOutput.java index c638598c..a7b0f234 100644 --- a/src/main/java/org/assertj/db/output/impl/PlainOutput.java +++ b/src/main/java/org/assertj/db/output/impl/PlainOutput.java @@ -435,7 +435,7 @@ public String getTableOutput(WritableAssertionInfo info, Table table) { List typesList = OutputType.getTypesList(rows); int indexColumnSize = getIndexColumnSize(rows.length); StringBuilder[] pksValueStringBuilders = OutputType.getPksValueStringBuilder(rows); - int primaryKeyColumnSize = getColumnSize("PRIMARY", pksValueStringBuilders); + int primaryKeyColumnSize = getColumnSize("PRIMARY", (Object[]) pksValueStringBuilders); List sizesList = getSizesList(rows.length == 0 ? getColumnSizesList(columnsNameList) : getColumnSizesList(rows), indexColumnSize, primaryKeyColumnSize); @@ -481,7 +481,7 @@ public String getRequestOutput(WritableAssertionInfo info, Request request) { List typesList = OutputType.getTypesList(rows); int indexColumnSize = getIndexColumnSize(rows.length); StringBuilder[] pksValueStringBuilders = OutputType.getPksValueStringBuilder(rows); - int primaryKeyColumnSize = getColumnSize("PRIMARY", pksValueStringBuilders); + int primaryKeyColumnSize = getColumnSize("PRIMARY", (Object[]) pksValueStringBuilders); List sizesList = getSizesList(rows.length == 0 ? getColumnSizesList(columnsNameList) : getColumnSizesList(rows), indexColumnSize, primaryKeyColumnSize); @@ -528,7 +528,7 @@ public String getChangesOutput(WritableAssertionInfo info, Changes changes) { int changeTypeColumnSize = getChangeTypeColumnSize(changesArray); int dataTypeColumnSize = getDataTypeColumnSize(changesArray); StringBuilder[] pksValueStringBuilders = OutputType.getPksValueStringBuilder(changesArray); - int primaryKeyColumnSize = getColumnSize("PRIMARY", pksValueStringBuilders); + int primaryKeyColumnSize = getColumnSize("PRIMARY", (Object[]) pksValueStringBuilders); StringBuilder stringBuilder = new StringBuilder(); // Description @@ -598,7 +598,7 @@ public String getChangeOutput(WritableAssertionInfo info, Change change) { int changeTypeColumnSize = getColumnSize("TYPE", changeType); int dataTypeColumnSize = getColumnSize("" + dataType, dataName); - int primaryKeyColumnSize = getColumnSize("PRIMARY", pksValueStringBuilders); + int primaryKeyColumnSize = getColumnSize("PRIMARY", (Object[]) pksValueStringBuilders); List sizesList = getSizesList(getColumnSizesList(rowAtStartPoint, rowAtEndPoint), changeTypeColumnSize, dataTypeColumnSize, @@ -646,7 +646,7 @@ public String getRowOutput(WritableAssertionInfo info, Row row) { List columnsNameList = row.getColumnsNameList(); List typesList = OutputType.getTypesList(row); StringBuilder[] pksValueStringBuilders = OutputType.getPksValueStringBuilder(row); - int primaryKeyColumnSize = getColumnSize("PRIMARY", pksValueStringBuilders); + int primaryKeyColumnSize = getColumnSize("PRIMARY", (Object[]) pksValueStringBuilders); List sizesList = getSizesList(getColumnSizesList(row), primaryKeyColumnSize); diff --git a/src/main/java/org/assertj/db/type/DateTimeValue.java b/src/main/java/org/assertj/db/type/DateTimeValue.java index 95716460..1174483f 100644 --- a/src/main/java/org/assertj/db/type/DateTimeValue.java +++ b/src/main/java/org/assertj/db/type/DateTimeValue.java @@ -24,7 +24,7 @@ */ public class DateTimeValue implements Comparable, DateValueContainer { - public static final String DATE_TIME_SHOULD_BE_NOT_NULL = "date/time should be not null"; + private static final String DATE_TIME_SHOULD_BE_NOT_NULL = "date/time should be not null"; /** * Indicates where there are the digits in the {@code String} for {@link DateValue#DateValue(String)}. */ diff --git a/src/main/java/org/assertj/db/type/DateValue.java b/src/main/java/org/assertj/db/type/DateValue.java index 1e9b47db..f1827156 100644 --- a/src/main/java/org/assertj/db/type/DateValue.java +++ b/src/main/java/org/assertj/db/type/DateValue.java @@ -24,7 +24,7 @@ */ public class DateValue implements Comparable, DateValueContainer { - public static final String DATE_SHOULD_BE_NOT_NULL = "date should be not null"; + private static final String DATE_SHOULD_BE_NOT_NULL = "date should be not null"; /** * Indicates where there are the digits in the {@code String} for {@link DateValue#DateValue(String)}. */ diff --git a/src/main/java/org/assertj/db/type/Table.java b/src/main/java/org/assertj/db/type/Table.java index b86ede26..8228ea68 100644 --- a/src/main/java/org/assertj/db/type/Table.java +++ b/src/main/java/org/assertj/db/type/Table.java @@ -124,7 +124,7 @@ public Table() { * @param name Name of the table. */ public Table(Source source, String name) { - this(source, name, (String[]) null, (String[]) null); + this(source, name, null, (String[]) null); } /** @@ -148,7 +148,7 @@ public Table(Source source, String name, String[] columnsToCheck, String[] colum * @param name Name of the table. */ public Table(DataSource dataSource, String name) { - this(dataSource, name, (String[]) null, (String[]) null); + this(dataSource, name, null, (String[]) null); } /** @@ -168,8 +168,9 @@ public Table(DataSource dataSource, String name, String[] columnsToCheck, String /** * Constructor with a {@link Source} and the name of the table. * - * @param source {@link Source} to connect to the database. - * @param name Name of the table. + * @param source {@link Source} to connect to the database. + * @param name Name of the table. + * @param columnsToOrder List of column to use as ORDER BY * @since 1.2.0 */ public Table(Source source, String name, Order[] columnsToOrder) { @@ -181,6 +182,7 @@ public Table(Source source, String name, Order[] columnsToOrder) { * * @param source {@link Source} to connect to the database. * @param name Name of the table. + * @param columnsToOrder List of column to use as ORDER BY * @param columnsToCheck Array of the name of the columns to check. If {@code null} that means to check all the * columns. * @param columnsToExclude Array of the name of the columns to exclude. If {@code null} that means to exclude no @@ -194,8 +196,9 @@ public Table(Source source, String name, Order[] columnsToOrder, String[] column /** * Constructor with a dataSource and the name of the table. * - * @param dataSource DataSource of the database. - * @param name Name of the table. + * @param dataSource DataSource of the database. + * @param name Name of the table. + * @param columnsToOrder List of column to use as ORDER BY * @since 1.2.0 */ public Table(DataSource dataSource, String name, Order[] columnsToOrder) { @@ -207,6 +210,7 @@ public Table(DataSource dataSource, String name, Order[] columnsToOrder) { * * @param dataSource DataSource of the database. * @param name Name of the table. + * @param columnsToOrder List of column to use as ORDER BY * @param columnsToCheck Array of the name of the columns to check. If {@code null} that means to check all the * columns. * @param columnsToExclude Array of the name of the columns to exclude. If {@code null} that means to exclude no @@ -286,6 +290,7 @@ public Table(DataSource dataSource, String name, Character startDelimiter, Chara * @param name Name of the table. * @param startDelimiter Start delimiter for column name and table name. * @param endDelimiter End delimiter for column name and table name. + * @param columnsToOrder List of column to use as ORDER BY * @since 1.2.0 */ public Table(Source source, String name, Character startDelimiter, Character endDelimiter, Order[] columnsToOrder) { @@ -299,6 +304,7 @@ public Table(Source source, String name, Character startDelimiter, Character end * @param name Name of the table. * @param startDelimiter Start delimiter for column name and table name. * @param endDelimiter End delimiter for column name and table name. + * @param columnsToOrder List of column to use as ORDER BY * @param columnsToCheck Array of the name of the columns to check. If {@code null} that means to check all the * columns. * @param columnsToExclude Array of the name of the columns to exclude. If {@code null} that means to exclude no @@ -323,6 +329,7 @@ public Table(Source source, String name, Character startDelimiter, Character end * @param name Name of the table. * @param startDelimiter Start delimiter for column name and table name. * @param endDelimiter End delimiter for column name and table name. + * @param columnsToOrder List of column to use as ORDER BY * @since 1.2.0 */ public Table(DataSource dataSource, String name, Character startDelimiter, Character endDelimiter, Order[] columnsToOrder) { @@ -336,6 +343,7 @@ public Table(DataSource dataSource, String name, Character startDelimiter, Chara * @param name Name of the table. * @param startDelimiter Start delimiter for column name and table name. * @param endDelimiter End delimiter for column name and table name. + * @param columnsToOrder List of column to use as ORDER BY * @param columnsToCheck Array of the name of the columns to check. If {@code null} that means to check all the * columns. * @param columnsToExclude Array of the name of the columns to exclude. If {@code null} that means to exclude no @@ -588,6 +596,7 @@ public Character getStartDelimiter() { * Sets the start delimiter for column name and table name. * * @param startDelimiter The start delimiter for column name and table name. + * @return The actual instance. * @see #getStartDelimiter() * @since 1.2.0 */ @@ -611,6 +620,7 @@ public Character getEndDelimiter() { * Sets the end delimiter for column name and table name. * * @param endDelimiter The end delimiter for column name and table name. + * @return The actual instance. * @see #getEndDelimiter() * @since 1.2.0 */ diff --git a/src/main/java/org/assertj/db/util/Proxies.java b/src/main/java/org/assertj/db/util/Proxies.java index 0c5871ae..b07fe7a2 100644 --- a/src/main/java/org/assertj/db/util/Proxies.java +++ b/src/main/java/org/assertj/db/util/Proxies.java @@ -19,15 +19,19 @@ */ public class Proxies { - public static final String BYTE_BUDDY_PATTERN = "$ByteBuddy$"; + private static final String BYTE_BUDDY_PATTERN = "$ByteBuddy$"; + + private Proxies() { + throw new IllegalStateException("Utility class"); + } /** - * Check if class is proxified. + * Check if class is proxied. * * @param clazz Class to check - * @return True if class is proxified by CGLIB + * @return True if class is proxied by CGLIB */ - public static boolean isProxified(Class clazz) { + public static boolean isProxied(Class clazz) { return clazz.getName().contains(BYTE_BUDDY_PATTERN); } @@ -37,8 +41,8 @@ public static boolean isProxified(Class clazz) { * @param clazz Clazz to evaluate * @return Class based of proxified */ - public static Class unProxy(Class clazz) { - if (isProxified(clazz)) { + public static Class unProxy(Class clazz) { + if (isProxied(clazz)) { return clazz.getSuperclass(); } return clazz; diff --git a/src/main/javadoc/assertj-javadoc.css b/src/main/javadoc/assertj-javadoc.css deleted file mode 100644 index 90d47a39..00000000 --- a/src/main/javadoc/assertj-javadoc.css +++ /dev/null @@ -1,570 +0,0 @@ -/** - * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on - * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the - * specific language governing permissions and limitations under the License. - * - * Copyright 2012-2013 the original author or authors. - */ -/* Javadoc style sheet */ -/* -Overall document style -*/ -body { - background-color:#ffffff; - color:#353833; - font-family:Arial, Helvetica, sans-serif; - font-size:90%; - margin:0; -} -a:link, a:visited { - text-decoration:none; - color:#4c6b87; -} -a:hover, a:focus { - text-decoration:none; - color:#bb7a2a; -} -a:active { - text-decoration:none; - color:#4c6b87; -} -a[name] { - color:#353833; -} -a[name]:hover { - text-decoration:none; - color:#353833; -} -pre { - font-size:1.3em; -} -h1 { - font-size:1.8em; -} -h2 { - font-size:1.5em; -} -h3 { - font-size:1.4em; -} -h4 { - font-size:1.3em; -} -h5 { - font-size:1.2em; -} -h6 { - font-size:1.1em; -} -ul { - list-style-type:disc; -} -code, tt { - font-size:1.1em; -} -dt code { - font-size:1.1em; -} -table tr td dt code { - font-size:1.1em; - vertical-align:top; -} -sup { - font-size:.6em; -} -/* -Document title and Copyright styles -*/ -.clear { - clear:both; - height:0px; - overflow:hidden; -} -.aboutLanguage { - float:right; - padding:0px 21px; - font-size:.8em; - z-index:200; - margin-top:-7px; -} -.legalCopy { - margin-left:.5em; -} -.bar a, .bar a:link, .bar a:visited, .bar a:active { - color:#FFFFFF; - text-decoration:none; -} -.bar a:hover, .bar a:focus { - color:#bb7a2a; -} -.tab { - background-color:#0066FF; - background-image:url(resources/titlebar.gif); - background-position:left top; - background-repeat:no-repeat; - color:#ffffff; - padding:8px; - width:5em; - font-weight:bold; -} -/* -Navigation bar styles -*/ -.bar { - background-image:url(resources/background.gif); - background-repeat:repeat-x; - color:#FFFFFF; - padding:.8em .5em .4em .8em; - height:auto;/*height:1.8em;*/ - font-size:1em; - margin:0; -} -.topNav { - background-image:url(resources/background.gif); - background-repeat:repeat-x; - color:#FFFFFF; - float:left; - padding:0; - width:100%; - clear:right; - height:2.8em; - padding-top:10px; - overflow:hidden; -} -.bottomNav { - margin-top:10px; - background-image:url(resources/background.gif); - background-repeat:repeat-x; - color:#FFFFFF; - float:left; - padding:0; - width:100%; - clear:right; - height:2.8em; - padding-top:10px; - overflow:hidden; -} -.subNav { - background-color:#dee3e9; - border-bottom:1px solid #9eadc0; - float:left; - width:100%; - overflow:hidden; -} -.subNav div { - clear:left; - float:left; - padding:0 0 5px 6px; -} -ul.navList, ul.subNavList { - float:left; - margin:0 25px 0 0; - padding:0; -} -ul.navList li{ - list-style:none; - float:left; - padding:3px 6px; -} -ul.subNavList li{ - list-style:none; - float:left; - font-size:90%; -} -.topNav a:link, .topNav a:active, .topNav a:visited, .bottomNav a:link, .bottomNav a:active, .bottomNav a:visited { - color:#FFFFFF; - text-decoration:none; -} -.topNav a:hover, .bottomNav a:hover { - text-decoration:none; - color:#bb7a2a; -} -.navBarCell1Rev { - background-image:url(resources/tab.gif); - background-color:#a88834; - color:#FFFFFF; - margin: auto 5px; - border:1px solid #c9aa44; -} -/* -Page header and footer styles -*/ -.header, .footer { - clear:both; - margin:0 20px; - padding:5px 0 0 0; -} -.indexHeader { - margin:10px; - position:relative; -} -.indexHeader h1 { - font-size:1.3em; -} -.title { - color:#2c4557; - margin:10px 0; -} -.subTitle { - margin:5px 0 0 0; -} -.header ul { - margin:0 0 25px 0; - padding:0; -} -.footer ul { - margin:20px 0 5px 0; -} -.header ul li, .footer ul li { - list-style:none; - font-size:1.2em; -} -/* -Heading styles -*/ -div.details ul.blockList ul.blockList ul.blockList li.blockList h4, div.details ul.blockList ul.blockList ul.blockListLast li.blockList h4 { - background-color:#dee3e9; - border-top:1px solid #9eadc0; - border-bottom:1px solid #9eadc0; - margin:0 0 6px -8px; - padding:2px 5px; -} -ul.blockList ul.blockList ul.blockList li.blockList h3 { - background-color:#dee3e9; - border-top:1px solid #9eadc0; - border-bottom:1px solid #9eadc0; - margin:0 0 6px -8px; - padding:2px 5px; -} -ul.blockList ul.blockList li.blockList h3 { - padding:0; - margin:15px 0; -} -ul.blockList li.blockList h2 { - padding:0px 0 20px 0; -} -/* -Page layout container styles -*/ -.contentContainer, .sourceContainer, .classUseContainer, .serializedFormContainer, .constantValuesContainer { - clear:both; - padding:10px 20px; - position:relative; -} -.indexContainer { - margin:10px; - position:relative; - font-size:1.0em; -} -.indexContainer h2 { - font-size:1.1em; - padding:0 0 3px 0; -} -.indexContainer ul { - margin:0; - padding:0; -} -.indexContainer ul li { - list-style:none; -} -.contentContainer .description dl dt, .contentContainer .details dl dt, .serializedFormContainer dl dt { - font-size:1.1em; - font-weight:bold; - margin:10px 0 0 0; - color:#4E4E4E; -} -.contentContainer .description dl dd, .contentContainer .details dl dd, .serializedFormContainer dl dd { - margin:10px 0 10px 20px; -} -.serializedFormContainer dl.nameValue dt { - margin-left:1px; - font-size:1.1em; - display:inline; - font-weight:bold; -} -.serializedFormContainer dl.nameValue dd { - margin:0 0 0 1px; - font-size:1.1em; - display:inline; -} -/* -List styles -*/ -ul.horizontal li { - display:inline; - font-size:0.9em; -} -ul.inheritance { - margin:0; - padding:0; -} -ul.inheritance li { - display:inline; - list-style:none; -} -ul.inheritance li ul.inheritance { - margin-left:15px; - padding-left:15px; - padding-top:1px; -} -ul.blockList, ul.blockListLast { - margin:10px 0 10px 0; - padding:0; -} -ul.blockList li.blockList, ul.blockListLast li.blockList { - list-style:none; - margin-bottom:25px; -} -ul.blockList ul.blockList li.blockList, ul.blockList ul.blockListLast li.blockList { - padding:0px 20px 5px 10px; - border:1px solid #9eadc0; - background-color:#f9f9f9; -} -ul.blockList ul.blockList ul.blockList li.blockList, ul.blockList ul.blockList ul.blockListLast li.blockList { - padding:0 0 5px 8px; - background-color:#ffffff; - border:1px solid #9eadc0; - border-top:none; -} -ul.blockList ul.blockList ul.blockList ul.blockList li.blockList { - margin-left:0; - padding-left:0; - padding-bottom:15px; - border:none; - border-bottom:1px solid #9eadc0; -} -ul.blockList ul.blockList ul.blockList ul.blockList li.blockListLast { - list-style:none; - border-bottom:none; - padding-bottom:0; -} -table tr td dl, table tr td dl dt, table tr td dl dd { - margin-top:0; - margin-bottom:1px; -} -/* -Table styles -*/ -.contentContainer table, .classUseContainer table, .constantValuesContainer table { - border-bottom:1px solid #9eadc0; - width:100%; -} -.contentContainer ul li table, .classUseContainer ul li table, .constantValuesContainer ul li table { - width:100%; -} -.contentContainer .description table, .contentContainer .details table { - border-bottom:none; -} -.contentContainer ul li table th.colOne, .contentContainer ul li table th.colFirst, .contentContainer ul li table th.colLast, .classUseContainer ul li table th, .constantValuesContainer ul li table th, .contentContainer ul li table td.colOne, .contentContainer ul li table td.colFirst, .contentContainer ul li table td.colLast, .classUseContainer ul li table td, .constantValuesContainer ul li table td{ - vertical-align:top; - padding-right:20px; -} -.contentContainer ul li table th.colLast, .classUseContainer ul li table th.colLast,.constantValuesContainer ul li table th.colLast, -.contentContainer ul li table td.colLast, .classUseContainer ul li table td.colLast,.constantValuesContainer ul li table td.colLast, -.contentContainer ul li table th.colOne, .classUseContainer ul li table th.colOne, -.contentContainer ul li table td.colOne, .classUseContainer ul li table td.colOne { - padding-right:3px; -} -.overviewSummary caption, .packageSummary caption, .contentContainer ul.blockList li.blockList caption, .summary caption, .classUseContainer caption, .constantValuesContainer caption { - position:relative; - text-align:left; - background-repeat:no-repeat; - color:#FFFFFF; - font-weight:bold; - clear:none; - overflow:hidden; - padding:0px; - margin:0px; -} -caption a:link, caption a:hover, caption a:active, caption a:visited { - color:#FFFFFF; -} -.overviewSummary caption span, .packageSummary caption span, .contentContainer ul.blockList li.blockList caption span, .summary caption span, .classUseContainer caption span, .constantValuesContainer caption span { - white-space:nowrap; - padding-top:8px; - padding-left:8px; - display:block; - float:left; - background-image:url(resources/titlebar.gif); - height:18px; -} -.overviewSummary .tabEnd, .packageSummary .tabEnd, .contentContainer ul.blockList li.blockList .tabEnd, .summary .tabEnd, .classUseContainer .tabEnd, .constantValuesContainer .tabEnd { - width:10px; - background-image:url(resources/titlebar_end.gif); - background-repeat:no-repeat; - background-position:top right; - position:relative; - float:left; -} -ul.blockList ul.blockList li.blockList table { - margin:0 0 12px 0px; - width:100%; -} -.tableSubHeadingColor { - background-color: #EEEEFF; -} -.altColor { - background-color:#eeeeef; -} -.rowColor { - background-color:#ffffff; -} -.overviewSummary td, .packageSummary td, .contentContainer ul.blockList li.blockList td, .summary td, .classUseContainer td, .constantValuesContainer td { - text-align:left; - padding:3px 3px 3px 7px; -} -th.colFirst, th.colLast, th.colOne, .constantValuesContainer th { - background:#dee3e9; - border-top:1px solid #9eadc0; - border-bottom:1px solid #9eadc0; - text-align:left; - padding:3px 3px 3px 7px; -} -td.colOne a:link, td.colOne a:active, td.colOne a:visited, td.colOne a:hover, td.colFirst a:link, td.colFirst a:active, td.colFirst a:visited, td.colFirst a:hover, td.colLast a:link, td.colLast a:active, td.colLast a:visited, td.colLast a:hover, .constantValuesContainer td a:link, .constantValuesContainer td a:active, .constantValuesContainer td a:visited, .constantValuesContainer td a:hover { - font-weight:bold; -} -td.colFirst, th.colFirst { - border-left:1px solid #9eadc0; - white-space:nowrap; -} -td.colLast, th.colLast { - border-right:1px solid #9eadc0; -} -td.colOne, th.colOne { - border-right:1px solid #9eadc0; - border-left:1px solid #9eadc0; -} -table.overviewSummary { - padding:0px; - margin-left:0px; -} -table.overviewSummary td.colFirst, table.overviewSummary th.colFirst, -table.overviewSummary td.colOne, table.overviewSummary th.colOne { - width:25%; - vertical-align:middle; -} -table.packageSummary td.colFirst, table.overviewSummary th.colFirst { - width:25%; - vertical-align:middle; -} -/* -Content styles -*/ -.description pre { - margin-top:0; -} -.deprecatedContent { - margin:0; - padding:10px 0; -} -.docSummary { - padding:0; -} -/* -Formatting effect styles -*/ -.sourceLineNo { - color:green; - padding:0 30px 0 0; -} -h1.hidden { - visibility:hidden; - overflow:hidden; - font-size:.9em; -} -.block { - display:block; - margin:3px 0 0 0; -} -.strong { - font-weight:bold; -} - -/* - mono-blue theme. -*/ -.hljs { - display: block; - overflow-x: auto; - padding-left: 0.6em; - padding-right: 0.6em; - padding-top: 0em; - padding-bottom: 0em; - margin-right: 1.0em; - background: #eaeef3; - -webkit-text-size-adjust: none; -} - -.hljs, -.hljs-list .hljs-built_in { - color: #00193a; -} - -.hljs-keyword, -.hljs-title, -.hljs-important, -.hljs-request, -.hljs-header, -.hljs-javadoctag { - font-weight: bold; -} - -.hljs-comment, -.hljs-chunk, -.hljs-template_comment { - color: #738191; -} - -.hljs-number { - color: #711313; -} - -.hljs-string, -.hljs-title, -.hljs-parent, -.hljs-built_in, -.hljs-literal, -.hljs-filename, -.hljs-value, -.hljs-addition, -.hljs-tag, -.hljs-argument, -.hljs-link_label, -.hljs-blockquote, -.hljs-header { - color: #0048ab; -} - -.hljs-decorator, -.hljs-prompt, -.hljs-yardoctag, -.hljs-subst, -.hljs-symbol, -.hljs-doctype, -.hljs-regexp, -.hljs-preprocessor, -.hljs-pragma, -.hljs-pi, -.hljs-attribute, -.hljs-attr_selector, -.hljs-javadoc, -.hljs-xmlDocTag, -.hljs-deletion, -.hljs-shebang, -.hljs-string .hljs-variable, -.hljs-link_url, -.hljs-bullet, -.hljs-sqbracket, -.hljs-phony { - color: #4c81c9; -} - -/* Fixes huge font size in
{@code} blocks. */
-pre code {
-    font-size:inherit;
-}
diff --git a/src/main/javadoc/assertj-theme.css b/src/main/javadoc/assertj-theme.css
new file mode 100644
index 00000000..f55fbd08
--- /dev/null
+++ b/src/main/javadoc/assertj-theme.css
@@ -0,0 +1,33 @@
+:root {
+    /* body, block and code fonts */
+    --body-font-family: Verdana, Geneva, sans-serif;
+    --block-font-family: Verdana, Geneva, serif;
+    /* Text colors for body and block elements */
+    --body-text-color: #000000;
+    --block-text-color: #000000;
+    /* Background colors for various structural elements */
+    --body-background-color: #edd9a6;
+    --section-background-color: #e9d195;
+    --detail-background-color: #edd9a6;
+    /* Colors for navigation bar and table captions */
+    --navbar-background-color: #232323;
+    --navbar-text-color: #edd9a6;
+    /* Background color for subnavigation and various headers */
+    --subnav-background-color: #e5c880;
+    /* Background and text colors for selected tabs and navigation items */
+    --selected-background-color: #e5c880;
+    --selected-text-color: #000000;
+    --selected-link-color: #861203;
+    /* Background colors for generated tables */
+    --even-row-color: #edd9a6;
+    --odd-row-color: #e7ce8e;
+    /* Text color for page title */
+    --title-color: #000000;
+    /* Text colors for links */
+    --link-color: #861203;
+    --link-color-active: #641003;
+    /* Border colors for structural elements and user defined tables */
+    --border-color: #e5c880;
+    /* Search input colors */
+    --search-input-background-color: #edd9a6;
+}
\ No newline at end of file
diff --git a/src/main/javadoc/highlight.pack.js.txt b/src/main/javadoc/highlight.pack.js.txt
deleted file mode 100644
index 7aa905dd..00000000
--- a/src/main/javadoc/highlight.pack.js.txt
+++ /dev/null
@@ -1,13 +0,0 @@
-/*
- * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on
- * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations under the License.
- *
- * Copyright 2012-2013 the original author or authors.
- */
-var hljs=new function(){function e(e){return e.replace(/&/gm,"&").replace(//gm,">")}function t(e){return e.nodeName.toLowerCase()}function n(e,t){var n=e&&e.exec(t);return n&&0==n.index}function r(e){var t=(e.className+" "+(e.parentNode?e.parentNode.className:"")).split(/\s+/);return t=t.map(function(e){return e.replace(/^lang(uage)?-/,"")}),t.filter(function(e){return m(e)||/no(-?)highlight/.test(e)})[0]}function i(e,t){var n={};for(var r in e)n[r]=e[r];if(t)for(var r in t)n[r]=t[r];return n}function a(e){var n=[];return function r(e,i){for(var a=e.firstChild;a;a=a.nextSibling)3==a.nodeType?i+=a.nodeValue.length:1==a.nodeType&&(n.push({event:"start",offset:i,node:a}),i=r(a,i),t(a).match(/br|hr|img|input/)||n.push({event:"stop",offset:i,node:a}));return i}(e,0),n}function s(n,r,i){function a(){return n.length&&r.length?n[0].offset!=r[0].offset?n[0].offset"}function o(e){l+=""}function c(e){("start"==e.event?s:o)(e.node)}for(var u=0,l="",f=[];n.length||r.length;){var h=a();if(l+=e(i.substr(u,h[0].offset-u)),u=h[0].offset,h==n){f.reverse().forEach(o);do c(h.splice(0,1)[0]),h=a();while(h==n&&h.length&&h[0].offset==u);f.reverse().forEach(s)}else"start"==h[0].event?f.push(h[0].node):f.pop(),c(h.splice(0,1)[0])}return l+e(i.substr(u))}function o(e){function t(e){return e&&e.source||e}function n(n,r){return RegExp(t(n),"m"+(e.cI?"i":"")+(r?"g":""))}function r(a,s){if(!a.compiled){if(a.compiled=!0,a.k=a.k||a.bK,a.k){var o={},c=function(t,n){e.cI&&(n=n.toLowerCase()),n.split(" ").forEach(function(e){var n=e.split("|");o[n[0]]=[t,n[1]?Number(n[1]):1]})};"string"==typeof a.k?c("keyword",a.k):Object.keys(a.k).forEach(function(e){c(e,a.k[e])}),a.k=o}a.lR=n(a.l||/\b[A-Za-z0-9_]+\b/,!0),s&&(a.bK&&(a.b="\\b("+a.bK.split(" ").join("|")+")\\b"),a.b||(a.b=/\B|\b/),a.bR=n(a.b),a.e||a.eW||(a.e=/\B|\b/),a.e&&(a.eR=n(a.e)),a.tE=t(a.e)||"",a.eW&&s.tE&&(a.tE+=(a.e?"|":"")+s.tE)),a.i&&(a.iR=n(a.i)),void 0===a.r&&(a.r=1),a.c||(a.c=[]);var u=[];a.c.forEach(function(e){e.v?e.v.forEach(function(t){u.push(i(e,t))}):u.push("self"==e?a:e)}),a.c=u,a.c.forEach(function(e){r(e,a)}),a.starts&&r(a.starts,s);var l=a.c.map(function(e){return e.bK?"\\.?("+e.b+")\\.?":e.b}).concat([a.tE,a.i]).map(t).filter(Boolean);a.t=l.length?n(l.join("|"),!0):{exec:function(){return null}}}}r(e)}function c(t,r,i,a){function s(e,t){for(var r=0;r";return a+=e+'">',a+t+s}function p(){if(!w.k)return e(B);var t="",n=0;w.lR.lastIndex=0;for(var r=w.lR.exec(B);r;){t+=e(B.substr(n,r.index-n));var i=h(w,r);i?(y+=i[1],t+=g(i[0],e(r[0]))):t+=e(r[0]),n=w.lR.lastIndex,r=w.lR.exec(B)}return t+e(B.substr(n))}function v(){if(w.sL&&!E[w.sL])return e(B);var t=w.sL?c(w.sL,B,!0,L[w.sL]):u(B);return w.r>0&&(y+=t.r),"continuous"==w.subLanguageMode&&(L[w.sL]=t.top),g(t.language,t.value,!1,!0)}function b(){return void 0!==w.sL?v():p()}function d(t,n){var r=t.cN?g(t.cN,"",!0):"";t.rB?(M+=r,B=""):t.eB?(M+=e(n)+r,B=""):(M+=r,B=n),w=Object.create(t,{parent:{value:w}})}function R(t,n){if(B+=t,void 0===n)return M+=b(),0;var r=s(n,w);if(r)return M+=b(),d(r,n),r.rB?0:n.length;var i=l(w,n);if(i){var a=w;a.rE||a.eE||(B+=n),M+=b();do w.cN&&(M+=""),y+=w.r,w=w.parent;while(w!=i.parent);return a.eE&&(M+=e(n)),B="",i.starts&&d(i.starts,""),a.rE?0:n.length}if(f(n,w))throw new Error('Illegal lexeme "'+n+'" for mode "'+(w.cN||"")+'"');return B+=n,n.length||1}var x=m(t);if(!x)throw new Error('Unknown language: "'+t+'"');o(x);for(var w=a||x,L={},M="",k=w;k!=x;k=k.parent)k.cN&&(M=g(k.cN,"",!0)+M);var B="",y=0;try{for(var C,I,j=0;;){if(w.t.lastIndex=j,C=w.t.exec(r),!C)break;I=R(r.substr(j,C.index-j),C[0]),j=C.index+I}R(r.substr(j));for(var k=w;k.parent;k=k.parent)k.cN&&(M+="");return{r:y,value:M,language:t,top:w}}catch(A){if(-1!=A.message.indexOf("Illegal"))return{r:0,value:e(r)};throw A}}function u(t,n){n=n||N.languages||Object.keys(E);var r={r:0,value:e(t)},i=r;return n.forEach(function(e){if(m(e)){var n=c(e,t,!1);n.language=e,n.r>i.r&&(i=n),n.r>r.r&&(i=r,r=n)}}),i.language&&(r.second_best=i),r}function l(e){return N.tabReplace&&(e=e.replace(/^((<[^>]+>|\t)+)/gm,function(e,t){return t.replace(/\t/g,N.tabReplace)})),N.useBR&&(e=e.replace(/\n/g,"
")),e}function f(e,t,n){var r=t?R[t]:n,i=[e.trim()];return e.match(/(\s|^)hljs(\s|$)/)||i.push("hljs"),r&&i.push(r),i.join(" ").trim()}function h(e){var t=r(e);if(!/no(-?)highlight/.test(t)){var n;N.useBR?(n=document.createElementNS("http://www.w3.org/1999/xhtml","div"),n.innerHTML=e.innerHTML.replace(/\n/g,"").replace(//g,"\n")):n=e;var i=n.textContent,o=t?c(t,i,!0):u(i),h=a(n);if(h.length){var g=document.createElementNS("http://www.w3.org/1999/xhtml","div");g.innerHTML=o.value,o.value=s(h,a(g),i)}o.value=l(o.value),e.innerHTML=o.value,e.className=f(e.className,t,o.language),e.result={language:o.language,re:o.r},o.second_best&&(e.second_best={language:o.second_best.language,re:o.second_best.r})}}function g(e){N=i(N,e)}function p(){if(!p.called){p.called=!0;var e=document.querySelectorAll("pre code");Array.prototype.forEach.call(e,h)}}function v(){addEventListener("DOMContentLoaded",p,!1),addEventListener("load",p,!1)}function b(e,t){var n=E[e]=t(this);n.aliases&&n.aliases.forEach(function(t){R[t]=e})}function d(){return Object.keys(E)}function m(e){return E[e]||E[R[e]]}var N={classPrefix:"hljs-",tabReplace:null,useBR:!1,languages:void 0},E={},R={};this.highlight=c,this.highlightAuto=u,this.fixMarkup=l,this.highlightBlock=h,this.configure=g,this.initHighlighting=p,this.initHighlightingOnLoad=v,this.registerLanguage=b,this.listLanguages=d,this.getLanguage=m,this.inherit=i,this.IR="[a-zA-Z][a-zA-Z0-9_]*",this.UIR="[a-zA-Z_][a-zA-Z0-9_]*",this.NR="\\b\\d+(\\.\\d+)?",this.CNR="(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)",this.BNR="\\b(0b[01]+)",this.RSR="!|!=|!==|%|%=|&|&&|&=|\\*|\\*=|\\+|\\+=|,|-|-=|/=|/|:|;|<<|<<=|<=|<|===|==|=|>>>=|>>=|>=|>>>|>>|>|\\?|\\[|\\{|\\(|\\^|\\^=|\\||\\|=|\\|\\||~",this.BE={b:"\\\\[\\s\\S]",r:0},this.ASM={cN:"string",b:"'",e:"'",i:"\\n",c:[this.BE]},this.QSM={cN:"string",b:'"',e:'"',i:"\\n",c:[this.BE]},this.PWM={b:/\b(a|an|the|are|I|I'm|isn't|don't|doesn't|won't|but|just|should|pretty|simply|enough|gonna|going|wtf|so|such)\b/},this.CLCM={cN:"comment",b:"//",e:"$",c:[this.PWM]},this.CBCM={cN:"comment",b:"/\\*",e:"\\*/",c:[this.PWM]},this.HCM={cN:"comment",b:"#",e:"$",c:[this.PWM]},this.NM={cN:"number",b:this.NR,r:0},this.CNM={cN:"number",b:this.CNR,r:0},this.BNM={cN:"number",b:this.BNR,r:0},this.CSSNM={cN:"number",b:this.NR+"(%|em|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc|px|deg|grad|rad|turn|s|ms|Hz|kHz|dpi|dpcm|dppx)?",r:0},this.RM={cN:"regexp",b:/\//,e:/\/[gimuy]*/,i:/\n/,c:[this.BE,{b:/\[/,e:/\]/,r:0,c:[this.BE]}]},this.TM={cN:"title",b:this.IR,r:0},this.UTM={cN:"title",b:this.UIR,r:0}};hljs.registerLanguage("javascript",function(r){return{aliases:["js"],k:{keyword:"in if for while finally var new function do return void else break catch instanceof with throw case default try this switch continue typeof delete let yield const class",literal:"true false null undefined NaN Infinity",built_in:"eval isFinite isNaN parseFloat parseInt decodeURI decodeURIComponent encodeURI encodeURIComponent escape unescape Object Function Boolean Error EvalError InternalError RangeError ReferenceError StopIteration SyntaxError TypeError URIError Number Math Date String RegExp Array Float32Array Float64Array Int16Array Int32Array Int8Array Uint16Array Uint32Array Uint8Array Uint8ClampedArray ArrayBuffer DataView JSON Intl arguments require module console window document"},c:[{cN:"pi",b:/^\s*('|")use strict('|")/,r:10},r.ASM,r.QSM,r.CLCM,r.CBCM,r.CNM,{b:"("+r.RSR+"|\\b(case|return|throw)\\b)\\s*",k:"return throw case",c:[r.CLCM,r.CBCM,r.RM,{b:/;/,r:0,sL:"xml"}],r:0},{cN:"function",bK:"function",e:/\{/,eE:!0,c:[r.inherit(r.TM,{b:/[A-Za-z$_][0-9A-Za-z$_]*/}),{cN:"params",b:/\(/,e:/\)/,c:[r.CLCM,r.CBCM],i:/["'\(]/}],i:/\[|%/},{b:/\$[(.]/},{b:"\\."+r.IR,r:0}]}});hljs.registerLanguage("http",function(){return{i:"\\S",c:[{cN:"status",b:"^HTTP/[0-9\\.]+",e:"$",c:[{cN:"number",b:"\\b\\d{3}\\b"}]},{cN:"request",b:"^[A-Z]+ (.*?) HTTP/[0-9\\.]+$",rB:!0,e:"$",c:[{cN:"string",b:" ",e:" ",eB:!0,eE:!0}]},{cN:"attribute",b:"^\\w",e:": ",eE:!0,i:"\\n|\\s|=",starts:{cN:"string",e:"$"}},{b:"\\n\\n",starts:{sL:"",eW:!0}}]}});hljs.registerLanguage("json",function(e){var t={literal:"true false null"},i=[e.QSM,e.CNM],l={cN:"value",e:",",eW:!0,eE:!0,c:i,k:t},c={b:"{",e:"}",c:[{cN:"attribute",b:'\\s*"',e:'"\\s*:\\s*',eB:!0,eE:!0,c:[e.BE],i:"\\n",starts:l}],i:"\\S"},n={b:"\\[",e:"\\]",c:[e.inherit(l,{cN:null})],i:"\\S"};return i.splice(i.length,0,c,n),{c:i,k:t,i:"\\S"}});hljs.registerLanguage("sql",function(e){var t={cN:"comment",b:"--",e:"$"};return{cI:!0,i:/[<>]/,c:[{cN:"operator",bK:"begin end start commit rollback savepoint lock alter create drop rename call delete do handler insert load replace select truncate update set show pragma grant merge describe use explain help declare prepare execute deallocate savepoint release unlock purge reset change stop analyze cache flush optimize repair kill install uninstall checksum restore check backup",e:/;/,eW:!0,k:{keyword:"abs absolute acos action add adddate addtime aes_decrypt aes_encrypt after aggregate all allocate alter analyze and any are as asc ascii asin assertion at atan atan2 atn2 authorization authors avg backup before begin benchmark between bin binlog bit_and bit_count bit_length bit_or bit_xor both by cache call cascade cascaded case cast catalog ceil ceiling chain change changed char_length character_length charindex charset check checksum checksum_agg choose close coalesce coercibility collate collation collationproperty column columns columns_updated commit compress concat concat_ws concurrent connect connection connection_id consistent constraint constraints continue contributors conv convert convert_tz corresponding cos cot count count_big crc32 create cross cume_dist curdate current current_date current_time current_timestamp current_user cursor curtime data database databases datalength date_add date_format date_sub dateadd datediff datefromparts datename datepart datetime2fromparts datetimeoffsetfromparts day dayname dayofmonth dayofweek dayofyear deallocate declare decode default deferrable deferred degrees delayed delete des_decrypt des_encrypt des_key_file desc describe descriptor diagnostics difference disconnect distinct distinctrow div do domain double drop dumpfile each else elt enclosed encode encrypt end end-exec engine engines eomonth errors escape escaped event eventdata events except exception exec execute exists exp explain export_set extended external extract fast fetch field fields find_in_set first first_value floor flush for force foreign format found found_rows from from_base64 from_days from_unixtime full function get get_format get_lock getdate getutcdate global go goto grant grants greatest group group_concat grouping grouping_id gtid_subset gtid_subtract handler having help hex high_priority hosts hour ident_current ident_incr ident_seed identified identity if ifnull ignore iif ilike immediate in index indicator inet6_aton inet6_ntoa inet_aton inet_ntoa infile initially inner innodb input insert install instr intersect into is is_free_lock is_ipv4 is_ipv4_compat is_ipv4_mapped is_not is_not_null is_used_lock isdate isnull isolation join key kill language last last_day last_insert_id last_value lcase lead leading least leaves left len lenght level like limit lines ln load load_file local localtime localtimestamp locate lock log log10 log2 logfile logs low_priority lower lpad ltrim make_set makedate maketime master master_pos_wait match matched max md5 medium merge microsecond mid min minute mod mode module month monthname mutex name_const names national natural nchar next no no_write_to_binlog not now nullif nvarchar oct octet_length of old_password on only open optimize option optionally or ord order outer outfile output pad parse partial partition password patindex percent_rank percentile_cont percentile_disc period_add period_diff pi plugin position pow power pragma precision prepare preserve primary prior privileges procedure procedure_analyze processlist profile profiles public publishingservername purge quarter query quick quote quotename radians rand read references regexp relative relaylog release release_lock rename repair repeat replace replicate reset restore restrict return returns reverse revoke right rlike rollback rollup round row row_count rows rpad rtrim savepoint schema scroll sec_to_time second section select serializable server session session_user set sha sha1 sha2 share show sign sin size slave sleep smalldatetimefromparts snapshot some soname soundex sounds_like space sql sql_big_result sql_buffer_result sql_cache sql_calc_found_rows sql_no_cache sql_small_result sql_variant_property sqlstate sqrt square start starting status std stddev stddev_pop stddev_samp stdev stdevp stop str str_to_date straight_join strcmp string stuff subdate substr substring subtime subtring_index sum switchoffset sysdate sysdatetime sysdatetimeoffset system_user sysutcdatetime table tables tablespace tan temporary terminated tertiary_weights then time time_format time_to_sec timediff timefromparts timestamp timestampadd timestampdiff timezone_hour timezone_minute to to_base64 to_days to_seconds todatetimeoffset trailing transaction translation trigger trigger_nestlevel triggers trim truncate try_cast try_convert try_parse ucase uncompress uncompressed_length unhex unicode uninstall union unique unix_timestamp unknown unlock update upgrade upped upper usage use user user_resources using utc_date utc_time utc_timestamp uuid uuid_short validate_password_strength value values var var_pop var_samp variables variance varp version view warnings week weekday weekofyear weight_string when whenever where with work write xml xor year yearweek zon",literal:"true false null",built_in:"array bigint binary bit blob boolean char character date dec decimal float int integer interval number numeric real serial smallint varchar varying int8 serial8 text"},c:[{cN:"string",b:"'",e:"'",c:[e.BE,{b:"''"}]},{cN:"string",b:'"',e:'"',c:[e.BE,{b:'""'}]},{cN:"string",b:"`",e:"`",c:[e.BE]},e.CNM,e.CBCM,t]},e.CBCM,t]}});hljs.registerLanguage("xml",function(){var t="[A-Za-z0-9\\._:-]+",e={b:/<\?(php)?(?!\w)/,e:/\?>/,sL:"php",subLanguageMode:"continuous"},c={eW:!0,i:/]+/}]}]}]};return{aliases:["html","xhtml","rss","atom","xsl","plist"],cI:!0,c:[{cN:"doctype",b:"",r:10,c:[{b:"\\[",e:"\\]"}]},{cN:"comment",b:"",r:10},{cN:"cdata",b:"<\\!\\[CDATA\\[",e:"\\]\\]>",r:10},{cN:"tag",b:"|$)",e:">",k:{title:"style"},c:[c],starts:{e:"",rE:!0,sL:"css"}},{cN:"tag",b:"|$)",e:">",k:{title:"script"},c:[c],starts:{e:"",rE:!0,sL:"javascript"}},e,{cN:"pi",b:/<\?\w+/,e:/\?>/,r:10},{cN:"tag",b:"",c:[{cN:"title",b:/[^ \/><\n\t]+/,r:0},c]}]}});hljs.registerLanguage("java",function(e){var t=e.UIR+"(<"+e.UIR+">)?",a="false synchronized int abstract float private char boolean static null if const for true while long throw strictfp finally protected import native final return void enum else break transient new catch instanceof byte super volatile case assert short package default double public try this switch continue throws protected public private";return{aliases:["jsp"],k:a,i:/<\//,c:[{cN:"javadoc",b:"/\\*\\*",e:"\\*/",r:0,c:[{cN:"javadoctag",b:"(^|\\s)@[A-Za-z]+"}]},e.CLCM,e.CBCM,e.ASM,e.QSM,{cN:"class",bK:"class interface",e:/[{;=]/,eE:!0,k:"class interface",i:/[:"\[\]]/,c:[{bK:"extends implements"},e.UTM]},{bK:"new throw",e:/\s/,r:0},{cN:"function",b:"("+t+"\\s+)+"+e.UIR+"\\s*\\(",rB:!0,e:/[{;=]/,eE:!0,k:a,c:[{b:e.UIR+"\\s*\\(",rB:!0,c:[e.UTM]},{cN:"params",b:/\(/,e:/\)/,k:a,c:[e.ASM,e.QSM,e.CNM,e.CBCM]},e.CLCM,e.CBCM]},e.CNM,{cN:"annotation",b:"@[A-Za-z]+"}]}});hljs.registerLanguage("bash",function(e){var r={cN:"variable",v:[{b:/\$[\w\d#@][\w\d_]*/},{b:/\$\{(.*?)\}/}]},s={cN:"string",b:/"/,e:/"/,c:[e.BE,r,{cN:"variable",b:/\$\(/,e:/\)/,c:[e.BE]}]},t={cN:"string",b:/'/,e:/'/};return{aliases:["sh","zsh"],l:/-?[a-z\.]+/,k:{keyword:"if then else elif fi for break continue while in do done exit return set declare case esac export exec function",literal:"true false",built_in:"printf echo read cd pwd pushd popd dirs let eval unset typeset readonly getopts source shopt caller type hash bind help sudo",operator:"-ne -eq -lt -gt -f -d -e -s -l -a"},c:[{cN:"shebang",b:/^#![^\n]+sh\s*$/,r:10},{cN:"function",b:/\w[\w\d_]*\s*\(\s*\)\s*\{/,rB:!0,c:[e.inherit(e.TM,{b:/\w[\w\d_]*/})],r:0},e.HCM,e.NM,s,t,r]}}); \ No newline at end of file diff --git a/src/main/javadoc/hljs-theme.css b/src/main/javadoc/hljs-theme.css new file mode 100644 index 00000000..75a4d088 --- /dev/null +++ b/src/main/javadoc/hljs-theme.css @@ -0,0 +1,108 @@ +/* + +Railscasts-like style (c) Visoft, Inc. (Damien White) + +*/ + +.hljs { + display: block; + overflow-x: auto; + padding: 0.5em; + background: #232323; + color: #e6e1dc; + /* added by us */ + border-radius:8px; +} + +.hljs-comment, +.hljs-quote { + color: #bc9458; + font-style: italic; +} + +.hljs-keyword, +.hljs-selector-tag { + color: #c26230; +} + +.hljs-string, +.hljs-number, +.hljs-regexp, +.hljs-variable, +.hljs-template-variable { + color: #a5c261; +} + +.hljs-subst { + color: #519f50; +} + +.hljs-tag, +.hljs-name { + color: #e8bf6a; +} + +.hljs-type { + color: #ffc66d; +} + + +.hljs-symbol, +.hljs-bullet, +.hljs-built_in, +.hljs-builtin-name, +.hljs-attr, +.hljs-link { + color: #6d9cbe; +} + +.hljs-params { + color: #d0d0ff; +} + +.hljs-attribute { + color: #cda869; +} + +.hljs-meta { + color: #9b859d; +} + +.hljs-title, +.hljs-section { + color: #ffc66d; +} + +.hljs-addition { + background-color: #144212; + color: #e6e1dc; + display: inline-block; + width: 100%; +} + +.hljs-deletion { + background-color: #600; + color: #e6e1dc; + display: inline-block; + width: 100%; +} + +.hljs-selector-class { + color: #9b703f; +} + +.hljs-selector-id { + color: #8b98ab; +} + +.hljs-emphasis { + font-style: italic; +} + +.hljs-strong { + font-weight: bold; +} + +.hljs-link { + text-decoration: underline; +} \ No newline at end of file diff --git a/src/test/java/org/assertj/db/util/Proxies_Test.java b/src/test/java/org/assertj/db/util/Proxies_Test.java index 006c6f83..07557812 100644 --- a/src/test/java/org/assertj/db/util/Proxies_Test.java +++ b/src/test/java/org/assertj/db/util/Proxies_Test.java @@ -30,7 +30,7 @@ public class Proxies_Test { */ @Test public void test_is_proxy_with_classic_class() { - assertThat(Proxies.isProxified(String.class)).isFalse(); + assertThat(Proxies.isProxied(String.class)).isFalse(); } /** @@ -43,7 +43,7 @@ public void test_is_proxy_with_enhanced_class() { .make() .load(ClassForProxiesTest.class.getClassLoader()) .getLoaded(); - assertThat(Proxies.isProxified(enhancedClass)).isTrue(); + assertThat(Proxies.isProxied(enhancedClass)).isTrue(); } /**