This PR fixes the build and adds some tests.

Can you replace `__VERSION_NO__` with `__DEPLOY_VERSION__` (and in any other places in your pulls where you have version numbers on the `@since` tags)?  The script that tags new versions will automatically apply the correct value when it's run.