Test that there is no crash when doc is missing
===============================================

Doc: ''

Test that we can extract doc before the prelude
===============================================

Doc: 'Documentation for the package\nBla bla bla'

Test that we can extract doc after the prelude
==============================================

Doc: 'Documentation for the package\n\nBla bla bla'

Test that we can extract boxed documentation
============================================

Doc: '----------------------------------\n        Awesome package         --\n  Documentation for the package --\n                                --\n  Bla bla bla                   --\n----------------------------------'

Test annotation extraction
==========================

Doc: 'This is the documentation for foo'

Annotations:
  * random-annotation = True
  * belongs-to = Bar
  * other-annotation = False

Test double annotation
======================

Doc: ''

Annotations:
  * a = Bar

Test whitespace stripping
=========================

Doc: ' This is the documentation for foo\nWeirdly formatted'

Annotations:
  * random-annotation = True
  * belongs-to = Bar
  * other-annotation = False

Test carriage return stripping
==============================

Doc: 'This is a regular comment.\n\nExcept that we have carriage returns.'

Test handling of erroneous carriage returns
===========================================

Exception: Incorrectly formatted docstring

Test handling of tabs
=====================

Exception: Incorrectly formatted docstring

Test toplevel package without token before "package"
====================================================

Doc: ''

Test resilience to wrong annotation format
==========================================

Exception: Incorrectly formatted docstring

Test generic package doc
========================

Doc: 'This is the documentation for package Bar'

Test internal generic package doc
=================================

Doc: 'This is the documentation for package Bar'

test.py: done
