anchor.diff:  [source, sh]
   bundle exec rake generate FORCE=yes
   
  -Generate just examples for `block_ulist` node (i.e. all examples in
  -`block_ulist.adoc` file(s) found on the `examples_path`) that doesn’t exist yet:
  +Generate just examples for `block_ulist` node (i.e. all examples in `block_ulist.adoc` file(s) found on the examples_path) that doesn’t exist yet:
   
   [source, sh]
   bundle exec rake generate PATTERN='block_ulist:*'
   
  -(Re)generate examples which name starts with `basic` for all _block_ nodes
  -(i.e. files that starts with `block_`):
  +(Re)generate examples which name starts with `basic` for all _block_ nodes (i.e. files that starts with `block_`):
   
   [source, sh]
   bundle exec rake generate PATTERN='block_*:basic*' FORCE=yes
   
   
  -== Run tests
  -
  -Assume that you have defined the test Rake task named `:test` (see <<setup-doctest>>). Then you
  -can simply run:
  -
  -[source, sh]
  -bundle exec rake test
  +== How to extend it
  +
  +You can extend DocTest to support any textual format you want.
  +All what you need is to implement a custom suite parser (extend link:{src-base}/base_suite_parser.rb[BaseSuiteParser]), a test class (extend link:{src-base}/base_test.rb[BaseTest]) and optionally a generator (extend link:{src-base}/base_generator.rb[BaseGenerator]).
   
   
   == TODO
   
  -* describe how to use it
   * write specs
   
   
  
positive.code: end
  ----
  
  . Create or edit `Rakefile`; add tasks to run tests and generator of output
  examples:
  +
  [source]
  ----
  
negative.code: task :default => :test
  ----
  
  
  == Run tests
  
  Assume that you have defined the test Rake task named `:test` (see above).
  Then you can simply run:
  
  [source, sh]
  bundle exec rake test
  
  
  == Examples
  
  Test _example_ is just a document fragment — in AsciiDoc syntax (a reference input) or the backend’s target syntax (an expected output) — that should ideally cover one use case from the perspective of the generated output (i.e. code branch in converter or template).
  Examples are grouped in so called _example suites_; each focusing on one block or inline element — more precisely Asciidoctor’s AST node (paragraph, table, anchor, footnote…).
  
  Examples suite is stored in a textual file named by the AST node (e.g. block_table, inline_anchor…, see the list below) with an extension according to its syntax (e.g. `block_table.adoc`, `block_table.html`) — similarly as Asciidoctor templates.
  Individual examples in the suite are separated by a special header with the name of the example, an optional description and options.
  This header should enclosed as a comment (so you can render the examples suite as a valid AsciiDoc/HTML/TeX/… document).
  
  Each example is uniquely identified with its name and the suite name like this: `{suite_name}:{example_name}` (e.g. `block_table:with_title`).
  Input and output examples are paired — for every input example there should be an output example with the same identifier.
  When you run test, the input example is converted using the tested backend (or templates) and its actual output is compared with the (expected) output example.
  
  [horizontal]
  .List of Asciidoctor’s AST nodes
  document:: TODO
  embedded:: TODO
  section:: {doctor-man-uri}/#sections[document sections], i.e. headings
  