Api Samples
===========

This part of the tree contains templates for API samples. The
documentation in doc/api_samples is completely autogenerated from the
tests in this directory.

To add a new api sample, add tests for the common passing and failing
cases in this directory for your extension, and modify test_samples.py
for your tests. There should be both JSON and XML tests included.

Then run the following command:

  GENERATE_SAMPLES=True tox -e functional

Which will create the files on doc/api_samples.

If new tests are added or the .tpl files are changed due to bug fixes, the
samples must be regenerated so they are in sync with the templates, as
there is an additional test which reloads the documentation and
ensures that it's in sync.

Debugging sample generation
---------------------------

If a .tpl is changed, its matching .json must be removed else the samples
won't be generated. If an entirely new extension is added, a directory for
it must be created before its samples will be generated.
