├── .github
├── dependabot.yml
└── workflows
│ ├── gradle-wrapper-validation.yml
│ └── main.yml
├── .gitignore
├── .vscode
└── tasks.json
├── LICENSE
├── README.md
├── build.gradle
├── gradle.properties
├── gradle
└── wrapper
│ ├── gradle-wrapper.jar
│ └── gradle-wrapper.properties
├── gradlew
├── gradlew.bat
├── open-local-doc.sh
└── src
├── docs
└── asciidoc
│ ├── asciidoctor.css
│ ├── link-attributes.adoc
│ └── user-guide
│ ├── assertj-appendix.adoc
│ ├── assertj-core-assertions-guide.adoc
│ ├── assertj-core-extension.adoc
│ ├── assertj-core-migration.adoc
│ ├── assertj-core-quickstart.adoc
│ ├── assertj-core-release-notes.adoc
│ ├── assertj-core-samples.adoc
│ ├── assertj-core.adoc
│ ├── assertj-db-concepts.adoc
│ ├── assertj-db-features.adoc
│ ├── assertj-db-quickstart.adoc
│ ├── assertj-db-release-notes.adoc
│ ├── assertj-db.adoc
│ ├── assertj-guava-assertions-guide.adoc
│ ├── assertj-guava-quickstart.adoc
│ ├── assertj-guava-release-notes.adoc
│ ├── assertj-guava.adoc
│ ├── assertj-joda-assertions-guide.adoc
│ ├── assertj-joda-quickstart.adoc
│ ├── assertj-joda-release-notes.adoc
│ ├── assertj-joda.adoc
│ ├── assertj-neo4j.adoc
│ ├── assertj-overview.adoc
│ ├── assertj-swing-release-notes.adoc
│ ├── assertj-swing.adoc
│ ├── contributors.adoc
│ ├── docinfo-footer.html
│ ├── docinfo.html
│ ├── highlight
│ ├── highlight.min.js
│ └── styles
│ │ ├── agate.css
│ │ ├── androidstudio.css
│ │ ├── arduino-light.css
│ │ ├── arta.css
│ │ ├── ascetic.css
│ │ ├── atelier-cave-dark.css
│ │ ├── atelier-cave-light.css
│ │ ├── atelier-dune-dark.css
│ │ ├── atelier-dune-light.css
│ │ ├── atelier-estuary-dark.css
│ │ ├── atelier-estuary-light.css
│ │ ├── atelier-forest-dark.css
│ │ ├── atelier-forest-light.css
│ │ ├── atelier-heath-dark.css
│ │ ├── atelier-heath-light.css
│ │ ├── atelier-lakeside-dark.css
│ │ ├── atelier-lakeside-light.css
│ │ ├── atelier-plateau-dark.css
│ │ ├── atelier-plateau-light.css
│ │ ├── atelier-savanna-dark.css
│ │ ├── atelier-savanna-light.css
│ │ ├── atelier-seaside-dark.css
│ │ ├── atelier-seaside-light.css
│ │ ├── atelier-sulphurpool-dark.css
│ │ ├── atelier-sulphurpool-light.css
│ │ ├── atom-one-dark.css
│ │ ├── atom-one-light.css
│ │ ├── brown-paper.css
│ │ ├── brown-papersq.png
│ │ ├── codepen-embed.css
│ │ ├── color-brewer.css
│ │ ├── darcula.css
│ │ ├── dark.css
│ │ ├── darkula.css
│ │ ├── default.css
│ │ ├── docco.css
│ │ ├── dracula.css
│ │ ├── far.css
│ │ ├── foundation.css
│ │ ├── github-gist.css
│ │ ├── github.min.css
│ │ ├── googlecode.css
│ │ ├── grayscale.css
│ │ ├── gruvbox-dark.css
│ │ ├── gruvbox-light.css
│ │ ├── hopscotch.css
│ │ ├── hybrid.css
│ │ ├── idea.css
│ │ ├── ir-black.css
│ │ ├── kimbie.dark.css
│ │ ├── kimbie.light.css
│ │ ├── magula.css
│ │ ├── mono-blue.css
│ │ ├── monokai-sublime.css
│ │ ├── monokai.css
│ │ ├── obsidian.css
│ │ ├── ocean.css
│ │ ├── paraiso-dark.css
│ │ ├── paraiso-light.css
│ │ ├── pojoaque.css
│ │ ├── pojoaque.jpg
│ │ ├── purebasic.css
│ │ ├── qtcreator_dark.css
│ │ ├── qtcreator_light.css
│ │ ├── railscasts.min.css
│ │ ├── rainbow.css
│ │ ├── routeros.css
│ │ ├── school-book.css
│ │ ├── school-book.png
│ │ ├── solarized-dark.css
│ │ ├── solarized-light.css
│ │ ├── sunburst.css
│ │ ├── tomorrow-night-blue.css
│ │ ├── tomorrow-night-bright.css
│ │ ├── tomorrow-night-eighties.css
│ │ ├── tomorrow-night.css
│ │ ├── tomorrow.css
│ │ ├── vs.css
│ │ ├── vs2015.css
│ │ ├── xcode.css
│ │ ├── xt256.css
│ │ └── zenburn.css
│ ├── images
│ ├── assertj-db_icon.png
│ ├── db-changes-concept.png
│ ├── favicon.png
│ ├── ide-completion.png
│ └── spotbugs-invalid-assertj-usage-detection.png
│ ├── index.adoc
│ └── tocbot-3.0.2
│ ├── styles.css
│ ├── tocbot.css
│ ├── tocbot.js
│ └── tocbot.min.js
└── test
├── java
└── example
│ ├── core
│ ├── AssertionsDemo.java
│ ├── AssumptionsDemo.java
│ ├── AutoCloseableBDDSoftAssertionsExample.java
│ ├── AutoCloseableSoftAssertionsExample.java
│ ├── BDDSoftAssertionsExample.java
│ ├── CustomConfiguration.java
│ ├── CustomRepresentation.java
│ ├── CustomRepresentationExample.java
│ ├── DescribingAssertionsExample.java
│ ├── JUnit4BDDSoftAssertionsExample.java
│ ├── JUnit4SoftAssertionsExample.java
│ ├── JUnit5SoftAssertionsExample.java
│ ├── OverridingErrorMessageExample.java
│ ├── SimpleAssertionsExample.java
│ └── SoftAssertionsExample.java
│ ├── data
│ ├── Race.java
│ └── TolkienCharacter.java
│ └── db
│ └── TableAssertionExamples.java
└── resources
├── junit-platform.properties
├── log4j2-test.xml
└── two-column.csv
/.github/dependabot.yml:
--------------------------------------------------------------------------------
1 | version: 2
2 | updates:
3 | - package-ecosystem: "gradle"
4 | directory: "/"
5 | schedule:
6 | interval: "daily"
7 | - package-ecosystem: "github-actions"
8 | directory: "/"
9 | schedule:
10 | interval: "daily"
11 |
--------------------------------------------------------------------------------
/.github/workflows/gradle-wrapper-validation.yml:
--------------------------------------------------------------------------------
1 | name: "Validate Gradle Wrapper"
2 | on: [push, pull_request]
3 |
4 | jobs:
5 | validation:
6 | name: "Validation"
7 | runs-on: ubuntu-latest
8 | steps:
9 | - uses: actions/checkout@v4
10 | - uses: gradle/wrapper-validation-action@v3
11 |
--------------------------------------------------------------------------------
/.github/workflows/main.yml:
--------------------------------------------------------------------------------
1 | name: CI
2 |
3 | on:
4 | push:
5 | branches:
6 | - main
7 | pull_request:
8 | branches:
9 | - main
10 |
11 | jobs:
12 | asciidoctor:
13 | name: "Asciidoctor"
14 | runs-on: ubuntu-latest
15 | steps:
16 | - uses: actions/checkout@v4
17 | - name: Set up JDK 11
18 | uses: actions/setup-java@v4
19 | with:
20 | distribution: 'zulu'
21 | java-version: 11
22 | cache: 'gradle'
23 | - name: Run Asciidoctor
24 | run: ./gradlew asciidoctor
25 | - name: Publish to GitHub Pages
26 | if: github.repository == 'assertj/doc' && github.event_name == 'push'
27 | run: ./gradlew --stacktrace --info gitPublishPush
28 | env:
29 | GIT_COMMITTER_NAME: GitHub Actions
30 | GIT_COMMITTER_EMAIL: 41898282+github-actions[bot]@users.noreply.github.com
31 | GRGIT_USER: ${{ secrets.ASCIIDOCTOR_TOKEN }}
32 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | # Gradle
2 | .gradle
3 | build
4 | build/asciidoc/*
5 |
6 | # Ignore Gradle GUI config
7 | gradle-app.setting
8 |
9 | # Eclipse
10 | .classpath
11 | .settings/
12 | .project
13 | bin/
14 |
15 | # IntelliJ
16 | *.iml
17 | *.ipr
18 | *.iws
19 | *.uml
20 | .idea/
21 | */out/*
22 |
23 | # Misc
24 | *.log
25 | *.graphml
26 | coverage.db*
27 | out
28 | .metadata
29 | *.svg.cache
30 | *.pdf
31 |
--------------------------------------------------------------------------------
/.vscode/tasks.json:
--------------------------------------------------------------------------------
1 | {
2 | // See https://go.microsoft.com/fwlink/?LinkId=733558
3 | // for the documentation about the tasks.json format
4 | "version": "2.0.0",
5 | "tasks": [
6 | {
7 | "label": "build documentation",
8 | "type": "shell",
9 | "command": "rm -f build/docs/asciidoc/user-guide/index.html && ./gradlew asciidoctor",
10 | "group": {
11 | "kind": "build",
12 | "isDefault": true
13 | },
14 | "presentation": {
15 | "reveal": "always"
16 | }
17 | }
18 | ]
19 | }
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # AssertJ User Guide
2 |
3 | [](https://github.com/assertj/doc/actions?query=workflow%3ACI)
4 |
5 | The AssertJ User Guide is available here: https://assertj.github.io/doc/
6 |
7 | This project contains the AsciiDoc sources for the guide.
8 |
9 | ## Structure
10 |
11 | - `src/docs/asciidoc`: AsciiDoc files
12 | - `src/test/java`: Java test source code that can be included in the AsciiDoc files
13 | - `src/test/resources`: Classpath resources that can be included in the AsciiDoc files or
14 | used in tests
15 |
16 | ## Usage
17 |
18 | ### Generate AsciiDoc
19 |
20 | This following Gradle command generates the HTML version of the User Guide as
21 | `build/docs/asciidoc/user-guide/index.html`.
22 |
23 | ```bash
24 | gradlew asciidoctor
25 | ```
26 |
--------------------------------------------------------------------------------
/build.gradle:
--------------------------------------------------------------------------------
1 | plugins {
2 | id 'java'
3 | id 'org.ajoberstar.git-publish' version '3.0.1'
4 | id 'org.asciidoctor.jvm.convert' version '3.3.2'
5 | }
6 |
7 | dependencies {
8 | testImplementation("org.assertj:assertj-core:" + project.getProperty('assertjVersion'))
9 | testImplementation("org.assertj:assertj-joda-time:" + project.getProperty('assertjJodaTimeVersion'))
10 | testImplementation("org.assertj:assertj-db:" + project.getProperty('assertjDbVersion'))
11 | testImplementation('junit:junit:4.13.2')
12 |
13 | testImplementation("org.junit.jupiter:junit-jupiter-api:5.13.0")
14 | testImplementation("org.junit.jupiter:junit-jupiter-params")
15 | testRuntimeOnly("org.junit.jupiter:junit-jupiter-engine")
16 | }
17 |
18 | ext {
19 | docsVersion = project.version.contains('SNAPSHOT') ? 'snapshot' : project.version
20 |
21 | generatedAsciiDocPath = buildDir.toPath().resolve('generated/asciidoc')
22 | }
23 |
24 | asciidoctor {
25 |
26 | forkOptions {
27 | jvmArgs("--add-opens", "java.base/sun.nio.ch=ALL-UNNAMED", "--add-opens", "java.base/java.io=ALL-UNNAMED")
28 | }
29 |
30 | baseDirFollowsSourceFile()
31 |
32 | sources {
33 | include '**/index.adoc'
34 | }
35 |
36 | resources {
37 | from(sourceDir) {
38 | include '**/images/**'
39 | include '**/highlight/**'
40 | include '**/tocbot-3.0.2/**'
41 | include '**/*.css'
42 | include '**/font-awesome/css/*.css'
43 | include '**/javadoc/**'
44 | include '**/reports/**'
45 | }
46 | }
47 |
48 | attributes 'release-branch': releaseBranch,
49 | 'docs-version': docsVersion,
50 | 'revnumber': version,
51 | 'releaseBranch': version,
52 | 'testDir': '../../../test/java',
53 | 'outdir': outputDir.absolutePath,
54 | 'source-highlighter': 'highlightjs',
55 | 'highlightjsdir': 'highlight',
56 | 'highlightjs-theme': 'railscasts',
57 | 'tabsize': '3',
58 | 'toc': 'left',
59 | 'icons': 'font',
60 | 'sectanchors': true,
61 | 'idprefix': '',
62 | 'idseparator': '-',
63 | 'assertj-version': assertjVersion,
64 | 'assertj-joda-time-version': assertjJodaTimeVersion,
65 | 'assertj-db-version': assertjDbVersion,
66 | 'stylesheet': '../../../docs/asciidoc/asciidoctor.css',
67 | 'docinfo': 'shared',
68 | 'source-indent': '0'
69 | }
70 |
71 | asciidoctorj {
72 | modules {
73 | diagram.use()
74 | }
75 | }
76 |
77 | gitPublish {
78 | repoUri = 'https://github.com/assertj/doc.git'
79 | branch = 'gh-pages'
80 | contents {
81 | from file(asciidoctor.outputDir.path + '/user-guide')
82 | }
83 | }
84 |
85 | test {
86 | useJUnitPlatform()
87 |
88 | testLogging {
89 | events "passed", "skipped", "failed"
90 | }
91 |
92 | reports {
93 | html.required = true
94 | }
95 | }
96 |
97 | repositories {
98 | mavenCentral()
99 | }
100 |
--------------------------------------------------------------------------------
/gradle.properties:
--------------------------------------------------------------------------------
1 | group = org.assertj
2 | version = 1.0
3 |
4 | # --release release
5 | # Compiles against the public, supported and documented API for a specific VM version.
6 | # Note that if --release is added then -target and -source are ignored.
7 | javacRelease = 8
8 |
9 | assertjVersion = 3.27.2
10 | assertjJodaTimeVersion = 2.2.0
11 | assertjDbVersion = 2.0.2
12 | ota4jVersion = 1.2.0
13 |
14 | defaultBuiltBy = AssertJ Team
15 | releaseBranch = main
16 |
--------------------------------------------------------------------------------
/gradle/wrapper/gradle-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/assertj/doc/2ab0556fc280743aa6c8a4fd8d21dd642ec314b0/gradle/wrapper/gradle-wrapper.jar
--------------------------------------------------------------------------------
/gradle/wrapper/gradle-wrapper.properties:
--------------------------------------------------------------------------------
1 | distributionBase=GRADLE_USER_HOME
2 | distributionPath=wrapper/dists
3 | distributionUrl=https\://services.gradle.org/distributions/gradle-7.5.1-bin.zip
4 | zipStoreBase=GRADLE_USER_HOME
5 | zipStorePath=wrapper/dists
6 |
--------------------------------------------------------------------------------
/gradlew:
--------------------------------------------------------------------------------
1 | #!/bin/sh
2 |
3 | #
4 | # Copyright © 2015-2021 the original authors.
5 | #
6 | # Licensed under the Apache License, Version 2.0 (the "License");
7 | # you may not use this file except in compliance with the License.
8 | # You may obtain a copy of the License at
9 | #
10 | # https://www.apache.org/licenses/LICENSE-2.0
11 | #
12 | # Unless required by applicable law or agreed to in writing, software
13 | # distributed under the License is distributed on an "AS IS" BASIS,
14 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15 | # See the License for the specific language governing permissions and
16 | # limitations under the License.
17 | #
18 |
19 | ##############################################################################
20 | #
21 | # Gradle start up script for POSIX generated by Gradle.
22 | #
23 | # Important for running:
24 | #
25 | # (1) You need a POSIX-compliant shell to run this script. If your /bin/sh is
26 | # noncompliant, but you have some other compliant shell such as ksh or
27 | # bash, then to run this script, type that shell name before the whole
28 | # command line, like:
29 | #
30 | # ksh Gradle
31 | #
32 | # Busybox and similar reduced shells will NOT work, because this script
33 | # requires all of these POSIX shell features:
34 | # * functions;
35 | # * expansions «$var», «${var}», «${var:-default}», «${var+SET}»,
36 | # «${var#prefix}», «${var%suffix}», and «$( cmd )»;
37 | # * compound commands having a testable exit status, especially «case»;
38 | # * various built-in commands including «command», «set», and «ulimit».
39 | #
40 | # Important for patching:
41 | #
42 | # (2) This script targets any POSIX shell, so it avoids extensions provided
43 | # by Bash, Ksh, etc; in particular arrays are avoided.
44 | #
45 | # The "traditional" practice of packing multiple parameters into a
46 | # space-separated string is a well documented source of bugs and security
47 | # problems, so this is (mostly) avoided, by progressively accumulating
48 | # options in "$@", and eventually passing that to Java.
49 | #
50 | # Where the inherited environment variables (DEFAULT_JVM_OPTS, JAVA_OPTS,
51 | # and GRADLE_OPTS) rely on word-splitting, this is performed explicitly;
52 | # see the in-line comments for details.
53 | #
54 | # There are tweaks for specific operating systems such as AIX, CygWin,
55 | # Darwin, MinGW, and NonStop.
56 | #
57 | # (3) This script is generated from the Groovy template
58 | # https://github.com/gradle/gradle/blob/master/subprojects/plugins/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt
59 | # within the Gradle project.
60 | #
61 | # You can find Gradle at https://github.com/gradle/gradle/.
62 | #
63 | ##############################################################################
64 |
65 | # Attempt to set APP_HOME
66 |
67 | # Resolve links: $0 may be a link
68 | app_path=$0
69 |
70 | # Need this for daisy-chained symlinks.
71 | while
72 | APP_HOME=${app_path%"${app_path##*/}"} # leaves a trailing /; empty if no leading path
73 | [ -h "$app_path" ]
74 | do
75 | ls=$( ls -ld "$app_path" )
76 | link=${ls#*' -> '}
77 | case $link in #(
78 | /*) app_path=$link ;; #(
79 | *) app_path=$APP_HOME$link ;;
80 | esac
81 | done
82 |
83 | APP_HOME=$( cd "${APP_HOME:-./}" && pwd -P ) || exit
84 |
85 | APP_NAME="Gradle"
86 | APP_BASE_NAME=${0##*/}
87 |
88 | # Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
89 | DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"'
90 |
91 | # Use the maximum available, or set MAX_FD != -1 to use that value.
92 | MAX_FD=maximum
93 |
94 | warn () {
95 | echo "$*"
96 | } >&2
97 |
98 | die () {
99 | echo
100 | echo "$*"
101 | echo
102 | exit 1
103 | } >&2
104 |
105 | # OS specific support (must be 'true' or 'false').
106 | cygwin=false
107 | msys=false
108 | darwin=false
109 | nonstop=false
110 | case "$( uname )" in #(
111 | CYGWIN* ) cygwin=true ;; #(
112 | Darwin* ) darwin=true ;; #(
113 | MSYS* | MINGW* ) msys=true ;; #(
114 | NONSTOP* ) nonstop=true ;;
115 | esac
116 |
117 | CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar
118 |
119 |
120 | # Determine the Java command to use to start the JVM.
121 | if [ -n "$JAVA_HOME" ] ; then
122 | if [ -x "$JAVA_HOME/jre/sh/java" ] ; then
123 | # IBM's JDK on AIX uses strange locations for the executables
124 | JAVACMD=$JAVA_HOME/jre/sh/java
125 | else
126 | JAVACMD=$JAVA_HOME/bin/java
127 | fi
128 | if [ ! -x "$JAVACMD" ] ; then
129 | die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME
130 |
131 | Please set the JAVA_HOME variable in your environment to match the
132 | location of your Java installation."
133 | fi
134 | else
135 | JAVACMD=java
136 | which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
137 |
138 | Please set the JAVA_HOME variable in your environment to match the
139 | location of your Java installation."
140 | fi
141 |
142 | # Increase the maximum file descriptors if we can.
143 | if ! "$cygwin" && ! "$darwin" && ! "$nonstop" ; then
144 | case $MAX_FD in #(
145 | max*)
146 | MAX_FD=$( ulimit -H -n ) ||
147 | warn "Could not query maximum file descriptor limit"
148 | esac
149 | case $MAX_FD in #(
150 | '' | soft) :;; #(
151 | *)
152 | ulimit -n "$MAX_FD" ||
153 | warn "Could not set maximum file descriptor limit to $MAX_FD"
154 | esac
155 | fi
156 |
157 | # Collect all arguments for the java command, stacking in reverse order:
158 | # * args from the command line
159 | # * the main class name
160 | # * -classpath
161 | # * -D...appname settings
162 | # * --module-path (only if needed)
163 | # * DEFAULT_JVM_OPTS, JAVA_OPTS, and GRADLE_OPTS environment variables.
164 |
165 | # For Cygwin or MSYS, switch paths to Windows format before running java
166 | if "$cygwin" || "$msys" ; then
167 | APP_HOME=$( cygpath --path --mixed "$APP_HOME" )
168 | CLASSPATH=$( cygpath --path --mixed "$CLASSPATH" )
169 |
170 | JAVACMD=$( cygpath --unix "$JAVACMD" )
171 |
172 | # Now convert the arguments - kludge to limit ourselves to /bin/sh
173 | for arg do
174 | if
175 | case $arg in #(
176 | -*) false ;; # don't mess with options #(
177 | /?*) t=${arg#/} t=/${t%%/*} # looks like a POSIX filepath
178 | [ -e "$t" ] ;; #(
179 | *) false ;;
180 | esac
181 | then
182 | arg=$( cygpath --path --ignore --mixed "$arg" )
183 | fi
184 | # Roll the args list around exactly as many times as the number of
185 | # args, so each arg winds up back in the position where it started, but
186 | # possibly modified.
187 | #
188 | # NB: a `for` loop captures its iteration list before it begins, so
189 | # changing the positional parameters here affects neither the number of
190 | # iterations, nor the values presented in `arg`.
191 | shift # remove old arg
192 | set -- "$@" "$arg" # push replacement arg
193 | done
194 | fi
195 |
196 | # Collect all arguments for the java command;
197 | # * $DEFAULT_JVM_OPTS, $JAVA_OPTS, and $GRADLE_OPTS can contain fragments of
198 | # shell script including quotes and variable substitutions, so put them in
199 | # double quotes to make sure that they get re-expanded; and
200 | # * put everything else in single quotes, so that it's not re-expanded.
201 |
202 | set -- \
203 | "-Dorg.gradle.appname=$APP_BASE_NAME" \
204 | -classpath "$CLASSPATH" \
205 | org.gradle.wrapper.GradleWrapperMain \
206 | "$@"
207 |
208 | # Use "xargs" to parse quoted args.
209 | #
210 | # With -n1 it outputs one arg per line, with the quotes and backslashes removed.
211 | #
212 | # In Bash we could simply go:
213 | #
214 | # readarray ARGS < <( xargs -n1 <<<"$var" ) &&
215 | # set -- "${ARGS[@]}" "$@"
216 | #
217 | # but POSIX shell has neither arrays nor command substitution, so instead we
218 | # post-process each arg (as a line of input to sed) to backslash-escape any
219 | # character that might be a shell metacharacter, then use eval to reverse
220 | # that process (while maintaining the separation between arguments), and wrap
221 | # the whole thing up as a single "set" statement.
222 | #
223 | # This will of course break if any of these variables contains a newline or
224 | # an unmatched quote.
225 | #
226 |
227 | eval "set -- $(
228 | printf '%s\n' "$DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS" |
229 | xargs -n1 |
230 | sed ' s~[^-[:alnum:]+,./:=@_]~\\&~g; ' |
231 | tr '\n' ' '
232 | )" '"$@"'
233 |
234 | exec "$JAVACMD" "$@"
235 |
--------------------------------------------------------------------------------
/gradlew.bat:
--------------------------------------------------------------------------------
1 | @rem
2 | @rem Copyright 2015 the original author or authors.
3 | @rem
4 | @rem Licensed under the Apache License, Version 2.0 (the "License");
5 | @rem you may not use this file except in compliance with the License.
6 | @rem You may obtain a copy of the License at
7 | @rem
8 | @rem https://www.apache.org/licenses/LICENSE-2.0
9 | @rem
10 | @rem Unless required by applicable law or agreed to in writing, software
11 | @rem distributed under the License is distributed on an "AS IS" BASIS,
12 | @rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | @rem See the License for the specific language governing permissions and
14 | @rem limitations under the License.
15 | @rem
16 |
17 | @if "%DEBUG%" == "" @echo off
18 | @rem ##########################################################################
19 | @rem
20 | @rem Gradle startup script for Windows
21 | @rem
22 | @rem ##########################################################################
23 |
24 | @rem Set local scope for the variables with windows NT shell
25 | if "%OS%"=="Windows_NT" setlocal
26 |
27 | set DIRNAME=%~dp0
28 | if "%DIRNAME%" == "" set DIRNAME=.
29 | set APP_BASE_NAME=%~n0
30 | set APP_HOME=%DIRNAME%
31 |
32 | @rem Resolve any "." and ".." in APP_HOME to make it shorter.
33 | for %%i in ("%APP_HOME%") do set APP_HOME=%%~fi
34 |
35 | @rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
36 | set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m"
37 |
38 | @rem Find java.exe
39 | if defined JAVA_HOME goto findJavaFromJavaHome
40 |
41 | set JAVA_EXE=java.exe
42 | %JAVA_EXE% -version >NUL 2>&1
43 | if "%ERRORLEVEL%" == "0" goto execute
44 |
45 | echo.
46 | echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
47 | echo.
48 | echo Please set the JAVA_HOME variable in your environment to match the
49 | echo location of your Java installation.
50 |
51 | goto fail
52 |
53 | :findJavaFromJavaHome
54 | set JAVA_HOME=%JAVA_HOME:"=%
55 | set JAVA_EXE=%JAVA_HOME%/bin/java.exe
56 |
57 | if exist "%JAVA_EXE%" goto execute
58 |
59 | echo.
60 | echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME%
61 | echo.
62 | echo Please set the JAVA_HOME variable in your environment to match the
63 | echo location of your Java installation.
64 |
65 | goto fail
66 |
67 | :execute
68 | @rem Setup the command line
69 |
70 | set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar
71 |
72 |
73 | @rem Execute Gradle
74 | "%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %*
75 |
76 | :end
77 | @rem End local scope for the variables with windows NT shell
78 | if "%ERRORLEVEL%"=="0" goto mainEnd
79 |
80 | :fail
81 | rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of
82 | rem the _cmd.exe /c_ return code!
83 | if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1
84 | exit /b 1
85 |
86 | :mainEnd
87 | if "%OS%"=="Windows_NT" endlocal
88 |
89 | :omega
90 |
--------------------------------------------------------------------------------
/open-local-doc.sh:
--------------------------------------------------------------------------------
1 | firefox build/docs/asciidoc/user-guide/index.html
--------------------------------------------------------------------------------
/src/docs/asciidoc/link-attributes.adoc:
--------------------------------------------------------------------------------
1 | :assertj-core-javadoc-root: https://www.javadoc.io/doc/org.assertj/assertj-core/latest/
2 | :assertj-guava-javadoc-root: https://www.javadoc.io/doc/org.assertj/assertj-guava/latest/
3 | :assertj-joda-time-javadoc-root: https://www.javadoc.io/doc/org.assertj/assertj-joda-time/latest/
4 | //
5 | :assertj-core-repo: https://github.com/assertj/assertj
6 | :assertj-examples-repo: https://github.com/assertj/assertj-examples
7 | :assertj-examples-base-package: https://github.com/assertj/assertj-examples/blob/main/assertions-examples/src/test/java/org/assertj/examples/
8 | :assertj-guava-repo: https://github.com/assertj/assertj
9 | :assertj-swing-repo: https://github.com/assertj/assertj-swing
10 | :release-branch: main
11 | :current-branch: {assertj-core-repo}/tree/{release-branch}
12 | //
13 | :AssertJ: https://assertj.github.io/doc/[AssertJ]
14 | :StackOverflow: https://stackoverflow.com/questions/tagged/assertj[Stack Overflow]
15 |
--------------------------------------------------------------------------------
/src/docs/asciidoc/user-guide/assertj-appendix.adoc:
--------------------------------------------------------------------------------
1 | == Appendix
2 |
3 | === Dependency Metadata
4 |
5 | Artifacts for final releases and milestones are deployed to https://central.sonatype.com/[Maven Central].
6 | Snapshot artifacts are not deployed.
7 |
8 | [[dependency-metadata-assertj-core]]
9 | ==== AssertJ Core
10 |
11 | * *Group ID:* `org.assertj`
12 | * *Artifact ID:* `assertj-core`
13 | * *Version:* `{assertj-version}`
14 |
15 | [[dependency-metadata-assertj-guava]]
16 | ==== AssertJ Guava
17 |
18 | * *Group ID:* `org.assertj`
19 | * *Artifact ID:* `assertj-guava`
20 | * *Version:* `{assertj-version}`
21 |
22 | [[dependency-metadata-assertj-bom]]
23 | ==== Bill of Materials (BOM)
24 |
25 | The _Bill of Materials_ POM provided under the following Maven coordinates can be used to ease dependency management when referencing multiple of the above artifacts using https://maven.apache.org/guides/introduction/introduction-to-dependency-mechanism.html#Importing_Dependencies[Maven] or https://docs.gradle.org/current/userguide/platforms.html#sub:bom_import[Gradle].
26 |
27 | * *Group ID:* `org.assertj`
28 | * *Artifact ID:* `assertj-bom`
29 | * *Version:* `{assertj-version}`
30 |
--------------------------------------------------------------------------------
/src/docs/asciidoc/user-guide/assertj-core-migration.adoc:
--------------------------------------------------------------------------------
1 | [[assertj-migration]]
2 | === Migrating assertions
3 |
4 | This page will help you convert your existing JUnit assertions to AssertJ ones. Note that both types of assertions can coexist, you don't have to migrate all at once.
5 |
6 | The idea is to convert code like:
7 |
8 | [source,java]
9 | ----
10 | assertEquals(expected, actual);
11 | ----
12 |
13 | to:
14 |
15 | [source,java]
16 | ----
17 | assertThat(actual).isEqualTo(expected);
18 | ----
19 |
20 | There are several ways to perform the conversion :
21 |
22 | * Automatically, with the provided link:#assertj-migration-using-scripts[migration scripts].
23 | * Automatically, with link:#assertj-migration-using-openrewrite[OpenRewrite].
24 | * Manually, with the regexes described in this link:#assertj-migration-using-regexes[section].
25 | * With IntelliJ IDEA, using these plugins:
26 | ** https://plugins.jetbrains.com/plugin/10345-assertions2assertj[Assertions2Assertj] plugin.
27 | ** https://plugins.jetbrains.com/plugin/12195-concise-assertj-optimizing-nitpicker-cajon-[Concise AssertJ Optimizing Nitpicker (Cajon)] plugin.
28 | * With IntelliJ IDEA, using the Structural Search and Replace (SSR) feature.
29 |
30 | The preferred approach is to use the provided migration scripts or OpenRewrite recipes as they are type safe and cover more assertions than the other ones.
31 |
32 | [[assertj-migration-using-scripts]]
33 | ==== Migration Scripts
34 |
35 | It is as simple as running one of the following scripts depending on which test framework you are using:
36 |
37 | * {current-branch}/scripts/convert-junit-assertions-to-assertj.sh[JUnit 3/4 to AssertJ migration script]
38 | * {current-branch}/scripts/convert-junit5-assertions-to-assertj.sh[JUnit 5 to AssertJ migration script]
39 | * {current-branch}/scripts/convert-testng-assertions-to-assertj.sh[TestNG to AssertJ migration script]
40 |
41 | Each shell script is based on the sed stream editor and regexps. It *recursively* looks at all `*Test.java` files and
42 | performs search and replace to convert assertions to AssertJ ones.
43 |
44 | The script handles the cases where you use an assertion description, for example:
45 |
46 | [source,java]
47 | ----
48 | assertEquals("test context", "a", "a");
49 | ----
50 | will be replaced by:
51 | [source,java]
52 | ----
53 | assertThat("a").as("test context").isEqualTo("a");
54 | ----
55 |
56 |
57 | Note that the script does a best effort and some assertions might not be converted if formatted on multiple lines. Anyway the script usually migrates the vast majority of assertions.
58 |
59 | The script works on Windows within a bash console like git bash (tested a long time ago) or cygwin (not tested).
60 |
61 | ===== Usage
62 |
63 | Execute the script in the base directory containing the test files:
64 |
65 | [source,bash]
66 | ----
67 | cd ./src/test/java
68 | ./convert-junit-assertions-to-assertj.sh
69 | ----
70 |
71 | If the `*Test.java` file pattern does not suit you, just specify another as an argument:
72 | [source,bash]
73 | ----
74 | # enclose your pattern with double quotes "" to avoid it to be expanded by your shell prematurely
75 | ./convert-junit-assertions-to-assertj.sh "*IT.java"
76 | ----
77 |
78 | After executing it, you will need to :
79 |
80 | * Optimize imports with your IDE to remove unused imports.
81 | * If you were using `assertEquals` with a delta to compare numbers, you will need to statically import `org.assertj.core.api.Assertions.within` which is how you express deltas in AssertJ (see the {assertj-examples-repo}/blob/main/assertions-examples/src/test/java/org/assertj/examples/NumberAssertionsExamples.java[number_assertions_with_offset_examples()] test at the end of `NumberAssertionsExamples`).
82 |
83 | ===== Script output
84 |
85 | [source, text]
86 | ----
87 | Converting JUnit assertions to AssertJ assertions on files matching pattern : *Test.java
88 |
89 | 1 - Replacing : assertEquals(0, myList.size()) ............... by : assertThat(myList).isEmpty()
90 | 2 - Replacing : assertEquals(expectedSize, myList.size()) .... by : assertThat(myList).hasSize(expectedSize)
91 | 3 - Replacing : assertEquals(expectedDouble, actual, delta) .. by : assertThat(actual).isCloseTo(expectedDouble, within(delta))
92 | 4 - Replacing : assertEquals(expected, actual) ............... by : assertThat(actual).isEqualTo(expected)
93 | 5 - Replacing : assertArrayEquals(expectedArray, actual) ..... by : assertThat(actual).isEqualTo(expectedArray)
94 | 6 - Replacing : assertNull(actual) ........................... by : assertThat(actual).isNull()
95 | 7 - Replacing : assertNotNull(actual) ........................ by : assertThat(actual).isNotNull()
96 | 8 - Replacing : assertTrue(logicalCondition) ................. by : assertThat(logicalCondition).isTrue()
97 | 9 - Replacing : assertFalse(logicalCondition) ................ by : assertThat(logicalCondition).isFalse()
98 | 10 - Replacing : assertSame(expected, actual) ................. by : assertThat(actual).isSameAs(expected)
99 | 11 - Replacing : assertNotSame(expected, actual) .............. by : assertThat(actual).isNotSameAs(expected)
100 |
101 | Replacing JUnit static imports by AssertJ ones, at this point you will probably need to :
102 | 12 --- optimize imports with your IDE to remove unused imports
103 | 12 --- add "import static org.assertj.core.api.Assertions.within;" if you were using JUnit number assertions with deltas
104 | ----
105 |
106 | [[assertj-migration-using-openrewrite]]
107 | ==== OpenRewrite
108 |
109 | link:https://docs.openrewrite.org/[OpenRewrite], a large-scale automated source code refactoring tool, offers a couple of recipes that assist with the migration to AssertJ:
110 |
111 | The link:https://docs.openrewrite.org/recipes/java/testing/hamcrest/migratehamcresttoassertj[Migrate Hamcrest to AssertJ assertions] recipe will:
112 |
113 | * Migrate various Hamcrest `Matchers` to AssertJ (e.g., changing `equalTo` to `isEqualTo` or changing `!emptyString` to `isNotEmpty`)
114 | * Migrate the Hamcrest `is(Object)` method to AssertJ
115 | * Remove the Hamcrest `is(Matcher)` method
116 | * Add Gradle or Maven dependencies as needed
117 |
118 | If you want to go even further, you can run the link:https://docs.openrewrite.org/recipes/java/testing/assertj[AssertJ best practices] recipe which will do all of the above plus:
119 |
120 | * Migrate JUnit to AssertJ (e.g., changing `assertEquals()` to `assertThat().isEqualTo()`)
121 | * Simplify AssertJ chained assertions (e.g., `assertThat(foo.size()).isEqualTo(1)` would change to `assertThat(foo).hasSize(1)`)
122 | * Statically import AssertJ's `assertThat` (rather than inlining the `Assertions` class name in tests)
123 |
124 | To learn more about how to run these recipes, please see the link:https://docs.openrewrite.org/running-recipes/running-rewrite-on-a-gradle-project-without-modifying-the-build[OpenRewrite Gradle] or link:https://docs.openrewrite.org/running-recipes/running-rewrite-on-a-maven-project-without-modifying-the-build[OpenRewrite Maven] instructions.
125 |
126 | [[assertj-migration-using-regexes]]
127 | ==== Migration Regexes
128 |
129 | Here's a list of find/replace expressions to change JUnit assertions into AssertJ assertions (don't forget to check the regex mode in your editor replace window).
130 |
131 | These regexes described in this section are specific to JUnit 4, but you can easily adapt them for JUnit 5 or TestNG.
132 |
133 | The order of find/replace is important to benefit from the most relevant AssertJ assertions.
134 | For example, you should convert `assertEquals(0, myList.size())` to `assertThat(myList).isEmpty()` instead of `assertThat(myList.size()).isEqualTo(0)`.
135 |
136 |
137 | ===== Converting `assertEquals(0, myList.size())` to `assertThat(myList).isEmpty()`
138 |
139 | Find/replace regex:
140 |
141 | [source,bash]
142 | ----
143 | assertEquals\(0,(.*).size\(\)\); -> assertThat(\1).isEmpty();
144 | ----
145 |
146 | It's better to run this before the `assertEquals` -> `isEqualTo` conversion to avoid ending with `assertThat(myList.size()).isEqualTo(0)`.
147 |
148 | ===== Converting `assertEquals(size, myList.size())` to `assertThat(myList).hasSize(size)`
149 |
150 | Find/replace regex:
151 |
152 | [source,bash]
153 | ----
154 | assertEquals\((.*),(.*).size\(\)\); -> assertThat(\2).hasSize(\1);
155 | ----
156 |
157 | It's better to run this before the `assertEquals` -> `isEqualTo` conversion to avoid ending with `assertThat(myList.size()).isEqualTo(expectedSize)`.
158 |
159 | ===== Converting `assertEquals(expected, actual)` to `assertThat(actual).isEqualTo(expected)`
160 |
161 | Find/replace regex:
162 |
163 | [source,bash]
164 | ----
165 | assertEquals\((.*),(.*)\); -> assertThat(\2).isEqualTo(\1);
166 | ----
167 |
168 | ===== Converting `assertNull(objectUnderTest)` to `assertThat(objectUnderTest).isNull()`
169 |
170 | Find/replace regex:
171 |
172 | [source,bash]
173 | ----
174 | assertNull\((.*)\); -> assertThat(\1).isNull();
175 | ----
176 |
177 | ===== Converting `assertNotNull(objectUnderTest)` to `assertThat(objectUnderTest).isNotNull()`
178 |
179 | Find/replace regex:
180 |
181 | [source,bash]
182 | ----
183 | assertNotNull\((.*)\); -> assertThat(\1).isNotNull();
184 | ----
185 |
186 | ===== Converting `assertFalse(logicalCondition)` to `assertThat(logicalCondition).isFalse()`
187 |
188 | Find/replace regex:
189 |
190 | [source,bash]
191 | ----
192 | assertFalse\((.*)\); -> assertThat(\1).isFalse();
193 | ----
194 |
--------------------------------------------------------------------------------
/src/docs/asciidoc/user-guide/assertj-core-quickstart.adoc:
--------------------------------------------------------------------------------
1 | [[assertj-core-quick-start]]
2 | === Quick start
3 |
4 | This guide is for the AssertJ Core module.
5 |
6 | [[assertj-core-java-versions]]
7 | ==== Supported Java Versions
8 |
9 | AssertJ Core requires Java 8 or higher.
10 |
11 | [[assertj-core-android]]
12 | ===== Android Support
13 |
14 | AssertJ Core *does not officially support Android* but is compatible with Android API Level 26+, except for soft assertions and assumptions.
15 |
16 | [[get-assertj-core]]
17 | ==== Get AssertJ Core
18 |
19 | The AssertJ Core artifact can be included directly using its link:#dependency-metadata-assertj-core[dependency metadata] or indirectly via the link:#dependency-metadata-assertj-bom[_Bill of Materials_ POM].
20 |
21 | ===== Maven
22 |
23 | [source,xml,subs=attributes+]
24 | ----
25 |
26 | org.assertj
27 | assertj-core
28 | {assertj-version}
29 | test
30 |
31 | ----
32 |
33 | ===== Gradle
34 |
35 | [source,groovy,subs=attributes+]
36 | ----
37 | testImplementation("org.assertj:assertj-core:{assertj-version}")
38 | ----
39 |
40 | ===== Other build tools
41 |
42 | Check this page to find the relevant https://central.sonatype.com/artifact/org.assertj/assertj-core/{assertj-version}[Assertj Core dependency declaration].
43 |
44 | ===== Spring Boot
45 |
46 | https://spring.io/projects/spring-boot[Spring Boot] provides automatic support for managing the version of AssertJ used in your project.
47 | In addition, the `spring-boot-starter-test` artifact automatically includes testing libraries such as JUnit Jupiter, AssertJ Core, Mockito, etc.
48 |
49 | If you need to override the version of a dependency used in your Spring Boot application, you have to override the exact name of the https://docs.spring.io/spring-boot/docs/current/reference/htmlsingle/#appendix.dependency-versions.properties[version property] defined in the BOM used by the Spring Boot plugin.
50 | For example, the name of the AssertJ version property in Spring Boot is `assertj.version`.
51 | The mechanism for changing a dependency version is documented for both https://docs.spring.io/spring-boot/docs/current/maven-plugin/reference/htmlsingle/#using.parent-pom[Maven] and https://docs.spring.io/spring-boot/docs/current/gradle-plugin/reference/htmlsingle/#managing-dependencies.dependency-management-plugin.customizing[Gradle].
52 |
53 | With Maven, you can override the AssertJ version by including the following in your `pom.xml` file.
54 |
55 | [source,xml,subs=attributes+]
56 | ----
57 |
58 | {assertj-version}
59 |
60 | ----
61 |
62 | With Gradle, you can override the AssertJ version by including the following in your `build.gradle` file.
63 |
64 | [source,groovy,subs=attributes+]
65 | ----
66 | ext['assertj.version'] = '{assertj-version}'
67 | ----
68 |
69 | ==== Use Assertions class entry point
70 |
71 | The `Assertions` class is the only class you need to start using AssertJ, it provides all the methods you need.
72 |
73 | Alternatively your test class can implement `WithAssertions` to access the same methods.
74 |
75 | One `Assertions` static import to rule them all ...
76 |
77 | [source,java]
78 | ----
79 | import static org.assertj.core.api.Assertions.*;
80 | ----
81 |
82 | \... or many if you prefer:
83 |
84 | [source,java]
85 | ----
86 | import static org.assertj.core.api.Assertions.assertThat; // main one
87 | import static org.assertj.core.api.Assertions.atIndex; // for List assertions
88 | import static org.assertj.core.api.Assertions.entry; // for Map assertions
89 | import static org.assertj.core.api.Assertions.tuple; // when extracting several properties at once
90 | import static org.assertj.core.api.Assertions.fail; // use when writing exception tests
91 | import static org.assertj.core.api.Assertions.failBecauseExceptionWasNotThrown; // idem
92 | import static org.assertj.core.api.Assertions.filter; // for Iterable/Array assertions
93 | import static org.assertj.core.api.Assertions.offset; // for floating number assertions
94 | import static org.assertj.core.api.Assertions.anyOf; // use with Condition
95 | import static org.assertj.core.api.Assertions.contentOf; // use with File assertions
96 | ----
97 |
98 | ===== Alternative entry points
99 |
100 | AssertJ provides other entry points class, notably the `WithAssertions` interface and `BDDAssertions` for BDD style assertions that replace `assertThat` by `then`.
101 |
102 | `WithAssertions` example:
103 | [source,java]
104 | ----
105 | import org.assertj.core.api.WithAssertions;
106 |
107 | public class WithAssertionsExamples extends AbstractAssertionsExamples implements WithAssertions {
108 |
109 | // the data used are initialized in AbstractAssertionsExamples.
110 |
111 | @Test
112 | public void withAssertions_examples() {
113 |
114 | // assertThat methods come from WithAssertions - no static import needed
115 | assertThat(frodo.age).isEqualTo(33);
116 | assertThat(frodo.getName()).isEqualTo("Frodo").isNotEqualTo("Frodon");
117 |
118 | assertThat(frodo).isIn(fellowshipOfTheRing);
119 | assertThat(frodo).isIn(sam, frodo, pippin);
120 | assertThat(sauron).isNotIn(fellowshipOfTheRing);
121 |
122 | assertThat(frodo).matches(p -> p.age > 30 && p.getRace() == HOBBIT);
123 | assertThat(frodo.age).matches(p -> p > 30);
124 | }
125 | }
126 | ----
127 |
128 | `BDDAssertions` example:
129 | [source,java]
130 | ----
131 | import static org.assertj.core.api.BDDAssertions.then;
132 |
133 | public class BDDAssertionsExamples extends AbstractAssertionsExamples {
134 |
135 | // the data used are initialized in AbstractAssertionsExamples.
136 |
137 | @Test
138 | public void withAssertions_examples() {
139 |
140 | // then methods come from BDDAssertions.then static
141 | then(frodo.age).isEqualTo(33);
142 | then(frodo.getName()).isEqualTo("Frodo").isNotEqualTo("Frodon");
143 |
144 | then(frodo).isIn(fellowshipOfTheRing);
145 | then(frodo).isIn(sam, frodo, pippin);
146 | then(sauron).isNotIn(fellowshipOfTheRing);
147 |
148 | then(frodo).matches(p -> p.age > 30 && p.getRace() == HOBBIT);
149 | then(frodo.age).matches(p -> p > 30);
150 | }
151 | }
152 | ----
153 |
154 |
155 | ===== IDE configuration
156 |
157 | You can configure your IDE so that when you start typing `as` and trigger code completion `assertThat` will show up in the suggested completions.
158 |
159 | Eclipse:
160 |
161 | . Go to Window > Preferences > Java > Editor > Content Assist > Favorites > New Type.
162 | . Enter `org.assertj.core.api.Assertions` and click OK.
163 | . Check that you see `org.assertj.core.api.Assertions.*` in Favorites.
164 |
165 | Intellij Idea: No special configuration is needed, just start typing `asser` and then invoke completion (Ctrl-Space) twice.
166 |
167 | ==== Use code completion
168 |
169 | Type `assertThat` followed by the object under test and a dot ... and any Java IDE code completion will show you all available assertions.
170 |
171 | [source,java]
172 | ----
173 | assertThat(objectUnderTest). # <1>
174 | ----
175 | <1> Use IDE code completion after the dot.
176 |
177 | Example for String assertions:
178 |
179 | image::ide-completion.png[]
180 |
181 | [[assertj-core-javadoc-quickstart]]
182 | ==== Javadoc
183 |
184 | http://www.javadoc.io/doc/org.assertj/assertj-core/ is the latest version of AssertJ Core Javadoc, each assertion is explained, most of them with code examples so be sure to check it if you want to know what a specific assertion does.
--------------------------------------------------------------------------------
/src/docs/asciidoc/user-guide/assertj-core-samples.adoc:
--------------------------------------------------------------------------------
1 |
2 | [[assertj-samples]]
3 | === AssertJ Sample Projects
4 |
5 | The {assertj-examples-repo}[assertions-examples] repository hosts executable AssertJ assertions examples that you can run as
6 | JUnit tests. Please have a look at assertions {assertj-examples-repo}/tree/main/assertions-examples/src/test/java/org/assertj/examples[examples sources].
7 |
8 | The `main` branch contains examples with the latest released version of AssertJ modules for Java 8, similarly the `java-7` branch
9 | contains examples of AssertJ modules for Java 7. You should be able to build those two branches with `mvn clean install` command.
10 |
11 | In your IDE, add `src/test/generated-assertions` to the project java test sources otherwise you will have errors/missing classes. This is the folder where custom assertions classes are generated by default by the maven assertions generator plugin. Note that Intellij Idea wrongly adds `src/test/generated-assertions` to the production sources when it should be added the test sources, you will have to fix that in your module/project settings.
12 |
13 | Building the `with-latest-snapshot-versions` branch is a bit more complicated :
14 |
15 | * you need to build the needed SNAPSHOT dependencies before - most probably assertj-core and maybe other modules.
16 | * run `mvn clean install` in assertj-examples/assertions-examples.
17 | * In your IDE, add `src/test/generated-assertions` to the project java sources if you IDE shows errors/missing classes.
--------------------------------------------------------------------------------
/src/docs/asciidoc/user-guide/assertj-core.adoc:
--------------------------------------------------------------------------------
1 | [[assertj-core]]
2 | == AssertJ Core
3 |
4 | The goal of this document is to provide comprehensive reference documentation for
5 | programmers writing tests assertions with AssertJ.
6 |
7 | // ifdef::backend-html5[This document is also available as a link:index.pdf[PDF download].]
8 |
9 | [[overview-what-is-assertj]]
10 | === What is AssertJ Core?
11 |
12 | AssertJ is a Java library that provides a rich set of assertions and truly helpful error messages, improves test code readability, and is designed to be super easy to use within your favorite IDE.
13 |
14 | http://www.javadoc.io/doc/org.assertj/assertj-core/ is the latest version of AssertJ Core Javadoc, each assertion is explained, most of them with code examples so be sure to check it if you want to know what a specific assertion does.
15 |
16 | Here are a few examples of AssertJ assertions:
17 |
18 | [source,java]
19 | ----
20 | // entry point for all assertThat methods and utility methods (e.g. entry)
21 | import static org.assertj.core.api.Assertions.*;
22 |
23 | // basic assertions
24 | assertThat(frodo.getName()).isEqualTo("Frodo");
25 | assertThat(frodo).isNotEqualTo(sauron);
26 |
27 | // chaining string specific assertions
28 | assertThat(frodo.getName()).startsWith("Fro")
29 | .endsWith("do")
30 | .isEqualToIgnoringCase("frodo");
31 |
32 | // collection specific assertions (there are plenty more)
33 | // in the examples below fellowshipOfTheRing is a List
34 | assertThat(fellowshipOfTheRing).hasSize(9)
35 | .contains(frodo, sam)
36 | .doesNotContain(sauron);
37 |
38 | // as() is used to describe the test and will be shown before the error message
39 | assertThat(frodo.getAge()).as("check %s's age", frodo.getName()).isEqualTo(33);
40 |
41 | // exception assertion, standard style ...
42 | assertThatThrownBy(() -> { throw new Exception("boom!"); }).hasMessage("boom!");
43 | // ... or BDD style
44 | Throwable thrown = catchThrowable(() -> { throw new Exception("boom!"); });
45 | assertThat(thrown).hasMessageContaining("boom");
46 |
47 | // using the 'extracting' feature to check fellowshipOfTheRing character's names
48 | assertThat(fellowshipOfTheRing).extracting(TolkienCharacter::getName)
49 | .doesNotContain("Sauron", "Elrond");
50 |
51 | // extracting multiple values at once grouped in tuples
52 | assertThat(fellowshipOfTheRing).extracting("name", "age", "race.name")
53 | .contains(tuple("Boromir", 37, "Man"),
54 | tuple("Sam", 38, "Hobbit"),
55 | tuple("Legolas", 1000, "Elf"));
56 |
57 | // filtering a collection before asserting
58 | assertThat(fellowshipOfTheRing).filteredOn(character -> character.getName().contains("o"))
59 | .containsOnly(aragorn, frodo, legolas, boromir);
60 |
61 | // combining filtering and extraction (yes we can)
62 | assertThat(fellowshipOfTheRing).filteredOn(character -> character.getName().contains("o"))
63 | .containsOnly(aragorn, frodo, legolas, boromir)
64 | .extracting(character -> character.getRace().getName())
65 | .contains("Hobbit", "Elf", "Man");
66 |
67 | // and many more assertions: iterable, stream, array, map, dates, path, file, numbers, predicate, optional ...
68 | ----
69 |
70 |
71 | [[overview-getting-help]]
72 | === Getting Help
73 |
74 | Ask AssertJ related questions on {StackOverflow}.
75 |
76 | === Contributing to this guide
77 |
78 | You are very welcome to suggest or contribute improvements to this guide, that's one great way to give back to open source projects!
79 |
80 | The repository containing the guide is https://github.com/assertj/doc, you can https://github.com/assertj/doc/issues[create a new issue], submit a pull request. Et voila!
81 |
82 | This guide is written with the awesome https://asciidoctor.org/docs/asciidoc-writers-guide/[Asciidoctor] which makes it easy to improve.
83 |
84 |
85 | include::assertj-core-quickstart.adoc[]
86 |
87 | include::assertj-core-assertions-guide.adoc[]
88 |
89 | include::assertj-core-extension.adoc[]
90 |
91 | include::assertj-core-migration.adoc[]
92 |
93 | include::assertj-core-samples.adoc[]
94 |
95 | include::assertj-core-release-notes.adoc[]
--------------------------------------------------------------------------------
/src/docs/asciidoc/user-guide/assertj-db-quickstart.adoc:
--------------------------------------------------------------------------------
1 | [[assertj-db-quickstart]]
2 | === Quick start
3 |
4 | Suppose that the database contains this table *MEMBERS* :
5 |
6 | |====
7 | |ID |NAME |FIRSTNAME |SURNAME |BIRTHDATE |SIZE
8 |
9 | |1 |'Hewson' |'Paul David' |'Bono' |05-10-60 |1.75
10 | |2 |'Evans' |'David Howell' |'The Edge' |08-08-61 |1.77
11 | |3 |'Clayton' |'Adam' | |03-13-60 |1.78
12 | |4 |'Mullen' |'Larry' | |10-31-61 |1.70
13 | |====
14 |
15 | To quickly start using DataBase assertions, follow the steps below.
16 |
17 | [[assertj-db-quickstart-dependency]]
18 | ==== Add the assertj-db dependency to your project
19 |
20 | ===== Maven
21 |
22 | [source,xml,subs=attributes+]
23 | ----
24 |
25 | org.assertj
26 | assertj-db
27 | {assertj-db-version}
28 | test
29 |
30 | ----
31 |
32 | ===== Gradle
33 |
34 | For Gradle users (using the Maven Central Repository)
35 |
36 | [source,java,subs=attributes+]
37 | ----
38 | testImplementation("org.assertj:assertj-db:{assertj-db-version}")
39 | ----
40 |
41 | ===== Other dependency management tool
42 |
43 | Check this page to find the relevant http://search.maven.org/#artifactdetails|org.assertj|assertj-db|1.3.0|bundle[assertj db dependency declaration].
44 |
45 | ==== Statically import org.assertj.db.api.Assertions.assertThat
46 |
47 | \... and use your preferred IDE code completion after assertThat.
48 |
49 | Example from {assertj-examples-repo}/blob/main/assertions-examples/src/test/java/org/assertj/examples/db/TableAssertionExamples.java[TableAssertionExamples.java] :
50 |
51 | [source,java]
52 | ----
53 | include::{testDir}/example/db/TableAssertionExamples.java[tags=user_guide]
54 | ----
55 |
56 | In this simple example you can see many `[concepts of AssertJ-DB] (the concepts are simple but I advice you to take the time to get to know them well) :
57 |
58 | * <> :
59 | ** <> which represents a table in the database
60 | ** <> which represents a column of the table
61 | ** <> which represents a row of the table
62 | ** <> which represents a value in a column or in a row
63 | * <> :
64 | ** The first check, navigates from the table to the column called "name"
65 | (``column("name")`` moves the assertion to the column),
66 | from this column to the first value (the first call of ``value()`` moves to the first value)
67 | and after that to each value (each call of ``value()`` moves to the next value of the column).
68 | ** The second check, navigates from the table to the row with index 1
69 | (``row(1)`` moves the assertion to the row),
70 | from this row to the first value
71 | and after that to each value (``value()`` calls have similar behavior for rows and columns).
72 | * <> : Since 2.0.0, AssertJ-DB baseline is Java 8. The preferred way to compare values with date, time and date/time is to use java.time.LocalDate, java.time.LocalTime, java.time.LocalDateTime.
73 | But for the backward compatibility, it's always possible to use AssertJ-DB DateValue utilities.
74 |
--------------------------------------------------------------------------------
/src/docs/asciidoc/user-guide/assertj-db.adoc:
--------------------------------------------------------------------------------
1 | [[assertj-db]]
2 | == AssertJ DB
3 |
4 | image::assertj-db_icon.png[]
5 |
6 | AssertJ-DB provides assertions to test data in a database.
7 | It requires Java 8 or later and can be used with either JUnit or TestNG.
8 |
9 | If you need additional assertions, please create a ticket in the https://github.com/assertj/assertj-db/issues?labels=&milestone=&page=1&state=open[AssertJ-DB issue tracker].
10 |
11 | AssertJ-DB is hosted on GitHub: https://github.com/assertj/assertj-db[https://github.com/assertj/assertj-db].
12 |
13 | Big thanks to Joel Costigliola for his welcome, for his help and for having accepted to associate this project with a great project like AssertJ.
14 |
15 | _Régis Pouiller (AssertJ-DB creator)_
16 |
17 | include::assertj-db-quickstart.adoc[]
18 |
19 | include::assertj-db-concepts.adoc[]
20 |
21 | include::assertj-db-features.adoc[]
22 |
23 |
24 | === Javadoc
25 |
26 | Latest Javadoc release: https://www.javadoc.io/doc/org.assertj/assertj-db/latest/index.html[AssertJ DB Javadoc].
27 |
28 | === Examples
29 |
30 | Some implementations examples are visible at the {assertj-examples-repo}/tree/main/assertions-examples/src/test/java/org/assertj/examples/db[assertj-db-examples tests].
31 | They show what is possible with AssertJ DB Assertions with running code.
32 | You can clone the repository and run its tests !
33 |
34 | === Mailing list
35 |
36 | If you have any questions, please use the https://groups.google.com/forum/?fromgroups=#!forum/assertj[AssertJ google group].
37 |
38 | === Code and issue tracker
39 |
40 | AssertJ-DB is hosted on GitHub: https://github.com/assertj/assertj-db[https://github.com/assertj/assertj-db].
41 |
42 | Please report bugs or missing features in the https://github.com/assertj/assertj-db/issues?labels=&milestone=&page=1&state=open[AssertJ-DB issue tracker].
43 |
44 | === Contributing
45 |
46 | Thanks for your interest ! Please check our https://github.com/assertj/assertj-db/blob/main/CONTRIBUTING.md#contributing[contributor's guidelines].
47 |
48 | include::assertj-db-release-notes.adoc[]
49 |
50 |
--------------------------------------------------------------------------------
/src/docs/asciidoc/user-guide/assertj-guava-quickstart.adoc:
--------------------------------------------------------------------------------
1 | [[assertj-guava-quick-start]]
2 | === Quick start
3 |
4 | This guide is for the AssertJ Guava module.
5 |
6 | [[assertj-guava-java-versions]]
7 | ==== Supported Java versions
8 |
9 | AssertJ Guava requires Java 8 or higher.
10 |
11 | [[get-assertj-guava]]
12 | ==== Get AssertJ Guava
13 |
14 | The AssertJ Guava artifact can be included directly using its link:#dependency-metadata-assertj-guava[dependency metadata] or indirectly via the link:#dependency-metadata-assertj-bom[_Bill of Materials_ POM].
15 |
16 | ===== Maven
17 |
18 | [source,xml,subs=attributes+]
19 | ----
20 |
21 | org.assertj
22 | assertj-guava
23 | {assertj-version}
24 | test
25 |
26 | ----
27 |
28 | ===== Gradle
29 |
30 | [source,groovy,subs=attributes+]
31 | ----
32 | testImplementation("org.assertj:assertj-guava:{assertj-version}")
33 | ----
34 |
35 | ===== Other build tools
36 |
37 | Check this page to find the relevant https://central.sonatype.com/artifact/org.assertj/assertj-guava/{assertj-version}[AssertJ Guava dependency declaration].
38 |
39 | ==== Use Assertions class entry point
40 |
41 | The `org.assertj.guava.api.Assertions` class is the only class you need to start using AssertJ Guava.
42 |
43 | [source,java]
44 | ----
45 | import static org.assertj.guava.api.Assertions.assertThat;
46 | ----
47 |
48 | ==== Examples
49 |
50 | [source,java]
51 | ----
52 | import static org.assertj.guava.api.Assertions.assertThat;
53 | import static org.assertj.guava.api.Assertions.entry;
54 |
55 | // Multimap assertions
56 | Multimap actual = ArrayListMultimap.create();
57 | actual.putAll("Lakers", newArrayList("Kobe Bryant", "Magic Johnson", "Kareem Abdul Jabbar"));
58 | actual.putAll("Spurs", newArrayList("Tony Parker", "Tim Duncan", "Manu Ginobili"));
59 |
60 | assertThat(actual).containsKeys("Lakers", "Spurs");
61 | assertThat(actual).contains(entry("Lakers", "Kobe Bryant"), entry("Spurs", "Tim Duncan"));
62 |
63 | // Multiset assertions
64 | Multiset actual = HashMultiset.create();
65 | actual.add("shoes", 2);
66 |
67 | assertThat(actual).contains(2, "shoes");
68 | assertThat(actual).containsAtLeast(1, "shoes");
69 | assertThat(actual).containsAtMost(3, "shoes");
70 |
71 | // Range assertions
72 | Range range = Range.closed(10, 12);
73 |
74 | assertThat(range).isNotEmpty()
75 | .contains(10, 11, 12)
76 | .hasClosedLowerBound()
77 | .hasLowerEndpointEqualTo(10)
78 | .hasUpperEndpointEqualTo(12);
79 |
80 | // Table assertions
81 | Table bestMovies = HashBasedTable.create();
82 |
83 | bestMovies.put(1970, "Palme d'Or", "M.A.S.H");
84 | bestMovies.put(1994, "Palme d'Or", "Pulp Fiction");
85 | bestMovies.put(2008, "Palme d'Or", "Entre les murs");
86 | bestMovies.put(2000, "Best picture Oscar", "American Beauty");
87 | bestMovies.put(2011, "Goldener Bär", "A Separation");
88 |
89 | assertThat(bestMovies).hasRowCount(5).hasColumnCount(3).hasSize(5)
90 | .containsValues("American Beauty", "A Separation", "Pulp Fiction")
91 | .containsCell(1994, "Palme d'Or", "Pulp Fiction")
92 | .containsColumns("Palme d'Or", "Best picture Oscar", "Goldener Bär")
93 | .containsRows(1970, 1994, 2000, 2008, 2011);
94 | ----
95 |
96 | Note that you can find more working examples in the assertj-examples project: https://github.com/assertj/assertj-examples/tree/main/assertions-examples/src/test/java/org/assertj/examples/guava.
97 |
98 | [[assertj-guava-ide]]
99 | ==== IDE configuration
100 |
101 | You can configure your IDE so that when you start typing `as` and trigger code completion `assertThat` will show up in the suggested completions.
102 |
103 | Eclipse:
104 |
105 | . Go to Window > Preferences > Java > Editor > Content Assist > Favorites > New Type.
106 | . Enter `org.assertj.guava.api.Assertions` and click OK.
107 | . Check that you see `org.assertj.guava.api.Assertions.*` in Favorites.
108 |
109 | Intellij Idea: No special configuration is needed, just start typing `asser` and then invoke completion (Ctrl-Space) twice.
110 |
111 |
112 |
--------------------------------------------------------------------------------
/src/docs/asciidoc/user-guide/assertj-guava.adoc:
--------------------------------------------------------------------------------
1 | [[assertj-guava]]
2 | == AssertJ Guava
3 |
4 | include::assertj-guava-quickstart.adoc[]
5 |
6 | include::assertj-guava-assertions-guide.adoc[]
7 |
8 | include::assertj-guava-release-notes.adoc[]
--------------------------------------------------------------------------------
/src/docs/asciidoc/user-guide/assertj-joda-quickstart.adoc:
--------------------------------------------------------------------------------
1 | [[assertj-joda-time-quick-start]]
2 | === Quick start
3 |
4 | This guide is for the AssertJ Joda Time module.
5 |
6 | [[get-assertj-joda-time]]
7 | ==== Get assertj-joda-time library
8 |
9 | AssertJ Joda Time artifacts are in the Maven central repository.
10 |
11 | [[assertj-joda-time-java-versions]]
12 | ===== Supported Java versions
13 |
14 | AssertJ Joda Time major versions depend on different Java versions:
15 |
16 | * AssertJ Joda Time 2.x requires Java 8 or higher
17 | * AssertJ Joda Time 1.x requires Java 7 or higher
18 |
19 | ===== Maven
20 |
21 | [source,xml,subs=attributes+]
22 | ----
23 |
24 | org.assertj
25 | assertj-joda-time
26 |
27 | {assertj-joda-time-version}
28 | test
29 |
30 | ----
31 |
32 | ===== Gradle
33 |
34 | For Gradle users (using the Maven Central Repository)
35 |
36 | [source,java,subs=attributes+]
37 | ----
38 | testImplementation("org.assertj:assertj-joda-time:{assertj-joda-time-version}")
39 | ----
40 |
41 | Or version 1.1.0 for Java 7 projects
42 |
43 | [source,java]
44 | ----
45 | testImplementation("org.assertj:assertj-joda-time:1.1.0")
46 | ----
47 |
48 | ===== Other build tools
49 |
50 | Check this page to find the relevant https://search.maven.org/artifact/org.assertj/assertj-joda-time/{assertj-joda-time-version}/bundle[assertj joda-time dependency declaration].
51 |
52 | ==== Use Assertions class entry point
53 |
54 | The `org.assertj.jodatime.api.Assertions` class is the only class you need to start using AssertJ Joda Time.
55 |
56 | [source,java]
57 | ----
58 | import static org.assertj.jodatime.api.Assertions.assertThat;
59 | ----
60 |
61 | ==== Examples
62 |
63 | [source,java]
64 | ----
65 | assertThat(dateTime).isBefore(firstDateTime);
66 | assertThat(dateTime).isAfterOrEqualTo(secondDateTime);
67 |
68 | // you can use Strings in comparisons to avoid a conversion (we do that for you)
69 | assertThat(new DateTime("2000-01-01")).isEqualTo("2000-01-01");
70 |
71 | // compare DateTimes ignoring seconds and milliseconds in the comparison
72 | dateTime1 = new DateTime(2000, 1, 1, 23, 50, 0, 0, UTC);
73 | dateTime2 = new DateTime(2000, 1, 1, 23, 50, 10, 456, UTC);
74 | // assertion succeeds
75 | assertThat(dateTime1).isEqualToIgnoringSeconds(dateTime2);
76 | ----
77 |
78 | For `DateTime` assertions, comparison is performed in the `DateTimeZone` of `DateTime` to test, consequently the following assertion passes:
79 |
80 | [source,java]
81 | ----
82 | DateTime utcTime = new DateTime(2013, 6, 10, 0, 0, DateTimeZone.UTC);
83 | DateTime cestTime = new DateTime(2013, 6, 10, 2, 0, DateTimeZone.forID("Europe/Berlin"));
84 |
85 | assertThat(utcTime).as("in UTC time").isEqualTo(cestTime);
86 | ----
87 |
88 | You can compare `DateTime` to another `DateTime`, or `LocalDateTime` to `LocalDateTime`, but not `DateTime` to `LocalDateTime`, it doesn't make sense as one is timezone dependent and the other is not.
89 |
90 | Note that you can find more working examples in the https://github.com/assertj/assertj-examples/blob/main/assertions-examples/src/test/java/org/assertj/examples/JodaTimeAssertionsExamples.java[JodaTimeAssertionsExamples.java] class of the assertj-examples project.
91 |
92 | [[assertj-joda-time-ide]]
93 | ==== IDE configuration
94 |
95 | You can configure your IDE so that when you start typing `as` and trigger code completion `assertThat` will show up in the suggested completions.
96 |
97 | Eclipse:
98 |
99 | . Go to Window > Preferences > Java > Editor > Content Assist > Favorites > New Type.
100 | . Enter `org.assertj.jodatime.api.Assertions` and click OK.
101 | . Check that you see `org.assertj.jodatime.api.Assertions.*` in Favorites.
102 |
103 | Intellij Idea: No special configuration is needed, just start typing `asser` and then invoke completion (Ctrl-Space) twice.
104 |
105 |
106 |
--------------------------------------------------------------------------------
/src/docs/asciidoc/user-guide/assertj-joda-release-notes.adoc:
--------------------------------------------------------------------------------
1 | [[assertj-joda-time-release-notes]]
2 | === Release Notes
3 |
4 | Latest release notes:
5 |
6 | - link:#assertj-joda-time-2-2-0-release-notes[AssertJ Joda Time 2.2.0]
7 | - link:#assertj-joda-time-2-1-0-release-notes[AssertJ Joda Time 2.1.0]
8 | - link:#assertj-joda-time-2-0-0-release-notes[AssertJ Joda Time 2.0.0]
9 |
10 | The Javadoc for this release can be found here: https://www.javadoc.io/doc/org.assertj/assertj-joda-time/2.2.0/index.html
11 |
12 | [[assertj-joda-time-2-2-0-release-notes]]
13 | ==== AssertJ Joda Time 2.2.0
14 |
15 | Release date: 2018-06-15
16 |
17 | [[assertj-joda-time-2.2.0-contributors]]
18 | [.release-note-category]#icon:user[] Contributors#
19 |
20 | Thanks to Eugene Strepetov for his contribution.
21 |
22 | [[assertj-joda-time-2.2.0-new-features]]
23 | [.release-note-category]#icon:plus-circle[] New features#
24 |
25 | Add `LocalDate` assertions providing the following ones (Eugene Strepetov):
26 |
27 | - `hasYear`: Verifies that the year of the actual LocalDate is equal to the given year.
28 | - `hasMonthOfYear`: Verifies that the month of the actual LocalDate is equal to the given month
29 | - `hasDayOfMonth`: Verifies that the day of month of the actual LocalDate is equal to the given day
30 | - `isBefore`: Verifies that the actual LocalDate is strictly before the given one.
31 | - `isBeforeOrEqualTo`: Verifies that the actual LocalDate is before or equals to the given one.
32 | - `isEqualTo`: Same assertion as `AbstractAssert.isEqualTo(Object...)` but to be used with `LocalDate` String representation.
33 | - `isAfter`: Verifies that the actual LocalDate is strictly after the given one.
34 | - `isAfterOrEqualTo`: Verifies that the actual LocalDate is after or equals to the given one.
35 | - `isIn`: Same assertion as `AbstractAssert.isIn(Object...)` but to be used with `LocalDate` String representation.
36 | - `isNotIn`: Same assertion as `AbstractAssert.isNotIn(Object...)` but to be used with `LocalDate` String representation.
37 |
38 | The assertions taking `String` parameter(s) can be used with `LocalDate` String representation: `yyyy-MM-dd`.
39 |
40 | Examples:
41 | [source,java]
42 | ----
43 | LocalDate localDate = new LocalDate(2000, 1, 1);
44 |
45 | assertThat(localDate).hasYear(2000)
46 | .hasMonthOfYear(1)
47 | .hasDayOfMonth(1)
48 | .isBefore(new LocalDate(2000, 1, 2))
49 | .isBefore("2000-01-02")
50 | .isBeforeOrEqualTo(new LocalDate(2000, 1, 1))
51 | .isBeforeOrEqualTo("2000-01-01")
52 | .isBeforeOrEqualTo(new LocalDate(2000, 1, 2))
53 | .isBeforeOrEqualTo("2000-01-02")
54 | .isEqualTo(new LocalDate(2000, 1, 1))
55 | .isEqualTo("2000-01-01")
56 | .isAfterOrEqualTo(new LocalDate(2000, 1, 1))
57 | .isAfterOrEqualTo("2000-01-01")
58 | .isAfterOrEqualTo(new LocalDate(1999, 12, 31))
59 | .isAfterOrEqualTo("1999-12-31")
60 | .isAfter(new LocalDate(1999, 12, 31))
61 | .isAfter("1999-12-31")
62 | .isNotEqualTo("2000-01-15")
63 | .isNotEqualTo(new LocalDate(2000, 1, 15))
64 | .isIn(new LocalDate(1999, 12, 31), new LocalDate(2000, 1, 1))
65 | .isIn("1999-12-31", "2000-01-01")
66 | .isNotIn(new LocalDate(1999, 12, 31), new LocalDate(2000, 1, 2))
67 | .isNotIn("1999-12-31", "2000-01-02");
68 | ----
69 |
70 |
71 | [[assertj-joda-time-2-1-0-release-notes]]
72 | ==== AssertJ Joda Time 2.1.0
73 |
74 | Release date: 2018-05-27
75 |
76 | [[assertj-joda-time-2.1.0-contributors]]
77 | [.release-note-category]#icon:user[] Contributors#
78 |
79 | Thanks to John Killmer for his contribution.
80 |
81 | [[assertj-joda-time-2.1.0-new-features]]
82 | [.release-note-category]#icon:plus-circle[] New features#
83 |
84 | Add `LocalDateTime` assertions providing the following ones (John Killmer):
85 |
86 | - `hasYear`: Verifies that the year of the actual LocalDateTime is equal to the given year.
87 | - `hasMonthOfYear`: Verifies that the month of the actual LocalDateTime is equal to the given month
88 | - `hasDayOfMonth`: Verifies that the day of month of the actual LocalDateTime is equal to the given day of month
89 | - `hasHourOfDay`: Verifies that the hour of the actual DateTime is equal to the given hour
90 | - `hasMinuteOfHour`: Verifies that the minute of the actual LocalDateTime is equal to the given minute
91 | - `hasSecondOfMinute`: Verifies that the seconds of the actual LocalDateTime is equal to the given seconds
92 | - `hasMillisOfSecond`: Verifies that the milliseconds of the actual LocalDateTime is equal to the given milliseconds
93 |
94 | Examples:
95 | [source,java]
96 | ----
97 | DateTime dateTime = new DateTime(1999, 12, 31, 23, 59, 59, 999, DateTimeZone.UTC);
98 |
99 | assertThat(dateTime).hasYear(1999)
100 | .hasMonthOfYear(12)
101 | .hasDayOfMonth(31)
102 | .hasHourOfDay(23)
103 | .hasMinuteOfHour(59)
104 | .hasSecondOfMinute(59)
105 | .hasMillisOfSecond(999);
106 | ----
107 |
108 | [[assertj-joda-time-2-0-0-release-notes]]
109 | ==== AssertJ Joda Time 2.0.0
110 |
111 | Release date: 2016-04-10
112 |
113 | [[assertj-joda-time-2.0.0-contributors]]
114 | [.release-note-category]#icon:user[] Contributors#
115 |
116 | Thanks to Pascal Schumacher and David Simmons for their contributions.
117 |
118 | [[assertj-joda-time-2-0-0-breaking-changes]]
119 | [.release-note-category]#icon:exclamation-triangle[] Breaking changes#
120 |
121 | AssertJ Joda Time 2.0.0 requires Java 8 as it relies on AssertJ Core 3.x, use 1.1.0 version if you are still using Java 7.
122 |
123 | [[assertj-joda-time-2-0-0-improvements]]
124 | [.release-note-category]#icon:arrow-circle-up[] Improvements#
125 |
126 | * DateTime assertion: better handling of null in assertions. (David Simmons)
127 | * To be OS agnostic, replace `\n` with `%n` in error messages. (Pascal Schumacher)
128 | * Better spacing in Javadoc code examples. (Pascal Schumacher)
129 |
130 |
131 |
132 |
133 |
134 |
135 |
--------------------------------------------------------------------------------
/src/docs/asciidoc/user-guide/assertj-joda.adoc:
--------------------------------------------------------------------------------
1 | [[assertj-joda]]
2 | == AssertJ Joda
3 |
4 | include::assertj-joda-quickstart.adoc[]
5 |
6 | include::assertj-joda-assertions-guide.adoc[]
7 |
8 | include::assertj-joda-release-notes.adoc[]
--------------------------------------------------------------------------------
/src/docs/asciidoc/user-guide/assertj-neo4j.adoc:
--------------------------------------------------------------------------------
1 | [[assertj-neo4j]]
2 | == AssertJ Neo4j
3 |
--------------------------------------------------------------------------------
/src/docs/asciidoc/user-guide/assertj-overview.adoc:
--------------------------------------------------------------------------------
1 | [[assertj-overview]]
2 | == AssertJ Overview
3 |
4 | AssertJ is composed of several modules:
5 |
6 | * A link:#assertj-core[core module] to provide assertions for JDK types (String, Iterable, Stream, Path, File, Map, ...)
7 | * A link:#assertj-guava[Guava module] to provide assertions for Guava types (Multimap, Optional, ...)
8 | * A link:#assertj-joda[Joda Time module] to provide assertions for Joda Time types (DateTime, LocalDateTime)
9 | * A link:#assertj-neo4j[Neo4J module] to provide assertions for Neo4J types (Path, Node, Relationship, ...)
10 | * A link:#assertj-db[DB module] to provide assertions for relational database types (Table, Row, Column, ...)
11 | * A link:#assertj-swing[Swing module] provides a simple and intuitive API for functional testing of Swing user interfaces
12 |
--------------------------------------------------------------------------------
/src/docs/asciidoc/user-guide/assertj-swing-release-notes.adoc:
--------------------------------------------------------------------------------
1 | [[assertj-swing-release-notes]]
2 | === Release Notes
3 |
4 | NOTE: AssertJ Swing would not exist without its contributors, you can find them all {assertj-swing-repo}/graphs/contributors[directly on GitHub].
5 |
6 | Latest release notes:
7 |
8 | - link:#assertj-swing-3-17-0-release-notes[AssertJ Swing 3.17.0]
9 |
10 | Older release notes can be found in the old site: https://joel-costigliola.github.io/assertj/assertj-swing-news.html, this is important to be aware of breaking changes if you are migrating from an old version.
11 |
12 | [[assertj-swing-3-17-0-release-notes]]
13 | ==== AssertJ Swing 3.17.0
14 |
15 | Release date: 2020-09-13
16 |
17 | [[assertj-swing-3.17.0-contributors]]
18 | [.release-note-category]#icon:user[] Contributors#
19 |
20 | Thanks to all the contributors of this release: diba1013, Stefano Cordio and Edwin Stang.
21 |
22 | [[assertj-swing-3.17.0-breaking-changes]]
23 | [.release-note-category]#icon:exclamation-triangle[] Breaking changes#
24 |
25 | * Change of AssertJ Core from 3.11.1 to 3.17.0
26 |
27 | [[assertj-swing-3.17.0-improvements]]
28 | [.release-note-category]#icon:arrow-circle-up[] Improvements#
29 |
30 | * Allow exceptions to be thrown for smaller test-code footprint.
31 |
32 | [[assertj-swing-3.17.0-fixed]]
33 | [.release-note-category]#icon:wrench[] Fixed#
34 |
35 | * Fix: NPE on invoking JFrames with tray within AssertJSwingJUnitTestCase. (Edwin Stang)
36 |
--------------------------------------------------------------------------------
/src/docs/asciidoc/user-guide/assertj-swing.adoc:
--------------------------------------------------------------------------------
1 | [[assertj-swing]]
2 | == AssertJ Swing
3 |
4 | include::assertj-swing-release-notes.adoc[]
5 |
--------------------------------------------------------------------------------
/src/docs/asciidoc/user-guide/contributors.adoc:
--------------------------------------------------------------------------------
1 | [[contributors]]
2 | == Contributors
3 |
4 | Browse the {assertj-core-repo}/graphs/contributors[current list of contributors] directly on GitHub.
5 |
--------------------------------------------------------------------------------
/src/docs/asciidoc/user-guide/docinfo-footer.html:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/src/docs/asciidoc/user-guide/docinfo.html:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/docs/asciidoc/user-guide/highlight/styles/agate.css:
--------------------------------------------------------------------------------
1 | /*!
2 | * Agate by Taufik Nurrohman
3 | * ----------------------------------------------------
4 | *
5 | * #ade5fc
6 | * #a2fca2
7 | * #c6b4f0
8 | * #d36363
9 | * #fcc28c
10 | * #fc9b9b
11 | * #ffa
12 | * #fff
13 | * #333
14 | * #62c8f3
15 | * #888
16 | *
17 | */
18 |
19 | .hljs {
20 | display: block;
21 | overflow-x: auto;
22 | padding: 0.5em;
23 | background: #333;
24 | color: white;
25 | }
26 |
27 | .hljs-name,
28 | .hljs-strong {
29 | font-weight: bold;
30 | }
31 |
32 | .hljs-code,
33 | .hljs-emphasis {
34 | font-style: italic;
35 | }
36 |
37 | .hljs-tag {
38 | color: #62c8f3;
39 | }
40 |
41 | .hljs-variable,
42 | .hljs-template-variable,
43 | .hljs-selector-id,
44 | .hljs-selector-class {
45 | color: #ade5fc;
46 | }
47 |
48 | .hljs-string,
49 | .hljs-bullet {
50 | color: #a2fca2;
51 | }
52 |
53 | .hljs-type,
54 | .hljs-title,
55 | .hljs-section,
56 | .hljs-attribute,
57 | .hljs-quote,
58 | .hljs-built_in,
59 | .hljs-builtin-name {
60 | color: #ffa;
61 | }
62 |
63 | .hljs-number,
64 | .hljs-symbol,
65 | .hljs-bullet {
66 | color: #d36363;
67 | }
68 |
69 | .hljs-keyword,
70 | .hljs-selector-tag,
71 | .hljs-literal {
72 | color: #fcc28c;
73 | }
74 |
75 | .hljs-comment,
76 | .hljs-deletion,
77 | .hljs-code {
78 | color: #888;
79 | }
80 |
81 | .hljs-regexp,
82 | .hljs-link {
83 | color: #c6b4f0;
84 | }
85 |
86 | .hljs-meta {
87 | color: #fc9b9b;
88 | }
89 |
90 | .hljs-deletion {
91 | background-color: #fc9b9b;
92 | color: #333;
93 | }
94 |
95 | .hljs-addition {
96 | background-color: #a2fca2;
97 | color: #333;
98 | }
99 |
100 | .hljs a {
101 | color: inherit;
102 | }
103 |
104 | .hljs a:focus,
105 | .hljs a:hover {
106 | color: inherit;
107 | text-decoration: underline;
108 | }
109 |
--------------------------------------------------------------------------------
/src/docs/asciidoc/user-guide/highlight/styles/androidstudio.css:
--------------------------------------------------------------------------------
1 | /*
2 | Date: 24 Fev 2015
3 | Author: Pedro Oliveira
4 | */
5 |
6 | .hljs {
7 | color: #a9b7c6;
8 | background: #282b2e;
9 | display: block;
10 | overflow-x: auto;
11 | padding: 0.5em;
12 | }
13 |
14 | .hljs-number,
15 | .hljs-literal,
16 | .hljs-symbol,
17 | .hljs-bullet {
18 | color: #6897BB;
19 | }
20 |
21 | .hljs-keyword,
22 | .hljs-selector-tag,
23 | .hljs-deletion {
24 | color: #cc7832;
25 | }
26 |
27 | .hljs-variable,
28 | .hljs-template-variable,
29 | .hljs-link {
30 | color: #629755;
31 | }
32 |
33 | .hljs-comment,
34 | .hljs-quote {
35 | color: #808080;
36 | }
37 |
38 | .hljs-meta {
39 | color: #bbb529;
40 | }
41 |
42 | .hljs-string,
43 | .hljs-attribute,
44 | .hljs-addition {
45 | color: #6A8759;
46 | }
47 |
48 | .hljs-section,
49 | .hljs-title,
50 | .hljs-type {
51 | color: #ffc66d;
52 | }
53 |
54 | .hljs-name,
55 | .hljs-selector-id,
56 | .hljs-selector-class {
57 | color: #e8bf6a;
58 | }
59 |
60 | .hljs-emphasis {
61 | font-style: italic;
62 | }
63 |
64 | .hljs-strong {
65 | font-weight: bold;
66 | }
67 |
--------------------------------------------------------------------------------
/src/docs/asciidoc/user-guide/highlight/styles/arduino-light.css:
--------------------------------------------------------------------------------
1 | /*
2 |
3 | Arduino® Light Theme - Stefania Mellai
4 |
5 | */
6 |
7 | .hljs {
8 | display: block;
9 | overflow-x: auto;
10 | padding: 0.5em;
11 | background: #FFFFFF;
12 | }
13 |
14 | .hljs,
15 | .hljs-subst {
16 | color: #434f54;
17 | }
18 |
19 | .hljs-keyword,
20 | .hljs-attribute,
21 | .hljs-selector-tag,
22 | .hljs-doctag,
23 | .hljs-name {
24 | color: #00979D;
25 | }
26 |
27 | .hljs-built_in,
28 | .hljs-literal,
29 | .hljs-bullet,
30 | .hljs-code,
31 | .hljs-addition {
32 | color: #D35400;
33 | }
34 |
35 | .hljs-regexp,
36 | .hljs-symbol,
37 | .hljs-variable,
38 | .hljs-template-variable,
39 | .hljs-link,
40 | .hljs-selector-attr,
41 | .hljs-selector-pseudo {
42 | color: #00979D;
43 | }
44 |
45 | .hljs-type,
46 | .hljs-string,
47 | .hljs-selector-id,
48 | .hljs-selector-class,
49 | .hljs-quote,
50 | .hljs-template-tag,
51 | .hljs-deletion {
52 | color: #005C5F;
53 | }
54 |
55 | .hljs-title,
56 | .hljs-section {
57 | color: #880000;
58 | font-weight: bold;
59 | }
60 |
61 | .hljs-comment {
62 | color: rgba(149,165,166,.8);
63 | }
64 |
65 | .hljs-meta-keyword {
66 | color: #728E00;
67 | }
68 |
69 | .hljs-meta {
70 | color: #728E00;
71 | color: #434f54;
72 | }
73 |
74 | .hljs-emphasis {
75 | font-style: italic;
76 | }
77 |
78 | .hljs-strong {
79 | font-weight: bold;
80 | }
81 |
82 | .hljs-function {
83 | color: #728E00;
84 | }
85 |
86 | .hljs-number {
87 | color: #8A7B52;
88 | }
89 |
--------------------------------------------------------------------------------
/src/docs/asciidoc/user-guide/highlight/styles/arta.css:
--------------------------------------------------------------------------------
1 | /*
2 | Date: 17.V.2011
3 | Author: pumbur
4 | */
5 |
6 | .hljs {
7 | display: block;
8 | overflow-x: auto;
9 | padding: 0.5em;
10 | background: #222;
11 | }
12 |
13 | .hljs,
14 | .hljs-subst {
15 | color: #aaa;
16 | }
17 |
18 | .hljs-section {
19 | color: #fff;
20 | }
21 |
22 | .hljs-comment,
23 | .hljs-quote,
24 | .hljs-meta {
25 | color: #444;
26 | }
27 |
28 | .hljs-string,
29 | .hljs-symbol,
30 | .hljs-bullet,
31 | .hljs-regexp {
32 | color: #ffcc33;
33 | }
34 |
35 | .hljs-number,
36 | .hljs-addition {
37 | color: #00cc66;
38 | }
39 |
40 | .hljs-built_in,
41 | .hljs-builtin-name,
42 | .hljs-literal,
43 | .hljs-type,
44 | .hljs-template-variable,
45 | .hljs-attribute,
46 | .hljs-link {
47 | color: #32aaee;
48 | }
49 |
50 | .hljs-keyword,
51 | .hljs-selector-tag,
52 | .hljs-name,
53 | .hljs-selector-id,
54 | .hljs-selector-class {
55 | color: #6644aa;
56 | }
57 |
58 | .hljs-title,
59 | .hljs-variable,
60 | .hljs-deletion,
61 | .hljs-template-tag {
62 | color: #bb1166;
63 | }
64 |
65 | .hljs-section,
66 | .hljs-doctag,
67 | .hljs-strong {
68 | font-weight: bold;
69 | }
70 |
71 | .hljs-emphasis {
72 | font-style: italic;
73 | }
74 |
--------------------------------------------------------------------------------
/src/docs/asciidoc/user-guide/highlight/styles/ascetic.css:
--------------------------------------------------------------------------------
1 | /*
2 |
3 | Original style from softwaremaniacs.org (c) Ivan Sagalaev
4 |
5 | */
6 |
7 | .hljs {
8 | display: block;
9 | overflow-x: auto;
10 | padding: 0.5em;
11 | background: white;
12 | color: black;
13 | }
14 |
15 | .hljs-string,
16 | .hljs-variable,
17 | .hljs-template-variable,
18 | .hljs-symbol,
19 | .hljs-bullet,
20 | .hljs-section,
21 | .hljs-addition,
22 | .hljs-attribute,
23 | .hljs-link {
24 | color: #888;
25 | }
26 |
27 | .hljs-comment,
28 | .hljs-quote,
29 | .hljs-meta,
30 | .hljs-deletion {
31 | color: #ccc;
32 | }
33 |
34 | .hljs-keyword,
35 | .hljs-selector-tag,
36 | .hljs-section,
37 | .hljs-name,
38 | .hljs-type,
39 | .hljs-strong {
40 | font-weight: bold;
41 | }
42 |
43 | .hljs-emphasis {
44 | font-style: italic;
45 | }
46 |
--------------------------------------------------------------------------------
/src/docs/asciidoc/user-guide/highlight/styles/atelier-cave-dark.css:
--------------------------------------------------------------------------------
1 | /* Base16 Atelier Cave Dark - Theme */
2 | /* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/cave) */
3 | /* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */
4 |
5 | /* Atelier-Cave Comment */
6 | .hljs-comment,
7 | .hljs-quote {
8 | color: #7e7887;
9 | }
10 |
11 | /* Atelier-Cave Red */
12 | .hljs-variable,
13 | .hljs-template-variable,
14 | .hljs-attribute,
15 | .hljs-regexp,
16 | .hljs-link,
17 | .hljs-tag,
18 | .hljs-name,
19 | .hljs-selector-id,
20 | .hljs-selector-class {
21 | color: #be4678;
22 | }
23 |
24 | /* Atelier-Cave Orange */
25 | .hljs-number,
26 | .hljs-meta,
27 | .hljs-built_in,
28 | .hljs-builtin-name,
29 | .hljs-literal,
30 | .hljs-type,
31 | .hljs-params {
32 | color: #aa573c;
33 | }
34 |
35 | /* Atelier-Cave Green */
36 | .hljs-string,
37 | .hljs-symbol,
38 | .hljs-bullet {
39 | color: #2a9292;
40 | }
41 |
42 | /* Atelier-Cave Blue */
43 | .hljs-title,
44 | .hljs-section {
45 | color: #576ddb;
46 | }
47 |
48 | /* Atelier-Cave Purple */
49 | .hljs-keyword,
50 | .hljs-selector-tag {
51 | color: #955ae7;
52 | }
53 |
54 | .hljs-deletion,
55 | .hljs-addition {
56 | color: #19171c;
57 | display: inline-block;
58 | width: 100%;
59 | }
60 |
61 | .hljs-deletion {
62 | background-color: #be4678;
63 | }
64 |
65 | .hljs-addition {
66 | background-color: #2a9292;
67 | }
68 |
69 | .hljs {
70 | display: block;
71 | overflow-x: auto;
72 | background: #19171c;
73 | color: #8b8792;
74 | padding: 0.5em;
75 | }
76 |
77 | .hljs-emphasis {
78 | font-style: italic;
79 | }
80 |
81 | .hljs-strong {
82 | font-weight: bold;
83 | }
84 |
--------------------------------------------------------------------------------
/src/docs/asciidoc/user-guide/highlight/styles/atelier-cave-light.css:
--------------------------------------------------------------------------------
1 | /* Base16 Atelier Cave Light - Theme */
2 | /* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/cave) */
3 | /* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */
4 |
5 | /* Atelier-Cave Comment */
6 | .hljs-comment,
7 | .hljs-quote {
8 | color: #655f6d;
9 | }
10 |
11 | /* Atelier-Cave Red */
12 | .hljs-variable,
13 | .hljs-template-variable,
14 | .hljs-attribute,
15 | .hljs-tag,
16 | .hljs-name,
17 | .hljs-regexp,
18 | .hljs-link,
19 | .hljs-name,
20 | .hljs-name,
21 | .hljs-selector-id,
22 | .hljs-selector-class {
23 | color: #be4678;
24 | }
25 |
26 | /* Atelier-Cave Orange */
27 | .hljs-number,
28 | .hljs-meta,
29 | .hljs-built_in,
30 | .hljs-builtin-name,
31 | .hljs-literal,
32 | .hljs-type,
33 | .hljs-params {
34 | color: #aa573c;
35 | }
36 |
37 | /* Atelier-Cave Green */
38 | .hljs-string,
39 | .hljs-symbol,
40 | .hljs-bullet {
41 | color: #2a9292;
42 | }
43 |
44 | /* Atelier-Cave Blue */
45 | .hljs-title,
46 | .hljs-section {
47 | color: #576ddb;
48 | }
49 |
50 | /* Atelier-Cave Purple */
51 | .hljs-keyword,
52 | .hljs-selector-tag {
53 | color: #955ae7;
54 | }
55 |
56 | .hljs-deletion,
57 | .hljs-addition {
58 | color: #19171c;
59 | display: inline-block;
60 | width: 100%;
61 | }
62 |
63 | .hljs-deletion {
64 | background-color: #be4678;
65 | }
66 |
67 | .hljs-addition {
68 | background-color: #2a9292;
69 | }
70 |
71 | .hljs {
72 | display: block;
73 | overflow-x: auto;
74 | background: #efecf4;
75 | color: #585260;
76 | padding: 0.5em;
77 | }
78 |
79 | .hljs-emphasis {
80 | font-style: italic;
81 | }
82 |
83 | .hljs-strong {
84 | font-weight: bold;
85 | }
86 |
--------------------------------------------------------------------------------
/src/docs/asciidoc/user-guide/highlight/styles/atelier-dune-dark.css:
--------------------------------------------------------------------------------
1 | /* Base16 Atelier Dune Dark - Theme */
2 | /* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/dune) */
3 | /* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */
4 |
5 | /* Atelier-Dune Comment */
6 | .hljs-comment,
7 | .hljs-quote {
8 | color: #999580;
9 | }
10 |
11 | /* Atelier-Dune Red */
12 | .hljs-variable,
13 | .hljs-template-variable,
14 | .hljs-attribute,
15 | .hljs-tag,
16 | .hljs-name,
17 | .hljs-regexp,
18 | .hljs-link,
19 | .hljs-name,
20 | .hljs-selector-id,
21 | .hljs-selector-class {
22 | color: #d73737;
23 | }
24 |
25 | /* Atelier-Dune Orange */
26 | .hljs-number,
27 | .hljs-meta,
28 | .hljs-built_in,
29 | .hljs-builtin-name,
30 | .hljs-literal,
31 | .hljs-type,
32 | .hljs-params {
33 | color: #b65611;
34 | }
35 |
36 | /* Atelier-Dune Green */
37 | .hljs-string,
38 | .hljs-symbol,
39 | .hljs-bullet {
40 | color: #60ac39;
41 | }
42 |
43 | /* Atelier-Dune Blue */
44 | .hljs-title,
45 | .hljs-section {
46 | color: #6684e1;
47 | }
48 |
49 | /* Atelier-Dune Purple */
50 | .hljs-keyword,
51 | .hljs-selector-tag {
52 | color: #b854d4;
53 | }
54 |
55 | .hljs {
56 | display: block;
57 | overflow-x: auto;
58 | background: #20201d;
59 | color: #a6a28c;
60 | padding: 0.5em;
61 | }
62 |
63 | .hljs-emphasis {
64 | font-style: italic;
65 | }
66 |
67 | .hljs-strong {
68 | font-weight: bold;
69 | }
70 |
--------------------------------------------------------------------------------
/src/docs/asciidoc/user-guide/highlight/styles/atelier-dune-light.css:
--------------------------------------------------------------------------------
1 | /* Base16 Atelier Dune Light - Theme */
2 | /* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/dune) */
3 | /* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */
4 |
5 | /* Atelier-Dune Comment */
6 | .hljs-comment,
7 | .hljs-quote {
8 | color: #7d7a68;
9 | }
10 |
11 | /* Atelier-Dune Red */
12 | .hljs-variable,
13 | .hljs-template-variable,
14 | .hljs-attribute,
15 | .hljs-tag,
16 | .hljs-name,
17 | .hljs-regexp,
18 | .hljs-link,
19 | .hljs-name,
20 | .hljs-selector-id,
21 | .hljs-selector-class {
22 | color: #d73737;
23 | }
24 |
25 | /* Atelier-Dune Orange */
26 | .hljs-number,
27 | .hljs-meta,
28 | .hljs-built_in,
29 | .hljs-builtin-name,
30 | .hljs-literal,
31 | .hljs-type,
32 | .hljs-params {
33 | color: #b65611;
34 | }
35 |
36 | /* Atelier-Dune Green */
37 | .hljs-string,
38 | .hljs-symbol,
39 | .hljs-bullet {
40 | color: #60ac39;
41 | }
42 |
43 | /* Atelier-Dune Blue */
44 | .hljs-title,
45 | .hljs-section {
46 | color: #6684e1;
47 | }
48 |
49 | /* Atelier-Dune Purple */
50 | .hljs-keyword,
51 | .hljs-selector-tag {
52 | color: #b854d4;
53 | }
54 |
55 | .hljs {
56 | display: block;
57 | overflow-x: auto;
58 | background: #fefbec;
59 | color: #6e6b5e;
60 | padding: 0.5em;
61 | }
62 |
63 | .hljs-emphasis {
64 | font-style: italic;
65 | }
66 |
67 | .hljs-strong {
68 | font-weight: bold;
69 | }
70 |
--------------------------------------------------------------------------------
/src/docs/asciidoc/user-guide/highlight/styles/atelier-estuary-dark.css:
--------------------------------------------------------------------------------
1 | /* Base16 Atelier Estuary Dark - Theme */
2 | /* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/estuary) */
3 | /* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */
4 |
5 | /* Atelier-Estuary Comment */
6 | .hljs-comment,
7 | .hljs-quote {
8 | color: #878573;
9 | }
10 |
11 | /* Atelier-Estuary Red */
12 | .hljs-variable,
13 | .hljs-template-variable,
14 | .hljs-attribute,
15 | .hljs-tag,
16 | .hljs-name,
17 | .hljs-regexp,
18 | .hljs-link,
19 | .hljs-name,
20 | .hljs-selector-id,
21 | .hljs-selector-class {
22 | color: #ba6236;
23 | }
24 |
25 | /* Atelier-Estuary Orange */
26 | .hljs-number,
27 | .hljs-meta,
28 | .hljs-built_in,
29 | .hljs-builtin-name,
30 | .hljs-literal,
31 | .hljs-type,
32 | .hljs-params {
33 | color: #ae7313;
34 | }
35 |
36 | /* Atelier-Estuary Green */
37 | .hljs-string,
38 | .hljs-symbol,
39 | .hljs-bullet {
40 | color: #7d9726;
41 | }
42 |
43 | /* Atelier-Estuary Blue */
44 | .hljs-title,
45 | .hljs-section {
46 | color: #36a166;
47 | }
48 |
49 | /* Atelier-Estuary Purple */
50 | .hljs-keyword,
51 | .hljs-selector-tag {
52 | color: #5f9182;
53 | }
54 |
55 | .hljs-deletion,
56 | .hljs-addition {
57 | color: #22221b;
58 | display: inline-block;
59 | width: 100%;
60 | }
61 |
62 | .hljs-deletion {
63 | background-color: #ba6236;
64 | }
65 |
66 | .hljs-addition {
67 | background-color: #7d9726;
68 | }
69 |
70 | .hljs {
71 | display: block;
72 | overflow-x: auto;
73 | background: #22221b;
74 | color: #929181;
75 | padding: 0.5em;
76 | }
77 |
78 | .hljs-emphasis {
79 | font-style: italic;
80 | }
81 |
82 | .hljs-strong {
83 | font-weight: bold;
84 | }
85 |
--------------------------------------------------------------------------------
/src/docs/asciidoc/user-guide/highlight/styles/atelier-estuary-light.css:
--------------------------------------------------------------------------------
1 | /* Base16 Atelier Estuary Light - Theme */
2 | /* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/estuary) */
3 | /* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */
4 |
5 | /* Atelier-Estuary Comment */
6 | .hljs-comment,
7 | .hljs-quote {
8 | color: #6c6b5a;
9 | }
10 |
11 | /* Atelier-Estuary Red */
12 | .hljs-variable,
13 | .hljs-template-variable,
14 | .hljs-attribute,
15 | .hljs-tag,
16 | .hljs-name,
17 | .hljs-regexp,
18 | .hljs-link,
19 | .hljs-name,
20 | .hljs-selector-id,
21 | .hljs-selector-class {
22 | color: #ba6236;
23 | }
24 |
25 | /* Atelier-Estuary Orange */
26 | .hljs-number,
27 | .hljs-meta,
28 | .hljs-built_in,
29 | .hljs-builtin-name,
30 | .hljs-literal,
31 | .hljs-type,
32 | .hljs-params {
33 | color: #ae7313;
34 | }
35 |
36 | /* Atelier-Estuary Green */
37 | .hljs-string,
38 | .hljs-symbol,
39 | .hljs-bullet {
40 | color: #7d9726;
41 | }
42 |
43 | /* Atelier-Estuary Blue */
44 | .hljs-title,
45 | .hljs-section {
46 | color: #36a166;
47 | }
48 |
49 | /* Atelier-Estuary Purple */
50 | .hljs-keyword,
51 | .hljs-selector-tag {
52 | color: #5f9182;
53 | }
54 |
55 | .hljs-deletion,
56 | .hljs-addition {
57 | color: #22221b;
58 | display: inline-block;
59 | width: 100%;
60 | }
61 |
62 | .hljs-deletion {
63 | background-color: #ba6236;
64 | }
65 |
66 | .hljs-addition {
67 | background-color: #7d9726;
68 | }
69 |
70 | .hljs {
71 | display: block;
72 | overflow-x: auto;
73 | background: #f4f3ec;
74 | color: #5f5e4e;
75 | padding: 0.5em;
76 | }
77 |
78 | .hljs-emphasis {
79 | font-style: italic;
80 | }
81 |
82 | .hljs-strong {
83 | font-weight: bold;
84 | }
85 |
--------------------------------------------------------------------------------
/src/docs/asciidoc/user-guide/highlight/styles/atelier-forest-dark.css:
--------------------------------------------------------------------------------
1 | /* Base16 Atelier Forest Dark - Theme */
2 | /* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/forest) */
3 | /* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */
4 |
5 | /* Atelier-Forest Comment */
6 | .hljs-comment,
7 | .hljs-quote {
8 | color: #9c9491;
9 | }
10 |
11 | /* Atelier-Forest Red */
12 | .hljs-variable,
13 | .hljs-template-variable,
14 | .hljs-attribute,
15 | .hljs-tag,
16 | .hljs-name,
17 | .hljs-regexp,
18 | .hljs-link,
19 | .hljs-name,
20 | .hljs-selector-id,
21 | .hljs-selector-class {
22 | color: #f22c40;
23 | }
24 |
25 | /* Atelier-Forest Orange */
26 | .hljs-number,
27 | .hljs-meta,
28 | .hljs-built_in,
29 | .hljs-builtin-name,
30 | .hljs-literal,
31 | .hljs-type,
32 | .hljs-params {
33 | color: #df5320;
34 | }
35 |
36 | /* Atelier-Forest Green */
37 | .hljs-string,
38 | .hljs-symbol,
39 | .hljs-bullet {
40 | color: #7b9726;
41 | }
42 |
43 | /* Atelier-Forest Blue */
44 | .hljs-title,
45 | .hljs-section {
46 | color: #407ee7;
47 | }
48 |
49 | /* Atelier-Forest Purple */
50 | .hljs-keyword,
51 | .hljs-selector-tag {
52 | color: #6666ea;
53 | }
54 |
55 | .hljs {
56 | display: block;
57 | overflow-x: auto;
58 | background: #1b1918;
59 | color: #a8a19f;
60 | padding: 0.5em;
61 | }
62 |
63 | .hljs-emphasis {
64 | font-style: italic;
65 | }
66 |
67 | .hljs-strong {
68 | font-weight: bold;
69 | }
70 |
--------------------------------------------------------------------------------
/src/docs/asciidoc/user-guide/highlight/styles/atelier-forest-light.css:
--------------------------------------------------------------------------------
1 | /* Base16 Atelier Forest Light - Theme */
2 | /* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/forest) */
3 | /* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */
4 |
5 | /* Atelier-Forest Comment */
6 | .hljs-comment,
7 | .hljs-quote {
8 | color: #766e6b;
9 | }
10 |
11 | /* Atelier-Forest Red */
12 | .hljs-variable,
13 | .hljs-template-variable,
14 | .hljs-attribute,
15 | .hljs-tag,
16 | .hljs-name,
17 | .hljs-regexp,
18 | .hljs-link,
19 | .hljs-name,
20 | .hljs-selector-id,
21 | .hljs-selector-class {
22 | color: #f22c40;
23 | }
24 |
25 | /* Atelier-Forest Orange */
26 | .hljs-number,
27 | .hljs-meta,
28 | .hljs-built_in,
29 | .hljs-builtin-name,
30 | .hljs-literal,
31 | .hljs-type,
32 | .hljs-params {
33 | color: #df5320;
34 | }
35 |
36 | /* Atelier-Forest Green */
37 | .hljs-string,
38 | .hljs-symbol,
39 | .hljs-bullet {
40 | color: #7b9726;
41 | }
42 |
43 | /* Atelier-Forest Blue */
44 | .hljs-title,
45 | .hljs-section {
46 | color: #407ee7;
47 | }
48 |
49 | /* Atelier-Forest Purple */
50 | .hljs-keyword,
51 | .hljs-selector-tag {
52 | color: #6666ea;
53 | }
54 |
55 | .hljs {
56 | display: block;
57 | overflow-x: auto;
58 | background: #f1efee;
59 | color: #68615e;
60 | padding: 0.5em;
61 | }
62 |
63 | .hljs-emphasis {
64 | font-style: italic;
65 | }
66 |
67 | .hljs-strong {
68 | font-weight: bold;
69 | }
70 |
--------------------------------------------------------------------------------
/src/docs/asciidoc/user-guide/highlight/styles/atelier-heath-dark.css:
--------------------------------------------------------------------------------
1 | /* Base16 Atelier Heath Dark - Theme */
2 | /* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/heath) */
3 | /* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */
4 |
5 | /* Atelier-Heath Comment */
6 | .hljs-comment,
7 | .hljs-quote {
8 | color: #9e8f9e;
9 | }
10 |
11 | /* Atelier-Heath Red */
12 | .hljs-variable,
13 | .hljs-template-variable,
14 | .hljs-attribute,
15 | .hljs-tag,
16 | .hljs-name,
17 | .hljs-regexp,
18 | .hljs-link,
19 | .hljs-name,
20 | .hljs-selector-id,
21 | .hljs-selector-class {
22 | color: #ca402b;
23 | }
24 |
25 | /* Atelier-Heath Orange */
26 | .hljs-number,
27 | .hljs-meta,
28 | .hljs-built_in,
29 | .hljs-builtin-name,
30 | .hljs-literal,
31 | .hljs-type,
32 | .hljs-params {
33 | color: #a65926;
34 | }
35 |
36 | /* Atelier-Heath Green */
37 | .hljs-string,
38 | .hljs-symbol,
39 | .hljs-bullet {
40 | color: #918b3b;
41 | }
42 |
43 | /* Atelier-Heath Blue */
44 | .hljs-title,
45 | .hljs-section {
46 | color: #516aec;
47 | }
48 |
49 | /* Atelier-Heath Purple */
50 | .hljs-keyword,
51 | .hljs-selector-tag {
52 | color: #7b59c0;
53 | }
54 |
55 | .hljs {
56 | display: block;
57 | overflow-x: auto;
58 | background: #1b181b;
59 | color: #ab9bab;
60 | padding: 0.5em;
61 | }
62 |
63 | .hljs-emphasis {
64 | font-style: italic;
65 | }
66 |
67 | .hljs-strong {
68 | font-weight: bold;
69 | }
70 |
--------------------------------------------------------------------------------
/src/docs/asciidoc/user-guide/highlight/styles/atelier-heath-light.css:
--------------------------------------------------------------------------------
1 | /* Base16 Atelier Heath Light - Theme */
2 | /* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/heath) */
3 | /* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */
4 |
5 | /* Atelier-Heath Comment */
6 | .hljs-comment,
7 | .hljs-quote {
8 | color: #776977;
9 | }
10 |
11 | /* Atelier-Heath Red */
12 | .hljs-variable,
13 | .hljs-template-variable,
14 | .hljs-attribute,
15 | .hljs-tag,
16 | .hljs-name,
17 | .hljs-regexp,
18 | .hljs-link,
19 | .hljs-name,
20 | .hljs-selector-id,
21 | .hljs-selector-class {
22 | color: #ca402b;
23 | }
24 |
25 | /* Atelier-Heath Orange */
26 | .hljs-number,
27 | .hljs-meta,
28 | .hljs-built_in,
29 | .hljs-builtin-name,
30 | .hljs-literal,
31 | .hljs-type,
32 | .hljs-params {
33 | color: #a65926;
34 | }
35 |
36 | /* Atelier-Heath Green */
37 | .hljs-string,
38 | .hljs-symbol,
39 | .hljs-bullet {
40 | color: #918b3b;
41 | }
42 |
43 | /* Atelier-Heath Blue */
44 | .hljs-title,
45 | .hljs-section {
46 | color: #516aec;
47 | }
48 |
49 | /* Atelier-Heath Purple */
50 | .hljs-keyword,
51 | .hljs-selector-tag {
52 | color: #7b59c0;
53 | }
54 |
55 | .hljs {
56 | display: block;
57 | overflow-x: auto;
58 | background: #f7f3f7;
59 | color: #695d69;
60 | padding: 0.5em;
61 | }
62 |
63 | .hljs-emphasis {
64 | font-style: italic;
65 | }
66 |
67 | .hljs-strong {
68 | font-weight: bold;
69 | }
70 |
--------------------------------------------------------------------------------
/src/docs/asciidoc/user-guide/highlight/styles/atelier-lakeside-dark.css:
--------------------------------------------------------------------------------
1 | /* Base16 Atelier Lakeside Dark - Theme */
2 | /* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/lakeside) */
3 | /* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */
4 |
5 | /* Atelier-Lakeside Comment */
6 | .hljs-comment,
7 | .hljs-quote {
8 | color: #7195a8;
9 | }
10 |
11 | /* Atelier-Lakeside Red */
12 | .hljs-variable,
13 | .hljs-template-variable,
14 | .hljs-attribute,
15 | .hljs-tag,
16 | .hljs-name,
17 | .hljs-regexp,
18 | .hljs-link,
19 | .hljs-name,
20 | .hljs-selector-id,
21 | .hljs-selector-class {
22 | color: #d22d72;
23 | }
24 |
25 | /* Atelier-Lakeside Orange */
26 | .hljs-number,
27 | .hljs-meta,
28 | .hljs-built_in,
29 | .hljs-builtin-name,
30 | .hljs-literal,
31 | .hljs-type,
32 | .hljs-params {
33 | color: #935c25;
34 | }
35 |
36 | /* Atelier-Lakeside Green */
37 | .hljs-string,
38 | .hljs-symbol,
39 | .hljs-bullet {
40 | color: #568c3b;
41 | }
42 |
43 | /* Atelier-Lakeside Blue */
44 | .hljs-title,
45 | .hljs-section {
46 | color: #257fad;
47 | }
48 |
49 | /* Atelier-Lakeside Purple */
50 | .hljs-keyword,
51 | .hljs-selector-tag {
52 | color: #6b6bb8;
53 | }
54 |
55 | .hljs {
56 | display: block;
57 | overflow-x: auto;
58 | background: #161b1d;
59 | color: #7ea2b4;
60 | padding: 0.5em;
61 | }
62 |
63 | .hljs-emphasis {
64 | font-style: italic;
65 | }
66 |
67 | .hljs-strong {
68 | font-weight: bold;
69 | }
70 |
--------------------------------------------------------------------------------
/src/docs/asciidoc/user-guide/highlight/styles/atelier-lakeside-light.css:
--------------------------------------------------------------------------------
1 | /* Base16 Atelier Lakeside Light - Theme */
2 | /* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/lakeside) */
3 | /* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */
4 |
5 | /* Atelier-Lakeside Comment */
6 | .hljs-comment,
7 | .hljs-quote {
8 | color: #5a7b8c;
9 | }
10 |
11 | /* Atelier-Lakeside Red */
12 | .hljs-variable,
13 | .hljs-template-variable,
14 | .hljs-attribute,
15 | .hljs-tag,
16 | .hljs-name,
17 | .hljs-regexp,
18 | .hljs-link,
19 | .hljs-name,
20 | .hljs-selector-id,
21 | .hljs-selector-class {
22 | color: #d22d72;
23 | }
24 |
25 | /* Atelier-Lakeside Orange */
26 | .hljs-number,
27 | .hljs-meta,
28 | .hljs-built_in,
29 | .hljs-builtin-name,
30 | .hljs-literal,
31 | .hljs-type,
32 | .hljs-params {
33 | color: #935c25;
34 | }
35 |
36 | /* Atelier-Lakeside Green */
37 | .hljs-string,
38 | .hljs-symbol,
39 | .hljs-bullet {
40 | color: #568c3b;
41 | }
42 |
43 | /* Atelier-Lakeside Blue */
44 | .hljs-title,
45 | .hljs-section {
46 | color: #257fad;
47 | }
48 |
49 | /* Atelier-Lakeside Purple */
50 | .hljs-keyword,
51 | .hljs-selector-tag {
52 | color: #6b6bb8;
53 | }
54 |
55 | .hljs {
56 | display: block;
57 | overflow-x: auto;
58 | background: #ebf8ff;
59 | color: #516d7b;
60 | padding: 0.5em;
61 | }
62 |
63 | .hljs-emphasis {
64 | font-style: italic;
65 | }
66 |
67 | .hljs-strong {
68 | font-weight: bold;
69 | }
70 |
--------------------------------------------------------------------------------
/src/docs/asciidoc/user-guide/highlight/styles/atelier-plateau-dark.css:
--------------------------------------------------------------------------------
1 | /* Base16 Atelier Plateau Dark - Theme */
2 | /* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/plateau) */
3 | /* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */
4 |
5 | /* Atelier-Plateau Comment */
6 | .hljs-comment,
7 | .hljs-quote {
8 | color: #7e7777;
9 | }
10 |
11 | /* Atelier-Plateau Red */
12 | .hljs-variable,
13 | .hljs-template-variable,
14 | .hljs-attribute,
15 | .hljs-tag,
16 | .hljs-name,
17 | .hljs-regexp,
18 | .hljs-link,
19 | .hljs-name,
20 | .hljs-selector-id,
21 | .hljs-selector-class {
22 | color: #ca4949;
23 | }
24 |
25 | /* Atelier-Plateau Orange */
26 | .hljs-number,
27 | .hljs-meta,
28 | .hljs-built_in,
29 | .hljs-builtin-name,
30 | .hljs-literal,
31 | .hljs-type,
32 | .hljs-params {
33 | color: #b45a3c;
34 | }
35 |
36 | /* Atelier-Plateau Green */
37 | .hljs-string,
38 | .hljs-symbol,
39 | .hljs-bullet {
40 | color: #4b8b8b;
41 | }
42 |
43 | /* Atelier-Plateau Blue */
44 | .hljs-title,
45 | .hljs-section {
46 | color: #7272ca;
47 | }
48 |
49 | /* Atelier-Plateau Purple */
50 | .hljs-keyword,
51 | .hljs-selector-tag {
52 | color: #8464c4;
53 | }
54 |
55 | .hljs-deletion,
56 | .hljs-addition {
57 | color: #1b1818;
58 | display: inline-block;
59 | width: 100%;
60 | }
61 |
62 | .hljs-deletion {
63 | background-color: #ca4949;
64 | }
65 |
66 | .hljs-addition {
67 | background-color: #4b8b8b;
68 | }
69 |
70 | .hljs {
71 | display: block;
72 | overflow-x: auto;
73 | background: #1b1818;
74 | color: #8a8585;
75 | padding: 0.5em;
76 | }
77 |
78 | .hljs-emphasis {
79 | font-style: italic;
80 | }
81 |
82 | .hljs-strong {
83 | font-weight: bold;
84 | }
85 |
--------------------------------------------------------------------------------
/src/docs/asciidoc/user-guide/highlight/styles/atelier-plateau-light.css:
--------------------------------------------------------------------------------
1 | /* Base16 Atelier Plateau Light - Theme */
2 | /* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/plateau) */
3 | /* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */
4 |
5 | /* Atelier-Plateau Comment */
6 | .hljs-comment,
7 | .hljs-quote {
8 | color: #655d5d;
9 | }
10 |
11 | /* Atelier-Plateau Red */
12 | .hljs-variable,
13 | .hljs-template-variable,
14 | .hljs-attribute,
15 | .hljs-tag,
16 | .hljs-name,
17 | .hljs-regexp,
18 | .hljs-link,
19 | .hljs-name,
20 | .hljs-selector-id,
21 | .hljs-selector-class {
22 | color: #ca4949;
23 | }
24 |
25 | /* Atelier-Plateau Orange */
26 | .hljs-number,
27 | .hljs-meta,
28 | .hljs-built_in,
29 | .hljs-builtin-name,
30 | .hljs-literal,
31 | .hljs-type,
32 | .hljs-params {
33 | color: #b45a3c;
34 | }
35 |
36 | /* Atelier-Plateau Green */
37 | .hljs-string,
38 | .hljs-symbol,
39 | .hljs-bullet {
40 | color: #4b8b8b;
41 | }
42 |
43 | /* Atelier-Plateau Blue */
44 | .hljs-title,
45 | .hljs-section {
46 | color: #7272ca;
47 | }
48 |
49 | /* Atelier-Plateau Purple */
50 | .hljs-keyword,
51 | .hljs-selector-tag {
52 | color: #8464c4;
53 | }
54 |
55 | .hljs-deletion,
56 | .hljs-addition {
57 | color: #1b1818;
58 | display: inline-block;
59 | width: 100%;
60 | }
61 |
62 | .hljs-deletion {
63 | background-color: #ca4949;
64 | }
65 |
66 | .hljs-addition {
67 | background-color: #4b8b8b;
68 | }
69 |
70 | .hljs {
71 | display: block;
72 | overflow-x: auto;
73 | background: #f4ecec;
74 | color: #585050;
75 | padding: 0.5em;
76 | }
77 |
78 | .hljs-emphasis {
79 | font-style: italic;
80 | }
81 |
82 | .hljs-strong {
83 | font-weight: bold;
84 | }
85 |
--------------------------------------------------------------------------------
/src/docs/asciidoc/user-guide/highlight/styles/atelier-savanna-dark.css:
--------------------------------------------------------------------------------
1 | /* Base16 Atelier Savanna Dark - Theme */
2 | /* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/savanna) */
3 | /* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */
4 |
5 | /* Atelier-Savanna Comment */
6 | .hljs-comment,
7 | .hljs-quote {
8 | color: #78877d;
9 | }
10 |
11 | /* Atelier-Savanna Red */
12 | .hljs-variable,
13 | .hljs-template-variable,
14 | .hljs-attribute,
15 | .hljs-tag,
16 | .hljs-name,
17 | .hljs-regexp,
18 | .hljs-link,
19 | .hljs-name,
20 | .hljs-selector-id,
21 | .hljs-selector-class {
22 | color: #b16139;
23 | }
24 |
25 | /* Atelier-Savanna Orange */
26 | .hljs-number,
27 | .hljs-meta,
28 | .hljs-built_in,
29 | .hljs-builtin-name,
30 | .hljs-literal,
31 | .hljs-type,
32 | .hljs-params {
33 | color: #9f713c;
34 | }
35 |
36 | /* Atelier-Savanna Green */
37 | .hljs-string,
38 | .hljs-symbol,
39 | .hljs-bullet {
40 | color: #489963;
41 | }
42 |
43 | /* Atelier-Savanna Blue */
44 | .hljs-title,
45 | .hljs-section {
46 | color: #478c90;
47 | }
48 |
49 | /* Atelier-Savanna Purple */
50 | .hljs-keyword,
51 | .hljs-selector-tag {
52 | color: #55859b;
53 | }
54 |
55 | .hljs-deletion,
56 | .hljs-addition {
57 | color: #171c19;
58 | display: inline-block;
59 | width: 100%;
60 | }
61 |
62 | .hljs-deletion {
63 | background-color: #b16139;
64 | }
65 |
66 | .hljs-addition {
67 | background-color: #489963;
68 | }
69 |
70 | .hljs {
71 | display: block;
72 | overflow-x: auto;
73 | background: #171c19;
74 | color: #87928a;
75 | padding: 0.5em;
76 | }
77 |
78 | .hljs-emphasis {
79 | font-style: italic;
80 | }
81 |
82 | .hljs-strong {
83 | font-weight: bold;
84 | }
85 |
--------------------------------------------------------------------------------
/src/docs/asciidoc/user-guide/highlight/styles/atelier-savanna-light.css:
--------------------------------------------------------------------------------
1 | /* Base16 Atelier Savanna Light - Theme */
2 | /* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/savanna) */
3 | /* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */
4 |
5 | /* Atelier-Savanna Comment */
6 | .hljs-comment,
7 | .hljs-quote {
8 | color: #5f6d64;
9 | }
10 |
11 | /* Atelier-Savanna Red */
12 | .hljs-variable,
13 | .hljs-template-variable,
14 | .hljs-attribute,
15 | .hljs-tag,
16 | .hljs-name,
17 | .hljs-regexp,
18 | .hljs-link,
19 | .hljs-name,
20 | .hljs-selector-id,
21 | .hljs-selector-class {
22 | color: #b16139;
23 | }
24 |
25 | /* Atelier-Savanna Orange */
26 | .hljs-number,
27 | .hljs-meta,
28 | .hljs-built_in,
29 | .hljs-builtin-name,
30 | .hljs-literal,
31 | .hljs-type,
32 | .hljs-params {
33 | color: #9f713c;
34 | }
35 |
36 | /* Atelier-Savanna Green */
37 | .hljs-string,
38 | .hljs-symbol,
39 | .hljs-bullet {
40 | color: #489963;
41 | }
42 |
43 | /* Atelier-Savanna Blue */
44 | .hljs-title,
45 | .hljs-section {
46 | color: #478c90;
47 | }
48 |
49 | /* Atelier-Savanna Purple */
50 | .hljs-keyword,
51 | .hljs-selector-tag {
52 | color: #55859b;
53 | }
54 |
55 | .hljs-deletion,
56 | .hljs-addition {
57 | color: #171c19;
58 | display: inline-block;
59 | width: 100%;
60 | }
61 |
62 | .hljs-deletion {
63 | background-color: #b16139;
64 | }
65 |
66 | .hljs-addition {
67 | background-color: #489963;
68 | }
69 |
70 | .hljs {
71 | display: block;
72 | overflow-x: auto;
73 | background: #ecf4ee;
74 | color: #526057;
75 | padding: 0.5em;
76 | }
77 |
78 | .hljs-emphasis {
79 | font-style: italic;
80 | }
81 |
82 | .hljs-strong {
83 | font-weight: bold;
84 | }
85 |
--------------------------------------------------------------------------------
/src/docs/asciidoc/user-guide/highlight/styles/atelier-seaside-dark.css:
--------------------------------------------------------------------------------
1 | /* Base16 Atelier Seaside Dark - Theme */
2 | /* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/seaside) */
3 | /* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */
4 |
5 | /* Atelier-Seaside Comment */
6 | .hljs-comment,
7 | .hljs-quote {
8 | color: #809980;
9 | }
10 |
11 | /* Atelier-Seaside Red */
12 | .hljs-variable,
13 | .hljs-template-variable,
14 | .hljs-attribute,
15 | .hljs-tag,
16 | .hljs-name,
17 | .hljs-regexp,
18 | .hljs-link,
19 | .hljs-name,
20 | .hljs-selector-id,
21 | .hljs-selector-class {
22 | color: #e6193c;
23 | }
24 |
25 | /* Atelier-Seaside Orange */
26 | .hljs-number,
27 | .hljs-meta,
28 | .hljs-built_in,
29 | .hljs-builtin-name,
30 | .hljs-literal,
31 | .hljs-type,
32 | .hljs-params {
33 | color: #87711d;
34 | }
35 |
36 | /* Atelier-Seaside Green */
37 | .hljs-string,
38 | .hljs-symbol,
39 | .hljs-bullet {
40 | color: #29a329;
41 | }
42 |
43 | /* Atelier-Seaside Blue */
44 | .hljs-title,
45 | .hljs-section {
46 | color: #3d62f5;
47 | }
48 |
49 | /* Atelier-Seaside Purple */
50 | .hljs-keyword,
51 | .hljs-selector-tag {
52 | color: #ad2bee;
53 | }
54 |
55 | .hljs {
56 | display: block;
57 | overflow-x: auto;
58 | background: #131513;
59 | color: #8ca68c;
60 | padding: 0.5em;
61 | }
62 |
63 | .hljs-emphasis {
64 | font-style: italic;
65 | }
66 |
67 | .hljs-strong {
68 | font-weight: bold;
69 | }
70 |
--------------------------------------------------------------------------------
/src/docs/asciidoc/user-guide/highlight/styles/atelier-seaside-light.css:
--------------------------------------------------------------------------------
1 | /* Base16 Atelier Seaside Light - Theme */
2 | /* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/seaside) */
3 | /* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */
4 |
5 | /* Atelier-Seaside Comment */
6 | .hljs-comment,
7 | .hljs-quote {
8 | color: #687d68;
9 | }
10 |
11 | /* Atelier-Seaside Red */
12 | .hljs-variable,
13 | .hljs-template-variable,
14 | .hljs-attribute,
15 | .hljs-tag,
16 | .hljs-name,
17 | .hljs-regexp,
18 | .hljs-link,
19 | .hljs-name,
20 | .hljs-selector-id,
21 | .hljs-selector-class {
22 | color: #e6193c;
23 | }
24 |
25 | /* Atelier-Seaside Orange */
26 | .hljs-number,
27 | .hljs-meta,
28 | .hljs-built_in,
29 | .hljs-builtin-name,
30 | .hljs-literal,
31 | .hljs-type,
32 | .hljs-params {
33 | color: #87711d;
34 | }
35 |
36 | /* Atelier-Seaside Green */
37 | .hljs-string,
38 | .hljs-symbol,
39 | .hljs-bullet {
40 | color: #29a329;
41 | }
42 |
43 | /* Atelier-Seaside Blue */
44 | .hljs-title,
45 | .hljs-section {
46 | color: #3d62f5;
47 | }
48 |
49 | /* Atelier-Seaside Purple */
50 | .hljs-keyword,
51 | .hljs-selector-tag {
52 | color: #ad2bee;
53 | }
54 |
55 | .hljs {
56 | display: block;
57 | overflow-x: auto;
58 | background: #f4fbf4;
59 | color: #5e6e5e;
60 | padding: 0.5em;
61 | }
62 |
63 | .hljs-emphasis {
64 | font-style: italic;
65 | }
66 |
67 | .hljs-strong {
68 | font-weight: bold;
69 | }
70 |
--------------------------------------------------------------------------------
/src/docs/asciidoc/user-guide/highlight/styles/atelier-sulphurpool-dark.css:
--------------------------------------------------------------------------------
1 | /* Base16 Atelier Sulphurpool Dark - Theme */
2 | /* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/sulphurpool) */
3 | /* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */
4 |
5 | /* Atelier-Sulphurpool Comment */
6 | .hljs-comment,
7 | .hljs-quote {
8 | color: #898ea4;
9 | }
10 |
11 | /* Atelier-Sulphurpool Red */
12 | .hljs-variable,
13 | .hljs-template-variable,
14 | .hljs-attribute,
15 | .hljs-tag,
16 | .hljs-name,
17 | .hljs-regexp,
18 | .hljs-link,
19 | .hljs-name,
20 | .hljs-selector-id,
21 | .hljs-selector-class {
22 | color: #c94922;
23 | }
24 |
25 | /* Atelier-Sulphurpool Orange */
26 | .hljs-number,
27 | .hljs-meta,
28 | .hljs-built_in,
29 | .hljs-builtin-name,
30 | .hljs-literal,
31 | .hljs-type,
32 | .hljs-params {
33 | color: #c76b29;
34 | }
35 |
36 | /* Atelier-Sulphurpool Green */
37 | .hljs-string,
38 | .hljs-symbol,
39 | .hljs-bullet {
40 | color: #ac9739;
41 | }
42 |
43 | /* Atelier-Sulphurpool Blue */
44 | .hljs-title,
45 | .hljs-section {
46 | color: #3d8fd1;
47 | }
48 |
49 | /* Atelier-Sulphurpool Purple */
50 | .hljs-keyword,
51 | .hljs-selector-tag {
52 | color: #6679cc;
53 | }
54 |
55 | .hljs {
56 | display: block;
57 | overflow-x: auto;
58 | background: #202746;
59 | color: #979db4;
60 | padding: 0.5em;
61 | }
62 |
63 | .hljs-emphasis {
64 | font-style: italic;
65 | }
66 |
67 | .hljs-strong {
68 | font-weight: bold;
69 | }
70 |
--------------------------------------------------------------------------------
/src/docs/asciidoc/user-guide/highlight/styles/atelier-sulphurpool-light.css:
--------------------------------------------------------------------------------
1 | /* Base16 Atelier Sulphurpool Light - Theme */
2 | /* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/sulphurpool) */
3 | /* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */
4 |
5 | /* Atelier-Sulphurpool Comment */
6 | .hljs-comment,
7 | .hljs-quote {
8 | color: #6b7394;
9 | }
10 |
11 | /* Atelier-Sulphurpool Red */
12 | .hljs-variable,
13 | .hljs-template-variable,
14 | .hljs-attribute,
15 | .hljs-tag,
16 | .hljs-name,
17 | .hljs-regexp,
18 | .hljs-link,
19 | .hljs-name,
20 | .hljs-selector-id,
21 | .hljs-selector-class {
22 | color: #c94922;
23 | }
24 |
25 | /* Atelier-Sulphurpool Orange */
26 | .hljs-number,
27 | .hljs-meta,
28 | .hljs-built_in,
29 | .hljs-builtin-name,
30 | .hljs-literal,
31 | .hljs-type,
32 | .hljs-params {
33 | color: #c76b29;
34 | }
35 |
36 | /* Atelier-Sulphurpool Green */
37 | .hljs-string,
38 | .hljs-symbol,
39 | .hljs-bullet {
40 | color: #ac9739;
41 | }
42 |
43 | /* Atelier-Sulphurpool Blue */
44 | .hljs-title,
45 | .hljs-section {
46 | color: #3d8fd1;
47 | }
48 |
49 | /* Atelier-Sulphurpool Purple */
50 | .hljs-keyword,
51 | .hljs-selector-tag {
52 | color: #6679cc;
53 | }
54 |
55 | .hljs {
56 | display: block;
57 | overflow-x: auto;
58 | background: #f5f7ff;
59 | color: #5e6687;
60 | padding: 0.5em;
61 | }
62 |
63 | .hljs-emphasis {
64 | font-style: italic;
65 | }
66 |
67 | .hljs-strong {
68 | font-weight: bold;
69 | }
70 |
--------------------------------------------------------------------------------
/src/docs/asciidoc/user-guide/highlight/styles/atom-one-dark.css:
--------------------------------------------------------------------------------
1 | /*
2 |
3 | Atom One Dark by Daniel Gamage
4 | Original One Dark Syntax theme from https://github.com/atom/one-dark-syntax
5 |
6 | base: #282c34
7 | mono-1: #abb2bf
8 | mono-2: #818896
9 | mono-3: #5c6370
10 | hue-1: #56b6c2
11 | hue-2: #61aeee
12 | hue-3: #c678dd
13 | hue-4: #98c379
14 | hue-5: #e06c75
15 | hue-5-2: #be5046
16 | hue-6: #d19a66
17 | hue-6-2: #e6c07b
18 |
19 | */
20 |
21 | .hljs {
22 | display: block;
23 | overflow-x: auto;
24 | padding: 0.5em;
25 | color: #abb2bf;
26 | background: #282c34;
27 | }
28 |
29 | .hljs-comment,
30 | .hljs-quote {
31 | color: #5c6370;
32 | font-style: italic;
33 | }
34 |
35 | .hljs-doctag,
36 | .hljs-keyword,
37 | .hljs-formula {
38 | color: #c678dd;
39 | }
40 |
41 | .hljs-section,
42 | .hljs-name,
43 | .hljs-selector-tag,
44 | .hljs-deletion,
45 | .hljs-subst {
46 | color: #e06c75;
47 | }
48 |
49 | .hljs-literal {
50 | color: #56b6c2;
51 | }
52 |
53 | .hljs-string,
54 | .hljs-regexp,
55 | .hljs-addition,
56 | .hljs-attribute,
57 | .hljs-meta-string {
58 | color: #98c379;
59 | }
60 |
61 | .hljs-built_in,
62 | .hljs-class .hljs-title {
63 | color: #e6c07b;
64 | }
65 |
66 | .hljs-attr,
67 | .hljs-variable,
68 | .hljs-template-variable,
69 | .hljs-type,
70 | .hljs-selector-class,
71 | .hljs-selector-attr,
72 | .hljs-selector-pseudo,
73 | .hljs-number {
74 | color: #d19a66;
75 | }
76 |
77 | .hljs-symbol,
78 | .hljs-bullet,
79 | .hljs-link,
80 | .hljs-meta,
81 | .hljs-selector-id,
82 | .hljs-title {
83 | color: #61aeee;
84 | }
85 |
86 | .hljs-emphasis {
87 | font-style: italic;
88 | }
89 |
90 | .hljs-strong {
91 | font-weight: bold;
92 | }
93 |
94 | .hljs-link {
95 | text-decoration: underline;
96 | }
97 |
--------------------------------------------------------------------------------
/src/docs/asciidoc/user-guide/highlight/styles/atom-one-light.css:
--------------------------------------------------------------------------------
1 | /*
2 |
3 | Atom One Light by Daniel Gamage
4 | Original One Light Syntax theme from https://github.com/atom/one-light-syntax
5 |
6 | base: #fafafa
7 | mono-1: #383a42
8 | mono-2: #686b77
9 | mono-3: #a0a1a7
10 | hue-1: #0184bb
11 | hue-2: #4078f2
12 | hue-3: #a626a4
13 | hue-4: #50a14f
14 | hue-5: #e45649
15 | hue-5-2: #c91243
16 | hue-6: #986801
17 | hue-6-2: #c18401
18 |
19 | */
20 |
21 | .hljs {
22 | display: block;
23 | overflow-x: auto;
24 | padding: 0.5em;
25 | color: #383a42;
26 | background: #fafafa;
27 | }
28 |
29 | .hljs-comment,
30 | .hljs-quote {
31 | color: #a0a1a7;
32 | font-style: italic;
33 | }
34 |
35 | .hljs-doctag,
36 | .hljs-keyword,
37 | .hljs-formula {
38 | color: #a626a4;
39 | }
40 |
41 | .hljs-section,
42 | .hljs-name,
43 | .hljs-selector-tag,
44 | .hljs-deletion,
45 | .hljs-subst {
46 | color: #e45649;
47 | }
48 |
49 | .hljs-literal {
50 | color: #0184bb;
51 | }
52 |
53 | .hljs-string,
54 | .hljs-regexp,
55 | .hljs-addition,
56 | .hljs-attribute,
57 | .hljs-meta-string {
58 | color: #50a14f;
59 | }
60 |
61 | .hljs-built_in,
62 | .hljs-class .hljs-title {
63 | color: #c18401;
64 | }
65 |
66 | .hljs-attr,
67 | .hljs-variable,
68 | .hljs-template-variable,
69 | .hljs-type,
70 | .hljs-selector-class,
71 | .hljs-selector-attr,
72 | .hljs-selector-pseudo,
73 | .hljs-number {
74 | color: #986801;
75 | }
76 |
77 | .hljs-symbol,
78 | .hljs-bullet,
79 | .hljs-link,
80 | .hljs-meta,
81 | .hljs-selector-id,
82 | .hljs-title {
83 | color: #4078f2;
84 | }
85 |
86 | .hljs-emphasis {
87 | font-style: italic;
88 | }
89 |
90 | .hljs-strong {
91 | font-weight: bold;
92 | }
93 |
94 | .hljs-link {
95 | text-decoration: underline;
96 | }
97 |
--------------------------------------------------------------------------------
/src/docs/asciidoc/user-guide/highlight/styles/brown-paper.css:
--------------------------------------------------------------------------------
1 | /*
2 |
3 | Brown Paper style from goldblog.com.ua (c) Zaripov Yura
4 |
5 | */
6 |
7 | .hljs {
8 | display: block;
9 | overflow-x: auto;
10 | padding: 0.5em;
11 | background:#b7a68e url(./brown-papersq.png);
12 | }
13 |
14 | .hljs-keyword,
15 | .hljs-selector-tag,
16 | .hljs-literal {
17 | color:#005599;
18 | font-weight:bold;
19 | }
20 |
21 | .hljs,
22 | .hljs-subst {
23 | color: #363c69;
24 | }
25 |
26 | .hljs-string,
27 | .hljs-title,
28 | .hljs-section,
29 | .hljs-type,
30 | .hljs-attribute,
31 | .hljs-symbol,
32 | .hljs-bullet,
33 | .hljs-built_in,
34 | .hljs-addition,
35 | .hljs-variable,
36 | .hljs-template-tag,
37 | .hljs-template-variable,
38 | .hljs-link,
39 | .hljs-name {
40 | color: #2c009f;
41 | }
42 |
43 | .hljs-comment,
44 | .hljs-quote,
45 | .hljs-meta,
46 | .hljs-deletion {
47 | color: #802022;
48 | }
49 |
50 | .hljs-keyword,
51 | .hljs-selector-tag,
52 | .hljs-literal,
53 | .hljs-doctag,
54 | .hljs-title,
55 | .hljs-section,
56 | .hljs-type,
57 | .hljs-name,
58 | .hljs-strong {
59 | font-weight: bold;
60 | }
61 |
62 | .hljs-emphasis {
63 | font-style: italic;
64 | }
65 |
--------------------------------------------------------------------------------
/src/docs/asciidoc/user-guide/highlight/styles/brown-papersq.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/assertj/doc/2ab0556fc280743aa6c8a4fd8d21dd642ec314b0/src/docs/asciidoc/user-guide/highlight/styles/brown-papersq.png
--------------------------------------------------------------------------------
/src/docs/asciidoc/user-guide/highlight/styles/codepen-embed.css:
--------------------------------------------------------------------------------
1 | /*
2 | codepen.io Embed Theme
3 | Author: Justin Perry
4 | Original theme - https://github.com/chriskempson/tomorrow-theme
5 | */
6 |
7 | .hljs {
8 | display: block;
9 | overflow-x: auto;
10 | padding: 0.5em;
11 | background: #222;
12 | color: #fff;
13 | }
14 |
15 | .hljs-comment,
16 | .hljs-quote {
17 | color: #777;
18 | }
19 |
20 | .hljs-variable,
21 | .hljs-template-variable,
22 | .hljs-tag,
23 | .hljs-regexp,
24 | .hljs-meta,
25 | .hljs-number,
26 | .hljs-built_in,
27 | .hljs-builtin-name,
28 | .hljs-literal,
29 | .hljs-params,
30 | .hljs-symbol,
31 | .hljs-bullet,
32 | .hljs-link,
33 | .hljs-deletion {
34 | color: #ab875d;
35 | }
36 |
37 | .hljs-section,
38 | .hljs-title,
39 | .hljs-name,
40 | .hljs-selector-id,
41 | .hljs-selector-class,
42 | .hljs-type,
43 | .hljs-attribute {
44 | color: #9b869b;
45 | }
46 |
47 | .hljs-string,
48 | .hljs-keyword,
49 | .hljs-selector-tag,
50 | .hljs-addition {
51 | color: #8f9c6c;
52 | }
53 |
54 | .hljs-emphasis {
55 | font-style: italic;
56 | }
57 |
58 | .hljs-strong {
59 | font-weight: bold;
60 | }
61 |
--------------------------------------------------------------------------------
/src/docs/asciidoc/user-guide/highlight/styles/color-brewer.css:
--------------------------------------------------------------------------------
1 | /*
2 |
3 | Colorbrewer theme
4 | Original: https://github.com/mbostock/colorbrewer-theme (c) Mike Bostock
5 | Ported by Fabrício Tavares de Oliveira
6 |
7 | */
8 |
9 | .hljs {
10 | display: block;
11 | overflow-x: auto;
12 | padding: 0.5em;
13 | background: #fff;
14 | }
15 |
16 | .hljs,
17 | .hljs-subst {
18 | color: #000;
19 | }
20 |
21 | .hljs-string,
22 | .hljs-meta,
23 | .hljs-symbol,
24 | .hljs-template-tag,
25 | .hljs-template-variable,
26 | .hljs-addition {
27 | color: #756bb1;
28 | }
29 |
30 | .hljs-comment,
31 | .hljs-quote {
32 | color: #636363;
33 | }
34 |
35 | .hljs-number,
36 | .hljs-regexp,
37 | .hljs-literal,
38 | .hljs-bullet,
39 | .hljs-link {
40 | color: #31a354;
41 | }
42 |
43 | .hljs-deletion,
44 | .hljs-variable {
45 | color: #88f;
46 | }
47 |
48 |
49 |
50 | .hljs-keyword,
51 | .hljs-selector-tag,
52 | .hljs-title,
53 | .hljs-section,
54 | .hljs-built_in,
55 | .hljs-doctag,
56 | .hljs-type,
57 | .hljs-tag,
58 | .hljs-name,
59 | .hljs-selector-id,
60 | .hljs-selector-class,
61 | .hljs-strong {
62 | color: #3182bd;
63 | }
64 |
65 | .hljs-emphasis {
66 | font-style: italic;
67 | }
68 |
69 | .hljs-attribute {
70 | color: #e6550d;
71 | }
72 |
--------------------------------------------------------------------------------
/src/docs/asciidoc/user-guide/highlight/styles/darcula.css:
--------------------------------------------------------------------------------
1 | /*
2 |
3 | Darcula color scheme from the JetBrains family of IDEs
4 |
5 | */
6 |
7 |
8 | .hljs {
9 | display: block;
10 | overflow-x: auto;
11 | padding: 0.5em;
12 | background: #2b2b2b;
13 | }
14 |
15 | .hljs {
16 | color: #bababa;
17 | }
18 |
19 | .hljs-strong,
20 | .hljs-emphasis {
21 | color: #a8a8a2;
22 | }
23 |
24 | .hljs-bullet,
25 | .hljs-quote,
26 | .hljs-link,
27 | .hljs-number,
28 | .hljs-regexp,
29 | .hljs-literal {
30 | color: #6896ba;
31 | }
32 |
33 | .hljs-code,
34 | .hljs-selector-class {
35 | color: #a6e22e;
36 | }
37 |
38 | .hljs-emphasis {
39 | font-style: italic;
40 | }
41 |
42 | .hljs-keyword,
43 | .hljs-selector-tag,
44 | .hljs-section,
45 | .hljs-attribute,
46 | .hljs-name,
47 | .hljs-variable {
48 | color: #cb7832;
49 | }
50 |
51 | .hljs-params {
52 | color: #b9b9b9;
53 | }
54 |
55 | .hljs-string {
56 | color: #6a8759;
57 | }
58 |
59 | .hljs-subst,
60 | .hljs-type,
61 | .hljs-built_in,
62 | .hljs-builtin-name,
63 | .hljs-symbol,
64 | .hljs-selector-id,
65 | .hljs-selector-attr,
66 | .hljs-selector-pseudo,
67 | .hljs-template-tag,
68 | .hljs-template-variable,
69 | .hljs-addition {
70 | color: #e0c46c;
71 | }
72 |
73 | .hljs-comment,
74 | .hljs-deletion,
75 | .hljs-meta {
76 | color: #7f7f7f;
77 | }
78 |
--------------------------------------------------------------------------------
/src/docs/asciidoc/user-guide/highlight/styles/dark.css:
--------------------------------------------------------------------------------
1 | /*
2 |
3 | Dark style from softwaremaniacs.org (c) Ivan Sagalaev
4 |
5 | */
6 |
7 | .hljs {
8 | display: block;
9 | overflow-x: auto;
10 | padding: 0.5em;
11 | background: #444;
12 | }
13 |
14 | .hljs-keyword,
15 | .hljs-selector-tag,
16 | .hljs-literal,
17 | .hljs-section,
18 | .hljs-link {
19 | color: white;
20 | }
21 |
22 | .hljs,
23 | .hljs-subst {
24 | color: #ddd;
25 | }
26 |
27 | .hljs-string,
28 | .hljs-title,
29 | .hljs-name,
30 | .hljs-type,
31 | .hljs-attribute,
32 | .hljs-symbol,
33 | .hljs-bullet,
34 | .hljs-built_in,
35 | .hljs-addition,
36 | .hljs-variable,
37 | .hljs-template-tag,
38 | .hljs-template-variable {
39 | color: #d88;
40 | }
41 |
42 | .hljs-comment,
43 | .hljs-quote,
44 | .hljs-deletion,
45 | .hljs-meta {
46 | color: #777;
47 | }
48 |
49 | .hljs-keyword,
50 | .hljs-selector-tag,
51 | .hljs-literal,
52 | .hljs-title,
53 | .hljs-section,
54 | .hljs-doctag,
55 | .hljs-type,
56 | .hljs-name,
57 | .hljs-strong {
58 | font-weight: bold;
59 | }
60 |
61 | .hljs-emphasis {
62 | font-style: italic;
63 | }
64 |
--------------------------------------------------------------------------------
/src/docs/asciidoc/user-guide/highlight/styles/darkula.css:
--------------------------------------------------------------------------------
1 | /*
2 | Deprecated due to a typo in the name and left here for compatibility purpose only.
3 | Please use darcula.css instead.
4 | */
5 |
6 | @import url('darcula.css');
7 |
--------------------------------------------------------------------------------
/src/docs/asciidoc/user-guide/highlight/styles/default.css:
--------------------------------------------------------------------------------
1 | /*
2 |
3 | Original highlight.js style (c) Ivan Sagalaev
4 |
5 | */
6 |
7 | .hljs {
8 | display: block;
9 | overflow-x: auto;
10 | padding: 0.5em;
11 | background: #F0F0F0;
12 | }
13 |
14 |
15 | /* Base color: saturation 0; */
16 |
17 | .hljs,
18 | .hljs-subst {
19 | color: #444;
20 | }
21 |
22 | .hljs-comment {
23 | color: #888888;
24 | }
25 |
26 | .hljs-keyword,
27 | .hljs-attribute,
28 | .hljs-selector-tag,
29 | .hljs-meta-keyword,
30 | .hljs-doctag,
31 | .hljs-name {
32 | font-weight: bold;
33 | }
34 |
35 |
36 | /* User color: hue: 0 */
37 |
38 | .hljs-type,
39 | .hljs-string,
40 | .hljs-number,
41 | .hljs-selector-id,
42 | .hljs-selector-class,
43 | .hljs-quote,
44 | .hljs-template-tag,
45 | .hljs-deletion {
46 | color: #880000;
47 | }
48 |
49 | .hljs-title,
50 | .hljs-section {
51 | color: #880000;
52 | font-weight: bold;
53 | }
54 |
55 | .hljs-regexp,
56 | .hljs-symbol,
57 | .hljs-variable,
58 | .hljs-template-variable,
59 | .hljs-link,
60 | .hljs-selector-attr,
61 | .hljs-selector-pseudo {
62 | color: #BC6060;
63 | }
64 |
65 |
66 | /* Language color: hue: 90; */
67 |
68 | .hljs-literal {
69 | color: #78A960;
70 | }
71 |
72 | .hljs-built_in,
73 | .hljs-bullet,
74 | .hljs-code,
75 | .hljs-addition {
76 | color: #397300;
77 | }
78 |
79 |
80 | /* Meta color: hue: 200 */
81 |
82 | .hljs-meta {
83 | color: #1f7199;
84 | }
85 |
86 | .hljs-meta-string {
87 | color: #4d99bf;
88 | }
89 |
90 |
91 | /* Misc effects */
92 |
93 | .hljs-emphasis {
94 | font-style: italic;
95 | }
96 |
97 | .hljs-strong {
98 | font-weight: bold;
99 | }
100 |
--------------------------------------------------------------------------------
/src/docs/asciidoc/user-guide/highlight/styles/docco.css:
--------------------------------------------------------------------------------
1 | /*
2 | Docco style used in http://jashkenas.github.com/docco/ converted by Simon Madine (@thingsinjars)
3 | */
4 |
5 | .hljs {
6 | display: block;
7 | overflow-x: auto;
8 | padding: 0.5em;
9 | color: #000;
10 | background: #f8f8ff;
11 | }
12 |
13 | .hljs-comment,
14 | .hljs-quote {
15 | color: #408080;
16 | font-style: italic;
17 | }
18 |
19 | .hljs-keyword,
20 | .hljs-selector-tag,
21 | .hljs-literal,
22 | .hljs-subst {
23 | color: #954121;
24 | }
25 |
26 | .hljs-number {
27 | color: #40a070;
28 | }
29 |
30 | .hljs-string,
31 | .hljs-doctag {
32 | color: #219161;
33 | }
34 |
35 | .hljs-selector-id,
36 | .hljs-selector-class,
37 | .hljs-section,
38 | .hljs-type {
39 | color: #19469d;
40 | }
41 |
42 | .hljs-params {
43 | color: #00f;
44 | }
45 |
46 | .hljs-title {
47 | color: #458;
48 | font-weight: bold;
49 | }
50 |
51 | .hljs-tag,
52 | .hljs-name,
53 | .hljs-attribute {
54 | color: #000080;
55 | font-weight: normal;
56 | }
57 |
58 | .hljs-variable,
59 | .hljs-template-variable {
60 | color: #008080;
61 | }
62 |
63 | .hljs-regexp,
64 | .hljs-link {
65 | color: #b68;
66 | }
67 |
68 | .hljs-symbol,
69 | .hljs-bullet {
70 | color: #990073;
71 | }
72 |
73 | .hljs-built_in,
74 | .hljs-builtin-name {
75 | color: #0086b3;
76 | }
77 |
78 | .hljs-meta {
79 | color: #999;
80 | font-weight: bold;
81 | }
82 |
83 | .hljs-deletion {
84 | background: #fdd;
85 | }
86 |
87 | .hljs-addition {
88 | background: #dfd;
89 | }
90 |
91 | .hljs-emphasis {
92 | font-style: italic;
93 | }
94 |
95 | .hljs-strong {
96 | font-weight: bold;
97 | }
98 |
--------------------------------------------------------------------------------
/src/docs/asciidoc/user-guide/highlight/styles/dracula.css:
--------------------------------------------------------------------------------
1 | /*
2 |
3 | Dracula Theme v1.2.0
4 |
5 | https://github.com/zenorocha/dracula-theme
6 |
7 | Copyright 2015, All rights reserved
8 |
9 | Code licensed under the MIT license
10 | http://zenorocha.mit-license.org
11 |
12 | @author Éverton Ribeiro
13 | @author Zeno Rocha
14 |
15 | */
16 |
17 | .hljs {
18 | display: block;
19 | overflow-x: auto;
20 | padding: 0.5em;
21 | background: #282a36;
22 | }
23 |
24 | .hljs-keyword,
25 | .hljs-selector-tag,
26 | .hljs-literal,
27 | .hljs-section,
28 | .hljs-link {
29 | color: #8be9fd;
30 | }
31 |
32 | .hljs-function .hljs-keyword {
33 | color: #ff79c6;
34 | }
35 |
36 | .hljs,
37 | .hljs-subst {
38 | color: #f8f8f2;
39 | }
40 |
41 | .hljs-string,
42 | .hljs-title,
43 | .hljs-name,
44 | .hljs-type,
45 | .hljs-attribute,
46 | .hljs-symbol,
47 | .hljs-bullet,
48 | .hljs-addition,
49 | .hljs-variable,
50 | .hljs-template-tag,
51 | .hljs-template-variable {
52 | color: #f1fa8c;
53 | }
54 |
55 | .hljs-comment,
56 | .hljs-quote,
57 | .hljs-deletion,
58 | .hljs-meta {
59 | color: #6272a4;
60 | }
61 |
62 | .hljs-keyword,
63 | .hljs-selector-tag,
64 | .hljs-literal,
65 | .hljs-title,
66 | .hljs-section,
67 | .hljs-doctag,
68 | .hljs-type,
69 | .hljs-name,
70 | .hljs-strong {
71 | font-weight: bold;
72 | }
73 |
74 | .hljs-emphasis {
75 | font-style: italic;
76 | }
77 |
--------------------------------------------------------------------------------
/src/docs/asciidoc/user-guide/highlight/styles/far.css:
--------------------------------------------------------------------------------
1 | /*
2 |
3 | FAR Style (c) MajestiC
4 |
5 | */
6 |
7 | .hljs {
8 | display: block;
9 | overflow-x: auto;
10 | padding: 0.5em;
11 | background: #000080;
12 | }
13 |
14 | .hljs,
15 | .hljs-subst {
16 | color: #0ff;
17 | }
18 |
19 | .hljs-string,
20 | .hljs-attribute,
21 | .hljs-symbol,
22 | .hljs-bullet,
23 | .hljs-built_in,
24 | .hljs-builtin-name,
25 | .hljs-template-tag,
26 | .hljs-template-variable,
27 | .hljs-addition {
28 | color: #ff0;
29 | }
30 |
31 | .hljs-keyword,
32 | .hljs-selector-tag,
33 | .hljs-section,
34 | .hljs-type,
35 | .hljs-name,
36 | .hljs-selector-id,
37 | .hljs-selector-class,
38 | .hljs-variable {
39 | color: #fff;
40 | }
41 |
42 | .hljs-comment,
43 | .hljs-quote,
44 | .hljs-doctag,
45 | .hljs-deletion {
46 | color: #888;
47 | }
48 |
49 | .hljs-number,
50 | .hljs-regexp,
51 | .hljs-literal,
52 | .hljs-link {
53 | color: #0f0;
54 | }
55 |
56 | .hljs-meta {
57 | color: #008080;
58 | }
59 |
60 | .hljs-keyword,
61 | .hljs-selector-tag,
62 | .hljs-title,
63 | .hljs-section,
64 | .hljs-name,
65 | .hljs-strong {
66 | font-weight: bold;
67 | }
68 |
69 | .hljs-emphasis {
70 | font-style: italic;
71 | }
72 |
--------------------------------------------------------------------------------
/src/docs/asciidoc/user-guide/highlight/styles/foundation.css:
--------------------------------------------------------------------------------
1 | /*
2 | Description: Foundation 4 docs style for highlight.js
3 | Author: Dan Allen
4 | Website: http://foundation.zurb.com/docs/
5 | Version: 1.0
6 | Date: 2013-04-02
7 | */
8 |
9 | .hljs {
10 | display: block;
11 | overflow-x: auto;
12 | padding: 0.5em;
13 | background: #eee; color: black;
14 | }
15 |
16 | .hljs-link,
17 | .hljs-emphasis,
18 | .hljs-attribute,
19 | .hljs-addition {
20 | color: #070;
21 | }
22 |
23 | .hljs-emphasis {
24 | font-style: italic;
25 | }
26 |
27 | .hljs-strong,
28 | .hljs-string,
29 | .hljs-deletion {
30 | color: #d14;
31 | }
32 |
33 | .hljs-strong {
34 | font-weight: bold;
35 | }
36 |
37 | .hljs-quote,
38 | .hljs-comment {
39 | color: #998;
40 | font-style: italic;
41 | }
42 |
43 | .hljs-section,
44 | .hljs-title {
45 | color: #900;
46 | }
47 |
48 | .hljs-class .hljs-title,
49 | .hljs-type {
50 | color: #458;
51 | }
52 |
53 | .hljs-variable,
54 | .hljs-template-variable {
55 | color: #336699;
56 | }
57 |
58 | .hljs-bullet {
59 | color: #997700;
60 | }
61 |
62 | .hljs-meta {
63 | color: #3344bb;
64 | }
65 |
66 | .hljs-code,
67 | .hljs-number,
68 | .hljs-literal,
69 | .hljs-keyword,
70 | .hljs-selector-tag {
71 | color: #099;
72 | }
73 |
74 | .hljs-regexp {
75 | background-color: #fff0ff;
76 | color: #880088;
77 | }
78 |
79 | .hljs-symbol {
80 | color: #990073;
81 | }
82 |
83 | .hljs-tag,
84 | .hljs-name,
85 | .hljs-selector-id,
86 | .hljs-selector-class {
87 | color: #007700;
88 | }
89 |
--------------------------------------------------------------------------------
/src/docs/asciidoc/user-guide/highlight/styles/github-gist.css:
--------------------------------------------------------------------------------
1 | /**
2 | * GitHub Gist Theme
3 | * Author : Louis Barranqueiro - https://github.com/LouisBarranqueiro
4 | */
5 |
6 | .hljs {
7 | display: block;
8 | background: white;
9 | padding: 0.5em;
10 | color: #333333;
11 | overflow-x: auto;
12 | }
13 |
14 | .hljs-comment,
15 | .hljs-meta {
16 | color: #969896;
17 | }
18 |
19 | .hljs-string,
20 | .hljs-variable,
21 | .hljs-template-variable,
22 | .hljs-strong,
23 | .hljs-emphasis,
24 | .hljs-quote {
25 | color: #df5000;
26 | }
27 |
28 | .hljs-keyword,
29 | .hljs-selector-tag,
30 | .hljs-type {
31 | color: #a71d5d;
32 | }
33 |
34 | .hljs-literal,
35 | .hljs-symbol,
36 | .hljs-bullet,
37 | .hljs-attribute {
38 | color: #0086b3;
39 | }
40 |
41 | .hljs-section,
42 | .hljs-name {
43 | color: #63a35c;
44 | }
45 |
46 | .hljs-tag {
47 | color: #333333;
48 | }
49 |
50 | .hljs-title,
51 | .hljs-attr,
52 | .hljs-selector-id,
53 | .hljs-selector-class,
54 | .hljs-selector-attr,
55 | .hljs-selector-pseudo {
56 | color: #795da3;
57 | }
58 |
59 | .hljs-addition {
60 | color: #55a532;
61 | background-color: #eaffea;
62 | }
63 |
64 | .hljs-deletion {
65 | color: #bd2c00;
66 | background-color: #ffecec;
67 | }
68 |
69 | .hljs-link {
70 | text-decoration: underline;
71 | }
72 |
--------------------------------------------------------------------------------
/src/docs/asciidoc/user-guide/highlight/styles/github.min.css:
--------------------------------------------------------------------------------
1 | /*
2 |
3 | github.com style (c) Vasily Polovnyov
4 |
5 | */
6 |
7 | .hljs {
8 | display: block;
9 | overflow-x: auto;
10 | padding: 0.5em;
11 | color: #333;
12 | background: #f8f8f8;
13 | }
14 |
15 | .hljs-comment,
16 | .hljs-quote {
17 | color: #998;
18 | font-style: italic;
19 | }
20 |
21 | .hljs-keyword,
22 | .hljs-selector-tag,
23 | .hljs-subst {
24 | color: #333;
25 | font-weight: bold;
26 | }
27 |
28 | .hljs-number,
29 | .hljs-literal,
30 | .hljs-variable,
31 | .hljs-template-variable,
32 | .hljs-tag .hljs-attr {
33 | color: #008080;
34 | }
35 |
36 | .hljs-string,
37 | .hljs-doctag {
38 | color: #d14;
39 | }
40 |
41 | .hljs-title,
42 | .hljs-section,
43 | .hljs-selector-id {
44 | color: #900;
45 | font-weight: bold;
46 | }
47 |
48 | .hljs-subst {
49 | font-weight: normal;
50 | }
51 |
52 | .hljs-type,
53 | .hljs-class .hljs-title {
54 | color: #458;
55 | font-weight: bold;
56 | }
57 |
58 | .hljs-tag,
59 | .hljs-name,
60 | .hljs-attribute {
61 | color: #000080;
62 | font-weight: normal;
63 | }
64 |
65 | .hljs-regexp,
66 | .hljs-link {
67 | color: #009926;
68 | }
69 |
70 | .hljs-symbol,
71 | .hljs-bullet {
72 | color: #990073;
73 | }
74 |
75 | .hljs-built_in,
76 | .hljs-builtin-name {
77 | color: #0086b3;
78 | }
79 |
80 | .hljs-meta {
81 | color: #999;
82 | font-weight: bold;
83 | }
84 |
85 | .hljs-deletion {
86 | background: #fdd;
87 | }
88 |
89 | .hljs-addition {
90 | background: #dfd;
91 | }
92 |
93 | .hljs-emphasis {
94 | font-style: italic;
95 | }
96 |
97 | .hljs-strong {
98 | font-weight: bold;
99 | }
100 |
--------------------------------------------------------------------------------
/src/docs/asciidoc/user-guide/highlight/styles/googlecode.css:
--------------------------------------------------------------------------------
1 | /*
2 |
3 | Google Code style (c) Aahan Krish
4 |
5 | */
6 |
7 | .hljs {
8 | display: block;
9 | overflow-x: auto;
10 | padding: 0.5em;
11 | background: white;
12 | color: black;
13 | }
14 |
15 | .hljs-comment,
16 | .hljs-quote {
17 | color: #800;
18 | }
19 |
20 | .hljs-keyword,
21 | .hljs-selector-tag,
22 | .hljs-section,
23 | .hljs-title,
24 | .hljs-name {
25 | color: #008;
26 | }
27 |
28 | .hljs-variable,
29 | .hljs-template-variable {
30 | color: #660;
31 | }
32 |
33 | .hljs-string,
34 | .hljs-selector-attr,
35 | .hljs-selector-pseudo,
36 | .hljs-regexp {
37 | color: #080;
38 | }
39 |
40 | .hljs-literal,
41 | .hljs-symbol,
42 | .hljs-bullet,
43 | .hljs-meta,
44 | .hljs-number,
45 | .hljs-link {
46 | color: #066;
47 | }
48 |
49 | .hljs-title,
50 | .hljs-doctag,
51 | .hljs-type,
52 | .hljs-attr,
53 | .hljs-built_in,
54 | .hljs-builtin-name,
55 | .hljs-params {
56 | color: #606;
57 | }
58 |
59 | .hljs-attribute,
60 | .hljs-subst {
61 | color: #000;
62 | }
63 |
64 | .hljs-formula {
65 | background-color: #eee;
66 | font-style: italic;
67 | }
68 |
69 | .hljs-selector-id,
70 | .hljs-selector-class {
71 | color: #9B703F
72 | }
73 |
74 | .hljs-addition {
75 | background-color: #baeeba;
76 | }
77 |
78 | .hljs-deletion {
79 | background-color: #ffc8bd;
80 | }
81 |
82 | .hljs-doctag,
83 | .hljs-strong {
84 | font-weight: bold;
85 | }
86 |
87 | .hljs-emphasis {
88 | font-style: italic;
89 | }
90 |
--------------------------------------------------------------------------------
/src/docs/asciidoc/user-guide/highlight/styles/grayscale.css:
--------------------------------------------------------------------------------
1 | /*
2 |
3 | grayscale style (c) MY Sun
4 |
5 | */
6 |
7 | .hljs {
8 | display: block;
9 | overflow-x: auto;
10 | padding: 0.5em;
11 | color: #333;
12 | background: #fff;
13 | }
14 |
15 | .hljs-comment,
16 | .hljs-quote {
17 | color: #777;
18 | font-style: italic;
19 | }
20 |
21 | .hljs-keyword,
22 | .hljs-selector-tag,
23 | .hljs-subst {
24 | color: #333;
25 | font-weight: bold;
26 | }
27 |
28 | .hljs-number,
29 | .hljs-literal {
30 | color: #777;
31 | }
32 |
33 | .hljs-string,
34 | .hljs-doctag,
35 | .hljs-formula {
36 | color: #333;
37 | background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAAECAYAAACp8Z5+AAAAJ0lEQVQIW2O8e/fufwYGBgZBQUEQxcCIIfDu3Tuwivfv30NUoAsAALHpFMMLqZlPAAAAAElFTkSuQmCC) repeat;
38 | }
39 |
40 | .hljs-title,
41 | .hljs-section,
42 | .hljs-selector-id {
43 | color: #000;
44 | font-weight: bold;
45 | }
46 |
47 | .hljs-subst {
48 | font-weight: normal;
49 | }
50 |
51 | .hljs-class .hljs-title,
52 | .hljs-type,
53 | .hljs-name {
54 | color: #333;
55 | font-weight: bold;
56 | }
57 |
58 | .hljs-tag {
59 | color: #333;
60 | }
61 |
62 | .hljs-regexp {
63 | color: #333;
64 | background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAICAYAAADA+m62AAAAPUlEQVQYV2NkQAN37979r6yszIgujiIAU4RNMVwhuiQ6H6wQl3XI4oy4FMHcCJPHcDS6J2A2EqUQpJhohQDexSef15DBCwAAAABJRU5ErkJggg==) repeat;
65 | }
66 |
67 | .hljs-symbol,
68 | .hljs-bullet,
69 | .hljs-link {
70 | color: #000;
71 | background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAKElEQVQIW2NkQAO7d+/+z4gsBhJwdXVlhAvCBECKwIIwAbhKZBUwBQA6hBpm5efZsgAAAABJRU5ErkJggg==) repeat;
72 | }
73 |
74 | .hljs-built_in,
75 | .hljs-builtin-name {
76 | color: #000;
77 | text-decoration: underline;
78 | }
79 |
80 | .hljs-meta {
81 | color: #999;
82 | font-weight: bold;
83 | }
84 |
85 | .hljs-deletion {
86 | color: #fff;
87 | background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAADCAYAAABS3WWCAAAAE0lEQVQIW2MMDQ39zzhz5kwIAQAyxweWgUHd1AAAAABJRU5ErkJggg==) repeat;
88 | }
89 |
90 | .hljs-addition {
91 | color: #000;
92 | background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAkAAAAJCAYAAADgkQYQAAAALUlEQVQYV2N89+7dfwYk8P79ewZBQUFkIQZGOiu6e/cuiptQHAPl0NtNxAQBAM97Oejj3Dg7AAAAAElFTkSuQmCC) repeat;
93 | }
94 |
95 | .hljs-emphasis {
96 | font-style: italic;
97 | }
98 |
99 | .hljs-strong {
100 | font-weight: bold;
101 | }
102 |
--------------------------------------------------------------------------------
/src/docs/asciidoc/user-guide/highlight/styles/gruvbox-dark.css:
--------------------------------------------------------------------------------
1 | /*
2 |
3 | Gruvbox style (dark) (c) Pavel Pertsev (original style at https://github.com/morhetz/gruvbox)
4 |
5 | */
6 |
7 | .hljs {
8 | display: block;
9 | overflow-x: auto;
10 | padding: 0.5em;
11 | background: #282828;
12 | }
13 |
14 | .hljs,
15 | .hljs-subst {
16 | color: #ebdbb2;
17 | }
18 |
19 | /* Gruvbox Red */
20 | .hljs-deletion,
21 | .hljs-formula,
22 | .hljs-keyword,
23 | .hljs-link,
24 | .hljs-selector-tag {
25 | color: #fb4934;
26 | }
27 |
28 | /* Gruvbox Blue */
29 | .hljs-built_in,
30 | .hljs-emphasis,
31 | .hljs-name,
32 | .hljs-quote,
33 | .hljs-strong,
34 | .hljs-title,
35 | .hljs-variable {
36 | color: #83a598;
37 | }
38 |
39 | /* Gruvbox Yellow */
40 | .hljs-attr,
41 | .hljs-params,
42 | .hljs-template-tag,
43 | .hljs-type {
44 | color: #fabd2f;
45 | }
46 |
47 | /* Gruvbox Purple */
48 | .hljs-builtin-name,
49 | .hljs-doctag,
50 | .hljs-literal,
51 | .hljs-number {
52 | color: #8f3f71;
53 | }
54 |
55 | /* Gruvbox Orange */
56 | .hljs-code,
57 | .hljs-meta,
58 | .hljs-regexp,
59 | .hljs-selector-id,
60 | .hljs-template-variable {
61 | color: #fe8019;
62 | }
63 |
64 | /* Gruvbox Green */
65 | .hljs-addition,
66 | .hljs-meta-string,
67 | .hljs-section,
68 | .hljs-selector-attr,
69 | .hljs-selector-class,
70 | .hljs-string,
71 | .hljs-symbol {
72 | color: #b8bb26;
73 | }
74 |
75 | /* Gruvbox Aqua */
76 | .hljs-attribute,
77 | .hljs-bullet,
78 | .hljs-class,
79 | .hljs-function,
80 | .hljs-function .hljs-keyword,
81 | .hljs-meta-keyword,
82 | .hljs-selector-pseudo,
83 | .hljs-tag {
84 | color: #8ec07c;
85 | }
86 |
87 | /* Gruvbox Gray */
88 | .hljs-comment {
89 | color: #928374;
90 | }
91 |
92 | /* Gruvbox Purple */
93 | .hljs-link_label,
94 | .hljs-literal,
95 | .hljs-number {
96 | color: #d3869b;
97 | }
98 |
99 | .hljs-comment,
100 | .hljs-emphasis {
101 | font-style: italic;
102 | }
103 |
104 | .hljs-section,
105 | .hljs-strong,
106 | .hljs-tag {
107 | font-weight: bold;
108 | }
109 |
--------------------------------------------------------------------------------
/src/docs/asciidoc/user-guide/highlight/styles/gruvbox-light.css:
--------------------------------------------------------------------------------
1 | /*
2 |
3 | Gruvbox style (light) (c) Pavel Pertsev (original style at https://github.com/morhetz/gruvbox)
4 |
5 | */
6 |
7 | .hljs {
8 | display: block;
9 | overflow-x: auto;
10 | padding: 0.5em;
11 | background: #fbf1c7;
12 | }
13 |
14 | .hljs,
15 | .hljs-subst {
16 | color: #3c3836;
17 | }
18 |
19 | /* Gruvbox Red */
20 | .hljs-deletion,
21 | .hljs-formula,
22 | .hljs-keyword,
23 | .hljs-link,
24 | .hljs-selector-tag {
25 | color: #9d0006;
26 | }
27 |
28 | /* Gruvbox Blue */
29 | .hljs-built_in,
30 | .hljs-emphasis,
31 | .hljs-name,
32 | .hljs-quote,
33 | .hljs-strong,
34 | .hljs-title,
35 | .hljs-variable {
36 | color: #076678;
37 | }
38 |
39 | /* Gruvbox Yellow */
40 | .hljs-attr,
41 | .hljs-params,
42 | .hljs-template-tag,
43 | .hljs-type {
44 | color: #b57614;
45 | }
46 |
47 | /* Gruvbox Purple */
48 | .hljs-builtin-name,
49 | .hljs-doctag,
50 | .hljs-literal,
51 | .hljs-number {
52 | color: #8f3f71;
53 | }
54 |
55 | /* Gruvbox Orange */
56 | .hljs-code,
57 | .hljs-meta,
58 | .hljs-regexp,
59 | .hljs-selector-id,
60 | .hljs-template-variable {
61 | color: #af3a03;
62 | }
63 |
64 | /* Gruvbox Green */
65 | .hljs-addition,
66 | .hljs-meta-string,
67 | .hljs-section,
68 | .hljs-selector-attr,
69 | .hljs-selector-class,
70 | .hljs-string,
71 | .hljs-symbol {
72 | color: #79740e;
73 | }
74 |
75 | /* Gruvbox Aqua */
76 | .hljs-attribute,
77 | .hljs-bullet,
78 | .hljs-class,
79 | .hljs-function,
80 | .hljs-function .hljs-keyword,
81 | .hljs-meta-keyword,
82 | .hljs-selector-pseudo,
83 | .hljs-tag {
84 | color: #427b58;
85 | }
86 |
87 | /* Gruvbox Gray */
88 | .hljs-comment {
89 | color: #928374;
90 | }
91 |
92 | /* Gruvbox Purple */
93 | .hljs-link_label,
94 | .hljs-literal,
95 | .hljs-number {
96 | color: #8f3f71;
97 | }
98 |
99 | .hljs-comment,
100 | .hljs-emphasis {
101 | font-style: italic;
102 | }
103 |
104 | .hljs-section,
105 | .hljs-strong,
106 | .hljs-tag {
107 | font-weight: bold;
108 | }
109 |
--------------------------------------------------------------------------------
/src/docs/asciidoc/user-guide/highlight/styles/hopscotch.css:
--------------------------------------------------------------------------------
1 | /*
2 | * Hopscotch
3 | * by Jan T. Sott
4 | * https://github.com/idleberg/Hopscotch
5 | *
6 | * This work is licensed under the Creative Commons CC0 1.0 Universal License
7 | */
8 |
9 | /* Comment */
10 | .hljs-comment,
11 | .hljs-quote {
12 | color: #989498;
13 | }
14 |
15 | /* Red */
16 | .hljs-variable,
17 | .hljs-template-variable,
18 | .hljs-attribute,
19 | .hljs-tag,
20 | .hljs-name,
21 | .hljs-selector-id,
22 | .hljs-selector-class,
23 | .hljs-regexp,
24 | .hljs-link,
25 | .hljs-deletion {
26 | color: #dd464c;
27 | }
28 |
29 | /* Orange */
30 | .hljs-number,
31 | .hljs-built_in,
32 | .hljs-builtin-name,
33 | .hljs-literal,
34 | .hljs-type,
35 | .hljs-params {
36 | color: #fd8b19;
37 | }
38 |
39 | /* Yellow */
40 | .hljs-class .hljs-title {
41 | color: #fdcc59;
42 | }
43 |
44 | /* Green */
45 | .hljs-string,
46 | .hljs-symbol,
47 | .hljs-bullet,
48 | .hljs-addition {
49 | color: #8fc13e;
50 | }
51 |
52 | /* Aqua */
53 | .hljs-meta {
54 | color: #149b93;
55 | }
56 |
57 | /* Blue */
58 | .hljs-function,
59 | .hljs-section,
60 | .hljs-title {
61 | color: #1290bf;
62 | }
63 |
64 | /* Purple */
65 | .hljs-keyword,
66 | .hljs-selector-tag {
67 | color: #c85e7c;
68 | }
69 |
70 | .hljs {
71 | display: block;
72 | background: #322931;
73 | color: #b9b5b8;
74 | padding: 0.5em;
75 | }
76 |
77 | .hljs-emphasis {
78 | font-style: italic;
79 | }
80 |
81 | .hljs-strong {
82 | font-weight: bold;
83 | }
84 |
--------------------------------------------------------------------------------
/src/docs/asciidoc/user-guide/highlight/styles/hybrid.css:
--------------------------------------------------------------------------------
1 | /*
2 |
3 | vim-hybrid theme by w0ng (https://github.com/w0ng/vim-hybrid)
4 |
5 | */
6 |
7 | /*background color*/
8 | .hljs {
9 | display: block;
10 | overflow-x: auto;
11 | padding: 0.5em;
12 | background: #1d1f21;
13 | }
14 |
15 | /*selection color*/
16 | .hljs::selection,
17 | .hljs span::selection {
18 | background: #373b41;
19 | }
20 |
21 | .hljs::-moz-selection,
22 | .hljs span::-moz-selection {
23 | background: #373b41;
24 | }
25 |
26 | /*foreground color*/
27 | .hljs {
28 | color: #c5c8c6;
29 | }
30 |
31 | /*color: fg_yellow*/
32 | .hljs-title,
33 | .hljs-name {
34 | color: #f0c674;
35 | }
36 |
37 | /*color: fg_comment*/
38 | .hljs-comment,
39 | .hljs-meta,
40 | .hljs-meta .hljs-keyword {
41 | color: #707880;
42 | }
43 |
44 | /*color: fg_red*/
45 | .hljs-number,
46 | .hljs-symbol,
47 | .hljs-literal,
48 | .hljs-deletion,
49 | .hljs-link {
50 | color: #cc6666
51 | }
52 |
53 | /*color: fg_green*/
54 | .hljs-string,
55 | .hljs-doctag,
56 | .hljs-addition,
57 | .hljs-regexp,
58 | .hljs-selector-attr,
59 | .hljs-selector-pseudo {
60 | color: #b5bd68;
61 | }
62 |
63 | /*color: fg_purple*/
64 | .hljs-attribute,
65 | .hljs-code,
66 | .hljs-selector-id {
67 | color: #b294bb;
68 | }
69 |
70 | /*color: fg_blue*/
71 | .hljs-keyword,
72 | .hljs-selector-tag,
73 | .hljs-bullet,
74 | .hljs-tag {
75 | color: #81a2be;
76 | }
77 |
78 | /*color: fg_aqua*/
79 | .hljs-subst,
80 | .hljs-variable,
81 | .hljs-template-tag,
82 | .hljs-template-variable {
83 | color: #8abeb7;
84 | }
85 |
86 | /*color: fg_orange*/
87 | .hljs-type,
88 | .hljs-built_in,
89 | .hljs-builtin-name,
90 | .hljs-quote,
91 | .hljs-section,
92 | .hljs-selector-class {
93 | color: #de935f;
94 | }
95 |
96 | .hljs-emphasis {
97 | font-style: italic;
98 | }
99 |
100 | .hljs-strong {
101 | font-weight: bold;
102 | }
103 |
--------------------------------------------------------------------------------
/src/docs/asciidoc/user-guide/highlight/styles/idea.css:
--------------------------------------------------------------------------------
1 | /*
2 |
3 | Intellij Idea-like styling (c) Vasily Polovnyov
4 |
5 | */
6 |
7 | .hljs {
8 | display: block;
9 | overflow-x: auto;
10 | padding: 0.5em;
11 | color: #000;
12 | background: #fff;
13 | }
14 |
15 | .hljs-subst,
16 | .hljs-title {
17 | font-weight: normal;
18 | color: #000;
19 | }
20 |
21 | .hljs-comment,
22 | .hljs-quote {
23 | color: #808080;
24 | font-style: italic;
25 | }
26 |
27 | .hljs-meta {
28 | color: #808000;
29 | }
30 |
31 | .hljs-tag {
32 | background: #efefef;
33 | }
34 |
35 | .hljs-section,
36 | .hljs-name,
37 | .hljs-literal,
38 | .hljs-keyword,
39 | .hljs-selector-tag,
40 | .hljs-type,
41 | .hljs-selector-id,
42 | .hljs-selector-class {
43 | font-weight: bold;
44 | color: #000080;
45 | }
46 |
47 | .hljs-attribute,
48 | .hljs-number,
49 | .hljs-regexp,
50 | .hljs-link {
51 | font-weight: bold;
52 | color: #0000ff;
53 | }
54 |
55 | .hljs-number,
56 | .hljs-regexp,
57 | .hljs-link {
58 | font-weight: normal;
59 | }
60 |
61 | .hljs-string {
62 | color: #008000;
63 | font-weight: bold;
64 | }
65 |
66 | .hljs-symbol,
67 | .hljs-bullet,
68 | .hljs-formula {
69 | color: #000;
70 | background: #d0eded;
71 | font-style: italic;
72 | }
73 |
74 | .hljs-doctag {
75 | text-decoration: underline;
76 | }
77 |
78 | .hljs-variable,
79 | .hljs-template-variable {
80 | color: #660e7a;
81 | }
82 |
83 | .hljs-addition {
84 | background: #baeeba;
85 | }
86 |
87 | .hljs-deletion {
88 | background: #ffc8bd;
89 | }
90 |
91 | .hljs-emphasis {
92 | font-style: italic;
93 | }
94 |
95 | .hljs-strong {
96 | font-weight: bold;
97 | }
98 |
--------------------------------------------------------------------------------
/src/docs/asciidoc/user-guide/highlight/styles/ir-black.css:
--------------------------------------------------------------------------------
1 | /*
2 | IR_Black style (c) Vasily Mikhailitchenko
3 | */
4 |
5 | .hljs {
6 | display: block;
7 | overflow-x: auto;
8 | padding: 0.5em;
9 | background: #000;
10 | color: #f8f8f8;
11 | }
12 |
13 | .hljs-comment,
14 | .hljs-quote,
15 | .hljs-meta {
16 | color: #7c7c7c;
17 | }
18 |
19 | .hljs-keyword,
20 | .hljs-selector-tag,
21 | .hljs-tag,
22 | .hljs-name {
23 | color: #96cbfe;
24 | }
25 |
26 | .hljs-attribute,
27 | .hljs-selector-id {
28 | color: #ffffb6;
29 | }
30 |
31 | .hljs-string,
32 | .hljs-selector-attr,
33 | .hljs-selector-pseudo,
34 | .hljs-addition {
35 | color: #a8ff60;
36 | }
37 |
38 | .hljs-subst {
39 | color: #daefa3;
40 | }
41 |
42 | .hljs-regexp,
43 | .hljs-link {
44 | color: #e9c062;
45 | }
46 |
47 | .hljs-title,
48 | .hljs-section,
49 | .hljs-type,
50 | .hljs-doctag {
51 | color: #ffffb6;
52 | }
53 |
54 | .hljs-symbol,
55 | .hljs-bullet,
56 | .hljs-variable,
57 | .hljs-template-variable,
58 | .hljs-literal {
59 | color: #c6c5fe;
60 | }
61 |
62 | .hljs-number,
63 | .hljs-deletion {
64 | color:#ff73fd;
65 | }
66 |
67 | .hljs-emphasis {
68 | font-style: italic;
69 | }
70 |
71 | .hljs-strong {
72 | font-weight: bold;
73 | }
74 |
--------------------------------------------------------------------------------
/src/docs/asciidoc/user-guide/highlight/styles/kimbie.dark.css:
--------------------------------------------------------------------------------
1 | /*
2 | Name: Kimbie (dark)
3 | Author: Jan T. Sott
4 | License: Creative Commons Attribution-ShareAlike 4.0 Unported License
5 | URL: https://github.com/idleberg/Kimbie-highlight.js
6 | */
7 |
8 | /* Kimbie Comment */
9 | .hljs-comment,
10 | .hljs-quote {
11 | color: #d6baad;
12 | }
13 |
14 | /* Kimbie Red */
15 | .hljs-variable,
16 | .hljs-template-variable,
17 | .hljs-tag,
18 | .hljs-name,
19 | .hljs-selector-id,
20 | .hljs-selector-class,
21 | .hljs-regexp,
22 | .hljs-meta {
23 | color: #dc3958;
24 | }
25 |
26 | /* Kimbie Orange */
27 | .hljs-number,
28 | .hljs-built_in,
29 | .hljs-builtin-name,
30 | .hljs-literal,
31 | .hljs-type,
32 | .hljs-params,
33 | .hljs-deletion,
34 | .hljs-link {
35 | color: #f79a32;
36 | }
37 |
38 | /* Kimbie Yellow */
39 | .hljs-title,
40 | .hljs-section,
41 | .hljs-attribute {
42 | color: #f06431;
43 | }
44 |
45 | /* Kimbie Green */
46 | .hljs-string,
47 | .hljs-symbol,
48 | .hljs-bullet,
49 | .hljs-addition {
50 | color: #889b4a;
51 | }
52 |
53 | /* Kimbie Purple */
54 | .hljs-keyword,
55 | .hljs-selector-tag,
56 | .hljs-function {
57 | color: #98676a;
58 | }
59 |
60 | .hljs {
61 | display: block;
62 | overflow-x: auto;
63 | background: #221a0f;
64 | color: #d3af86;
65 | padding: 0.5em;
66 | }
67 |
68 | .hljs-emphasis {
69 | font-style: italic;
70 | }
71 |
72 | .hljs-strong {
73 | font-weight: bold;
74 | }
75 |
--------------------------------------------------------------------------------
/src/docs/asciidoc/user-guide/highlight/styles/kimbie.light.css:
--------------------------------------------------------------------------------
1 | /*
2 | Name: Kimbie (light)
3 | Author: Jan T. Sott
4 | License: Creative Commons Attribution-ShareAlike 4.0 Unported License
5 | URL: https://github.com/idleberg/Kimbie-highlight.js
6 | */
7 |
8 | /* Kimbie Comment */
9 | .hljs-comment,
10 | .hljs-quote {
11 | color: #a57a4c;
12 | }
13 |
14 | /* Kimbie Red */
15 | .hljs-variable,
16 | .hljs-template-variable,
17 | .hljs-tag,
18 | .hljs-name,
19 | .hljs-selector-id,
20 | .hljs-selector-class,
21 | .hljs-regexp,
22 | .hljs-meta {
23 | color: #dc3958;
24 | }
25 |
26 | /* Kimbie Orange */
27 | .hljs-number,
28 | .hljs-built_in,
29 | .hljs-builtin-name,
30 | .hljs-literal,
31 | .hljs-type,
32 | .hljs-params,
33 | .hljs-deletion,
34 | .hljs-link {
35 | color: #f79a32;
36 | }
37 |
38 | /* Kimbie Yellow */
39 | .hljs-title,
40 | .hljs-section,
41 | .hljs-attribute {
42 | color: #f06431;
43 | }
44 |
45 | /* Kimbie Green */
46 | .hljs-string,
47 | .hljs-symbol,
48 | .hljs-bullet,
49 | .hljs-addition {
50 | color: #889b4a;
51 | }
52 |
53 | /* Kimbie Purple */
54 | .hljs-keyword,
55 | .hljs-selector-tag,
56 | .hljs-function {
57 | color: #98676a;
58 | }
59 |
60 | .hljs {
61 | display: block;
62 | overflow-x: auto;
63 | background: #fbebd4;
64 | color: #84613d;
65 | padding: 0.5em;
66 | }
67 |
68 | .hljs-emphasis {
69 | font-style: italic;
70 | }
71 |
72 | .hljs-strong {
73 | font-weight: bold;
74 | }
75 |
--------------------------------------------------------------------------------
/src/docs/asciidoc/user-guide/highlight/styles/magula.css:
--------------------------------------------------------------------------------
1 | /*
2 | Description: Magula style for highligh.js
3 | Author: Ruslan Keba
4 | Website: http://rukeba.com/
5 | Version: 1.0
6 | Date: 2009-01-03
7 | Music: Aphex Twin / Xtal
8 | */
9 |
10 | .hljs {
11 | display: block;
12 | overflow-x: auto;
13 | padding: 0.5em;
14 | background-color: #f4f4f4;
15 | }
16 |
17 | .hljs,
18 | .hljs-subst {
19 | color: black;
20 | }
21 |
22 | .hljs-string,
23 | .hljs-title,
24 | .hljs-symbol,
25 | .hljs-bullet,
26 | .hljs-attribute,
27 | .hljs-addition,
28 | .hljs-variable,
29 | .hljs-template-tag,
30 | .hljs-template-variable {
31 | color: #050;
32 | }
33 |
34 | .hljs-comment,
35 | .hljs-quote {
36 | color: #777;
37 | }
38 |
39 | .hljs-number,
40 | .hljs-regexp,
41 | .hljs-literal,
42 | .hljs-type,
43 | .hljs-link {
44 | color: #800;
45 | }
46 |
47 | .hljs-deletion,
48 | .hljs-meta {
49 | color: #00e;
50 | }
51 |
52 | .hljs-keyword,
53 | .hljs-selector-tag,
54 | .hljs-doctag,
55 | .hljs-title,
56 | .hljs-section,
57 | .hljs-built_in,
58 | .hljs-tag,
59 | .hljs-name {
60 | font-weight: bold;
61 | color: navy;
62 | }
63 |
64 | .hljs-emphasis {
65 | font-style: italic;
66 | }
67 |
68 | .hljs-strong {
69 | font-weight: bold;
70 | }
71 |
--------------------------------------------------------------------------------
/src/docs/asciidoc/user-guide/highlight/styles/mono-blue.css:
--------------------------------------------------------------------------------
1 | /*
2 | Five-color theme from a single blue hue.
3 | */
4 | .hljs {
5 | display: block;
6 | overflow-x: auto;
7 | padding: 0.5em;
8 | background: #eaeef3;
9 | }
10 |
11 | .hljs {
12 | color: #00193a;
13 | }
14 |
15 | .hljs-keyword,
16 | .hljs-selector-tag,
17 | .hljs-title,
18 | .hljs-section,
19 | .hljs-doctag,
20 | .hljs-name,
21 | .hljs-strong {
22 | font-weight: bold;
23 | }
24 |
25 | .hljs-comment {
26 | color: #738191;
27 | }
28 |
29 | .hljs-string,
30 | .hljs-title,
31 | .hljs-section,
32 | .hljs-built_in,
33 | .hljs-literal,
34 | .hljs-type,
35 | .hljs-addition,
36 | .hljs-tag,
37 | .hljs-quote,
38 | .hljs-name,
39 | .hljs-selector-id,
40 | .hljs-selector-class {
41 | color: #0048ab;
42 | }
43 |
44 | .hljs-meta,
45 | .hljs-subst,
46 | .hljs-symbol,
47 | .hljs-regexp,
48 | .hljs-attribute,
49 | .hljs-deletion,
50 | .hljs-variable,
51 | .hljs-template-variable,
52 | .hljs-link,
53 | .hljs-bullet {
54 | color: #4c81c9;
55 | }
56 |
57 | .hljs-emphasis {
58 | font-style: italic;
59 | }
60 |
--------------------------------------------------------------------------------
/src/docs/asciidoc/user-guide/highlight/styles/monokai-sublime.css:
--------------------------------------------------------------------------------
1 | /*
2 |
3 | Monokai Sublime style. Derived from Monokai by noformnocontent http://nn.mit-license.org/
4 |
5 | */
6 |
7 | .hljs {
8 | display: block;
9 | overflow-x: auto;
10 | padding: 0.5em;
11 | background: #23241f;
12 | }
13 |
14 | .hljs,
15 | .hljs-tag,
16 | .hljs-subst {
17 | color: #f8f8f2;
18 | }
19 |
20 | .hljs-strong,
21 | .hljs-emphasis {
22 | color: #a8a8a2;
23 | }
24 |
25 | .hljs-bullet,
26 | .hljs-quote,
27 | .hljs-number,
28 | .hljs-regexp,
29 | .hljs-literal,
30 | .hljs-link {
31 | color: #ae81ff;
32 | }
33 |
34 | .hljs-code,
35 | .hljs-title,
36 | .hljs-section,
37 | .hljs-selector-class {
38 | color: #a6e22e;
39 | }
40 |
41 | .hljs-strong {
42 | font-weight: bold;
43 | }
44 |
45 | .hljs-emphasis {
46 | font-style: italic;
47 | }
48 |
49 | .hljs-keyword,
50 | .hljs-selector-tag,
51 | .hljs-name,
52 | .hljs-attr {
53 | color: #f92672;
54 | }
55 |
56 | .hljs-symbol,
57 | .hljs-attribute {
58 | color: #66d9ef;
59 | }
60 |
61 | .hljs-params,
62 | .hljs-class .hljs-title {
63 | color: #f8f8f2;
64 | }
65 |
66 | .hljs-string,
67 | .hljs-type,
68 | .hljs-built_in,
69 | .hljs-builtin-name,
70 | .hljs-selector-id,
71 | .hljs-selector-attr,
72 | .hljs-selector-pseudo,
73 | .hljs-addition,
74 | .hljs-variable,
75 | .hljs-template-variable {
76 | color: #e6db74;
77 | }
78 |
79 | .hljs-comment,
80 | .hljs-deletion,
81 | .hljs-meta {
82 | color: #75715e;
83 | }
84 |
--------------------------------------------------------------------------------
/src/docs/asciidoc/user-guide/highlight/styles/monokai.css:
--------------------------------------------------------------------------------
1 | /*
2 | Monokai style - ported by Luigi Maselli - http://grigio.org
3 | */
4 |
5 | .hljs {
6 | display: block;
7 | overflow-x: auto;
8 | padding: 0.5em;
9 | background: #272822; color: #ddd;
10 | }
11 |
12 | .hljs-tag,
13 | .hljs-keyword,
14 | .hljs-selector-tag,
15 | .hljs-literal,
16 | .hljs-strong,
17 | .hljs-name {
18 | color: #f92672;
19 | }
20 |
21 | .hljs-code {
22 | color: #66d9ef;
23 | }
24 |
25 | .hljs-class .hljs-title {
26 | color: white;
27 | }
28 |
29 | .hljs-attribute,
30 | .hljs-symbol,
31 | .hljs-regexp,
32 | .hljs-link {
33 | color: #bf79db;
34 | }
35 |
36 | .hljs-string,
37 | .hljs-bullet,
38 | .hljs-subst,
39 | .hljs-title,
40 | .hljs-section,
41 | .hljs-emphasis,
42 | .hljs-type,
43 | .hljs-built_in,
44 | .hljs-builtin-name,
45 | .hljs-selector-attr,
46 | .hljs-selector-pseudo,
47 | .hljs-addition,
48 | .hljs-variable,
49 | .hljs-template-tag,
50 | .hljs-template-variable {
51 | color: #a6e22e;
52 | }
53 |
54 | .hljs-comment,
55 | .hljs-quote,
56 | .hljs-deletion,
57 | .hljs-meta {
58 | color: #75715e;
59 | }
60 |
61 | .hljs-keyword,
62 | .hljs-selector-tag,
63 | .hljs-literal,
64 | .hljs-doctag,
65 | .hljs-title,
66 | .hljs-section,
67 | .hljs-type,
68 | .hljs-selector-id {
69 | font-weight: bold;
70 | }
71 |
--------------------------------------------------------------------------------
/src/docs/asciidoc/user-guide/highlight/styles/obsidian.css:
--------------------------------------------------------------------------------
1 | /**
2 | * Obsidian style
3 | * ported by Alexander Marenin (http://github.com/ioncreature)
4 | */
5 |
6 | .hljs {
7 | display: block;
8 | overflow-x: auto;
9 | padding: 0.5em;
10 | background: #282b2e;
11 | }
12 |
13 | .hljs-keyword,
14 | .hljs-selector-tag,
15 | .hljs-literal,
16 | .hljs-selector-id {
17 | color: #93c763;
18 | }
19 |
20 | .hljs-number {
21 | color: #ffcd22;
22 | }
23 |
24 | .hljs {
25 | color: #e0e2e4;
26 | }
27 |
28 | .hljs-attribute {
29 | color: #668bb0;
30 | }
31 |
32 | .hljs-code,
33 | .hljs-class .hljs-title,
34 | .hljs-section {
35 | color: white;
36 | }
37 |
38 | .hljs-regexp,
39 | .hljs-link {
40 | color: #d39745;
41 | }
42 |
43 | .hljs-meta {
44 | color: #557182;
45 | }
46 |
47 | .hljs-tag,
48 | .hljs-name,
49 | .hljs-bullet,
50 | .hljs-subst,
51 | .hljs-emphasis,
52 | .hljs-type,
53 | .hljs-built_in,
54 | .hljs-selector-attr,
55 | .hljs-selector-pseudo,
56 | .hljs-addition,
57 | .hljs-variable,
58 | .hljs-template-tag,
59 | .hljs-template-variable {
60 | color: #8cbbad;
61 | }
62 |
63 | .hljs-string,
64 | .hljs-symbol {
65 | color: #ec7600;
66 | }
67 |
68 | .hljs-comment,
69 | .hljs-quote,
70 | .hljs-deletion {
71 | color: #818e96;
72 | }
73 |
74 | .hljs-selector-class {
75 | color: #A082BD
76 | }
77 |
78 | .hljs-keyword,
79 | .hljs-selector-tag,
80 | .hljs-literal,
81 | .hljs-doctag,
82 | .hljs-title,
83 | .hljs-section,
84 | .hljs-type,
85 | .hljs-name,
86 | .hljs-strong {
87 | font-weight: bold;
88 | }
89 |
--------------------------------------------------------------------------------
/src/docs/asciidoc/user-guide/highlight/styles/ocean.css:
--------------------------------------------------------------------------------
1 | /* Ocean Dark Theme */
2 | /* https://github.com/gavsiu */
3 | /* Original theme - https://github.com/chriskempson/base16 */
4 |
5 | /* Ocean Comment */
6 | .hljs-comment,
7 | .hljs-quote {
8 | color: #65737e;
9 | }
10 |
11 | /* Ocean Red */
12 | .hljs-variable,
13 | .hljs-template-variable,
14 | .hljs-tag,
15 | .hljs-name,
16 | .hljs-selector-id,
17 | .hljs-selector-class,
18 | .hljs-regexp,
19 | .hljs-deletion {
20 | color: #bf616a;
21 | }
22 |
23 | /* Ocean Orange */
24 | .hljs-number,
25 | .hljs-built_in,
26 | .hljs-builtin-name,
27 | .hljs-literal,
28 | .hljs-type,
29 | .hljs-params,
30 | .hljs-meta,
31 | .hljs-link {
32 | color: #d08770;
33 | }
34 |
35 | /* Ocean Yellow */
36 | .hljs-attribute {
37 | color: #ebcb8b;
38 | }
39 |
40 | /* Ocean Green */
41 | .hljs-string,
42 | .hljs-symbol,
43 | .hljs-bullet,
44 | .hljs-addition {
45 | color: #a3be8c;
46 | }
47 |
48 | /* Ocean Blue */
49 | .hljs-title,
50 | .hljs-section {
51 | color: #8fa1b3;
52 | }
53 |
54 | /* Ocean Purple */
55 | .hljs-keyword,
56 | .hljs-selector-tag {
57 | color: #b48ead;
58 | }
59 |
60 | .hljs {
61 | display: block;
62 | overflow-x: auto;
63 | background: #2b303b;
64 | color: #c0c5ce;
65 | padding: 0.5em;
66 | }
67 |
68 | .hljs-emphasis {
69 | font-style: italic;
70 | }
71 |
72 | .hljs-strong {
73 | font-weight: bold;
74 | }
75 |
--------------------------------------------------------------------------------
/src/docs/asciidoc/user-guide/highlight/styles/paraiso-dark.css:
--------------------------------------------------------------------------------
1 | /*
2 | Paraíso (dark)
3 | Created by Jan T. Sott (http://github.com/idleberg)
4 | Inspired by the art of Rubens LP (http://www.rubenslp.com.br)
5 | */
6 |
7 | /* Paraíso Comment */
8 | .hljs-comment,
9 | .hljs-quote {
10 | color: #8d8687;
11 | }
12 |
13 | /* Paraíso Red */
14 | .hljs-variable,
15 | .hljs-template-variable,
16 | .hljs-tag,
17 | .hljs-name,
18 | .hljs-selector-id,
19 | .hljs-selector-class,
20 | .hljs-regexp,
21 | .hljs-link,
22 | .hljs-meta {
23 | color: #ef6155;
24 | }
25 |
26 | /* Paraíso Orange */
27 | .hljs-number,
28 | .hljs-built_in,
29 | .hljs-builtin-name,
30 | .hljs-literal,
31 | .hljs-type,
32 | .hljs-params,
33 | .hljs-deletion {
34 | color: #f99b15;
35 | }
36 |
37 | /* Paraíso Yellow */
38 | .hljs-title,
39 | .hljs-section,
40 | .hljs-attribute {
41 | color: #fec418;
42 | }
43 |
44 | /* Paraíso Green */
45 | .hljs-string,
46 | .hljs-symbol,
47 | .hljs-bullet,
48 | .hljs-addition {
49 | color: #48b685;
50 | }
51 |
52 | /* Paraíso Purple */
53 | .hljs-keyword,
54 | .hljs-selector-tag {
55 | color: #815ba4;
56 | }
57 |
58 | .hljs {
59 | display: block;
60 | overflow-x: auto;
61 | background: #2f1e2e;
62 | color: #a39e9b;
63 | padding: 0.5em;
64 | }
65 |
66 | .hljs-emphasis {
67 | font-style: italic;
68 | }
69 |
70 | .hljs-strong {
71 | font-weight: bold;
72 | }
73 |
--------------------------------------------------------------------------------
/src/docs/asciidoc/user-guide/highlight/styles/paraiso-light.css:
--------------------------------------------------------------------------------
1 | /*
2 | Paraíso (light)
3 | Created by Jan T. Sott (http://github.com/idleberg)
4 | Inspired by the art of Rubens LP (http://www.rubenslp.com.br)
5 | */
6 |
7 | /* Paraíso Comment */
8 | .hljs-comment,
9 | .hljs-quote {
10 | color: #776e71;
11 | }
12 |
13 | /* Paraíso Red */
14 | .hljs-variable,
15 | .hljs-template-variable,
16 | .hljs-tag,
17 | .hljs-name,
18 | .hljs-selector-id,
19 | .hljs-selector-class,
20 | .hljs-regexp,
21 | .hljs-link,
22 | .hljs-meta {
23 | color: #ef6155;
24 | }
25 |
26 | /* Paraíso Orange */
27 | .hljs-number,
28 | .hljs-built_in,
29 | .hljs-builtin-name,
30 | .hljs-literal,
31 | .hljs-type,
32 | .hljs-params,
33 | .hljs-deletion {
34 | color: #f99b15;
35 | }
36 |
37 | /* Paraíso Yellow */
38 | .hljs-title,
39 | .hljs-section,
40 | .hljs-attribute {
41 | color: #fec418;
42 | }
43 |
44 | /* Paraíso Green */
45 | .hljs-string,
46 | .hljs-symbol,
47 | .hljs-bullet,
48 | .hljs-addition {
49 | color: #48b685;
50 | }
51 |
52 | /* Paraíso Purple */
53 | .hljs-keyword,
54 | .hljs-selector-tag {
55 | color: #815ba4;
56 | }
57 |
58 | .hljs {
59 | display: block;
60 | overflow-x: auto;
61 | background: #e7e9db;
62 | color: #4f424c;
63 | padding: 0.5em;
64 | }
65 |
66 | .hljs-emphasis {
67 | font-style: italic;
68 | }
69 |
70 | .hljs-strong {
71 | font-weight: bold;
72 | }
73 |
--------------------------------------------------------------------------------
/src/docs/asciidoc/user-guide/highlight/styles/pojoaque.css:
--------------------------------------------------------------------------------
1 | /*
2 |
3 | Pojoaque Style by Jason Tate
4 | http://web-cms-designs.com/ftopict-10-pojoaque-style-for-highlight-js-code-highlighter.html
5 | Based on Solarized Style from http://ethanschoonover.com/solarized
6 |
7 | */
8 |
9 | .hljs {
10 | display: block;
11 | overflow-x: auto;
12 | padding: 0.5em;
13 | color: #dccf8f;
14 | background: url(./pojoaque.jpg) repeat scroll left top #181914;
15 | }
16 |
17 | .hljs-comment,
18 | .hljs-quote {
19 | color: #586e75;
20 | font-style: italic;
21 | }
22 |
23 | .hljs-keyword,
24 | .hljs-selector-tag,
25 | .hljs-literal,
26 | .hljs-addition {
27 | color: #b64926;
28 | }
29 |
30 | .hljs-number,
31 | .hljs-string,
32 | .hljs-doctag,
33 | .hljs-regexp {
34 | color: #468966;
35 | }
36 |
37 | .hljs-title,
38 | .hljs-section,
39 | .hljs-built_in,
40 | .hljs-name {
41 | color: #ffb03b;
42 | }
43 |
44 | .hljs-variable,
45 | .hljs-template-variable,
46 | .hljs-class .hljs-title,
47 | .hljs-type,
48 | .hljs-tag {
49 | color: #b58900;
50 | }
51 |
52 | .hljs-attribute {
53 | color: #b89859;
54 | }
55 |
56 | .hljs-symbol,
57 | .hljs-bullet,
58 | .hljs-link,
59 | .hljs-subst,
60 | .hljs-meta {
61 | color: #cb4b16;
62 | }
63 |
64 | .hljs-deletion {
65 | color: #dc322f;
66 | }
67 |
68 | .hljs-selector-id,
69 | .hljs-selector-class {
70 | color: #d3a60c;
71 | }
72 |
73 | .hljs-formula {
74 | background: #073642;
75 | }
76 |
77 | .hljs-emphasis {
78 | font-style: italic;
79 | }
80 |
81 | .hljs-strong {
82 | font-weight: bold;
83 | }
84 |
--------------------------------------------------------------------------------
/src/docs/asciidoc/user-guide/highlight/styles/pojoaque.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/assertj/doc/2ab0556fc280743aa6c8a4fd8d21dd642ec314b0/src/docs/asciidoc/user-guide/highlight/styles/pojoaque.jpg
--------------------------------------------------------------------------------
/src/docs/asciidoc/user-guide/highlight/styles/purebasic.css:
--------------------------------------------------------------------------------
1 | /*
2 |
3 | PureBASIC native IDE style ( version 1.0 - April 2016 )
4 |
5 | by Tristano Ajmone
6 |
7 | Public Domain
8 |
9 | NOTE_1: PureBASIC code syntax highlighting only applies the following classes:
10 | .hljs-comment
11 | .hljs-function
12 | .hljs-keywords
13 | .hljs-string
14 | .hljs-symbol
15 |
16 | Other classes are added here for the benefit of styling other languages with the look and feel of PureBASIC native IDE style.
17 | If you need to customize a stylesheet for PureBASIC only, remove all non-relevant classes -- PureBASIC-related classes are followed by
18 | a "--- used for PureBASIC ... ---" comment on same line.
19 |
20 | NOTE_2: Color names provided in comments were derived using "Name that Color" online tool:
21 | http://chir.ag/projects/name-that-color
22 | */
23 |
24 | .hljs { /* Common set of rules required by highlight.js (don'r remove!) */
25 | display: block;
26 | overflow-x: auto;
27 | padding: 0.5em;
28 | background: #FFFFDF; /* Half and Half (approx.) */
29 | /* --- Uncomment to add PureBASIC native IDE styled font!
30 | font-family: Consolas;
31 | */
32 | }
33 |
34 | .hljs, /* --- used for PureBASIC base color --- */
35 | .hljs-type, /* --- used for PureBASIC Procedures return type --- */
36 | .hljs-function, /* --- used for wrapping PureBASIC Procedures definitions --- */
37 | .hljs-name,
38 | .hljs-number,
39 | .hljs-attr,
40 | .hljs-params,
41 | .hljs-subst {
42 | color: #000000; /* Black */
43 | }
44 |
45 | .hljs-comment, /* --- used for PureBASIC Comments --- */
46 | .hljs-regexp,
47 | .hljs-section,
48 | .hljs-selector-pseudo,
49 | .hljs-addition {
50 | color: #00AAAA; /* Persian Green (approx.) */
51 | }
52 |
53 | .hljs-title, /* --- used for PureBASIC Procedures Names --- */
54 | .hljs-tag,
55 | .hljs-variable,
56 | .hljs-code {
57 | color: #006666; /* Blue Stone (approx.) */
58 | }
59 |
60 | .hljs-keyword, /* --- used for PureBASIC Keywords --- */
61 | .hljs-class,
62 | .hljs-meta-keyword,
63 | .hljs-selector-class,
64 | .hljs-built_in,
65 | .hljs-builtin-name {
66 | color: #006666; /* Blue Stone (approx.) */
67 | font-weight: bold;
68 | }
69 |
70 | .hljs-string, /* --- used for PureBASIC Strings --- */
71 | .hljs-selector-attr {
72 | color: #0080FF; /* Azure Radiance (approx.) */
73 | }
74 |
75 | .hljs-symbol, /* --- used for PureBASIC Constants --- */
76 | .hljs-link,
77 | .hljs-deletion,
78 | .hljs-attribute {
79 | color: #924B72; /* Cannon Pink (approx.) */
80 | }
81 |
82 | .hljs-meta,
83 | .hljs-literal,
84 | .hljs-selector-id {
85 | color: #924B72; /* Cannon Pink (approx.) */
86 | font-weight: bold;
87 | }
88 |
89 | .hljs-strong,
90 | .hljs-name {
91 | font-weight: bold;
92 | }
93 |
94 | .hljs-emphasis {
95 | font-style: italic;
96 | }
97 |
--------------------------------------------------------------------------------
/src/docs/asciidoc/user-guide/highlight/styles/qtcreator_dark.css:
--------------------------------------------------------------------------------
1 | /*
2 |
3 | Qt Creator dark color scheme
4 |
5 | */
6 |
7 |
8 | .hljs {
9 | display: block;
10 | overflow-x: auto;
11 | padding: 0.5em;
12 | background: #000000;
13 | }
14 |
15 | .hljs,
16 | .hljs-subst,
17 | .hljs-tag,
18 | .hljs-title {
19 | color: #aaaaaa;
20 | }
21 |
22 | .hljs-strong,
23 | .hljs-emphasis {
24 | color: #a8a8a2;
25 | }
26 |
27 | .hljs-bullet,
28 | .hljs-quote,
29 | .hljs-number,
30 | .hljs-regexp,
31 | .hljs-literal {
32 | color: #ff55ff;
33 | }
34 |
35 | .hljs-code
36 | .hljs-selector-class {
37 | color: #aaaaff;
38 | }
39 |
40 | .hljs-emphasis,
41 | .hljs-stronge,
42 | .hljs-type {
43 | font-style: italic;
44 | }
45 |
46 | .hljs-keyword,
47 | .hljs-selector-tag,
48 | .hljs-function,
49 | .hljs-section,
50 | .hljs-symbol,
51 | .hljs-name {
52 | color: #ffff55;
53 | }
54 |
55 | .hljs-attribute {
56 | color: #ff5555;
57 | }
58 |
59 | .hljs-variable,
60 | .hljs-params,
61 | .hljs-class .hljs-title {
62 | color: #8888ff;
63 | }
64 |
65 | .hljs-string,
66 | .hljs-selector-id,
67 | .hljs-selector-attr,
68 | .hljs-selector-pseudo,
69 | .hljs-type,
70 | .hljs-built_in,
71 | .hljs-builtin-name,
72 | .hljs-template-tag,
73 | .hljs-template-variable,
74 | .hljs-addition,
75 | .hljs-link {
76 | color: #ff55ff;
77 | }
78 |
79 | .hljs-comment,
80 | .hljs-meta,
81 | .hljs-deletion {
82 | color: #55ffff;
83 | }
84 |
--------------------------------------------------------------------------------
/src/docs/asciidoc/user-guide/highlight/styles/qtcreator_light.css:
--------------------------------------------------------------------------------
1 | /*
2 |
3 | Qt Creator light color scheme
4 |
5 | */
6 |
7 |
8 | .hljs {
9 | display: block;
10 | overflow-x: auto;
11 | padding: 0.5em;
12 | background: #ffffff;
13 | }
14 |
15 | .hljs,
16 | .hljs-subst,
17 | .hljs-tag,
18 | .hljs-title {
19 | color: #000000;
20 | }
21 |
22 | .hljs-strong,
23 | .hljs-emphasis {
24 | color: #000000;
25 | }
26 |
27 | .hljs-bullet,
28 | .hljs-quote,
29 | .hljs-number,
30 | .hljs-regexp,
31 | .hljs-literal {
32 | color: #000080;
33 | }
34 |
35 | .hljs-code
36 | .hljs-selector-class {
37 | color: #800080;
38 | }
39 |
40 | .hljs-emphasis,
41 | .hljs-stronge,
42 | .hljs-type {
43 | font-style: italic;
44 | }
45 |
46 | .hljs-keyword,
47 | .hljs-selector-tag,
48 | .hljs-function,
49 | .hljs-section,
50 | .hljs-symbol,
51 | .hljs-name {
52 | color: #808000;
53 | }
54 |
55 | .hljs-attribute {
56 | color: #800000;
57 | }
58 |
59 | .hljs-variable,
60 | .hljs-params,
61 | .hljs-class .hljs-title {
62 | color: #0055AF;
63 | }
64 |
65 | .hljs-string,
66 | .hljs-selector-id,
67 | .hljs-selector-attr,
68 | .hljs-selector-pseudo,
69 | .hljs-type,
70 | .hljs-built_in,
71 | .hljs-builtin-name,
72 | .hljs-template-tag,
73 | .hljs-template-variable,
74 | .hljs-addition,
75 | .hljs-link {
76 | color: #008000;
77 | }
78 |
79 | .hljs-comment,
80 | .hljs-meta,
81 | .hljs-deletion {
82 | color: #008000;
83 | }
84 |
--------------------------------------------------------------------------------
/src/docs/asciidoc/user-guide/highlight/styles/railscasts.min.css:
--------------------------------------------------------------------------------
1 | /*
2 |
3 | Railscasts-like style (c) Visoft, Inc. (Damien White)
4 |
5 | */
6 |
7 | .hljs {
8 | display: block;
9 | overflow-x: auto;
10 | padding: 0.5em;
11 | background: #232323;
12 | color: #e6e1dc;
13 | }
14 |
15 | .hljs-comment,
16 | .hljs-quote {
17 | color: #bc9458;
18 | font-style: italic;
19 | }
20 |
21 | .hljs-keyword,
22 | .hljs-selector-tag {
23 | color: #c26230;
24 | }
25 |
26 | .hljs-string,
27 | .hljs-number,
28 | .hljs-regexp,
29 | .hljs-variable,
30 | .hljs-template-variable {
31 | color: #a5c261;
32 | }
33 |
34 | .hljs-subst {
35 | color: #519f50;
36 | }
37 |
38 | .hljs-tag,
39 | .hljs-name {
40 | color: #e8bf6a;
41 | }
42 |
43 | .hljs-type {
44 | color: #da4939;
45 | }
46 |
47 |
48 | .hljs-symbol,
49 | .hljs-bullet,
50 | .hljs-built_in,
51 | .hljs-builtin-name,
52 | .hljs-attr,
53 | .hljs-link {
54 | color: #6d9cbe;
55 | }
56 |
57 | .hljs-params {
58 | color: #d0d0ff;
59 | }
60 |
61 | .hljs-attribute {
62 | color: #cda869;
63 | }
64 |
65 | .hljs-meta {
66 | color: #9b859d;
67 | }
68 |
69 | .hljs-title,
70 | .hljs-section {
71 | color: #ffc66d;
72 | }
73 |
74 | .hljs-addition {
75 | background-color: #144212;
76 | color: #e6e1dc;
77 | display: inline-block;
78 | width: 100%;
79 | }
80 |
81 | .hljs-deletion {
82 | background-color: #600;
83 | color: #e6e1dc;
84 | display: inline-block;
85 | width: 100%;
86 | }
87 |
88 | .hljs-selector-class {
89 | color: #9b703f;
90 | }
91 |
92 | .hljs-selector-id {
93 | color: #8b98ab;
94 | }
95 |
96 | .hljs-emphasis {
97 | font-style: italic;
98 | }
99 |
100 | .hljs-strong {
101 | font-weight: bold;
102 | }
103 |
104 | .hljs-link {
105 | text-decoration: underline;
106 | }
107 |
--------------------------------------------------------------------------------
/src/docs/asciidoc/user-guide/highlight/styles/rainbow.css:
--------------------------------------------------------------------------------
1 | /*
2 |
3 | Style with support for rainbow parens
4 |
5 | */
6 |
7 | .hljs {
8 | display: block;
9 | overflow-x: auto;
10 | padding: 0.5em;
11 | background: #474949;
12 | color: #d1d9e1;
13 | }
14 |
15 |
16 | .hljs-comment,
17 | .hljs-quote {
18 | color: #969896;
19 | font-style: italic;
20 | }
21 |
22 | .hljs-keyword,
23 | .hljs-selector-tag,
24 | .hljs-literal,
25 | .hljs-type,
26 | .hljs-addition {
27 | color: #cc99cc;
28 | }
29 |
30 | .hljs-number,
31 | .hljs-selector-attr,
32 | .hljs-selector-pseudo {
33 | color: #f99157;
34 | }
35 |
36 | .hljs-string,
37 | .hljs-doctag,
38 | .hljs-regexp {
39 | color: #8abeb7;
40 | }
41 |
42 | .hljs-title,
43 | .hljs-name,
44 | .hljs-section,
45 | .hljs-built_in {
46 | color: #b5bd68;
47 | }
48 |
49 | .hljs-variable,
50 | .hljs-template-variable,
51 | .hljs-selector-id,
52 | .hljs-class .hljs-title {
53 | color: #ffcc66;
54 | }
55 |
56 | .hljs-section,
57 | .hljs-name,
58 | .hljs-strong {
59 | font-weight: bold;
60 | }
61 |
62 | .hljs-symbol,
63 | .hljs-bullet,
64 | .hljs-subst,
65 | .hljs-meta,
66 | .hljs-link {
67 | color: #f99157;
68 | }
69 |
70 | .hljs-deletion {
71 | color: #dc322f;
72 | }
73 |
74 | .hljs-formula {
75 | background: #eee8d5;
76 | }
77 |
78 | .hljs-attr,
79 | .hljs-attribute {
80 | color: #81a2be;
81 | }
82 |
83 | .hljs-emphasis {
84 | font-style: italic;
85 | }
86 |
--------------------------------------------------------------------------------
/src/docs/asciidoc/user-guide/highlight/styles/routeros.css:
--------------------------------------------------------------------------------
1 | /*
2 |
3 | highlight.js style for Microtik RouterOS script
4 |
5 | */
6 |
7 | .hljs {
8 | display: block;
9 | overflow-x: auto;
10 | padding: 0.5em;
11 | background: #F0F0F0;
12 | }
13 |
14 | /* Base color: saturation 0; */
15 |
16 | .hljs,
17 | .hljs-subst {
18 | color: #444;
19 | }
20 |
21 | .hljs-comment {
22 | color: #888888;
23 | }
24 |
25 | .hljs-keyword,
26 | .hljs-selector-tag,
27 | .hljs-meta-keyword,
28 | .hljs-doctag,
29 | .hljs-name {
30 | font-weight: bold;
31 | }
32 |
33 | .hljs-attribute {
34 | color: #0E9A00;
35 | }
36 |
37 | .hljs-function {
38 | color: #99069A;
39 | }
40 |
41 | .hljs-builtin-name {
42 | color: #99069A;
43 | }
44 |
45 | /* User color: hue: 0 */
46 |
47 | .hljs-type,
48 | .hljs-string,
49 | .hljs-number,
50 | .hljs-selector-id,
51 | .hljs-selector-class,
52 | .hljs-quote,
53 | .hljs-template-tag,
54 | .hljs-deletion {
55 | color: #880000;
56 | }
57 |
58 | .hljs-title,
59 | .hljs-section {
60 | color: #880000;
61 | font-weight: bold;
62 | }
63 |
64 | .hljs-regexp,
65 | .hljs-symbol,
66 | .hljs-variable,
67 | .hljs-template-variable,
68 | .hljs-link,
69 | .hljs-selector-attr,
70 | .hljs-selector-pseudo {
71 | color: #BC6060;
72 | }
73 |
74 |
75 | /* Language color: hue: 90; */
76 |
77 | .hljs-literal {
78 | color: #78A960;
79 | }
80 |
81 | .hljs-built_in,
82 | .hljs-bullet,
83 | .hljs-code,
84 | .hljs-addition {
85 | color: #0C9A9A;
86 | }
87 |
88 |
89 | /* Meta color: hue: 200 */
90 |
91 | .hljs-meta {
92 | color: #1f7199;
93 | }
94 |
95 | .hljs-meta-string {
96 | color: #4d99bf;
97 | }
98 |
99 |
100 | /* Misc effects */
101 |
102 | .hljs-emphasis {
103 | font-style: italic;
104 | }
105 |
106 | .hljs-strong {
107 | font-weight: bold;
108 | }
109 |
--------------------------------------------------------------------------------
/src/docs/asciidoc/user-guide/highlight/styles/school-book.css:
--------------------------------------------------------------------------------
1 | /*
2 |
3 | School Book style from goldblog.com.ua (c) Zaripov Yura
4 |
5 | */
6 |
7 | .hljs {
8 | display: block;
9 | overflow-x: auto;
10 | padding: 15px 0.5em 0.5em 30px;
11 | font-size: 11px;
12 | line-height:16px;
13 | }
14 |
15 | pre{
16 | background:#f6f6ae url(./school-book.png);
17 | border-top: solid 2px #d2e8b9;
18 | border-bottom: solid 1px #d2e8b9;
19 | }
20 |
21 | .hljs-keyword,
22 | .hljs-selector-tag,
23 | .hljs-literal {
24 | color:#005599;
25 | font-weight:bold;
26 | }
27 |
28 | .hljs,
29 | .hljs-subst {
30 | color: #3e5915;
31 | }
32 |
33 | .hljs-string,
34 | .hljs-title,
35 | .hljs-section,
36 | .hljs-type,
37 | .hljs-symbol,
38 | .hljs-bullet,
39 | .hljs-attribute,
40 | .hljs-built_in,
41 | .hljs-builtin-name,
42 | .hljs-addition,
43 | .hljs-variable,
44 | .hljs-template-tag,
45 | .hljs-template-variable,
46 | .hljs-link {
47 | color: #2c009f;
48 | }
49 |
50 | .hljs-comment,
51 | .hljs-quote,
52 | .hljs-deletion,
53 | .hljs-meta {
54 | color: #e60415;
55 | }
56 |
57 | .hljs-keyword,
58 | .hljs-selector-tag,
59 | .hljs-literal,
60 | .hljs-doctag,
61 | .hljs-title,
62 | .hljs-section,
63 | .hljs-type,
64 | .hljs-name,
65 | .hljs-selector-id,
66 | .hljs-strong {
67 | font-weight: bold;
68 | }
69 |
70 | .hljs-emphasis {
71 | font-style: italic;
72 | }
73 |
--------------------------------------------------------------------------------
/src/docs/asciidoc/user-guide/highlight/styles/school-book.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/assertj/doc/2ab0556fc280743aa6c8a4fd8d21dd642ec314b0/src/docs/asciidoc/user-guide/highlight/styles/school-book.png
--------------------------------------------------------------------------------
/src/docs/asciidoc/user-guide/highlight/styles/solarized-dark.css:
--------------------------------------------------------------------------------
1 | /*
2 |
3 | Orginal Style from ethanschoonover.com/solarized (c) Jeremy Hull
4 |
5 | */
6 |
7 | .hljs {
8 | display: block;
9 | overflow-x: auto;
10 | padding: 0.5em;
11 | background: #002b36;
12 | color: #839496;
13 | }
14 |
15 | .hljs-comment,
16 | .hljs-quote {
17 | color: #586e75;
18 | }
19 |
20 | /* Solarized Green */
21 | .hljs-keyword,
22 | .hljs-selector-tag,
23 | .hljs-addition {
24 | color: #859900;
25 | }
26 |
27 | /* Solarized Cyan */
28 | .hljs-number,
29 | .hljs-string,
30 | .hljs-meta .hljs-meta-string,
31 | .hljs-literal,
32 | .hljs-doctag,
33 | .hljs-regexp {
34 | color: #2aa198;
35 | }
36 |
37 | /* Solarized Blue */
38 | .hljs-title,
39 | .hljs-section,
40 | .hljs-name,
41 | .hljs-selector-id,
42 | .hljs-selector-class {
43 | color: #268bd2;
44 | }
45 |
46 | /* Solarized Yellow */
47 | .hljs-attribute,
48 | .hljs-attr,
49 | .hljs-variable,
50 | .hljs-template-variable,
51 | .hljs-class .hljs-title,
52 | .hljs-type {
53 | color: #b58900;
54 | }
55 |
56 | /* Solarized Orange */
57 | .hljs-symbol,
58 | .hljs-bullet,
59 | .hljs-subst,
60 | .hljs-meta,
61 | .hljs-meta .hljs-keyword,
62 | .hljs-selector-attr,
63 | .hljs-selector-pseudo,
64 | .hljs-link {
65 | color: #cb4b16;
66 | }
67 |
68 | /* Solarized Red */
69 | .hljs-built_in,
70 | .hljs-deletion {
71 | color: #dc322f;
72 | }
73 |
74 | .hljs-formula {
75 | background: #073642;
76 | }
77 |
78 | .hljs-emphasis {
79 | font-style: italic;
80 | }
81 |
82 | .hljs-strong {
83 | font-weight: bold;
84 | }
85 |
--------------------------------------------------------------------------------
/src/docs/asciidoc/user-guide/highlight/styles/solarized-light.css:
--------------------------------------------------------------------------------
1 | /*
2 |
3 | Orginal Style from ethanschoonover.com/solarized (c) Jeremy Hull
4 |
5 | */
6 |
7 | .hljs {
8 | display: block;
9 | overflow-x: auto;
10 | padding: 0.5em;
11 | background: #fdf6e3;
12 | color: #657b83;
13 | }
14 |
15 | .hljs-comment,
16 | .hljs-quote {
17 | color: #93a1a1;
18 | }
19 |
20 | /* Solarized Green */
21 | .hljs-keyword,
22 | .hljs-selector-tag,
23 | .hljs-addition {
24 | color: #859900;
25 | }
26 |
27 | /* Solarized Cyan */
28 | .hljs-number,
29 | .hljs-string,
30 | .hljs-meta .hljs-meta-string,
31 | .hljs-literal,
32 | .hljs-doctag,
33 | .hljs-regexp {
34 | color: #2aa198;
35 | }
36 |
37 | /* Solarized Blue */
38 | .hljs-title,
39 | .hljs-section,
40 | .hljs-name,
41 | .hljs-selector-id,
42 | .hljs-selector-class {
43 | color: #268bd2;
44 | }
45 |
46 | /* Solarized Yellow */
47 | .hljs-attribute,
48 | .hljs-attr,
49 | .hljs-variable,
50 | .hljs-template-variable,
51 | .hljs-class .hljs-title,
52 | .hljs-type {
53 | color: #b58900;
54 | }
55 |
56 | /* Solarized Orange */
57 | .hljs-symbol,
58 | .hljs-bullet,
59 | .hljs-subst,
60 | .hljs-meta,
61 | .hljs-meta .hljs-keyword,
62 | .hljs-selector-attr,
63 | .hljs-selector-pseudo,
64 | .hljs-link {
65 | color: #cb4b16;
66 | }
67 |
68 | /* Solarized Red */
69 | .hljs-built_in,
70 | .hljs-deletion {
71 | color: #dc322f;
72 | }
73 |
74 | .hljs-formula {
75 | background: #eee8d5;
76 | }
77 |
78 | .hljs-emphasis {
79 | font-style: italic;
80 | }
81 |
82 | .hljs-strong {
83 | font-weight: bold;
84 | }
85 |
--------------------------------------------------------------------------------
/src/docs/asciidoc/user-guide/highlight/styles/sunburst.css:
--------------------------------------------------------------------------------
1 | /*
2 |
3 | Sunburst-like style (c) Vasily Polovnyov
4 |
5 | */
6 |
7 | .hljs {
8 | display: block;
9 | overflow-x: auto;
10 | padding: 0.5em;
11 | background: #000;
12 | color: #f8f8f8;
13 | }
14 |
15 | .hljs-comment,
16 | .hljs-quote {
17 | color: #aeaeae;
18 | font-style: italic;
19 | }
20 |
21 | .hljs-keyword,
22 | .hljs-selector-tag,
23 | .hljs-type {
24 | color: #e28964;
25 | }
26 |
27 | .hljs-string {
28 | color: #65b042;
29 | }
30 |
31 | .hljs-subst {
32 | color: #daefa3;
33 | }
34 |
35 | .hljs-regexp,
36 | .hljs-link {
37 | color: #e9c062;
38 | }
39 |
40 | .hljs-title,
41 | .hljs-section,
42 | .hljs-tag,
43 | .hljs-name {
44 | color: #89bdff;
45 | }
46 |
47 | .hljs-class .hljs-title,
48 | .hljs-doctag {
49 | text-decoration: underline;
50 | }
51 |
52 | .hljs-symbol,
53 | .hljs-bullet,
54 | .hljs-number {
55 | color: #3387cc;
56 | }
57 |
58 | .hljs-params,
59 | .hljs-variable,
60 | .hljs-template-variable {
61 | color: #3e87e3;
62 | }
63 |
64 | .hljs-attribute {
65 | color: #cda869;
66 | }
67 |
68 | .hljs-meta {
69 | color: #8996a8;
70 | }
71 |
72 | .hljs-formula {
73 | background-color: #0e2231;
74 | color: #f8f8f8;
75 | font-style: italic;
76 | }
77 |
78 | .hljs-addition {
79 | background-color: #253b22;
80 | color: #f8f8f8;
81 | }
82 |
83 | .hljs-deletion {
84 | background-color: #420e09;
85 | color: #f8f8f8;
86 | }
87 |
88 | .hljs-selector-class {
89 | color: #9b703f;
90 | }
91 |
92 | .hljs-selector-id {
93 | color: #8b98ab;
94 | }
95 |
96 | .hljs-emphasis {
97 | font-style: italic;
98 | }
99 |
100 | .hljs-strong {
101 | font-weight: bold;
102 | }
103 |
--------------------------------------------------------------------------------
/src/docs/asciidoc/user-guide/highlight/styles/tomorrow-night-blue.css:
--------------------------------------------------------------------------------
1 | /* Tomorrow Night Blue Theme */
2 | /* http://jmblog.github.com/color-themes-for-google-code-highlightjs */
3 | /* Original theme - https://github.com/chriskempson/tomorrow-theme */
4 | /* http://jmblog.github.com/color-themes-for-google-code-highlightjs */
5 |
6 | /* Tomorrow Comment */
7 | .hljs-comment,
8 | .hljs-quote {
9 | color: #7285b7;
10 | }
11 |
12 | /* Tomorrow Red */
13 | .hljs-variable,
14 | .hljs-template-variable,
15 | .hljs-tag,
16 | .hljs-name,
17 | .hljs-selector-id,
18 | .hljs-selector-class,
19 | .hljs-regexp,
20 | .hljs-deletion {
21 | color: #ff9da4;
22 | }
23 |
24 | /* Tomorrow Orange */
25 | .hljs-number,
26 | .hljs-built_in,
27 | .hljs-builtin-name,
28 | .hljs-literal,
29 | .hljs-type,
30 | .hljs-params,
31 | .hljs-meta,
32 | .hljs-link {
33 | color: #ffc58f;
34 | }
35 |
36 | /* Tomorrow Yellow */
37 | .hljs-attribute {
38 | color: #ffeead;
39 | }
40 |
41 | /* Tomorrow Green */
42 | .hljs-string,
43 | .hljs-symbol,
44 | .hljs-bullet,
45 | .hljs-addition {
46 | color: #d1f1a9;
47 | }
48 |
49 | /* Tomorrow Blue */
50 | .hljs-title,
51 | .hljs-section {
52 | color: #bbdaff;
53 | }
54 |
55 | /* Tomorrow Purple */
56 | .hljs-keyword,
57 | .hljs-selector-tag {
58 | color: #ebbbff;
59 | }
60 |
61 | .hljs {
62 | display: block;
63 | overflow-x: auto;
64 | background: #002451;
65 | color: white;
66 | padding: 0.5em;
67 | }
68 |
69 | .hljs-emphasis {
70 | font-style: italic;
71 | }
72 |
73 | .hljs-strong {
74 | font-weight: bold;
75 | }
76 |
--------------------------------------------------------------------------------
/src/docs/asciidoc/user-guide/highlight/styles/tomorrow-night-bright.css:
--------------------------------------------------------------------------------
1 | /* Tomorrow Night Bright Theme */
2 | /* Original theme - https://github.com/chriskempson/tomorrow-theme */
3 | /* http://jmblog.github.com/color-themes-for-google-code-highlightjs */
4 |
5 | /* Tomorrow Comment */
6 | .hljs-comment,
7 | .hljs-quote {
8 | color: #969896;
9 | }
10 |
11 | /* Tomorrow Red */
12 | .hljs-variable,
13 | .hljs-template-variable,
14 | .hljs-tag,
15 | .hljs-name,
16 | .hljs-selector-id,
17 | .hljs-selector-class,
18 | .hljs-regexp,
19 | .hljs-deletion {
20 | color: #d54e53;
21 | }
22 |
23 | /* Tomorrow Orange */
24 | .hljs-number,
25 | .hljs-built_in,
26 | .hljs-builtin-name,
27 | .hljs-literal,
28 | .hljs-type,
29 | .hljs-params,
30 | .hljs-meta,
31 | .hljs-link {
32 | color: #e78c45;
33 | }
34 |
35 | /* Tomorrow Yellow */
36 | .hljs-attribute {
37 | color: #e7c547;
38 | }
39 |
40 | /* Tomorrow Green */
41 | .hljs-string,
42 | .hljs-symbol,
43 | .hljs-bullet,
44 | .hljs-addition {
45 | color: #b9ca4a;
46 | }
47 |
48 | /* Tomorrow Blue */
49 | .hljs-title,
50 | .hljs-section {
51 | color: #7aa6da;
52 | }
53 |
54 | /* Tomorrow Purple */
55 | .hljs-keyword,
56 | .hljs-selector-tag {
57 | color: #c397d8;
58 | }
59 |
60 | .hljs {
61 | display: block;
62 | overflow-x: auto;
63 | background: black;
64 | color: #eaeaea;
65 | padding: 0.5em;
66 | }
67 |
68 | .hljs-emphasis {
69 | font-style: italic;
70 | }
71 |
72 | .hljs-strong {
73 | font-weight: bold;
74 | }
75 |
--------------------------------------------------------------------------------
/src/docs/asciidoc/user-guide/highlight/styles/tomorrow-night-eighties.css:
--------------------------------------------------------------------------------
1 | /* Tomorrow Night Eighties Theme */
2 | /* Original theme - https://github.com/chriskempson/tomorrow-theme */
3 | /* http://jmblog.github.com/color-themes-for-google-code-highlightjs */
4 |
5 | /* Tomorrow Comment */
6 | .hljs-comment,
7 | .hljs-quote {
8 | color: #999999;
9 | }
10 |
11 | /* Tomorrow Red */
12 | .hljs-variable,
13 | .hljs-template-variable,
14 | .hljs-tag,
15 | .hljs-name,
16 | .hljs-selector-id,
17 | .hljs-selector-class,
18 | .hljs-regexp,
19 | .hljs-deletion {
20 | color: #f2777a;
21 | }
22 |
23 | /* Tomorrow Orange */
24 | .hljs-number,
25 | .hljs-built_in,
26 | .hljs-builtin-name,
27 | .hljs-literal,
28 | .hljs-type,
29 | .hljs-params,
30 | .hljs-meta,
31 | .hljs-link {
32 | color: #f99157;
33 | }
34 |
35 | /* Tomorrow Yellow */
36 | .hljs-attribute {
37 | color: #ffcc66;
38 | }
39 |
40 | /* Tomorrow Green */
41 | .hljs-string,
42 | .hljs-symbol,
43 | .hljs-bullet,
44 | .hljs-addition {
45 | color: #99cc99;
46 | }
47 |
48 | /* Tomorrow Blue */
49 | .hljs-title,
50 | .hljs-section {
51 | color: #6699cc;
52 | }
53 |
54 | /* Tomorrow Purple */
55 | .hljs-keyword,
56 | .hljs-selector-tag {
57 | color: #cc99cc;
58 | }
59 |
60 | .hljs {
61 | display: block;
62 | overflow-x: auto;
63 | background: #2d2d2d;
64 | color: #cccccc;
65 | padding: 0.5em;
66 | }
67 |
68 | .hljs-emphasis {
69 | font-style: italic;
70 | }
71 |
72 | .hljs-strong {
73 | font-weight: bold;
74 | }
75 |
--------------------------------------------------------------------------------
/src/docs/asciidoc/user-guide/highlight/styles/tomorrow-night.css:
--------------------------------------------------------------------------------
1 | /* Tomorrow Night Theme */
2 | /* http://jmblog.github.com/color-themes-for-google-code-highlightjs */
3 | /* Original theme - https://github.com/chriskempson/tomorrow-theme */
4 | /* http://jmblog.github.com/color-themes-for-google-code-highlightjs */
5 |
6 | /* Tomorrow Comment */
7 | .hljs-comment,
8 | .hljs-quote {
9 | color: #969896;
10 | }
11 |
12 | /* Tomorrow Red */
13 | .hljs-variable,
14 | .hljs-template-variable,
15 | .hljs-tag,
16 | .hljs-name,
17 | .hljs-selector-id,
18 | .hljs-selector-class,
19 | .hljs-regexp,
20 | .hljs-deletion {
21 | color: #cc6666;
22 | }
23 |
24 | /* Tomorrow Orange */
25 | .hljs-number,
26 | .hljs-built_in,
27 | .hljs-builtin-name,
28 | .hljs-literal,
29 | .hljs-type,
30 | .hljs-params,
31 | .hljs-meta,
32 | .hljs-link {
33 | color: #de935f;
34 | }
35 |
36 | /* Tomorrow Yellow */
37 | .hljs-attribute {
38 | color: #f0c674;
39 | }
40 |
41 | /* Tomorrow Green */
42 | .hljs-string,
43 | .hljs-symbol,
44 | .hljs-bullet,
45 | .hljs-addition {
46 | color: #b5bd68;
47 | }
48 |
49 | /* Tomorrow Blue */
50 | .hljs-title,
51 | .hljs-section {
52 | color: #81a2be;
53 | }
54 |
55 | /* Tomorrow Purple */
56 | .hljs-keyword,
57 | .hljs-selector-tag {
58 | color: #b294bb;
59 | }
60 |
61 | .hljs {
62 | display: block;
63 | overflow-x: auto;
64 | background: #1d1f21;
65 | color: #c5c8c6;
66 | padding: 0.5em;
67 | }
68 |
69 | .hljs-emphasis {
70 | font-style: italic;
71 | }
72 |
73 | .hljs-strong {
74 | font-weight: bold;
75 | }
76 |
--------------------------------------------------------------------------------
/src/docs/asciidoc/user-guide/highlight/styles/tomorrow.css:
--------------------------------------------------------------------------------
1 | /* http://jmblog.github.com/color-themes-for-google-code-highlightjs */
2 |
3 | /* Tomorrow Comment */
4 | .hljs-comment,
5 | .hljs-quote {
6 | color: #8e908c;
7 | }
8 |
9 | /* Tomorrow Red */
10 | .hljs-variable,
11 | .hljs-template-variable,
12 | .hljs-tag,
13 | .hljs-name,
14 | .hljs-selector-id,
15 | .hljs-selector-class,
16 | .hljs-regexp,
17 | .hljs-deletion {
18 | color: #c82829;
19 | }
20 |
21 | /* Tomorrow Orange */
22 | .hljs-number,
23 | .hljs-built_in,
24 | .hljs-builtin-name,
25 | .hljs-literal,
26 | .hljs-type,
27 | .hljs-params,
28 | .hljs-meta,
29 | .hljs-link {
30 | color: #f5871f;
31 | }
32 |
33 | /* Tomorrow Yellow */
34 | .hljs-attribute {
35 | color: #eab700;
36 | }
37 |
38 | /* Tomorrow Green */
39 | .hljs-string,
40 | .hljs-symbol,
41 | .hljs-bullet,
42 | .hljs-addition {
43 | color: #718c00;
44 | }
45 |
46 | /* Tomorrow Blue */
47 | .hljs-title,
48 | .hljs-section {
49 | color: #4271ae;
50 | }
51 |
52 | /* Tomorrow Purple */
53 | .hljs-keyword,
54 | .hljs-selector-tag {
55 | color: #8959a8;
56 | }
57 |
58 | .hljs {
59 | display: block;
60 | overflow-x: auto;
61 | background: white;
62 | color: #4d4d4c;
63 | padding: 0.5em;
64 | }
65 |
66 | .hljs-emphasis {
67 | font-style: italic;
68 | }
69 |
70 | .hljs-strong {
71 | font-weight: bold;
72 | }
73 |
--------------------------------------------------------------------------------
/src/docs/asciidoc/user-guide/highlight/styles/vs.css:
--------------------------------------------------------------------------------
1 | /*
2 |
3 | Visual Studio-like style based on original C# coloring by Jason Diamond
4 |
5 | */
6 | .hljs {
7 | display: block;
8 | overflow-x: auto;
9 | padding: 0.5em;
10 | background: white;
11 | color: black;
12 | }
13 |
14 | .hljs-comment,
15 | .hljs-quote,
16 | .hljs-variable {
17 | color: #008000;
18 | }
19 |
20 | .hljs-keyword,
21 | .hljs-selector-tag,
22 | .hljs-built_in,
23 | .hljs-name,
24 | .hljs-tag {
25 | color: #00f;
26 | }
27 |
28 | .hljs-string,
29 | .hljs-title,
30 | .hljs-section,
31 | .hljs-attribute,
32 | .hljs-literal,
33 | .hljs-template-tag,
34 | .hljs-template-variable,
35 | .hljs-type,
36 | .hljs-addition {
37 | color: #a31515;
38 | }
39 |
40 | .hljs-deletion,
41 | .hljs-selector-attr,
42 | .hljs-selector-pseudo,
43 | .hljs-meta {
44 | color: #2b91af;
45 | }
46 |
47 | .hljs-doctag {
48 | color: #808080;
49 | }
50 |
51 | .hljs-attr {
52 | color: #f00;
53 | }
54 |
55 | .hljs-symbol,
56 | .hljs-bullet,
57 | .hljs-link {
58 | color: #00b0e8;
59 | }
60 |
61 |
62 | .hljs-emphasis {
63 | font-style: italic;
64 | }
65 |
66 | .hljs-strong {
67 | font-weight: bold;
68 | }
69 |
--------------------------------------------------------------------------------
/src/docs/asciidoc/user-guide/highlight/styles/vs2015.css:
--------------------------------------------------------------------------------
1 | /*
2 | * Visual Studio 2015 dark style
3 | * Author: Nicolas LLOBERA
4 | */
5 |
6 | .hljs {
7 | display: block;
8 | overflow-x: auto;
9 | padding: 0.5em;
10 | background: #1E1E1E;
11 | color: #DCDCDC;
12 | }
13 |
14 | .hljs-keyword,
15 | .hljs-literal,
16 | .hljs-symbol,
17 | .hljs-name {
18 | color: #569CD6;
19 | }
20 | .hljs-link {
21 | color: #569CD6;
22 | text-decoration: underline;
23 | }
24 |
25 | .hljs-built_in,
26 | .hljs-type {
27 | color: #4EC9B0;
28 | }
29 |
30 | .hljs-number,
31 | .hljs-class {
32 | color: #B8D7A3;
33 | }
34 |
35 | .hljs-string,
36 | .hljs-meta-string {
37 | color: #D69D85;
38 | }
39 |
40 | .hljs-regexp,
41 | .hljs-template-tag {
42 | color: #9A5334;
43 | }
44 |
45 | .hljs-subst,
46 | .hljs-function,
47 | .hljs-title,
48 | .hljs-params,
49 | .hljs-formula {
50 | color: #DCDCDC;
51 | }
52 |
53 | .hljs-comment,
54 | .hljs-quote {
55 | color: #57A64A;
56 | font-style: italic;
57 | }
58 |
59 | .hljs-doctag {
60 | color: #608B4E;
61 | }
62 |
63 | .hljs-meta,
64 | .hljs-meta-keyword,
65 | .hljs-tag {
66 | color: #9B9B9B;
67 | }
68 |
69 | .hljs-variable,
70 | .hljs-template-variable {
71 | color: #BD63C5;
72 | }
73 |
74 | .hljs-attr,
75 | .hljs-attribute,
76 | .hljs-builtin-name {
77 | color: #9CDCFE;
78 | }
79 |
80 | .hljs-section {
81 | color: gold;
82 | }
83 |
84 | .hljs-emphasis {
85 | font-style: italic;
86 | }
87 |
88 | .hljs-strong {
89 | font-weight: bold;
90 | }
91 |
92 | /*.hljs-code {
93 | font-family:'Monospace';
94 | }*/
95 |
96 | .hljs-bullet,
97 | .hljs-selector-tag,
98 | .hljs-selector-id,
99 | .hljs-selector-class,
100 | .hljs-selector-attr,
101 | .hljs-selector-pseudo {
102 | color: #D7BA7D;
103 | }
104 |
105 | .hljs-addition {
106 | background-color: #144212;
107 | display: inline-block;
108 | width: 100%;
109 | }
110 |
111 | .hljs-deletion {
112 | background-color: #600;
113 | display: inline-block;
114 | width: 100%;
115 | }
116 |
--------------------------------------------------------------------------------
/src/docs/asciidoc/user-guide/highlight/styles/xcode.css:
--------------------------------------------------------------------------------
1 | /*
2 |
3 | XCode style (c) Angel Garcia
4 |
5 | */
6 |
7 | .hljs {
8 | display: block;
9 | overflow-x: auto;
10 | padding: 0.5em;
11 | background: #fff;
12 | color: black;
13 | }
14 |
15 | .hljs-comment,
16 | .hljs-quote {
17 | color: #006a00;
18 | }
19 |
20 | .hljs-keyword,
21 | .hljs-selector-tag,
22 | .hljs-literal {
23 | color: #aa0d91;
24 | }
25 |
26 | .hljs-name {
27 | color: #008;
28 | }
29 |
30 | .hljs-variable,
31 | .hljs-template-variable {
32 | color: #660;
33 | }
34 |
35 | .hljs-string {
36 | color: #c41a16;
37 | }
38 |
39 | .hljs-regexp,
40 | .hljs-link {
41 | color: #080;
42 | }
43 |
44 | .hljs-title,
45 | .hljs-tag,
46 | .hljs-symbol,
47 | .hljs-bullet,
48 | .hljs-number,
49 | .hljs-meta {
50 | color: #1c00cf;
51 | }
52 |
53 | .hljs-section,
54 | .hljs-class .hljs-title,
55 | .hljs-type,
56 | .hljs-attr,
57 | .hljs-built_in,
58 | .hljs-builtin-name,
59 | .hljs-params {
60 | color: #5c2699;
61 | }
62 |
63 | .hljs-attribute,
64 | .hljs-subst {
65 | color: #000;
66 | }
67 |
68 | .hljs-formula {
69 | background-color: #eee;
70 | font-style: italic;
71 | }
72 |
73 | .hljs-addition {
74 | background-color: #baeeba;
75 | }
76 |
77 | .hljs-deletion {
78 | background-color: #ffc8bd;
79 | }
80 |
81 | .hljs-selector-id,
82 | .hljs-selector-class {
83 | color: #9b703f;
84 | }
85 |
86 | .hljs-doctag,
87 | .hljs-strong {
88 | font-weight: bold;
89 | }
90 |
91 | .hljs-emphasis {
92 | font-style: italic;
93 | }
94 |
--------------------------------------------------------------------------------
/src/docs/asciidoc/user-guide/highlight/styles/xt256.css:
--------------------------------------------------------------------------------
1 |
2 | /*
3 | xt256.css
4 |
5 | Contact: initbar [at] protonmail [dot] ch
6 | : github.com/initbar
7 | */
8 |
9 | .hljs {
10 | display: block;
11 | overflow-x: auto;
12 | color: #eaeaea;
13 | background: #000;
14 | padding: 0.5;
15 | }
16 |
17 | .hljs-subst {
18 | color: #eaeaea;
19 | }
20 |
21 | .hljs-emphasis {
22 | font-style: italic;
23 | }
24 |
25 | .hljs-strong {
26 | font-weight: bold;
27 | }
28 |
29 | .hljs-builtin-name,
30 | .hljs-type {
31 | color: #eaeaea;
32 | }
33 |
34 | .hljs-params {
35 | color: #da0000;
36 | }
37 |
38 | .hljs-literal,
39 | .hljs-number,
40 | .hljs-name {
41 | color: #ff0000;
42 | font-weight: bolder;
43 | }
44 |
45 | .hljs-comment {
46 | color: #969896;
47 | }
48 |
49 | .hljs-selector-id,
50 | .hljs-quote {
51 | color: #00ffff;
52 | }
53 |
54 | .hljs-template-variable,
55 | .hljs-variable,
56 | .hljs-title {
57 | color: #00ffff;
58 | font-weight: bold;
59 | }
60 |
61 | .hljs-selector-class,
62 | .hljs-keyword,
63 | .hljs-symbol {
64 | color: #fff000;
65 | }
66 |
67 | .hljs-string,
68 | .hljs-bullet {
69 | color: #00ff00;
70 | }
71 |
72 | .hljs-tag,
73 | .hljs-section {
74 | color: #000fff;
75 | }
76 |
77 | .hljs-selector-tag {
78 | color: #000fff;
79 | font-weight: bold;
80 | }
81 |
82 | .hljs-attribute,
83 | .hljs-built_in,
84 | .hljs-regexp,
85 | .hljs-link {
86 | color: #ff00ff;
87 | }
88 |
89 | .hljs-meta {
90 | color: #fff;
91 | font-weight: bolder;
92 | }
93 |
--------------------------------------------------------------------------------
/src/docs/asciidoc/user-guide/highlight/styles/zenburn.css:
--------------------------------------------------------------------------------
1 | /*
2 |
3 | Zenburn style from voldmar.ru (c) Vladimir Epifanov
4 | based on dark.css by Ivan Sagalaev
5 |
6 | */
7 |
8 | .hljs {
9 | display: block;
10 | overflow-x: auto;
11 | padding: 0.5em;
12 | background: #3f3f3f;
13 | color: #dcdcdc;
14 | }
15 |
16 | .hljs-keyword,
17 | .hljs-selector-tag,
18 | .hljs-tag {
19 | color: #e3ceab;
20 | }
21 |
22 | .hljs-template-tag {
23 | color: #dcdcdc;
24 | }
25 |
26 | .hljs-number {
27 | color: #8cd0d3;
28 | }
29 |
30 | .hljs-variable,
31 | .hljs-template-variable,
32 | .hljs-attribute {
33 | color: #efdcbc;
34 | }
35 |
36 | .hljs-literal {
37 | color: #efefaf;
38 | }
39 |
40 | .hljs-subst {
41 | color: #8f8f8f;
42 | }
43 |
44 | .hljs-title,
45 | .hljs-name,
46 | .hljs-selector-id,
47 | .hljs-selector-class,
48 | .hljs-section,
49 | .hljs-type {
50 | color: #efef8f;
51 | }
52 |
53 | .hljs-symbol,
54 | .hljs-bullet,
55 | .hljs-link {
56 | color: #dca3a3;
57 | }
58 |
59 | .hljs-deletion,
60 | .hljs-string,
61 | .hljs-built_in,
62 | .hljs-builtin-name {
63 | color: #cc9393;
64 | }
65 |
66 | .hljs-addition,
67 | .hljs-comment,
68 | .hljs-quote,
69 | .hljs-meta {
70 | color: #7f9f7f;
71 | }
72 |
73 |
74 | .hljs-emphasis {
75 | font-style: italic;
76 | }
77 |
78 | .hljs-strong {
79 | font-weight: bold;
80 | }
81 |
--------------------------------------------------------------------------------
/src/docs/asciidoc/user-guide/images/assertj-db_icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/assertj/doc/2ab0556fc280743aa6c8a4fd8d21dd642ec314b0/src/docs/asciidoc/user-guide/images/assertj-db_icon.png
--------------------------------------------------------------------------------
/src/docs/asciidoc/user-guide/images/db-changes-concept.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/assertj/doc/2ab0556fc280743aa6c8a4fd8d21dd642ec314b0/src/docs/asciidoc/user-guide/images/db-changes-concept.png
--------------------------------------------------------------------------------
/src/docs/asciidoc/user-guide/images/favicon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/assertj/doc/2ab0556fc280743aa6c8a4fd8d21dd642ec314b0/src/docs/asciidoc/user-guide/images/favicon.png
--------------------------------------------------------------------------------
/src/docs/asciidoc/user-guide/images/ide-completion.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/assertj/doc/2ab0556fc280743aa6c8a4fd8d21dd642ec314b0/src/docs/asciidoc/user-guide/images/ide-completion.png
--------------------------------------------------------------------------------
/src/docs/asciidoc/user-guide/images/spotbugs-invalid-assertj-usage-detection.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/assertj/doc/2ab0556fc280743aa6c8a4fd8d21dd642ec314b0/src/docs/asciidoc/user-guide/images/spotbugs-invalid-assertj-usage-detection.png
--------------------------------------------------------------------------------
/src/docs/asciidoc/user-guide/index.adoc:
--------------------------------------------------------------------------------
1 | [[user-guide]]
2 | = AssertJ - fluent assertions java library
3 | :favicon: ./images/favicon.png
4 |
5 | :icons: font
6 | :imagesdir: images
7 | :imagesoutdir: {outdir}/user-guide/images
8 | //
9 | // :docinfo2:
10 | //
11 | ifdef::backend-pdf[:imagesdir: {imagesoutdir}]
12 | //
13 | :sectnums:
14 | :toclevels: 4
15 | //
16 |
17 | include::../link-attributes.adoc[]
18 |
19 | include::assertj-overview.adoc[]
20 |
21 | include::assertj-core.adoc[]
22 |
23 | include::assertj-guava.adoc[]
24 |
25 | include::assertj-joda.adoc[]
26 |
27 | include::assertj-neo4j.adoc[]
28 |
29 | include::assertj-db.adoc[]
30 |
31 | include::assertj-swing.adoc[]
32 |
33 | include::assertj-appendix.adoc[]
--------------------------------------------------------------------------------
/src/docs/asciidoc/user-guide/tocbot-3.0.2/styles.css:
--------------------------------------------------------------------------------
1 | .transition--300{transition:all 300ms ease-in-out}.toc{height:100%;width:280px;transform:translateX(0)}.content h1:first-child,.content h2:first-child{padding-top:0;margin-top:0}.title{font-size:3em}.content{margin-bottom:95vh}.content ul,.content ol{list-style:inherit}.content a{color:#0977c3;text-decoration:none;border-bottom:1px solid #EEE;transition:all 300ms ease}.content a.no-decoration{border-bottom:0}.content a:hover{border-bottom:1px solid #0977c3}.content a:hover.no-decoration{border-bottom:0}a.toc-link{text-decoration:none}.try-it-container{transform:translateY(84%)}.try-it-container.is-open{transform:translateY(0%)}.page-content{display:block !important}.hljs{display:block;background:white;padding:0.5em;color:#333333;overflow-x:auto}.hljs-comment,.hljs-meta{color:#969896}.hljs-string,.hljs-variable,.hljs-template-variable,.hljs-strong,.hljs-emphasis,.hljs-quote{color:#df5000}.hljs-keyword,.hljs-selector-tag,.hljs-type{color:#a71d5d}.hljs-literal,.hljs-symbol,.hljs-bullet,.hljs-attribute{color:#0086b3}.hljs-section,.hljs-name{color:#63a35c}.hljs-tag{color:#333333}.hljs-title,.hljs-attr,.hljs-selector-id,.hljs-selector-class,.hljs-selector-attr,.hljs-selector-pseudo{color:#795da3}.hljs-addition{color:#55a532;background-color:#eaffea}.hljs-deletion{color:#bd2c00;background-color:#ffecec}.hljs-link{text-decoration:underline}.toc-icon{position:fixed;top:0;right:0}#toc:checked ~ .toc{box-shadow:0 0 5px #c8c8c8;transform:translateX(0)}.toc{background-color:rgba(255,255,255,0.9);transform:translateX(-100%)}.toc.toc-right{transform:translateX(100%);right:0}@media (min-width: 52em){.toc{transform:translateX(0)}.toc.toc-right{transform:translateX(0);right:calc((100% - 48rem - 4rem) / 2)}.toc-icon{display:none}.try-it-container{display:block}.content{margin-left:280px}.toc-right ~ .content{margin-left:0;margin-right:280px}}*{box-sizing:border-box}body{font-size:1.2rem;font-family:-apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif}h1,h2,h3,h4,h5,h6{padding-top:0.5em}p{margin-top:0.25rem}pre{display:block;background:#f7f7f7;border-radius:2px;border:1px solid #e0e0e0;padding:2px;line-height:1.2;margin-bottom:10px;overflow:auto;white-space:pre-wrap}code{display:inline;font-size:.8em;max-width:100%}
--------------------------------------------------------------------------------
/src/docs/asciidoc/user-guide/tocbot-3.0.2/tocbot.css:
--------------------------------------------------------------------------------
1 |
2 |
3 | .toc {
4 | overflow-y: auto
5 | }
6 |
7 | .toc>ul {
8 | overflow: hidden;
9 | position: relative
10 | }
11 |
12 | .toc>ul li {
13 | list-style: none
14 | }
15 |
16 | .toc-list {
17 | margin: 0;
18 | padding-left: 10px;
19 | }
20 |
21 | a.toc-link {
22 | color: currentColor;
23 | height: 100%
24 | }
25 |
26 | .is-collapsible {
27 | max-height: 1000px;
28 | overflow: hidden;
29 | transition: all 300ms ease-in-out
30 | }
31 |
32 | .is-collapsed {
33 | max-height: 0
34 | }
35 |
36 | .is-position-fixed {
37 | position: fixed !important;
38 | top: 0
39 | }
40 |
41 | .is-active-link {
42 | font-weight: 700
43 | }
44 |
45 | .toc-link::before {
46 | background-color: #EEE;
47 | content: ' ';
48 | display: inline-block;
49 | height: inherit;
50 | left: 0;
51 | margin-top: -1px;
52 | position: absolute;
53 | width: 2px
54 | }
55 |
56 | .is-active-link::before {
57 | background-color: #54BC4B
58 | }
59 |
60 |
--------------------------------------------------------------------------------
/src/test/java/example/core/AssertionsDemo.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2015-2018 the original author or authors.
3 | *
4 | * All rights reserved. This program and the accompanying materials are
5 | * made available under the terms of the Eclipse Public License v2.0 which
6 | * accompanies this distribution and is available at
7 | *
8 | * http://www.eclipse.org/legal/epl-v20.html
9 | */
10 |
11 | package example.core;
12 |
13 | // @formatter:off
14 | // tag::user_guide[]
15 |
16 | class AssertionsDemo {
17 |
18 |
19 | }
20 | // end::user_guide[]
21 | // @formatter:on
22 |
--------------------------------------------------------------------------------
/src/test/java/example/core/AssumptionsDemo.java:
--------------------------------------------------------------------------------
1 | package example.core;
2 |
3 | // @formatter:off
4 |
5 | import org.junit.jupiter.api.Test;
6 |
7 | class AssumptionsDemo {
8 |
9 | // tag::assumption_not_met[]
10 | @Test
11 | public void when_an_assumption_is_not_met_the_test_is_ignored() {
12 | // since this assumption is obviously false ...
13 | assumeThat(frodo.getRace()).isEqualTo(ORC);
14 | // ... this assertion is not performed
15 | assertThat(fellowshipOfTheRing).contains(sauron);
16 | }
17 | // end::assumption_not_met[]
18 |
19 | // tag::assumption_met[]
20 | @Test
21 | public void when_all_assumptions_are_met_the_test_is_run_normally() {
22 | // since this assumption is true ...
23 | assumeThat(frodo.getRace()).isEqualTo(HOBBIT);
24 | // ... this assertion is performed
25 | assertThat(fellowshipOfTheRing).doesNotContain(sauron);
26 | }
27 | // end::assumption_met[]
28 | }
29 | // @formatter:on
30 |
--------------------------------------------------------------------------------
/src/test/java/example/core/AutoCloseableBDDSoftAssertionsExample.java:
--------------------------------------------------------------------------------
1 | package example.core;
2 |
3 | import org.junit.jupiter.api.Test;
4 | import org.assertj.core.api.AutoCloseableBDDSoftAssertions;
5 | import org.assertj.core.api.AutoCloseableSoftAssertions;
6 | import org.assertj.core.api.BDDSoftAssertions;
7 | import org.assertj.core.api.SoftAssertions;
8 |
9 | public class AutoCloseableBDDSoftAssertionsExample {
10 |
11 | // tag::closeable-bdd-soft-assertions[]
12 | @Test
13 | void auto_closeable_bdd_soft_assertions_example() {
14 | try (AutoCloseableBDDSoftAssertions softly = new AutoCloseableBDDSoftAssertions()) {
15 | softly.then("George Martin").as("great authors").isEqualTo("JRR Tolkien");
16 | softly.then(42).as("response to Everything").isGreaterThan(100);
17 | softly.then("Gandalf").isEqualTo("Sauron");
18 | // no need to call assertAll, this is done when softly is closed.
19 | }
20 | }
21 | // end::closeable-bdd-soft-assertions[]
22 |
23 | }
24 |
--------------------------------------------------------------------------------
/src/test/java/example/core/AutoCloseableSoftAssertionsExample.java:
--------------------------------------------------------------------------------
1 | package example.core;
2 |
3 | import org.junit.jupiter.api.Test;
4 | import org.assertj.core.api.AutoCloseableBDDSoftAssertions;
5 | import org.assertj.core.api.AutoCloseableSoftAssertions;
6 | import org.assertj.core.api.BDDSoftAssertions;
7 | import org.assertj.core.api.SoftAssertions;
8 |
9 | public class AutoCloseableSoftAssertionsExample {
10 |
11 | // tag::closeable-soft-assertions[]
12 | @Test
13 | void auto_closeable_soft_assertions_example() {
14 | try (AutoCloseableSoftAssertions softly = new AutoCloseableSoftAssertions()) {
15 | softly.assertThat("George Martin").as("great authors").isEqualTo("JRR Tolkien"); // <2>
16 | softly.assertThat(42).as("response to Everything").isGreaterThan(100); // <2>
17 | softly.assertThat("Gandalf").isEqualTo("Sauron"); // <2>
18 | // no need to call assertAll, this is done when softly is closed.
19 | }
20 | }
21 | // end::closeable-soft-assertions[]
22 |
23 | }
24 |
--------------------------------------------------------------------------------
/src/test/java/example/core/BDDSoftAssertionsExample.java:
--------------------------------------------------------------------------------
1 | package example.core;
2 |
3 | import org.junit.jupiter.api.Test;
4 | import org.assertj.core.api.BDDSoftAssertions;
5 |
6 | public class BDDSoftAssertionsExample {
7 |
8 | // tag::basic-bdd-soft-assertions[]
9 | @Test
10 | void basic_bdd_soft_assertions_example() {
11 | BDDSoftAssertions softly = new BDDSoftAssertions();
12 |
13 | softly.then("George Martin").as("great authors").isEqualTo("JRR Tolkien");
14 | softly.then(42).as("response to Everything").isGreaterThan(100);
15 | softly.then("Gandalf").isEqualTo("Sauron");
16 |
17 | // Don't forget to call assertAll() otherwise no assertion errors are reported!
18 | softly.assertAll();
19 | }
20 | // end::basic-bdd-soft-assertions[]
21 |
22 | }
23 |
--------------------------------------------------------------------------------
/src/test/java/example/core/CustomConfiguration.java:
--------------------------------------------------------------------------------
1 | package example.core;
2 |
3 | import static org.assertj.core.presentation.BinaryRepresentation.BINARY_REPRESENTATION;
4 | import static org.assertj.core.util.Lists.list;
5 |
6 | import java.text.DateFormat;
7 | import java.text.SimpleDateFormat;
8 | import java.util.List;
9 |
10 | import org.assertj.core.configuration.Configuration;
11 | import org.assertj.core.presentation.Representation;
12 |
13 | class CustomConfiguration extends Configuration {
14 |
15 | private static final SimpleDateFormat DATE_FORMAT1 = new SimpleDateFormat("yyyy_MM_dd");
16 | private static final SimpleDateFormat DATE_FORMAT2 = new SimpleDateFormat("yyyy|MM|dd");
17 |
18 | // we keep the default behavior for extractingPrivateFieldsEnabled since it is not overridden
19 |
20 | @Override
21 | public Representation representation() {
22 | return BINARY_REPRESENTATION;
23 | }
24 |
25 | @Override
26 | public boolean bareNamePropertyExtractionEnabled() {
27 | return false;
28 | }
29 |
30 | @Override
31 | public boolean comparingPrivateFieldsEnabled() {
32 | return false;
33 | }
34 |
35 | @Override
36 | public boolean lenientDateParsingEnabled() {
37 | return true;
38 | }
39 |
40 | @Override
41 | public List additionalDateFormats() {
42 | return list(DATE_FORMAT1, DATE_FORMAT2);
43 | }
44 |
45 | @Override
46 | public int maxElementsForPrinting() {
47 | return 2000;
48 | }
49 |
50 | @Override
51 | public int maxLengthForSingleLineDescription() {
52 | return 150;
53 | }
54 | }
--------------------------------------------------------------------------------
/src/test/java/example/core/CustomRepresentation.java:
--------------------------------------------------------------------------------
1 | package example.core;
2 |
3 | // tag::user_guide[]
4 | import org.assertj.core.presentation.StandardRepresentation;
5 | import example.data.TolkienCharacter;
6 |
7 | public class CustomRepresentation extends StandardRepresentation { // <1>
8 |
9 | // override needed to hook non predefined type formatting
10 | @Override
11 | public String fallbackToStringOf(Object object) { // <2>
12 | if (object instanceof TolkienCharacter) {
13 | TolkienCharacter tolkienCharacter = (TolkienCharacter) object;
14 | return "TolkienCharacter " + tolkienCharacter.getName();
15 | }
16 | // fallback to default formatting.
17 | return super.fallbackToStringOf(object);
18 | }
19 |
20 | // override a predefined type formatting : String
21 | @Override
22 | protected String toStringOf(String str) { // <3>
23 | return "$" + str + "$";
24 | }
25 | }
26 | // end::user_guide[]
27 |
--------------------------------------------------------------------------------
/src/test/java/example/core/CustomRepresentationExample.java:
--------------------------------------------------------------------------------
1 | package example.core;
2 |
3 | import static org.assertj.core.api.Assertions.assertThat;
4 | import example.data.Race;
5 |
6 | import org.assertj.core.api.Assertions;
7 | import example.data.TolkienCharacter;
8 | import org.junit.jupiter.api.Test;
9 |
10 | public class CustomRepresentationExample {
11 |
12 | @Test
13 | void overriding_assertion_error_message() {
14 | try {
15 | // tag::user_guide[]
16 | Assertions.useRepresentation(new CustomRepresentation());
17 | TolkienCharacter frodo = new TolkienCharacter("Frodo", 33, Race.HOBBIT);
18 | assertThat(frodo).isNull();
19 | // end::user_guide[]
20 | } catch (AssertionError error) {
21 | System.out.println(error.getMessage());
22 | }
23 | }
24 |
25 | }
26 |
--------------------------------------------------------------------------------
/src/test/java/example/core/DescribingAssertionsExample.java:
--------------------------------------------------------------------------------
1 | package example.core;
2 |
3 | import static org.assertj.core.api.Assertions.assertThat;
4 |
5 | import example.data.TolkienCharacter;
6 | import example.data.Race;
7 | import org.junit.jupiter.api.Test;
8 |
9 | public class DescribingAssertionsExample {
10 |
11 | @Test
12 | void describing_assertions() {
13 | try {
14 | // tag::user_guide[]
15 | TolkienCharacter frodo = new TolkienCharacter("Frodo", 33, Race.HOBBIT);
16 |
17 | // failing assertion, remember to call as() before the assertion!
18 | assertThat(frodo.getAge()).as("check %s's age", frodo.getName())
19 | .isEqualTo(100);
20 | // end::user_guide[]
21 | } catch (AssertionError error) {
22 | // do nothing
23 | }
24 | }
25 |
26 | }
27 |
--------------------------------------------------------------------------------
/src/test/java/example/core/JUnit4BDDSoftAssertionsExample.java:
--------------------------------------------------------------------------------
1 | package example.core;
2 |
3 | import org.junit.jupiter.api.Test;
4 | import org.assertj.core.api.JUnitBDDSoftAssertions;
5 | import org.junit.Rule;
6 |
7 | public class JUnit4BDDSoftAssertionsExample {
8 |
9 | // tag::junit4-bdd-soft-assertions[]
10 | @Rule
11 | public final JUnitBDDSoftAssertions softly = new JUnitBDDSoftAssertions();
12 |
13 | @Test
14 | void junit4_bdd_soft_assertions_example() {
15 | softly.then("George Martin").as("great authors").isEqualTo("JRR Tolkien");
16 | softly.then(42).as("response to Everything").isGreaterThan(100);
17 | softly.then("Gandalf").isEqualTo("Dauron");
18 | // No need to call softly.assertAll(), this is automatically done by the JUnitSoftAssertions rule
19 | }
20 | // end::junit4-bdd-soft-assertions[]
21 |
22 | }
23 |
--------------------------------------------------------------------------------
/src/test/java/example/core/JUnit4SoftAssertionsExample.java:
--------------------------------------------------------------------------------
1 | package example.core;
2 |
3 | import org.junit.jupiter.api.Test;
4 | import org.assertj.core.api.JUnitSoftAssertions;
5 | import org.junit.Rule;
6 |
7 | public class JUnit4SoftAssertionsExample {
8 |
9 | // tag::junit4-soft-assertions[]
10 | @Rule
11 | public final JUnitSoftAssertions softly = new JUnitSoftAssertions();
12 |
13 | @Test
14 | void junit4_soft_assertions_example() {
15 | softly.assertThat("George Martin").as("great authors").isEqualTo("JRR Tolkien"); // <2>
16 | softly.assertThat(42).as("response to Everything").isGreaterThan(100); // <2>
17 | softly.assertThat("Gandalf").isEqualTo("Sauron"); // <2>
18 | // No need to call softly.assertAll(), this is automatically done by the JUnitSoftAssertions rule
19 | }
20 | // end::junit4-soft-assertions[]
21 |
22 | }
23 |
--------------------------------------------------------------------------------
/src/test/java/example/core/JUnit5SoftAssertionsExample.java:
--------------------------------------------------------------------------------
1 | package example.core;
2 |
3 | // tag::junit5-soft-assertions[]
4 | import org.junit.jupiter.api.Test;
5 | import org.junit.jupiter.params.ParameterizedTest;
6 | import org.junit.jupiter.params.provider.CsvSource;
7 | import org.junit.jupiter.api.extension.ExtendWith;
8 | import org.assertj.core.api.BDDSoftAssertions;
9 | import org.assertj.core.api.SoftAssertions;
10 | import org.assertj.core.api.junit.jupiter.SoftAssertionsExtension;
11 |
12 | @ExtendWith(SoftAssertionsExtension.class)
13 | public class JUnit5SoftAssertionsExample {
14 |
15 | @Test
16 | void junit5_soft_assertions_multiple_failures_example(SoftAssertions softly) {
17 | softly.assertThat("George Martin").as("great authors").isEqualTo("JRR Tolkien");
18 | softly.assertThat(42).as("response to Everything").isGreaterThan(100);
19 | softly.assertThat("Gandalf").isEqualTo("Sauron");
20 | // No need to call softly.assertAll(), this is automatically done by the SoftAssertionsExtension
21 | }
22 |
23 | @Test
24 | void junit5_bdd_soft_assertions_multiple_failures_example(BDDSoftAssertions softly) {
25 | softly.then("George Martin").as("great authors").isEqualTo("JRR Tolkien");
26 | softly.then(42).as("response to Everything").isGreaterThan(100);
27 | softly.then("Gandalf").isEqualTo("Sauron");
28 | // No need to call softly.assertAll(), this is automatically done by the SoftAssertionsExtension
29 | }
30 |
31 | @ParameterizedTest
32 | @CsvSource({ "1, 1, 2", "1, 2, 3" })
33 | // test parameters come first, soft assertion must come last.
34 | void junit5_soft_assertions_parameterized_test_example(int a, int b, int sum, SoftAssertions softly) {
35 | softly.assertThat(a + b).as("sum").isEqualTo(sum);
36 | softly.assertThat(a).isLessThan(sum);
37 | softly.assertThat(b).isLessThan(sum);
38 | }
39 |
40 | }
41 | // end::junit5-soft-assertions[]
42 |
--------------------------------------------------------------------------------
/src/test/java/example/core/OverridingErrorMessageExample.java:
--------------------------------------------------------------------------------
1 | package example.core;
2 |
3 | import static org.assertj.core.api.Assertions.assertThat;
4 | import example.data.Race;
5 |
6 | import example.data.TolkienCharacter;
7 | import org.junit.jupiter.api.Test;
8 |
9 | public class OverridingErrorMessageExample {
10 |
11 | @Test
12 | void overriding_assertion_error_message() {
13 | try {
14 | // tag::user_guide[]
15 | TolkienCharacter frodo = new TolkienCharacter("Frodo", 33, Race.HOBBIT);
16 | TolkienCharacter sam = new TolkienCharacter("Sam", 38, Race.HOBBIT);
17 | // failing assertion, remember to call withFailMessage/overridingErrorMessage before the assertion!
18 | assertThat(frodo.getAge()).withFailMessage("should be %s", frodo)
19 | .isEqualTo(sam);
20 | // end::user_guide[]
21 | } catch (AssertionError error) {
22 | // do nothing
23 | }
24 | }
25 |
26 | }
27 |
--------------------------------------------------------------------------------
/src/test/java/example/core/SimpleAssertionsExample.java:
--------------------------------------------------------------------------------
1 | package example.core;
2 |
3 | // tag::user_guide[]
4 | import static org.assertj.core.api.Assertions.assertThat; // <1>
5 |
6 | import org.junit.jupiter.api.Test;
7 |
8 | public class SimpleAssertionsExample {
9 |
10 | @Test
11 | void a_few_simple_assertions() {
12 | assertThat("The Lord of the Rings").isNotNull() // <2> <3>
13 | .startsWith("The") // <4>
14 | .contains("Lord") // <4>
15 | .endsWith("Rings"); // <4>
16 | }
17 |
18 | }
19 | // end::user_guide[]
20 |
--------------------------------------------------------------------------------
/src/test/java/example/core/SoftAssertionsExample.java:
--------------------------------------------------------------------------------
1 | package example.core;
2 |
3 | import org.junit.jupiter.api.Test;
4 | import org.assertj.core.api.SoftAssertions;
5 |
6 | public class SoftAssertionsExample {
7 |
8 | // tag::basic-soft-assertions[]
9 | @Test
10 | void basic_soft_assertions_example() {
11 | SoftAssertions softly = new SoftAssertions(); // <1>
12 |
13 | softly.assertThat("George Martin").as("great authors").isEqualTo("JRR Tolkien"); // <2>
14 | softly.assertThat(42).as("response to Everything").isGreaterThan(100); // <2>
15 | softly.assertThat("Gandalf").isEqualTo("Sauron"); // <2>
16 |
17 | // Don't forget to call assertAll() otherwise no assertion errors are reported!
18 | softly.assertAll(); // <3>
19 | }
20 | // end::basic-soft-assertions[]
21 |
22 | // tag::assertSoftly-soft-assertions[]
23 | @Test
24 | void assertSoftly_example() {
25 | SoftAssertions.assertSoftly(softly -> {
26 | softly.assertThat("George Martin").as("great authors").isEqualTo("JRR Tolkien");
27 | softly.assertThat(42).as("response to Everything").isGreaterThan(100);
28 | softly.assertThat("Gandalf").isEqualTo("Sauron");
29 | // no need to call assertAll(), assertSoftly does it for us.
30 | });
31 | }
32 | // end::assertSoftly-soft-assertions[]
33 |
34 | }
35 |
--------------------------------------------------------------------------------
/src/test/java/example/data/Race.java:
--------------------------------------------------------------------------------
1 | package example.data;
2 |
3 | public enum Race {
4 | HOBBIT, MAIA, ELF, DWARF, MAN
5 | }
6 |
--------------------------------------------------------------------------------
/src/test/java/example/data/TolkienCharacter.java:
--------------------------------------------------------------------------------
1 | package example.data;
2 |
3 | public class TolkienCharacter {
4 |
5 | public final String name;
6 | public final Integer age;
7 | public final Race race;
8 |
9 | public TolkienCharacter(String name, Integer age, Race race) {
10 |
11 | this.name = name;
12 | this.age = age;
13 | this.race = race;
14 | }
15 |
16 | public String getName() {
17 |
18 | return name;
19 | }
20 |
21 | public Integer getAge() {
22 |
23 | return age;
24 | }
25 |
26 | public Race getRace() {
27 |
28 | return race;
29 | }
30 |
31 | @Override
32 | public String toString() {
33 | return String.format("TolkienCharacter [name=%s, age=%s, race=%s]", name, age, race);
34 | }
35 |
36 | }
37 |
--------------------------------------------------------------------------------
/src/test/java/example/db/TableAssertionExamples.java:
--------------------------------------------------------------------------------
1 | package example.db;
2 |
3 | // tag::user_guide[]
4 | import static org.assertj.db.api.Assertions.assertThat;
5 |
6 | import org.assertj.db.type.AssertDbConnection;
7 | import org.assertj.db.type.AssertDbConnectionFactory;
8 | import org.assertj.db.type.DateValue;
9 | import org.assertj.db.type.Table;
10 |
11 | // end::user_guide[]
12 |
13 | import org.junit.jupiter.api.Test;
14 |
15 | public class TableAssertionExamples {
16 | // tag::user_guide[]
17 | private AssertDbConnection assertDbConnection = AssertDbConnectionFactory.of("jdbc:h2:mem:test", "sa", "").create();
18 |
19 | // end::user_guide[]
20 | /**
21 | * This example shows a simple case of test.
22 | */
23 | @Test
24 | public void basic_table_assertion_examples() {
25 | // tag::user_guide[]
26 | Table table = assertDbConnection.table("members");
27 |
28 | // Check column "name" values
29 | assertThat(table).column("name")
30 | .value().isEqualTo("Hewson")
31 | .value().isEqualTo("Evans")
32 | .value().isEqualTo("Clayton")
33 | .value().isEqualTo("Mullen");
34 |
35 | // Check row at index 1 (the second row) values
36 | assertThat(table).row(1)
37 | .value().isEqualTo(2)
38 | .value().isEqualTo("Evans")
39 | .value().isEqualTo("David Howell")
40 | .value().isEqualTo("The Edge")
41 | .value().isEqualTo(DateValue.of(1961, 8, 8))
42 | .value().isEqualTo(1.77);
43 | // end::user_guide[]
44 | }
45 | }
46 |
--------------------------------------------------------------------------------
/src/test/resources/junit-platform.properties:
--------------------------------------------------------------------------------
1 | junit.jupiter.execution.parallel.enabled=true
2 | junit.jupiter.execution.parallel.config.strategy=fixed
3 | junit.jupiter.execution.parallel.config.fixed.parallelism=6
4 |
--------------------------------------------------------------------------------
/src/test/resources/log4j2-test.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
--------------------------------------------------------------------------------
/src/test/resources/two-column.csv:
--------------------------------------------------------------------------------
1 | Country, reference
2 | Sweden, 1
3 | Poland, 2
4 | "United States of America", 3
5 |
--------------------------------------------------------------------------------